基于Agent的智能控制系统的设计
2010-06-05周光明
周光明
(深圳职业技术学院 电子与信息工程学院,广东 深圳 518055)
智能控制系统是一个能以人类专家水平完成专门任务的智能计算机控制系统,是伴随计算机研究、应用日益发展的,通过模仿人类专家应用其知识与经验的方法解决控制问题[1]。在运用智能控制系统时,一般有多个控制参数,因此在做出控制决策时需要进行决策分析,从而确定控制方法。所以有必要在智能控制系统中融入决策分析的相关技术和方法,使控制决策更科学、合理。
Agent技术是分布式人工智能的一个概念。Agent是在一定环境下能独立自主运行的实体,它具有智能,有自己的知识;它具有学习功能,能够感知环境,并对环境的变化做出反应;多Agent实现了知识的分布,能够相互合作,共同完成任务[2]。随着人工智能的发展,Agent技术得到广泛应用,把A-gent技术引入工业控制是当前的研究热点[3]。
在以往有关基于Agent的控制系统研究中,解决Agent合作问题都是将合作协议嵌入Agent内部来实现的[4]。这样缺乏必要的灵活性,而且没有考虑复杂控制任务不能由单个Agent完成的问题。
综上所述,有必要研究在智能控制系统中引入基于Agent的人工智能和决策分析技术,以提高控制决策的智能性、灵活性,使控制结果更准确。这里设计了一个基于Agent的控制系统模型,并以此模型为基础,实现了锅炉智能控制系统。
1 系统结构
整个系统由多个Agent组成,如图1所示。系统包括中心Agent、信息 Agent、交互 Agent、分析 Agent、平衡 Agent和控制Agent等,它们各自功能不同,通过相互合作共同完成控制决策任务。
图1 系统总体结构
1)中心Agent 中心Agent是系统的核心部分,其他 A-gent加入系统都必须向它注册,它负责其他Agent的增加、删除和变更,并提供总体控制及协调功能,关系到各Agent能否成功地共享资源和合作[5]。其内部结构主要包括协调模块、注册模块、通信模块和全局字典。其中协调模块接受各Agent提交的请求,若是资源请求,协调模块通过检索全局字典提供一系列知识资源;若为问题,则通过查询注册模块的信息以及全局字典提供的合作策略,确定参与控制问题决策的A-gent小组,并向各控制决策Agent发出邀请,同时维护合作小组的协同环境,保证该小组的协同质量。注册模块管理其他Agent的注册、撤消和维护。全局字典立足全局把握各Agent的资源,它存储了各Agent的知识资源的概要信息、合作协议、合作策略。通信模块负责与Agent的通信。
2)交互Agent 交互Agent是由人和计算机通过人机界面组成的一个有机的整体。交互Agent接受控制任务,通过通信传递给中心Agent,并输出控制决策结果。交互Agent建立后,首先要在控制专家的指导下集中学习,掌握控制专家处理问题的方法和知识,之后在与专家的交互过程中不断学习总结。
3)信息Agent 信息Agent负责信息收集、信息检索和信息处理,为系统中其他Agent提供执行任务所必需的数据和资料,根据环境的变化不断调整工作策略,尽可能收集有用的信息。
4)平衡Agent 平衡Agent负责系统中其他Agent的负载平衡处理。它体现了Agent可以克隆的特性,克隆是流Agent追求效率和并发执行而对其自身的复制行为。它能在网络中自由移动,通过与服务设施和其他Agent相互合作来完成全局性目标。当某些Agent负载不均衡时,它负责将负载过重的Agent的任务转移到负载较轻的Agent上处理,最后把结果传回原来的Agent上。该智能体能够选择何时、何地移动,在移动时可以在某一位置根据要求挂起运行,然后转移到另一台计算机上运行。
5)分析Agent 当需要对控制决策结果进行分析时,就由该Agent完成分析工作,做出各种分析。
6)控制Agent 控制Agent1,…,Agentn承担具体的控制决策任务,数量不定。每个控制Agent具有交互能力且拥有一定控制决策资源,对应不同的决策模型。当问题比较复杂时,单个控制Agent不能独立完成控制决策,可向中心Agent请求其他控制Agent帮助,由多个控制Agent共同完成控制决策任务[6]。
在整个系统中,除控制Agent外,Agent的数量、功能和责任都是确定的。各个Agent都有自己的使命,它们的能力和知识由设计者事先分配,它们何时采用何能力由接收的消息和心智状态决定。
2 系统的工作过程
系统提供决策分析是系统内多个Agent按照一定的时序关系对信息进行加工的过程。整个系统的工作过程如下:
1)将控制决策问题送至交互Agent,交互 Agent接受任务后,配合中心Agent将其分解成小的控制决策任务。
2)中心Agent查询各控制Agent的能力,并与控制任务相匹配,找到有能力解决此任务的控制Agent。如果只有一个控制Agent符合要求,那么就将任务分配给它;如果有多个控制Agent符合要求,就将任务分配给优先权最高的控制A-gent;如果没有符合要求的控制Agent,那么交互Agent将重新分解控制任务。
3)接受任务的控制Agent在信息Agent那里获得解决问题所需要的信息。在求解过程中,如果一个决策Agent无法独立完成任务,可随时向中心Agent提出请求,请求其他A-gent的帮助,中心Agent查询注册模块信息,根据Agent的能力召集其他Agent提供帮助,如召集其他控制决策Agent组成决策联盟小组,并维护这个联盟小组的协同环境,保证联盟小组的协同质量。
4)平衡Agent配合中心Agent和其他Agent完成全局性目标。当某些Agent负载不均衡时,平衡Agent负责将负载过重的Agent的任务转移到负载较轻的Agent上处理,最后把结果传回原来的Agent上,从而提高系统的整体效率。
5)控制 Agent将控制决策结果送给中心Agent,由它综合后产生控制结果。如果用户需要对控制决策结果进行分析,由分析Agent对整个控制决策过程进行分析。
3 系统技术特点
3.1 智能性
系统智能性主要表现在Agent能自主学习,集中于2方面:1)通过把实际发生的结果送入系统,各Agent把实际结果与决策结果综合比较,按照一定的方法自主学习,调整自己,形成经验和知识,存储到知识库中,为下一次控制决策工作做好准备。2)交互Agent在和控制专家交互共同作用的决策过程中,能够通过不断学习,获得专家的某些特征知识,从而可以在控制决策过程中,自主做出与专家意志相符合的策略。交互Agent中拥有的知识包括问题求解的描述性知识、关于专家偏好的知识和自身的知识,这些知识在系统的运行初期Agent不一定具有,随着与专家的多次交互,Agent通过学习来获得。
3.2 模型库管理系统的先进性
模型库管理系统是一个重要部件,是系统的核心,它主要涉及模型表示和模型管理,它将极大影响系统的应用范围和程度[7]。本系统引入人工智能技术来解决控制决策模型表示和管理。
模型表示就是如何表示模型和关于模型的知识[8]。系统中模型用控制决策Agent表示,模型的输入和输出参数是A-gent与环境交互的主要内容,模型的运算操作和数据存取表现为Agent的行为,关于模型的知识在Agent的知识库中,采用产生式规则表示。模型的管理通过Agent间使用Agent通信语言进行交流与协作完成,主要由中心Agent承担模型管理的工作。
这种基于Agent的模型库管理系统克服了实体关系和结构化模型表示方法所带来的规则限制太严、模型与数据特性不匹配和模型与方法分离的问题,能比较真实地描述控制决策过程。
3.3 通信合作机制的方便灵活
中心Agent的协调模块根据注册模块的有关信息,选择合作对象,协调各Agent共同参与问题求解,使各Agent彼此和谐合作。而这种Agent之间的相互合作是通过通信来实现的,系统采用同步和异步相结合的方式进行通信。通信语言采用KQML,这是一种高级的基于点到点消息传送的通信语言和信息交换协议,它使得Agent能够和其他Agent以及Agent所运行的环境进行知识和信息的交换,它提供了一套标准的通信原语,与Agent间具体的通信方式无关。由于实际运行中Agent具有分布式和异构的特点,因此必须解决Agent的底层通信机制问题。公用对象请求代理体系结构CORBA为分布式Agent的通信提供了合适的平台。CORBA是由OMG组织制定的开放的分布式对象计算框架标准,它是一种“软件总线”,利用它能方便地实现不同程序之间的通信,无须考虑这些程序的设计方式、编程语言和运行平台。CORBA规范中的对象请求代理ORB可以用于Agent之间的定位,接口定义语言IDL可用于Agent内部对象之间的通信,通过CORBA/IIOP协议实现KQML。在CORBA平台支撑下,各Agent可随时通信,实现知识共享和合作。
3.4 中心Agent指挥协调
在复杂的控制系统中,单个控制Agent无法独立完成控制任务,因此在系统中引入中心Agent组织多Agent合作完成控制任务。当控制问题较复杂,单个控制Agent不能独立完成控制决策时,由中心Agent根据适当的策略,将多个控制Agent组成小组,协调多个控制Agent参与问题求解。由于多Agent的支持,系统提供的控制决策结果更准确,还能对控制结果进行分析,提高系统的智能性。
4 系统应用
在该系统框架的基础上,实现一个锅炉智能控制决策系统。为了提高锅炉燃烧效果,满足节能等目标,需要对锅炉烧煤速度、燃烧区的颜色、烧结颗粒、烟道负压、风机转速、烟气温度、湿度进行实时检测与分析,得出控制算法,做出控制决策。其中很多控制参数是凭锅炉工的经验进行分析,因此专家的经验知识是系统决策的基础,它描述了系统在各种变化条件下应采取的控制策略。这些经验知识通过控制决策A-gent和交互Agent的学习功能存放到知识库中,知识的表达使用如下描述形式 :
规则::=(〈规则号〉*,“注释” ,〈前提〉,〈前提〉∣…,〈结论〉)其中,前提和结论都是事实。以喷水系统启动策略为例,定义启动规则:
首先定义了一条名为watering_start的规则,该规则有温度差temp_differernt和智能喷水系统是否已启动is watering start两个前提,如果系统运行过程中两个条件同时满足,则推出要求智能喷水系统启动activate-watering-system的结论。
在每一个控制周期,在中心Agent的调配下,每个合适的控制决策Agent根据控制参数的计算值和从信息Agent那里获得的实时数据和系统运行的历史数据对控制规则进行模式匹配,然后把推理控制结果送往中心Agent,由它综合后产生控制算法并用于系统实时控制。
系统选用ADVANTECH插入式数据采集与控制卡PCL-812PG完成现场数据的获取和对现场设备的控制。用Java语言实现决策分析过程,每个Agent都是一个对象,由Java实现,其功能被封装在里面。实现从控制系统取得实时数据、调取系统运行的历史数据、将数据经过处理后进行专家控制运算,把控制算法得到的控制作用传送给现场设备,完成应用软件与现场控制系统的无缝连接等功能。通过对现场设备的控制,使锅炉燃烧的经济效益达到最佳的效果。
5 结束语
将人工智能Agent技术引入工业控制系统是当前的研究热点,应用决策分析技术是本研究的一个创新。基于Agent技术实现了一个智能控制系统,系统具有一定的记忆功能和自学习能力,实现了较高的智能性,较好地解决了控制决策模型表示和管理的问题,屏蔽了运行平台和通信机制,能够有效地解决Agent的通信问题,使Agent合作变得容易。实践表明,它比传统的控制系统具有更高的准确性和灵活性,能有效进行复杂多控制参数的控制决策。
[1]柯飂挺,潘海鹏,顾敏明.基于专家控制的湿度测控系统[J].测试技术学报,2007,4(21):355-459.
[2]王琦,黄继鸿.基于MAS的企业预警支持系统设计[J].计算机工程与应用,2003,35(8):192-194.
[3]方义,熊璋.智能控制中的多Agent系统[J].控制理论与应用,2006,23(5):810-814.
[4]刘立,胡立臣,董玉,等.基于Agent的决策支持系统[J].计算机工程与科学,2002,24(3):70-74.
[5]曹渠江,徐明.基于多Agent的MES任务调度的研究与设计[J].微计算机信息,2008,(11-3):24-25.
[6]Bridgewater L G.Group decision support systems(GDSS)and influence modes:A comparative field study between GDSS mediated groups and non-GDSS mediated groups[J].Journal of logistics and Information Management,2001,5(23):94-97.
[7]徐选华,陈晓红.基于Multi-Agent的决策支持系统模型管理研究[J].计算机工程与应用,2005,41(13):194-196.
[8]李牧南,彭宏.基于Agent的模型表示与模型复合[J].计算机应用,2006,26(4):891-894.