我已经找到了a question here,而迄今为止最有希望的答案意味着“图形雕刻”。问题是,我不知道它是什么(显然OP也没有),并且它听起来非常有前途和有趣的几个用途。我的Googlefu在这个主题上没有让我失望,因为我发现没有任何有用/免费的资源可以谈论它们。
有人可以告诉我什么是“图形雕刻”,我如何制作图形,以及如何确定某种雕刻更适合某项任务的原因?
请不要对我太过数学(或准备好回答更多问题):我理解什么是图形,什么是节点,什么是顶点,我用大O符号管理,但我没有真正的数学背景
答案 0 :(得分:1)
我认为链接问题中给出的答案与术语有点松散。我认为这是描述图表G的树雕。我承认,这仍然不是特别适合谷歌的,但也许它会让你继续前进。这种结构的主要应用似乎是在一个特定的DFS算法中,在two papers中描述。
this book可能会出现对同一算法更清晰的描述。
我不确定单步执行此算法会特别有用。这是一个相当复杂的算法,解释可能只是鹦鹉在我链接的论文中给出的那些。我不能声称自己理解得很清楚。也许最富有成效的方法是查看这三个链接的共同元素,并发布有关您不理解的部分的具体问题。
答案 1 :(得分:0)
Q1:
什么是'图形雕刻'
有两种类型的图形雕刻:树雕和雕刻。
图的树雕是顶点集V到具有以下属性的子集V1,V2,...,Vk的分区。每个子集构成树T的节点。对于Vj中的每个顶点v,G中v的所有邻居属于Vj本身,或属于Vi,其中Vi与树T中的Vj相邻。
图的雕刻是将顶点集V划分为具有以下属性的子集V1,V2,... Vk的集合。每个子集构成有根树T的节点.T的每个非叶节点Vj具有由g(Vj)表示的特殊顶点,其属于p(Vj)。对于Vi中的每个顶点v,v的祖先集合中的v的所有邻居都属于
这些定义参考了书"Approximation Algorithms for NP-Hard problems"和paper1的第6章。 (论文1摘自Gain的答案,谢谢Gain。)
根据我的理解。 Tree-Carving 或 Carving 是原始图形G的一种表示(或简化)。因此,生成的新图形仍保留'连接属性' G的,但尺寸小得多(顶点越少,节点越少)。这两种方法都试图删除'local''类似'信息,但保留'结构''重要'信息。通过将一些'封闭'顶点合并到一个顶点并删除一些边。
似乎 Tree Carving 更简单易懂[{1}}它会保留更多信息。
Q2:
我如何为图表制作一个
我只知道如何进行树木雕刻 您可以参考paper1中的算法 这是一种基于深度优先搜索的算法。 在从迭代返回之前,DFS是否检查此边是否为'bridge'边缘。如果是,您需要删除此“桥”并添加一些“后边缘”。 你会得到一个DFS分区,它会产生G.的树雕。
问题3:
我如何确定某种雕刻更适合某项任务的原因?
抱歉,我不知道。我也是图论的新人。
如果您有更多问题: