【问题标题】:VF2 algorithm steps with exampleVF2算法步骤举例
【发布时间】:2011-12-31 20:32:08
【问题描述】:

谁能用简单的话解释一下图同构的VF2算法的步骤?我正在学习这个算法,但是没有一个可行的例子就很苛刻。有人可以引导我正确的方向吗?谢谢。

【问题讨论】:

    标签: algorithm graph graph-algorithm isomorphism


    【解决方案1】:

    我将尝试快速解释一下我之前对这个问题的回答:

    Any working example of VF2 algorithm?

    我将使用与上一个答案中相同的示例:

    上面的两张图是V和V'。(V'不在图中,但它是右边的那个)

    图中描述了VF2算法。

    一步一步

    我想知道 V 和 V' 是否同构。

    我将使用以下符号:XV 是 V 中的节点 X

    在 VF2 算法中,我将尝试将 V 中的每个节点与 V' 中的节点进行匹配。

    第 1 步:

    我将空 V 与空 V' 匹配:它总是有效

    第 2 步: 我可以将 1V 与 1V'、2V' 或 3V' 匹配

    我将 1V 与 1V' 匹配:它总是有效

    第 3 步:

    我可以将 2V 与 2V' 或 3V' 匹配

    我将 2V 与 2V' 匹配:它可以工作,因为 {1V 2V} 和 {1V' 2V} 是同构的

    第 4 步:

    我尝试将 3V 与 V' 中的节点匹配:我不能! {如果在 V' 中的节点 3 和 2 之间有一条边,并且在 3 和 1 之间没有边,这将是可能的)

    所以我回到第 2 步

    第 5 步:

    我将 2V 与 3V 匹配'

    第 6 步:

    与第 4 步相同

    我回到第2步。第2步没有解决方案,我回到第1步

    第 7 步:

    我将 1V 与 2V' 匹配

    第 8 步:

    我将 2V 与 1V' 匹配

    第 9 步:

    我用 3V 匹配 3V'

    我将 {1V 2V 3V} 与 { 2V' 1V' 3V'} 匹配,它可以工作

    这些图是同构的。

    如果我测试了所有的解决方案,但它永远无法工作,那么图形将不是同构的。

    希望对你有帮助


    关于“匹配”的问题,请查看关于图同构的维基百科文章:

    http://en.wikipedia.org/wiki/Graph_isomorphism

    这是匹配图 G 和 H 的函数 f 的一个很好的例子:

    希望你能通过这个插图更好地理解这个算法。

    【讨论】:

    • 感谢您的解释,但我不明白匹配的含义,就像在第 2 步中您写的那样“我匹配 1V 女巫 1V”:它总是有效的”1V 如何与 1V 成功匹配' 因为两者的程度不同。您能否进一步告诉我匹配节点的确切含义。我的意思是应该满足哪些条件,以便我们可以说图 1 中的节点与图 2 中的某个节点成功匹配。
    • 你能告诉我你是如何将一个节点与其他节点匹配的吗?我的意思是匹配是什么意思,或者是否有其他人可以解释这一点。
    • @AbdulSamad 匹配就像选择一个函数 f:G=(V,E)->G'=(V',E') 使得对于节点中的任何点或 G 中的边返回新G' 中的节点和边。如果今天晚些时候我有时间不清楚,我会尽力为你澄清这一点
    • @AbdulSamad 我编辑了我的帖子以说明匹配的含义。如果您还有其他问题,请不要犹豫。
    • @RickyBobby “我将 2V 与 2V' 匹配:它之所以有效,是因为 {1V 2V} 和 {1V' 2V} 是同构的”你的意思是说 {1V 2V} 和 {1V' 2V'}是同构的?因为 {1V' 2V} 甚至不在同一个图中,所以它们之间没有边。
    【解决方案2】:

    呈现了 VF 算法的高级概述:

    程序匹配 INPUT:一个中间状态s;初始状态 s0 有 M(s0)= OUTPUT:两个图之间的映射 IF M(s) 覆盖 G2 的所有节点 THEN 输出 M(s) 别的 计算包含在 M(s) 中的候选对的集合 P(s) FOREACH (n, m) P(s) 如果 F(s, n, m) 那么 计算通过将 (n, m) 添加到 M(s) 获得的状态 s´ 呼叫匹配 万一 结束 FOREACH 恢复数据结构 万一 结束程序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2016-09-28
      • 1970-01-01
      • 2018-10-17
      • 2013-06-08
      • 1970-01-01
      • 2014-06-22
      相关资源
      最近更新 更多