为什么有向图很重要?


18

我们已经在有向图中阅读了有关MST,强连接性,路由等的算法。

最近,人们也一直在研究有向图的动态和容错算法。

但是我想知道下划线图形网络是否是“定向”的实际应用。除了社交网络外,我能想到的所有问题(例如铁路/公路网络,Internet网络等)都只处理无向图。

编辑1:我知道这些可以用于对定向链接的某些场景进行建模,但是我想知道这些场景在现实世界中发生的频率如何,以及研究有向图的容错能力有多重要。


6
在所有计算机科学中,最有名的两类有向图是树和DAG(有向无环图)。该树用于许多事物(例如家谱,层次结构);DAG可以提供这些功能的更复杂的版本。基本上,只要您具有一组相互依赖的实体,就使用DAG。当您的问题具有“时间”或“分步”组成部分时,定向性就代表着前进的步伐。您会在流程图,软件包管理软件和编译器的中间表示SSA表单等内容中看到DAG。
Iwillnotexist Idonotexist

2
好,您实际的问题是什么?您是否想知道为什么有向图很重要或为什么有向图的容错性很重要?这是两个完全独立的问题。
David Richerby

2
您的示例虽然在实现中在物理上是“无向的”,但仍然经常在逻辑上对其进行操作。例如,火车不是双向行驶的,而是按计划的一种或另一种方式行驶。假设一个人不安排火车,而只安排乘客。然后,该人对有向图感兴趣,尽管理论上火车可以在轨道上沿任一方向行驶都是任意的事实。
达伦·林格

5
chyle:网络可以肯定地受益于有向图。大多数家庭互联网连接都是不对称的。上游和下游链路可以具有完全不同的属性(带宽,延迟,数据包丢失等)
亚历山大-恢复莫妮卡(Monica)

1
我不认识其他人,但是我的家谱是有向图。我不是我母亲的父母。

Answers:


36

回想一下,有向图是其中边具有关联方向的图。

使用有向图,您可以表示节点之间的不对称关系,而在无向图中,我们只能表示对称关系。

实际上,使用有向图可以表示:

  • 道路网(使用有向图可以表示街道的方向);
  • 连接网页的超链接 ;
  • 对软件模块的依赖 ;
  • 猎物与食肉动物的关系 ;
  • 确定性有限自动机

除了这些经典示例之外,您还可以描述许多其他需要有序关系的现实世界场景(金融贸易,日程安排,传染病,引文,控制流等)[1]


4
好答案。我认为OP会忘记,当您有一条街道时,实际上有两条街道(每个方向一条,通常完全平行)。它们可以表示为简单图,但是有向图为模型添加了基本信息。
ecc

我喜欢这一点,并且我注意到这个答案是谨慎地说的是连接网页的超链接-排除了使用上一步功能。;-)
SDsolar

要将@ecc的评论用白话说出来,您有两个由两个边连接的节点。每个边缘彼此相对。它经常在确定性状态图中看到。对于街道,无论是定向(单向)还是非定向,它都会减少到单个边缘。
SDsolar

4
@ecc也是,我来自(加利福尼亚州),我们在一条街上
k_g

5

有向图确实存在。如评论中所述,有向无环图(DAG)特别在许多计算任务(例如代码编译)中非常有用。

同样,值得注意的是,大多数有向图算法可以简单地通过用两个有向边替换每个无向边来在无向情况下使用。试图通过无向图制作有向图的双重方法对于大多数算法都无法实现。


3

拓扑排序(对有向无环图的基本操作)的开始在于项目管理中的依赖关系网络,特别是 PERT方法。 Kahn和Lasser都在论文中引用了PERT,并在此基础上举例说明了

可以在不到一小时的机器时间内订购30,000个活动的PERT网络。

这种类型的网络仍然可以完成在线作业调度;例如,ETL系统安排作业仅在提供其输入数据的作业运行后才运行。


2

答:从OP中,我推断出该问题实际上与SDG(有向有向图)有关。因此,这是我的答案,其中涉及基本有向图,然后引向SDG。

有向图在工业系统的故障树分析中得到了广泛的应用。在消除故障原因时,请遵循有向图来探索其他可能性。

有向图用于防止节点的适得其反的重新访问,节点已被有效地消除。在故障诊断中,恢复服务的时间通常很关键。在复杂的工业系统中,总是有一个基于时间的并行树,如果在各种时间限制内未纠正故障,则可能导致系统完全关闭。来回走动更有可能导致完全故障,这可能导致恢复操作更加耗时(例如排空水箱和管道以重启精炼厂)。

这就像修剪树枝-尝试查找单个树枝时无需回到树干。

SDG具有附加的属性,可以根据概率或阈值提供指导,以便在遍历树时帮助做出决策。

以下是有关该主题的一本好书的链接,该书名为《工业系统中的故障检测和诊断》(第224页),其中描述了基于SDG的诊断的优点:

https://books.google.com/books?id=KFLlBwAAQBAJ&pg=PA224

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.