首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么BGL *需要隐式图来建模VertexListGraph?

为什么BGL *需要隐式图来建模VertexListGraph?
EN

Stack Overflow用户
提问于 2011-12-29 00:14:06
回答 2查看 560关注 0票数 2

对于我之前的一个隐图的BGL内部性质,有一个更具体的后续问题。

Boost BGL有一个A*算法的版本,可以处理隐式图,即astar_search_no_init()函数。隐式图可以建模为IncidenceGraphs。*说:“请注意,astar_search_no_init()必须用于隐式图;基本的astar_search()函数需要一个对顶点列表图概念建模的图形。这两个版本都需要图形类型来建模关联图概念。”

这不意味着图不需要建模顶点列表图的概念吗?如果是这样的话,我是否遗漏了一些东西,因为我找不到使用IncidenceGraphs的函数IncidenceGraphs()的任何版本?有两个版本的astar_search_no_init()可用,这两个版本似乎都适用于VertexListGraphs。我使用的是Boost 1.48,A*在文件astar_search.hpp中。

我不认为要求隐式图对顶点列表图进行建模是有什么意义的。这些文件对我来说是相当混乱和误导的。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-29 13:10:00

2009年1月27日,在r50803中添加了对隐式图的支持,以修复Bug #829。修复方法是不依赖于num_vertices或使用任何其他图形类型需求来建模VertexListGraph概念。

因此,即使模板类型参数名为VertexListGraph,它也应该只使用只对IncidenceGraph概念建模的图形类型。

票数 2
EN

Stack Overflow用户

发布于 2011-12-29 09:49:50

图概念是有序的;这里有一个很好的图概念图;)

如您所见,astar_search_no_init()所需的astar_search_no_init()概念与Vertex List Graph概念无关。也就是说,每个概念都可以独立建模。所以,对图来说,只对第一个概念建模就足够了。

请注意,仅为Vertex List Graph建模astar_search_no_init()是不可以的,尽管它可能看起来很有效。Vertex List Graph概念不是Incidence Graph的特例。可以对Bidirectional Graph建模,这是关联图的特例

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8662770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档