导航:首页 > 源码编译 > 图论在编译程序中的应用

图论在编译程序中的应用

发布时间:2023-07-17 11:40:13

1. 运筹学中的图论问题

很多实际的生产问题都能被抽象成一张大的图。具体一点的例子,比如需要在若干个城市之间铺设铁路或者架设电网,那么城市就是图里面的点,铁路电网就是图里面的边。抽象一点的例子,比如完成一个项目的过程中所有可能出现的状态都可以视为一个点,而状态到状态之间的转换就是边。上一篇文章中我们说过运筹学是处理实际生产生活中遇到的问题的。一旦实际问题被抽象成了一个图的模型(注意与机器学习里面的图模型区分开来),很多图论里面的算法就可以用来解决实际问题,所以图论是运筹学当中的一个很大的分支。今天我们就介绍一下几个图论的基本算法及其在生产生活中的应用。

一最小生成树

比如现在要在若干个村子之间架设电网,保证每个城市都通上电(先不考虑电网输电能力大小)。虽然理论上讲,任何两个村子之间都可以架设电线,不过那样的话成本很到,不划算,我们需要在所有可能的连线里面找到一组总长最短的边,保证这些边把每个村子都连上了。在图论中,这是一个典型的最小生成树问题。有两种解决最小生成树的方法,第一种办法是把所有的边按照从小到大的顺序添加到图里面,如果产生回路就舍弃它,直到覆盖了所有的点。另一种方法是把图上的边按照从大到小的顺序删除,直到再删下去就一定会产生离散的点为止。

二最短路径

图论中应用最广的问题可能就是最短路径问题了。地图上很多城市之间都有道路相连,想从一个城市到另一个城市,往往有多种选择,可是走那条路距离最短呢?如果地图规模不大,我们可以一眼就看出来。可是随着地图规模变大,就很难再一眼看出来了,需要有严格的算法保证找到最短路径。目前已经有了很多种最短路径算法,他们的基本思想也不尽相同。以着名的Dijkstra算法为例,它每次会选择距离“所有已经选择过了的点”中距离最近的下一个点,一步步的迭代下去。这个流程保证了算法会按照距离出发点由近到远的顺序选择每一个点。

三最大流-最小割问题

油气输送网络又许多不同的边组成,每一条边的运输能力有限。输送油气资源的时候,为了最大化运输量,需要合理安排通过每一条边的油气流量。这就是在一个网络寻找最大流的问题(等价于寻找最小割)。解决问题的想法很简单,找到一组边,它们把整个网络分成了两部分,流的源和目的地址分属于这两个部分。我们称这样一组边为图的一个分割。由于所有的油气流都要通过分割中的边,所以最大流其实受制于分割的流通能力的。于是最大流应该等于流通能力最小的分割。剩下的问题,就是一步步调整,找到最小分割了。

2. 图论的应用领域有哪些

图论的应用领域有很多。凡是涉及排列组合优化问题的都免不了要用到图论中的各种知识。比如通信编解码,矩阵运算,任务分配,GPS路径规划等等。

至于图论的经典着作,可以自己去google一下graph theory。

3. 图论的实际应用例子

图论的实际应用例子如下:

什么是图形?

大多数人对"图形"这个术语有着非常广泛的理解,代表了大多数数学图形描述。然而,正如人们所期望的那样,在数学中有一个非常清晰的定义,即图形是什么,我们围绕它们建立有用的规则和计算,使它们对试图解决的问题有用。

多图是两个顶点之间具有有多条边的图,通常描绘不同的关系。可以想象一下飞机航线路线图,每条航线都是航班号。伦敦和纽约之间会有大量的边(路线)。

伪图(Pseudographs)是允许将顶点连接到自身的图形。毋庸置疑,在描绘人际关系的图表中通常不需要这样做。但是,例如你需要使用图表来描绘办公室中的咖啡订单以及谁正在购买适合他们的商品时,那么采用伪图将非常有用。

在完整的图形中,没有更多的边可以添加到边集上。所有顶点都相互连接。它可以是一个有用的数学工具来证明图形是完整的。

树图也非常明显,但它们在数学上被定义为连接且没有循环的图形。这意味着任何一对不同的顶点都可以通过一组边相互连接,但不可能通过一组边将顶点连接到自身。家谱通常就是这样的一个例子。例如皇室成员,那么可以看看西班牙国王查尔斯二世的家谱。

4. 图论,算法

我想很多学习图论的人都知道J.A. Bondy和U.S.R. Murty着的《Graph Theory with Application》(Elsevier,1976)是图论教材中的经典,时至今日,仍不失为初学者较好的入门书。还记得兰州交通大学的张忠辅教授说过,国内第一届图论学会就是把大家集中起来学习邦迪的《Graph Theory with Application》,由此可见这本书对国内图论届的影响是如此之大。吴望名等人将其译成中文版本《图论及其应用》(北京:科学出版社,1984),1988年张克民等人编写了该书的参考答案《图论及其应用习题解答》(清华大学出版社,1988)。
在2008年J.A. Bondy和U.S.R. Murty出了新书《Graph Theory》(GTM 244, Springer, 2008), 大家可不妨将其看成是《Graph Theory with Application》的第二版,这本书在内容上做了重新调整,毕竟在第一版出版后的近30年里涌现出了很多新的结果,所以《Graph Theory》在内容上加进了一些新的结果,这本书我只是读了其中的几章,觉得写的非常棒,建议大家能够读读,这里也值得一提的是将第一版最后提出的50个问题进行了更新,并补充了一些新的问题。总之,我个人认为,《Graph Theory》的确是一部很优秀的图论教材。

下面给出这两部教材及其答案的链接(在此对资源的提供者表示感谢,如果下列链接失效,请自行或者google):
1. 《Graph Theory with Application》英文版下载:
http://old.math.org.cn/forums/index.php?showtopic=57282
http://www.ecp6.jussieu.fr/pageperso/bondy/books/gtwa/gtwa.html
2. 《Graph Theory with Application》中文版下载:http://old.math.org.cn/forums/index.php?showtopic=54871
3. 《Graph Theory with Application》答案下载:
http://old.math.org.cn/forums/index.php?showtopic=54878
4. 《Graph Theory》下载:
http://ifile.it/5kdc19/1846289696.pdf.zip

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaoyang17/archive/2009/08/27/4491066.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaoyang17/archive/2009/08/27/4491066.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaoyang17/archive/2009/08/27/4491066.aspx

阅读全文

与图论在编译程序中的应用相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163