- 面向Agent的軟件設計開發方法
- 薛霄編著
- 2265字
- 2018-12-27 12:38:34
1.4 Agent的組織類型
前面章節解釋了Agent的內部組成,本節處理Agent之間的交互,即為了解決共同的或內部關聯的問題,它們一起協作的方式。
雖然已經提出了幾個比喻來對系統中的Agent交互方式進行建模(Iglesias等,1998),但是“組織”(Fox,1981)正在成為面向Agent軟件工程(Agent Oriented Software Engineering,AOSE)中最為常用的一個比喻(DeLoach,2002;Kolp等,2002),因為它是直接的,并且已經在多種情況下被成功應用。大體上,組織比喻是源于人類在組織環境中可以通過協同工作來解決問題,如商業。商業有需要達到的目標,并且為了實現這些目標,需要將其分解為具體的任務,如生產和分配。然后,再將這些具體任務分配給由人扮演的角色。為了執行它們的任務,角色根據預定義的模式進行交互,這些模式定義了一些角色從屬于另一些角色的權威。這些交互也形成了一個可辨認的通信路徑網絡。更一般地,根據組織比喻,MAS中的每一個Agent都可以扮演一個或多個角色;反之,每一個角色負責追蹤一個或幾個明確定義的責任,這些責任一般是通過與其他角色的交互來完成的。然而,兩個角色之間的交互不僅是聯合的關系,事實上還是一個建立權威的關系,這是角色定義的一個部分。角色、交互和權威關系定義了組織的結構。
“組織”可以指導系統中的Agent通過交互來完成各自或全局的目標,并影響它們如何協調和分配資源,以及相互之間的從屬關系。這樣,通過和其他Agent的交互,“組織”可以幫助簡單的Agent完成復雜的任務,幫助復雜的Agent降低過程的復雜性(Horling等,2005)。可以認為,所有的MAS都有某種形式的組織,即使是隱含的。因為在任何MAS中,分布式Agent通過交互一起活動,執行分配的任務并且使用資源去完成這些任務。然而,可能不止一個組織適應于某一特定系統(例如,一條生產線可以被建模為一條管道,也可以是一個層次),因為組織的任務分配方式和所擁有的通信路徑各不相同,不同的組織會導致不同的系統執行效率(如通信和計算的開銷)、不同的可靠性和不確定性管理。除此之外,組織提出了可測量性、冗余和靈活性的不同標準。雖然沒有兩個組織是相同的,但是根據它們交互所形成的拓撲結構和Agent之間所展示的權威關系,把它們歸為某一類型是可能的,下面是一些最常用的組織類型或范型。
1.層次(Hierarchies)
這是最簡單的,也是被研究最多的組織形式(Fox,1981;Horling等,2005)。在層次中,Agent從概念上被排列為一個樹形結構,角色的位置越高,就越重要。一般地,低層Agent會為高層Agent產生數據,高層Agent會執行更為復雜的處理,如合并、分析或決策。層次在分布式應用軟件建模中被廣泛應用(Fox,1981)。實際上,著名的合同網協議(Smith,1977)傾向于產生分層結構。在合同網協議中,Agent可以通過廣播來分配一個子任務,在其他Agent所提供的服務中選擇一個最為方便的,從而協助它完成任務。
2.組合(Holarchies)
在這個范型中,系統被認為是由基本組織單元構成,即一個子模塊可以被看做是由其他(更基本)模塊構成(Fischer等,2003;Horling等,2005);例如,一個制造系統由制造單元組成,而制造單元又是由設備、操作員和過程等組成。組合的關鍵是子模塊的局部自治,因為缺乏自治性將會退化為分層,完全的自治性又會導致無組織群體。更明確地,如果系統中Agent之間的關系是完全從屬的,組合會退化為分層。組合的另一個重要方面是每個子模塊代表著一個復雜的子組織,需要進一步分解。把系統建模為一個分層嵌套結構,已經證明適合于對某些特定的實際問題進行建模,如制造業控制(Zhang等,1999)。在(Zhang等,1999)中,一個整合不同類型(靜態的、中介者和動態的)子模塊的模型被用于為制造業控制系統建立一個組織。這里,靜態創建的子模塊被用于表示環境實體,如制造設備、設計計劃和傳輸帶,而動態創建的子模塊被用于表示新任務,中介者類型子模塊管理次序和協調資源。
3.團隊(Teams)
團隊就是多個合作Agent追求共同目標的系統(Beavers等,2001)。因為沒有對它們的交互類型加以制約,團隊的拓撲結構往往是十分隨意的。然而,團隊成員經常共享它們的思維狀態,尤其是對于“共同目標、相互信任和團隊行為”的通用表示。例如,(Jennings,1995)展示了依賴于共同任務的表示和合作過程,Agent可以成功解決電力運輸的問題,但是在缺乏共同表示時,它們傾向于無條理的行為。
4.市場(Markets)
在這種特殊類型的組織中,Agent可以購買和出售類似于服務或任務這樣的項目(Fox,1981;Wellman,2004)。扮演購買者角色的Agent投標,扮演出售者角色的Agent接受投標并確定獲勝者,其方式在很大程度上類似于真實的市場。通常是這種情況,一些Agent的存在是為了促進組織在共同任務中的操作,如接受投標和確定獲勝者。Kasbah(Chavez和Maes,1996)是最早基于Agent的市場例子之一,其中購買者和出售者通過一系列的特征、期望價格和限制價格來描述它們感興趣的貨物類型。這里當購買者愿意付給出售者所期望的價格時,一次交易就會發生。
在每一種特定的方法中,組織表述的方式都不相同。例如,在Gaia方法學(Zambonelli等,2000)中,角色組織由組織結構和組織規則組成。組織結構通過其本身的拓撲結構和控制機制進行描述。拓撲結構包括一系列由組織中角色相互作用形成的通信路徑,以及有可能采取的典型方式,如線、樹或網絡。另外,控制機制包含角色之間的權威關系;例如,在雇用控制機制中,作為工作劃分的結果,低級角色要服從高級角色。最后,組織規則提供對組織元素操作方式的限制;例如,市場中的組織規則可以規定:如果沒有收到相應的支付,不能交付相應的產品。
總之,將組織方法應用于多Agent范型是一種有前途的工具,可以處理目前軟件系統的復雜性(Zambonelli等,2003;DeLoach,2002),這主要是由于以下事實:組織提供了一個概念性的框架,其中Agent所執行的復雜交互可以被適當地建模。這個概念性的框架建立了一個位于頂部的抽象層次,由Agent進行補充。
- GNU-Linux Rapid Embedded Programming
- Mastering Matplotlib 2.x
- 構建高質量的C#代碼
- 大數據戰爭:人工智能時代不能不說的事
- 大數據改變世界
- RPA(機器人流程自動化)快速入門:基于Blue Prism
- 現代傳感技術
- Cloudera Administration Handbook
- Enterprise PowerShell Scripting Bootcamp
- 工業機器人運動仿真編程實踐:基于Android和OpenGL
- Mastering Geospatial Analysis with Python
- SQL Server數據庫應用基礎(第2版)
- Linux系統下C程序開發詳解
- Mastering Text Mining with R
- INSTANT Adobe Story Starter