标签:
抽象建模能力下面主要介绍一个多岔路口交通灯的管理问题,由于该节的知识点在[37]中已经讲过了,所以在这里插入一点书外知识。
在一般的道路上,我们通常看见的就是红绿两种颜色的交通灯,这样就可以保持正常的交通秩序,又能达到车流量的最大量。以前当我站在人来人往的天桥上,车如马龙的街道上的时候,看见这个红绿灯,看着它默默的每天都是周而复始,帮助这个城市有秩序的运转,就不明觉厉。能感觉到红绿两色对于城市交通的重要性和意义!虽然看起来简单,但是要想达到让整个城市的交通畅通无阻而且每天能发挥出公路的最大效率,也就是大道车流量的最大值,背后却不是这么简单的,需要合理的算法设置灯的颜色以及更好实现全局协作。交通情况如下图所示:
图一 图二
下面就简单的来说说交通灯的问题吧!--摘自严蔚敏老师的《数据结构》(C语言版)一书,觉得挺有意思就写了下来:题目: 要求设计一种交通灯方案,使过往的车辆能有秩序的行驶不发生冲突,并且充分最大发挥公路的效率,尽最大可能缓解城市的交通压力。
例如在中上图一中,就是一个城市的五岔路口,ABCDE分别表示这五个路口,E和C分别是单向车道。这里每天都有大量的车流量。通常这类交通、道路问题的数学模型是一种称为“图”的数据结构。图二中的每个顶点表示一条通路,如AB代表车从A开向B。而如果存在矛盾的通路我们用连线来表示,例如AB和EA之间有一条连线,表示有车从A向B行驶的时候就不能有车从E到A行驶。
由此,我们知道在图二中,每个圆圈表示图a五岔路口上的一条通路,两个圆圈之间的连线表示这两个圆圈不能同时通行。经过这样的设计抽象和转化后,看似复杂的问题这这里设置交通灯的问题就可以等价为:对图着色的问题,
标签:
原文地址:http://blog.csdn.net/gogokongyin/article/details/51776371