基于智能代理的雷场自修复策略
2011-08-21梁聪聪焦国太陈建文
梁聪聪,焦国太,张 可,陈建文
(中北大学机电工程学院,山西 太原 030051)
0 引言
传统的雷场一旦部署就无法调整,在现代多种扫雷手段面前,已经达不到理想的封锁效果。为解决上述问题,智能自修复雷场中各个地雷不但具有自主移动能力,而且具有目标识别、定位和通信能力,一旦雷场因作战消耗或敌方扫雷出现缺口,雷场能判断缺口,根据相应的修复策略自主移动地雷填补缺口,重新恢复对作战区域的封锁[1]。
目前自修复雷场系统由美国几家公司共同研究,美国Sandia公司采取的修复策略为蜂窝式修复,该方案最终达到的理想效果是节点之间为无缝分布,即两节点间的距离为期望距离,多节点组成期望的分布结构,但该方案要使封锁区域所有节点连续多次跳跃才能达到期望分布。美国SAIC公司提出多模式修复的策略,根据节点掌握雷场缺口信息的多少来采用不同的修复策略。当雷场缺口信息全部可知时,采用缺口定位模式;当雷场缺口信息部分可知时,采用邻居节点修复模式;当雷场缺口信息很少或不可知时,采用随机跳动修复模式。该方案对缺口信息有依赖性,对缺口的信息融合有较高要求[1]。
针对雷场多次跳跃引起的修复效率问题,本文引入智能代理(Agent)体系,提出基于智能Agent的雷场自修复策略。
1 智能Agent及黑板模型
1.1 智能Agent
智能Agent是代表一切具有智能(无论自然智能,还是人工智能)的实体的一个抽象名词,因此,它可描述机器人、智能设备、智能软件等。智能Agent置身于某种环境中,通过传感器感知环境,通过效应器作用于环境。智能gent不能在环境中单独存在,而要与多个智能Agent在同一环境中协同工作,协同的手段是相互通信,但每个智能Agent都是主动、自治地工作。它具有以下四个特征:1)自治性,A-gent可以在没有人或其他Agent直接干预的情况下运作,而且对自己的行为和内部状态有某种控制能力;2)社会性,Agent和其他Agent通过某种A-gent语言进行信息交流;3)反应性,Agent能够理解周围的环境,并对环境的变化作出实时响应;4)能动性,Agent不仅简单地对环境作出反应,也能够通过接受某些启动信息,表现出有目的的行为[2]。
1.2 黑板模型
“黑板模型”是一种已经被广泛使用的协调方法,并且相应的技术已较为成熟。黑板系统采用合适的结构支持分布式问题求解。在多Agent系统中,黑板提供公共工作区,Agent可以交换信息、数据和知识。“黑板模型”主要由“黑板”、知识源和控制机构三大部分组成,结构如图1所示。
图1 黑板模型图Fig.1 Blackboard model
1)黑板
所谓“黑板”,就是一个分层的全局工作区(或称全局数据库)。它用来存储初始数据、中间结果和最终结果。整个黑板被分为若干层,每一层用于描述领域问题的某一类信息。高层信息可以看作是下层信息的抽象(或整体),反之,下层信息可以看作是上层信息的实例(或部分)。
2)知识源
所谓知识源,就是一个知识模块。黑板结构中具有多个知识源,每个知识源能用来完成某些特定的解题功能。知识源可以表示完成过程、规则集或逻辑断言等形式。知识源之间互相独立,它们只能通过黑板进行通讯和互相调用。
3)控制机构
控制机构是求解问题的推理机构,由监督程序和调度程序组成。监督程序时刻注视着黑板状态,根据黑板状态采用某种策略选择合适的知识源。调度程序通过选择所谓“聚焦”来优先使用队列中最重要、最有希望的知识源来执行[3]。
1.3 多Agent系统应用
多Agent系统已获得十分广泛的应用,涉及机器人协调、过程控制、远程通信等。移动机器人系统,其协调十分重要。机器人足球比赛是一种典型的协调多Agent系统。在比赛中,多机器人系统利用全局信息、知识和技能,通过多Agent系统协调作用,合作完成单机器人无法独立完成的复杂任务[3]。
2 雷场自修复策略
针对目前雷场修复策略下修复能力有限问题,本文引入智能Agent体系,分析缺口状态并进行有针对性的修复。采用“黑板模型”进行缺口信息的融合,提高信息融合效率。当侦测到雷场有缺口产生时,封锁区域通过“缺口黑板”进行缺口信息融合,修复算法依据节点在缺口中的位置给出各节点的运动公式。这一过程各个节点均相当于一个智能Agent,并与其他节点实时交流修复进程,多节点共同协作完成修复任务。
在研究雷场自修复策略前,对雷场各地雷节点作如下假设:1)假设每个地雷可以实时确定自己的雷场坐标;2)假设地雷节点基于扇区接受它周围地雷的无线电信号,设定每个地雷具有6个探测扇区,地雷接受探测扇区内所有的地雷节点信号,通过地雷坐标和雷场结构模型分析出“邻居”节点,地雷与“邻居”节点建立连接,将其纳入雷场网络,并通过“邻居”节点与其他节点进行通信;3)假设每个地雷靠跳跃移动,在其6个方向上有6个微型火箭(一种跳跃机构,包括可控的火药点火装置),这样在雷场范围内,地雷节点在有限的方向上具有可控的移动能力[4]。
2.1 智能Agent节点结构模型
在雷场中,每个地雷节点都是一个智能Agent,它能探测到周围节点的变化,并能判断出缺口大小和方位。每个节点探测到的是缺口的部分信息,通过与其他节点交换缺口信息并进行信息融合,Agent节点可知缺口的轮廓和方位,并分析缺口模型,确定自己在缺口中的位置,最后根据相应的修复策略进行修复。在分析雷场修复环境的基础上,本文提出了一种以自修复算法驱动Agent动作的雷场Agent节点模型(见图2)。
图2 策略驱动的Agent节点结构框图Fig.2 Agent node frame
2.2 缺口信息融合机制
通信与协作是实现多个Agent地雷节点之间进行协同修复工作的关键。各个Agent地雷节点之间的通信是通过Agent间的交互来实现。目前智能Agent的通信及协作方式,基本上可以分为“黑板模型”和“消息传递”两种方式:第一类是广播通信形式,属同步消息传递,把消息放在广泛可取的黑板上,每个Agent均可以向黑板发送消息,也可以从黑板读取信息;第二类是消息传递通信方式,属于异步消息传递,即一个Agent可以向一个或多个Agent发送消息,采用点对点的传递方式。
根据雷场的结构及通信方式,本文中的地雷Agent节点采取“消息传递”与 “黑板模型”相结合的通信机制。雷场主体通信采用“消息传递”的点对点传递方式,当出现缺口时,缺口边界节点建立“缺口黑板模型”来存放缺口信息,各边界节点对“缺口黑板模型”进行缺口信息的融合及更新,并将“缺口黑板模型”传递给其周围的边界节点。当“缺口黑板模型”遍历整个缺口边界的节点后,“黑板模型”便掌握了缺口的边界信息,最后将信息告知缺口边界的各个节点(见图3)。
图3 节点的通信机制Fig.3 Node communication mechanism
2.3 修复算法
雷场的修复算法以节点最少移动来减少能耗为原则对缺口进行修复,即在封锁住缺口的前提下,以节点的移动次数最小和移动距离最短为原则。修复后的节点应与雷场建立连接,以通知缺口的修复情况。针对雷场的点对点通信方式,移动后的修复节点应与最近的雷场节点保持在雷场通信距离l内(雷场封锁边长),以便与雷场进行通信。因此,在矩形缺口区域内,按雷场结构和通信距离进行斜线封锁 (见图4)。
图4 修复策略图Fig.4 Repair strategy
“缺口黑板模型”经信息融合之后便可计算出缺口的纵向深度L和横向宽度W(L>W),修复算法依据L和W 计算出修复位置的坐标。雷场坐标采用第一象限,选取边界节点为基点,通过迭代依次计算出个修复位置的坐标。
当n=NW时,修复斜线已经到达缺口边界,计算出此时的修复坐标(xn,yn),选取与此坐标误差最小的一个边界节点的坐标来代替(xn,yn),进行误差校正。并采用式(2)进行反向修复。
当n为NW的整数倍时,就进行一次修复坐标的误差校正和式(1)、式(2)的交替选取(见图5)。
图5 修复位置坐标计算原理图Fig.5 Coor dinate calculate principle
2.4 修复方式
当雷场出现缺口时,缺口边界各Agent节首先进行横向修复并建立“缺口黑板模型”,“缺口黑板模型”在信息融合后把缺口的全局信息提供给修复算法,修复算法计算出修复位置坐标后,通过“缺口黑板模型”传递给各缺口边界节点并进行修复。修复过程如图6所示。
图6 修复流程图Fig.6 Repair flow chart
3 雷场自修复能力仿真
雷场修复能力仿真程序采用C++语言编写。每个地雷节点用圆圈表示,分别编写布雷、扫雷和修复函数来模拟雷场的修复过程。
3.1 布雷仿真
雷场初始结构分布是由大规模布撒来完成的。用于封锁的两个地雷间的距离小于等于两倍的最小杀伤半径,各个节点围成等边三角形封锁,封锁边长为l。运行布雷函数来模拟布撒雷场结果(见图7)。
图7 初始雷场分布Fig.7 The initialize distributing of minefields
从图7可以看出:每个节点周围划分出6个均等的扇区,以封锁边长l为两“邻居”节点的距离,按照正六边形结构设定每个扇区内只有一个“邻居”节点,这样节点在其所有探测扇区内共可探测到6个“邻居”节点,分别对6个方向进行封锁。
3.2 扫雷仿真
扫雷程序运行后雷场被彻底扫通,出现扫雷通路。雷场被扫雷通路分为互不相连的两部分(见图8)。
图8 扫雷后雷场分布Fig.8 Minefields distributing after mine sweeping
3.3 自修复仿真
雷场被彻底扫通后,由于“缺口黑板模型”只掌握了缺口的纵向信息,因此被分开的两部分雷场首先进行了探索修复与对方建立连接进而掌握缺口的横向信息。
当运行修复程序后,被分割的两部分雷场首先进行横向探索修复与对方建立连接,通过信息融合掌握缺口的全局信息并计算缺口面积,横向修复后的结果如图9所示。
图9 横向探索修复Fig.9 Landscape orientation explore repair
从图9可以看出:被截断的两部分雷场进行横向探索修复时,首先把雷场缺口最底部的边界节点激活,激活的两个节点分别在各自的雷场内寻找可用的修复节点进行横向移动修复,当两个方向的修复节点建立连接后横向修复完成。
随着修复函数的继续运行,由修复公式计算出的修复位置坐标传递给各个边界节点,距修复坐标最近的边界节点寻找可用修复节点进行修复。修复后的雷场分布如图10所示。
图10 修复后雷场分布Fig.10 Minefields distributing after repairing
从图10可以看出:缺口边界各节点找到了合适的修复节点并进行了移动修复,势必会对原雷场结构造成影响,但不会对原封锁区域的封锁效果和通信能力造成功能性破坏。原封锁区域通过相邻节点的传递仍可以和其他节点进行通信,修复节点移动后的无雷方向仍被封锁。
修复过程显示,修复函数运行前,雷场共被扫去40颗雷,修复函数运行后,雷场仅向缺口区域移动了9颗雷进行封锁,在保持雷场能够进行有效封锁和通信的基础上,达到了移动次数最少,避免修复节点多次跳跃的目的。
4 结论
本文提出了基于智能Agent的雷场自修复策略,该策略引入智能Agent体系,利用“缺口黑板模型”进行缺口信息融合,修复算法以节点最少移动为原则进行缺口修复。仿真结果表明:该修复策略能对缺口信息作出快速反应,进行全局规划修复,避免了修复节点的多次跳跃。考虑到多次扫雷的情况,雷场不断修复后的封锁效能问题有待进一步研究。
[1]Tho msa W Altshuler.The self healing minefield program[EB/OL].[2011-09-20]http:// www.darpa.mil/ato/programs/SH M/index.ht ml.
[2]吴胜,王书芹.人工智能基础与应用[M].北京:电子工业出版社,2007.
[3]王宏生,孟国艳.人工智能及其应用[M].北京:国防工业出版社,2009.
[4]秦栋泽,聂宏斌,陆世杰,等.自修复雷场自修复能力分析[J].中北大学学报,2009,30(2):143-146.QIN Dongge,NIE Hongbin,LU Shijie,et al.Analysis self-healing capacity of the self-healing minefield[J].Journal of North University of China,2009,30(2):143-146.