【问题标题】:Pattern matching in graphs图中的模式匹配
【发布时间】:2011-08-16 10:30:15
【问题描述】:

我正在尝试找到用于搜索与定向图中指定模式相对应的部分的工具/算法,例如:

A->B->C 或 或 AB->C

请建议我的搜索方向。

我的意思是模式匹配。我需要找到与指定模式匹配的所有节点和边组

【问题讨论】:

  • 你必须给“模式”和“匹配”一个严格的定义。
  • 模式是否可以包含循环,即“A->B->A->C”?
  • 如果你有这个模式,你可以自己编码。请注意,您的问题的答案取决于您用于对图形进行编程的编程语言。因此,如果您不向我们提供此信息,我们将无法为您提供帮助。
  • bacchus,我使用 python,现在搜索图形库,现在选择:networkx、python-graph、graph-tool

标签: python graph pattern-matching subgraph isomorphism


【解决方案1】:

关于可能的库,您可以在Python Graph Library 找到答案。

对于模式匹配,如果您知道要搜索的模式,您只需要遍历图并比较路径,或者您可以使用函数检索节点之间的路径并检查模式是否存在。

【讨论】:

    【解决方案2】:

    这不是Subgraph isomorphism problem吗?如果是,维基百科页面包含关于算法的部分。

    【讨论】:

      【解决方案3】:

      图形模式匹配是graph rewrite tools 的核心功能,他们提供了预先实现的功能。

      在例如GrGen 您将示例模式写为 a:A --> b:B --> c:C,然后该工具为其生成一个模式匹配器,该匹配器适用于主机图的特征(通过统计数据进行优化)关于图表)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 2011-02-03
        • 2015-07-25
        相关资源
        最近更新 更多