多智能体技术及其在信号配时中的应用
2013-06-10霍连秀宇仁德
霍连秀,宇仁德
(山东理工大学交通与车辆工程学院,山东 淄博 255049)
1 多智能体技术介绍
1.1 智能体的概念
智能体(Agent)这一概念来源于人们对人工智能的认识:人工智能的最终目标就是实现具有智能的能够代替人类来处理事务的“代理”。引用W ooldrige和Jennnigs对Agent的定义:Agent是处在某个环境中的计算机系统,该系统有能力在这个环境中自主行动以实现其设计目标[1]。
1.2 多智能体技术概述
多智能体系统(Multi-Agent System,MAS)是指由多个可执行网络计算Agent组成的集合。通常,每个Agent被认为是一个物理的或者抽象的实体。每个Agent是独立自主的,能作用于自身与环境,能对环境的变化做出反应,更重要的是能与其他Agent通信、交互,彼此协同工作,完成共同的任务。
因此,MAS可定义为:能进行问题求解,能随环境改变而修改自己的行为,并能通过网络与其他Agent进行通信、交互、协同完成求解同一问题的分布式智能系统。这样的系统能模拟人类社会团体、大型组织机构的群体工作,并运用其解决问题的工作方式,解决共同关心的复杂问题[2]。
2 Agent间的通信机制
2.1 Agent间的通信
通信能力是Agent的一个重要特征。Agent可以通过通信来改变另一个Agent的目标和信念。Agent之间的通信包括:
a)分布式问题求解 这种协作式问题求解方法是通过分散于不同结点上的松耦合的知识库集合来进行协作求解;
b)采纳 某一Agent把另一Agent的目标作为自己的目标来完成,以实现协同工作;
c)协作 每个Agent都有各自的目标,或者由于本身不能完成自己的任务,或者为了更好地实现各自的目标,它们相互间达成互惠互利的协议,通过协作实现协同工作;
d)影响 某个Agent的某个动作可能影响到另一个Agent实现其目标[2]。
2.2 Agent间通信模式与通信语言
Agent所采用的通信模式取决于Agent的种类、系统总体体系结构、交换时间以及消息接收者的数量。通信可能发生在人与机器或机器与机器之间;既可以是通过信息交换的直接通信,也可以是通过信息公告的间接通信;既可以是同步通信,也可以是异步通信;通信对象可以是一个,也可以是多个[3]。
Agent的通信语言有美国ARPA的知识共享计划中提出的两个相关语言:一个是KQML(Konwledge Query and Manipulation Language)——知识查询与操纵语言,另一个是KIF(Konwledge Interchange Format)——知识交换格式[2]。还有一种是由FIPA提出的FIPA ACL(Agent Communication Language),这种语言实际上是在KQML的基础上开发出来的,因而跟KQML有相似之处。而KIF并非一种表示消息本身的语言,它是形成KQML消息的内容部分,即为其提供一种语法格式。
3 Agent在信号配时中的应用
3.1 Agent的结构与功能
Agent在信号配时中的应用主要体现在路口和车道Agent中,包括各Agent的结构与功能。本文以车道Agent作为最基本的控制Agent,它们可以与路口Agent进行消息传递。每个Agent都具有各自的知识等因素,能感受外界环境的变化并做出反应,也可与其他Agent合作,共同完成信号配时任务。
3.1.1 路口Agent
路口Agent具有关于本路口以及其所连接路段的信息,各个方向的交通流在此汇聚,并形成车辆的分流、冲突等交通现象,交通拥挤往往也主要发生在路口,因此,路口Agent是实现信号配时任务的主要承担者。它可从检测器得到实时的交通状态信息,作为推理决策的数据,也可将本路口的交通信息实时通知给其相邻路口或区域控制中心,并能根据需要完成控制中心下达的控制工作[4]。
路口Agent的结构如图1所示。
图1 路口Agent结构
路口Agent各部分的功能如下:
a)数据处理单元 可以对数据进行预处理,删掉那些不符合要求的数据,根据相关信息建立当前的交通流模型,并对未来一段时间的交通流状况做出预测;
b)决策单元 通过知识库的知识对路口的交通状况进行评价,决定当前的控制策略,即给出合适的信号配时方案;
c)协调单元 通过决策单元给出的信号配时方案,协调各个控制Agent之间的运行,并与其他相邻路口进行协调与合作;
d)学习单元 根据接收的相关信息以及相关的经验知识或学习得到的信息,更新、补充或删除知识库中的知识;
e)通信单元 可使用预先定义好的通信语言,与其他Agent进行消息传递。
3.1.2 车道Agent
对于每个交叉口,包含两类Agent:一类是控制各自车道的车道Agent,另一类是负责不同车道Agent之间协调的协调Agent。前文所述的路口Agent具有协调功能,所以不再设置单独的协调Agent,而由路口Agent代替。
车道Agent的结构如图2所示。
图2 车道Agent的结构
车道Agent其各部分功能如下:
a)感应单元 用于感知外部交通环境的信息,并对此交通环境信息做出一定的抽象;
b)通信单元 用来传递感应器感知的外部信息和路口Agent决策的信息,并与其他车道Agent进行通信;
c)执行单元 可根据路口Agent决策模块做出的信号配时方案,通过改变信号灯对交通流进行控制。
3.2 基于多智能体的信号配时方法模型
该模型包括两部分:第一部分是车道Agent对本车道车流的控制;第二部分是路口Agent对各个车道Agent之间的协调。车道Agent的功能是执行由路口Agent规划的信号配时,检测车流,并把车流信息反馈给路口Agent。它的结构为反应式Agent,不包含推理机。路口Agent利用各个车道Agent检测的交通流状况,负责生成各个车道的配时方案,并同其他交叉口进行协作。
车道Agent负责控制本车道的绿灯定时,对于东西方向车道而言,它的信号控制Agent与南北方向车道的信号控制Agent一起完成交叉口的整周期控制。交叉口上的所有的车道Agent在时间上是采用顺序方式,即任何时刻只有一个方向的车道是绿灯;当某一个方向的车道绿灯时长改变的时候,其他方向车道的绿灯时间也要相应改变,必须通过路口Agent进行重新的规划,以达到对信号周期的最大利用,从而达到最佳的控制效果[5]。
4 结语
多智能体技术在当今已经成为一项热门技术,凭借其优越的特性在各种复杂系统方面取得了较大的成功。本文研究了其在信号配时中的应用,首先提出了一种信号配时方法的体系结构,然后通过对路口Agent的设计来实现本路口的信号配时。该体系结构由于采用了Agent技术,具有可靠性高、实时性好、针对性强、灵活性高、扩展性好的优点。
但是作为一种新技术,多智能体技术在信号配时这类复杂系统中的应用问题,还有待进一步研究。本文只提出了一种理论可能性,对所提出的系统还需要细化,对各种实践中的问题还需要认真研究。
[1]Miehael Wooldridge.多Agent系统引论[M].石纯一,张伟,徐晋晖,等译.北京:电子工业出版社,2003.
[2]王汝传,徐小龙,黄海平.智能Agent及其在信息网络中的应用[M].北京:北京邮电大学出版社,2006.
[3]沈卫明,米小珍,郝琪.多智能体技术在协同设计与制造中的应用[M].北京:清华大学出版社,2008.
[4]Jiming Liu.多智能体原理与技术[M].靳小龙,张世武,Jiming Liu,译.北京:清华大学出版社,2003.
[5]申徐洲.基于Agent的智能交通控制的研究[D].大庆:大庆石油学院,2006.