龙空技术网

调度系统核心算法第一篇-交通管制

天下无双6158 325

前言:

眼前看官们对“算法寻路问题有哪些类型”大约比较重视,小伙伴们都需要分析一些“算法寻路问题有哪些类型”的相关知识。那么小编在网络上搜集了一些关于“算法寻路问题有哪些类型””的相关文章,希望兄弟们能喜欢,大家一起来了解一下吧!

前言

我自己感觉之前对于算法理论的分析有点太凑合,今天我就彻底分析下我的交通管制是如何做的。

并且把他作为一个单独的篇章,后面关于寻路算法,解锁算法,移车算法等都单独讲一遍

一、交通管制是什么?

我做一个比喻,交通管制就像是一个十字路口,同时有多辆车要经过这个十字路口,这时候开车的人要看红绿灯决定是通行还是停下来,其实我的交通管制理论就是根据思考开车经过红绿灯实现的。

交通管制的理论其实就是我平时在开车的时候摸索出来的。

二、交通管制逻辑分析1.驾驶员

要实现交通管制就需要车能看的懂红绿灯,谁能看懂红绿灯?肯定是驾驶员。所以这里我引入了一个概念叫驾驶员。

驾驶员是什么?驾驶员是一个对象。

驾驶员有哪些功能,有四个主要方法:前进,后退,停止,观察(观察的就是红绿灯)。

2.交通指挥员(红绿灯)

车既然有了驾驶员,驾驶员有一个观察的方法,那么他观察的是什么东西哪?观察的就是红绿灯或者说是交通指挥员 下面简称指挥员。

指挥员是一个对象,同时也是事件的创建者,所有的车在进入这篇场地后都需要注册指挥员这个事件,这样指挥员就知道了有多少车每辆车在什么位置。

现在所有的车辆都归指挥员管理了,当车要运动的时候,就需要先告诉指挥员说,我要去1009这个位置,指挥员会去根据你当前的位置到1009的位置所用的时间,是否会跟别的车发生碰撞,是否会死锁等等进行判断,如果判定你可以去,就返回给你1009,如果判定你最多走到1004就需要停止,就返回你1004,如果判断你往前走一步就会出问题,就会让你原地等待。

3.十字路口

在我的理论里面每一个位置都是一个十字路口,所以车走的每一步都需要指挥员确认是否可以走。

总结

编程的一切都来源于现实世界,这套理论是我通过十字路口和红绿灯总结出来的,在实际测试中效果是不错的。

标签: #算法寻路问题有哪些类型