【问题标题】:Is there an efficient algorithm to find the number of k-length paths (NOT walks) in an undirected and unweighted graph in adjacency matrix form?是否有一种有效的算法可以在邻接矩阵形式的无向和未加权图中找到 k 长度路径(NOT walks)的数量?
【发布时间】:2019-06-26 04:22:33
【问题描述】:

我知道,可以通过查找邻接矩阵的 k 次方来找到两个顶点之间的 k 长度行走次数,但行走包括在计算中多次遍历单个边。

编辑:我只想 count 他们不计算它们,最好使用矩阵代数。我可以做一个修改过的 DFS,但这比矩阵数学效率低。

【问题讨论】:

  • 不使用矩阵乘法技术,因为它们允许检测矩阵中的k-lengths 行走。您是否需要知道此类路径的数量(即计算它们),还是您还需要计算并返回这些路径?这两个问题非常不同。
  • @m.raynal 我只想数他们

标签: algorithm graph-theory


【解决方案1】:

一般来说,没有已知的方法可以实现这一点。看到这一点的一种方法是,如果您选择 k 作为图中的节点数,那么您就是在询问图中哈密顿路径的数量。然而,确定一个图是否包含哈密顿路径的问题是一个典型的 NP-完全问题,除非 P = NP 没有多项式-time 算法。

换种说法-哈密顿路径问题在多项式时间内简化为您的问题。这使您的问题 NP-hard,这意味着没有已知的多项式时间算法。

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多