【问题标题】:How to check if there is a transitive orientation for a given undirected graph?如何检查给定的无向图是否存在传递方向?
【发布时间】:2016-07-02 23:42:53
【问题描述】:

如果无向图的边可以这样定向,则无向图具有传递方向,如果 (x, y) 和 (y, z) 是生成的有向图中的两条边,则还存在一条边 (x, z) 在生成的有向图中。

我正在使用真实的食物网网络,我需要检查密集的无向图(模拟食物网中的竞争)是否具有传递方向。无向图在 Java 中表示为邻接矩阵。

编辑:

例如, for this undirected graph,

我们可以在this way 中定位边缘。所以,这个图有一个传递方向。

【问题讨论】:

  • 我回答了,但后来我注意到您在讨论中使用了“无向图”和“有向图”。是错字还是什么?
  • 对无向图的边进行定向后,得到的图就是有向图。
  • 也许我错过了什么。正如您定义的“有一个 TO”,我相信原始无向图中的任何路径都必须位于一个完整的子图中。因此,每个连接的组件都必须是完整的图,原始图才有 TO。很容易检查。如果我有这个错误,具有 TO 的不完整图表的示例会有所帮助。
  • @PratikKoirala 定位边缘是什么意思?
  • @nbro 定位边缘仅意味着分配或选择边缘的方向。

标签: java algorithm graph adjacency-matrix undirected-graph


【解决方案1】:

您正在查看的是comparability graph。这类图也称为“可传递定向图”,但这不是最常见的名称。 要识别这个类,请查看graphclasses website

【讨论】:

  • 是的,我已经阅读了可比图。你知道一个简单的实现,这会有所帮助吗?
  • 你可以看看Golumbic的“算法图论和完美图”一书的第5章,它专门用于可比图。
  • 谢谢,我会调查的。
猜你喜欢
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 2013-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-24
相关资源
最近更新 更多