VF2算法步骤举例

发布于 2024-12-16 01:40:42 字数 76 浏览 2 评论 0原文

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

Can someone explain the steps of the VF2 algorithm for graph isomorphism in simple words? I am learning this algorithm, but it is harsh without a working example. Can someone lead me the right direction? Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

戏蝶舞 2024-12-23 01:40:43

提供了 VF 算法的高级概述:

PROCEDURE Match(s)
    INPUT: an intermediate state s; the initial state s0 has M(s0)=
    OUTPUT: the mappings between the two graphs
    IF M(s) covers all the nodes of G2 THEN
        OUTPUT M(s)
    ELSE
        Compute the set P(s) of the pairs candidate for inclusion in M(s)
        FOREACH (n, m) P(s)
            IF F(s, n, m) THEN
                Compute the state s´ obtained by adding (n, m) to M(s)
                CALL Match(s )
            END IF
        END FOREACH
         Restore data structures
    END IF
END PROCEDURE

high-level overview of the VF algorithm is presented:

PROCEDURE Match(s)
    INPUT: an intermediate state s; the initial state s0 has M(s0)=
    OUTPUT: the mappings between the two graphs
    IF M(s) covers all the nodes of G2 THEN
        OUTPUT M(s)
    ELSE
        Compute the set P(s) of the pairs candidate for inclusion in M(s)
        FOREACH (n, m) P(s)
            IF F(s, n, m) THEN
                Compute the state s´ obtained by adding (n, m) to M(s)
                CALL Match(s )
            END IF
        END FOREACH
         Restore data structures
    END IF
END PROCEDURE
绅士风度i 2024-12-23 01:40:42

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

VF2 算法的任何工作示例吗?

我将使用与我之前的答案中的示例相同的示例:

在此处输入图像描述

上面的 2 个图是 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

这是函数 f 匹配图 G 和 H 的一个很好的例子:
在此处输入图像描述

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

I will try to give you a quick explaination of my previous answer to this question :

Any working example of VF2 algorithm?

I will use the same example as the one in my previous answer :

enter image description here

The 2 graphs above are V and V' .(V' is not in the drawing but it's the one on the right)

The VF2 algorithm is described in the graph.

Step by step

I want to know if V and V' are isomorphic.

I will use the following notations : XV is the node X in V

In the VF2 algorithm I will try to match each node in V with a node in V'.

step 1 :

I match empty V with empty V' : it always works

step 2 :
I can match 1V with 1V',2V' or 3V'

I match 1V with 1V' : it always works

step 3 :

I can match 2V with 2V' or 3V'

I match 2V with 2V' : it works because {1V 2V} and {1V' 2V} are isomorphic

step 4 :

I try to match 3V with a node in V' : I cannot! {it would be possible if there were an edge between node 3 and 2 in V', and no edge between 3 and 1)

So I go back to step 2

step 5:

I match 2V with 3V'

step 6:

same as step 4

I go back to step 2. there is no solution in step 2 , I go back to step 1

step 7:

I match 1V with 2V'

step 8:

I match 2V with 1V'

step 9 :

I match 3V with 3V'

it works I matched {1V 2V 3V} with { 2V' 1V' 3V'}

The graphs are isomorphic.

If I test all the solution and it never works the graph would not be isomorphic.

Hope this helps


About your question on "matching", have a look at the wikipedia article on graph isomorphism :

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

this is a good example of a function f that matches graph G and H :
enter image description here

Hope you can better understand this algorithm with this illustration.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文