基于Agent的智能控制系統(tǒng)的設(shè)計(jì)
智能控制系統(tǒng)是一個(gè)能以人類專家水平完成專門任務(wù)的智能計(jì)算機(jī)控制系統(tǒng),是伴隨計(jì)算機(jī)研究、應(yīng)用日益發(fā)展的,通過模仿人類專家應(yīng)用其知識與經(jīng)驗(yàn)的方法解決控制問題。在運(yùn)用智能控制系統(tǒng)時(shí),一般有多個(gè)控制參數(shù),因此在做出控制決策時(shí)需要進(jìn)行決策分析,從而確定控制方法。所以有必要在智能控制系統(tǒng)中融入決策分析的相關(guān)技術(shù)和方法,使控制決策更科學(xué)、合理。
Agent技術(shù)是分布式人工智能的一個(gè)概念。Agent是在一定環(huán)境下能獨(dú)立自主運(yùn)行的實(shí)體,它具有智能,有自己的知識;它具有學(xué)習(xí)功能,能夠感知環(huán)境,并對環(huán)境的變化做出反應(yīng);多Agent實(shí)現(xiàn)了知識的分布,能夠相互合作,共同完成任務(wù)。隨著人工智能的發(fā)展,Agent技術(shù)得到廣泛應(yīng)用,把Agent技術(shù)引入工業(yè)控制是當(dāng)前的研究熱點(diǎn)。
在以往有關(guān)基于Agent的控制系統(tǒng)研究中,解決Agent合作問題都是將合作協(xié)議嵌入Agent內(nèi)部來實(shí)現(xiàn)的。這樣缺乏必要的靈活性,而且沒有考慮復(fù)雜控制任務(wù)不能由單個(gè)Agent完成的問題。
綜上所述,有必要研究在智能控制系統(tǒng)中引入基于Agent的人工智能和決策分析技術(shù),以提高控制決策的智能性、靈活性,使控制結(jié)果更準(zhǔn)確。這里設(shè)計(jì)了一個(gè)基于Agent的控制系統(tǒng)模型,并以此模型為基礎(chǔ),實(shí)現(xiàn)了鍋爐智能控制系統(tǒng)。
1 系統(tǒng)結(jié)構(gòu)
整個(gè)系統(tǒng)由多個(gè)Agent組成,如圖1所示。系統(tǒng)包括中心Agent、信息Agent、交互Agent、分析Agent、平衡Agent和控制Agent等,它們各自功能不同,通過相互合作共同完成控制決策任務(wù)。
1)中心Agent 中心Agent是系統(tǒng)的核心部分,其他Agent加人系統(tǒng)都必須向它注冊,它負(fù)責(zé)其他Agent的增加、刪除和變更,并提供總體控制及協(xié)調(diào)功能,關(guān)系到各Agent能否成功地共享資源和合作。其內(nèi)部結(jié)構(gòu)主要包括協(xié)調(diào)模塊、注冊模塊、通信模塊和全局字典。其中協(xié)調(diào)模塊接受各Agent提交的請求,若是資源請求,協(xié)調(diào)模塊通過檢索全局字典提供一系列知識資源;若為問題,則通過查詢注冊模塊的信息以及全局字典提供的合作策略,確定參與控制問題決策的Agent小組,并向各控制決策Agent發(fā)出邀請,同時(shí)維護(hù)合作小組的協(xié)同環(huán)境,保證該小組的協(xié)同質(zhì)量。注冊模塊管理其他Agent的注冊、撤消和維護(hù)。全局字典立足全局把握各Agent的資源,它存儲了各Agent的知識資源的概要信息、合作協(xié)議、合作策略。通信模塊負(fù)責(zé)與Agent的通信。
2)交互Agent 交互Agent是由人和計(jì)算機(jī)通過人機(jī)界面組成的一個(gè)有機(jī)的整體。交互Agent接受控制任務(wù),通過通信傳遞給中心Agent,并輸出控制決策結(jié)果。交互Agent建立后,首先要在控制專家的指導(dǎo)下集中學(xué)習(xí),掌握控制專家處理問題的方法和知識,之后在與專家的交互過程中不斷學(xué)習(xí)總結(jié)。
3)信息Agent信息Agent負(fù)責(zé)信息收集、信息檢索和信息處理,為系統(tǒng)中其他Agent提供執(zhí)行任務(wù)所必需的數(shù)據(jù)和資料,根據(jù)環(huán)境的變化不斷調(diào)整工作策略,盡可能收集有用的信息。
4)平衡Agent 平衡Agent負(fù)責(zé)系統(tǒng)中其他Agent的負(fù)載平衡處理。它體現(xiàn)了Agent可以克隆的特性,克隆是流Agent追求效率和并發(fā)執(zhí)行而對其自身的復(fù)制行為。它能在網(wǎng)絡(luò)中自由移動,通過與服務(wù)設(shè)施和其他Agent相互合作來完成全局性目標(biāo)。當(dāng)某些Agent負(fù)載不均衡時(shí),它負(fù)責(zé)將負(fù)載過重的Agent的任務(wù)轉(zhuǎn)移到負(fù)載較輕的Agent上處理,最后把結(jié)果傳回原來的Agent上。該智能體能夠選擇何時(shí)、何地移動,在移動時(shí)可以在某一位置根據(jù)要求掛起運(yùn)行,然后轉(zhuǎn)移到另一臺計(jì)算機(jī)上運(yùn)行。
5)分析Agent 當(dāng)需要對控制決策結(jié)果進(jìn)行分析時(shí),就由該Agent完成分析工作,做出各種分析。
6)控制Agent 控制Agentl,…,Agentn承擔(dān)具體的控制決策任務(wù),數(shù)量不定。每個(gè)控制Agent具有交互能力且擁有一定控制決策資源,對應(yīng)不同的決策模型。當(dāng)問題比較復(fù)雜時(shí),單個(gè)控制Agent不能獨(dú)立完成控制決策,可向中心Agent請求其他控制Agent幫助,由多個(gè)控制Agent共同完成控制決任務(wù)。
在整個(gè)系統(tǒng)中,除控制Agent外,Agent的數(shù)量、功能和責(zé)任都是確定的。各個(gè)Agent都有自己的使命,它們的能力和知識由設(shè)計(jì)者事先分配,它們何時(shí)采用何能力由接收的消息和心智狀態(tài)決定。
2 系統(tǒng)的工作過程
系統(tǒng)提供決策分析是系統(tǒng)內(nèi)多個(gè)Agent按照一定的時(shí)序關(guān)系對信息進(jìn)行加工的過程。整個(gè)系統(tǒng)的工作過程如下:
1)將控制決策問題送至交互Agent,交互Agent接受任務(wù)后,配合中心Agent將其分解成小的控制決策任務(wù)。
2)中心Agent查詢各控制Agent的能力,并與控制任務(wù)相匹配,找到有能力解決此任務(wù)的控制Agent。如果只有一個(gè)控制Agent符合要求,那么就將任務(wù)分配給它;如果有多個(gè)控制Agent符合要求,就將任務(wù)分配給優(yōu)先權(quán)最高的控制Agent;如果沒有符合要求的控制Agent,那么交互Agent將重新分解控制任務(wù)。
3)接受任務(wù)的控制Agent在信息Agent那里獲得解決問題所需要的信息。在求解過程中,如果一個(gè)決策Agent無法獨(dú)立完成任務(wù),可隨時(shí)向中心Agent提出請求,請求其他Agent的幫助,中心Agent查詢注冊模塊信息,根據(jù)Agent的能力召集其他Agent提供幫助,如召集其他控制決策Agent組成決策聯(lián)盟小組,并維護(hù)這個(gè)聯(lián)盟小組的協(xié)同環(huán)境,保證聯(lián)盟小組的協(xié)同質(zhì)量。
4)平衡Agent配合中心Agent和其他Agent完成全局性目標(biāo)。當(dāng)某些Agent負(fù)載不均衡時(shí),平衡Agent負(fù)責(zé)將負(fù)載過重的Agent的任務(wù)轉(zhuǎn)移到負(fù)載較輕的Agent上處理,最后把結(jié)果傳回原來的Agent上,從而提高系統(tǒng)的整體效率。
5)控制Agent將控制決策結(jié)果送給中心Agent,由它綜合后產(chǎn)生控制結(jié)果。如果用戶需要對控制決策結(jié)果進(jìn)行分析,由分析Agent對整個(gè)控制決策過程進(jìn)行分析。
3 系統(tǒng)技術(shù)特點(diǎn)
3.1 智能性
系統(tǒng)智能性主要表現(xiàn)在Agent能自主學(xué)習(xí),集中于2方面:1)通過把實(shí)際發(fā)生的結(jié)果送入系統(tǒng),各Agent把實(shí)際結(jié)果與決策結(jié)果綜合比較,按照一定的方法自主學(xué)習(xí),調(diào)整自己,形成經(jīng)驗(yàn)和知識,存儲到知識庫中,為下一次控制決策工作做好準(zhǔn)備。2)交互Agent在和控制專家交互共同作用的決策過程中,能夠通過不斷學(xué)習(xí),獲得專家的某些特征知識,從而可以在控制決策過程中,自主做出與專家意志相符合的策略。
交互Agent中擁有的知識包括問題求解的描述性知識、關(guān)于專家偏好的知識和自身的知識,這些知識在系統(tǒng)的運(yùn)行初期Agent不一定具有,隨著與專家的多次交互,Agent通過學(xué)習(xí)來獲得。
3.2 模型庫管理系統(tǒng)的先進(jìn)性
模型庫管理系統(tǒng)是一個(gè)重要部件,是系統(tǒng)的核心,它主要涉及模型表示和模型管理,它將極大影響系統(tǒng)的應(yīng)用范圍和程度。本系統(tǒng)引入人工智能技術(shù)來解決控制決策模型表示和管理。
模型表示就是如何表示模型和關(guān)于模型的知識。系統(tǒng)中模型用控制決策Agent表示,模型的輸入和輸出參數(shù)是Agent與環(huán)境交互的主要內(nèi)容,模型的運(yùn)算操作和數(shù)據(jù)存取表現(xiàn)為Agent的行為,關(guān)于模型的知識在Agent的知識庫中,采用產(chǎn)生式規(guī)則表示。模型的管理通過Agent間使用Agent通信語言進(jìn)行交流與協(xié)作完成,主要由中心Agent承擔(dān)模型管理的工作。
這種基于Agent的模型庫管理系統(tǒng)克服了實(shí)體關(guān)系和結(jié)構(gòu)化模型表示方法所帶來的規(guī)則限制太嚴(yán)、模型與數(shù)據(jù)特性不匹配和模型與方法分離的問題,能比較真實(shí)地描述控制決策過程。
3.3 通信合作機(jī)制的方便靈活
中心Agent的協(xié)調(diào)模塊根據(jù)注冊模塊的有關(guān)信息,選擇合作對象,協(xié)調(diào)各Agent共同參與問題求解,使各Agent彼此和諧合作。而這種Age-nt之間的相互合作是通過通信來實(shí)現(xiàn)的,系統(tǒng)采用同步和異步相結(jié)合的方式進(jìn)行通信。通信語言采用KQML,這是一種高級的基于點(diǎn)到點(diǎn)消息傳送的通信語言和信息交換協(xié)議,它使得Agent能夠和其他Agent以及Agent所運(yùn)行的環(huán)境進(jìn)行知識和信息的交換,它提供了一套標(biāo)準(zhǔn)的通信原語,與Agent間具體的通信方式無關(guān)。由于實(shí)際運(yùn)行中Agent具有分布式和異構(gòu)的特點(diǎn),因此必須解決Agent的底層通信機(jī)制問題。公用對象請求代理體系結(jié)構(gòu)CORBA為分布式Agent的通信提供了合適的平臺。CORBA是由OMG組織制定的開放的分布式對象計(jì)算框架標(biāo)準(zhǔn),它是一種“軟件總線”,利用它能方便地實(shí)現(xiàn)不同程序之間的通信,無須考慮這些程序的設(shè)計(jì)方式、編程語言和運(yùn)行平臺。CORBA規(guī)范中的對象請求代理ORB可以用于Agent之間的定位,接口定義語言IDL可用于Agent內(nèi)部對象之間的通信,通過CORBA/IIOP協(xié)議實(shí)現(xiàn)KQML。在CORBA平臺支撐下,各Agent可隨時(shí)通信,實(shí)現(xiàn)知識共享和合作。
3.4 中心Agent指揮協(xié)調(diào)
在復(fù)雜的控制系統(tǒng)中,單個(gè)控制Agent無法獨(dú)立完成控制任務(wù),因此在系統(tǒng)中引入中心Agent組織多Agent合作完成控制任務(wù)。當(dāng)控制問題較復(fù)雜,單個(gè)控制Agent不能獨(dú)立完成控制決策時(shí),由中心Agent根據(jù)適當(dāng)?shù)牟呗?,將多個(gè)控制Agent組成小組,協(xié)調(diào)多個(gè)控制Agent參與問題求解。由于多Agent的支持,系統(tǒng)提供的控制決策結(jié)果更準(zhǔn)確,還能對控制結(jié)果進(jìn)行分析,提高系統(tǒng)的智能性。
4 系統(tǒng)應(yīng)用
在該系統(tǒng)框架的基礎(chǔ)上,實(shí)現(xiàn)一個(gè)鍋爐智能控制決策系統(tǒng)。為了提高鍋爐燃燒效果,滿足節(jié)能等目標(biāo),需要對鍋爐燒煤速度、燃燒區(qū)的顏色、燒結(jié)顆粒、炯道負(fù)壓、風(fēng)機(jī)轉(zhuǎn)速、煙氣溫度、濕度進(jìn)行實(shí)時(shí)檢測與分析,得出控制算法,做出控制決策。其中很多控制參數(shù)是憑鍋爐工的經(jīng)驗(yàn)進(jìn)行分析,因此專家的經(jīng)驗(yàn)知識是系統(tǒng)決策的基礎(chǔ),它描述了系統(tǒng)在各種變化條件下應(yīng)采取的控制策略。這些經(jīng)驗(yàn)知識通過控制決策Agent和交互Agent的學(xué)習(xí)功能存放到知識庫中,知識的表達(dá)使用如下描述形式:
規(guī)則∷=(<規(guī)則號>*,“注釋”,<前提>,<前提>|…,<結(jié)論>)其中,前提和結(jié)論都是事實(shí)。以噴水系統(tǒng)啟動策略為例,定義啟動規(guī)則:
首先定義了一條名為watering_start的規(guī)則,該規(guī)則有溫度差temp_differernt和智能噴水系統(tǒng)是否已啟動is wateringstart兩個(gè)前提,如果系統(tǒng)運(yùn)行過程中兩個(gè)條件同時(shí)滿足,則推出要求智能噴水系統(tǒng)啟動activate-watering-system的結(jié)論。
在每一個(gè)控制周期,在中心Agent的調(diào)配下,每個(gè)合適的控制決策Agent根據(jù)控制參數(shù)的計(jì)算值和從信息Agent那里獲得的實(shí)時(shí)數(shù)據(jù)和系統(tǒng)運(yùn)行的歷史數(shù)據(jù)對控制規(guī)則進(jìn)行模式匹配,然后把推理控制結(jié)果送往中心Agent,由它綜合后產(chǎn)生控制算法并用于系統(tǒng)實(shí)時(shí)控制。
系統(tǒng)選用ADVANTECH插入式數(shù)據(jù)采集與控制卡PCL812PG完成現(xiàn)場數(shù)據(jù)的獲取和對現(xiàn)場設(shè)備的控制。用Java語言實(shí)現(xiàn)決策分析過程,每個(gè)Agent都是一個(gè)對象,由Java實(shí)現(xiàn),其功能被封裝在里面。實(shí)現(xiàn)從控制系統(tǒng)取得實(shí)時(shí)數(shù)據(jù)、調(diào)取系統(tǒng)運(yùn)行的歷史數(shù)據(jù)、將數(shù)據(jù)經(jīng)過處理后進(jìn)行專家控制運(yùn)算,把控制算法得到的控制作用傳送給現(xiàn)場設(shè)備,完成應(yīng)用軟件與現(xiàn)場控制系統(tǒng)的無縫連接等功能。通過對現(xiàn)場設(shè)備的控制,使鍋爐燃燒的經(jīng)濟(jì)效益達(dá)到最佳的效果。
5 結(jié)束語
將人工智能Agent技術(shù)引入工業(yè)控制系統(tǒng)是當(dāng)前的研究熱點(diǎn),應(yīng)用決策分析技術(shù)是本研究的一個(gè)創(chuàng)新?;贏gent技術(shù)實(shí)現(xiàn)了一個(gè)智能控制系統(tǒng),系統(tǒng)具有一定的記憶功能和自學(xué)習(xí)能力,實(shí)現(xiàn)了較高的智能性,較好地解決了控制決策模型表示和管理的問題,屏蔽了運(yùn)行平臺和通信機(jī)制,能夠有效地解決Agent的通信問題,使Agent合作變得容易。實(shí)踐表明,它比傳統(tǒng)的控制系統(tǒng)具有更高的準(zhǔn)確性和靈活性,能有效進(jìn)行復(fù)雜多控制參數(shù)的控制決策。