图论在计算机科学中的应用


11

我是CS学生。我们在一门课程中完成了图论。我发现这很有趣。

图论在计算机科学领域的真正应用是什么?

例如,我发现图论中的某些概念可用于设计网络。还有哪些其他类似的应用程序?


1
这可能是一个很长的清单。我在想CW?
Suresh Venkat

4
即使对于CW,这似乎也太笼统了。图论在TCS中无处不在。
哈克·贝内特

30
在CS中使用使用图表的主题可能会产生较短的列表。
拉斐尔

1
@peedarpk:如果您正在CS诅咒课程中上图论,那为什么不问教授呢?
Anthony Labarre 2011年

3
真的,我们可以现在关闭吗?这个问题的答案在Wikipedia(en.wikipedia.org/wiki/Graph_theory#Applications)或任何入门的本科教科书中。
RJK

Answers:


12

这决不是绝对的答案,我也不打算这样回答。

计算机科学家感兴趣的许多问题都可以表述为图问题,结果,图论在复杂性理论中占据了很多席位。例如,确定两个图在哪里是同构的,所需的计算工作是当前在复杂性理论中非常感兴趣的一个主题(既不知道它是NP完全的,也不包含在P,BPP或BQP中,但显然在NP中) 。另一方面,图非同构具有非常好的零知识证明(复杂性理论的另一个研究领域)。许多复杂性类都具有针对该类的图形问题(在某种程度上有所降低)。

但是,利用图论的不仅仅是复杂性理论。从其他答案中可以看出,有很多问题是图论语言最适合的。提供扩散列表的应用程序很多,因此,我将为您提供一个示例,说明图论如何在我自己的研究领域中发挥基本作用。

基于测量的量子计算是经典世界中没有对应模型的计算模型。在此模型中,通过对一类特殊的量子态进行测量来驱动计算。这些状态称为图状态,因为每个状态都可以由无向图唯一地标识,该无向图的顶点数量等于图状态中的量子位数量。然而,这种与图论的联系绝非偶然。我们知道,一类重要的度量(如果感兴趣,可以使用Pauli基度量)将基础图状态映射到少一个qubit的新图状态,并且很好地理解了发生这种情况的规则。此外,基础图族的属性(它的流程和g-流程)完全确定了它是否支持通用计算。最后,对于可以通过另一个顶点G的任意序列从另一个图G到另一个图G'的任何图G',仅通过单量子位运算就可以实现,因此作为计算资源同样强大。这很有趣,因为边的数量,顶点度的最大值等可能会急剧变化。


对OP不太可能会问的好答案!但是总的来说,为什么我们不忘记问题的原始(不好的)版本并假装我们在玩危险游戏:“几乎在理论计算机科学的所有子学科中,图形无处不在的直觉是什么?”
RJK

@RJK:也许我应该更仔细地阅读问题,但是我认为这至少对提出问题的人很有趣。
Joe Fitzsimons

不,不,这是一个很好的答案。
蒙塔吉斯特

5

图论的应用在计算机科学和日常生活中非常丰富:

  • 在汽车导航系统中查找最短路线
  • 搜索引擎使用基于图论的排名算法
  • 优化学校或大学的时间表
  • 社交网络分析
  • 优化铁路系统的利用率
  • 编译器使用着色算法将寄存器分配给变量
  • 机器人技术中的路径规划

3

图论具有多种应用。我最喜欢的是以下应用程序:

  • 大型网络
  • 社会计算
  • 生物信息学

2

使用图完成建模网络。例如,如果您需要研究某些类型的网络拓扑中的广播或多播,则可以使用图形对网络进行建模。例如:

  • 超图
  • 完整图
  • 星图
  • 网格

使用图对网络建模时,可以使用图论的所有功能来分析网络。

这只是图论在计算机科学中的许多应用之一。


-2

目录结构是树形结构(具有根节点和子节点。在网络中,它用于使用Dijkstra算法的最小生成树来查找最短路径。


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.