Anda di halaman 1dari 13

Modul 5

Multi Agent Systems (MAS)


Summary
Alasan digunakan (Reasons for Use) Terminology Organization Openness Infrastructure Services Case Studies MaSE and agentTool

1. Alasan digunakan
MAS menawarkan fitur berguna seperti parallelism, robustness and scalability dan dapat digunakan dalam banyak domain yang tidak dapat ditangani sistim yang terpusat. Interaktivitas meningkatkan level inteligensia dari agent, sebaliknya dengan meningkatnya inteligensia maka meningkatkan pula level interaktivitas mereka. Study tentang MAS dalam sudut pandang Distributed AI (DAI) dapat memberi kontribusi dalam pemahaman sistim-sistim multi-agent natural seperti masyarakat serangga atau tim manusia (insect societies or human teams) Kemampuan komputer dan jaringannya yang semakin maju memberi suatu platform yang kokoh untuk merealisasi teknologi multi-agent

Keuntungan menggunakan MAS Untuk memecahkan persoalan yang terlalu besar jika dilakukan oleh agent tunggal terpusat (centralized single agent) Menjadikan sistim-sistim warisan yang telah ada (legacy systems ) dapat saling dioperasikan dan saling dikoneksi (interconnecting and interoperation), contoh sistim pakar, sistim penagambil keputusan dll. Menyediakan solusi dalam hal: Persoalan terdistribusi (distributed problems) contoh, air traffic control Pengambilan informasi dalam the expertise is distributed contoh., provisi penanganan kesehatan Meningkatkan Speed/kecepatan (jika komunikasi dijaga minimal) Reliability/keandalan (kemampuan pulih dari kegagalan dari komponen individual, dengan pengaruh yang tidak signifikan pada performansi) extensibility (kemampuan dalam mengubah jumlah processors yang digunakan dalam suatu persoalan) toleransi dalam hal data dan knowledge yang tidak tentu (uncertain) Menawarkan kesederhanan dan kejelasan konseptual dalam perancangan Jenis-jenis MAS Cooperative MAS interacting agents yang telah dirancang oleh perancang tunggal untuk meningkatkan performansi dari sistim general Self-Interested MAS Agent dengan motivasi individual, yang dirancang oleh perancang independent Tiap perancang independent konsen terhadap keuntungan yang dapat ditarik dari agen individual mereka 1

Agen-agen ini memiliki kepentingan sendiri (self-interested), kompetitif atau tidak-kooperatif dan dapat menunujukkan tingkah antagonistic (jahat)

DAI

DAI (Dsitrubuted AI) berkenaan dengan studi dalam cakupan luas tentang issu yang berhubungan dengan distribusi dan koordinasi knowledge dan (actions) dalam lingkungan yang melibatkan multiple entitas. Entitas-entitas ini disebut agents, yang dapat dipandang secara kelompok sebagai suatu masyarakat ( society). Agen-agen bekerja bersama untuk mencapai tujuan mereka dan juga tujuan masyarakat secara. Chaib-Draa

2. Terminology
MAS kombinasi DAI dan software engineering MAS memberi solusi bagi problem terdistribusi yang secara dinamis berubah dan tidak tentu, open computational domains. Agent Architecture menjelaskan hubungan dan interaksi antar modul-modul yang merupakan tempat agen-agen tunggal berada Multi Agent Organization menjelaskan cara bagaimana multiple agents diorganisir membentuk suatu MAS. Hubungan dan interaksi diantara agen dan aturan khusus dari agen merupakan focus dari multi agent organization. Agent architecture bukanlah bagian dari multi agent organization Multi Agent Infrastructure menjelaskan agent architecture dan multi agent organization, dan kemungkinan ketergantungan diantara keduanya sehingga menjadi suatu infrastruktur dalam membangun MAS domain spesifik. Examples: agent naming service, agent location service Multi Agent Infrastructure Services termasuk layanan (services) yang dapat diberikan melalui infrastruktur MAS, seperti: Tools pengembangan dan perancangan sistim Pengayaan/perluasan aktivitas organisasional sistim seperti mekanisme koordinasi dan lokasi agen (e.g. middle agent) Tools untuk meningkatkan efisiensi sistim dalam utilisasi resource Aktivasi Agent dan MAS, tools interfacing dan testing Informasi keamanan transaksi (via, e.g. security protocols)

3. Organization
Hierarchical Flat Subsumption Modular

Hierarchical MAS Agents hanya dapat berkomunikasi sesuai struktur hirarki Advantages: Tidak perlu suatu mekanisme untuk lokasi agen Mengurangi komunikasi dalam sistim secara signifikan Disadvantages: Struktur kaku yang melarang/membatasi re-organisasi dinamis 2

Memberi implikasi bahwa level-level terendah (lower levels) bergantung pada level-level tertinggi (higher levels) kontradiksi dengan ide otonomi

Agent 1

Agent 2

Agent 3

Agent 4

Agent 5

Agent 6

Flat Organization Tidak ada struktur baku yang diterapakan dalam sistim, dan setiap agent dapat secara langsung kontak dengan agent lainnya Diasumsikan tidak ada kendali suatu agen oleh lainnya Memerlukan sustu closed system dimana setiap agen mengetahui segala sesuatu tentang lainnya (open system dengan mekanisme location) Advantages: Dukungan sepenuhnya otonomi dar agents dan juga distribusi dan openness (keterbukaan) dari MAS Memberi ruang dalam pengaturan dinamis terhadap perubahan organisasi MAS berkaitan dengan tugas dan lingkungan Disadvantages: Dibanding agen lain jumlah reasoning yang dilaksanakan agen meningkat secara signifikan Agent 1

Agent 2

Agent 3

Agent 4 Subsumption MAS dimana beberapa agent adalah komponen dari agent lain Agents merupakan subsumed dari container agents Mirip dengan arsitektur hirarki tapi subsumed agents spenuhnya berada dalam kendali container agent 3

Advantages: Efficient tasks execution Low communication overhead (beban komnukasi rendah) Disadvantages: Sistem yang ketat dalam hal tugas-tugas harus di tetapkan secara baik Tidak ada fleksibilitas dan adaptabilitas Sulit di modifikasi Subsumption

Agent 1 Agent 2 Agent 3

Agent 6 Agent 4

Agent 5

Modular MAS MAS yang terdiri dari beberapa modul, dimana tiap modul secara virtual adalah stand-alone MAS Advantages: Modularity meningkatkan efisiensi Disadvantages: Re-organization dari modules agak kompleks Communication Protocols in MAS MAS menggunakan protokol komunikasi yang dirancang khusus sehingga cocok dengan arsitektur agent . Keuntungan dari protokol seperti ini adalah untuk efisiensi Tiga protokol utama Symmetry Message recipients Connection type Symmetry Cocok untuk arsitektur flat MAS ,tapi tidak cocok untuk hierarchical atau subsumpiton (karena asymmetrical) Message Recipients 4

Messages dalam jaringan dapat dikirim ke: A single addressee for closed MAS Multiple addressees (multicast) for open MAS All (broadcast) Advantages: protokol cukup sederhana Disadvantages: setiap agent menerima pesan meskipun tidak relevan untuk mereka sehingga menambah beban jaringan Connection Type MAS implement Komunikasi berorientasi koneksi, ketika tugas yang saling bergantung dilaksanakan Dukungan protokol connectionless ketika concurrency (simultan) tidak begitu penting

4. MAS Openness
Adalah kemampuan dalam menambahkan agent kedalam sistim Dynamic Openness penambahan agent kedalam sistim secara dinamis, during run time Static Openness Agents ditambahkan ke sistim tanpa perlu re-starting, tapi ditunda hingga diatur dalam daftar tambahan agent untuk keefektifan Mekanisme lokasi agent tidak diperlukan Membatasi fleksibilitas sistim dan kemampuan beradaptasi terhadap perubahan Cocok jika perubahan dapat diperediksi dan berlangsung secara gradual Off-line Openness penambahan agents hanya pada saat off-line, kemudian setelah penambahan sistim di restarting

5. Infrastructure Services
An open MAS memerlukan Agent Naming Service (ANS) sehingga diantar agent tidak ada yang mempunyai nama yang sama (untuk menghindari kebingungan) An open MAS memerlukan n agent location service (e.g. brokering or matchmaking) Layanan optional yang berguna dalam open MAS adalah security service. Hal ini meningkatkan tingkat ketentuan identitas dan kepercayaan dari agent. Dalam MAS yang terdapat mobilitas agent, diperlukan infrastruktur layanan yang mendukung mobilitas yang dipersiapkan melalui mobility servers, disebut agent docks

6. MAS Case Studies


Open Agent Architecture (OAA) RETSINA ADEPT

Open Agent Architecture (OAA)

OAA merupakan infrastruktur multi agent yang dirancang dan di implementasi berdasar konsep federated MAS OAA menyediakan: Infrastructur Sistim ACL (Agent Communication Language) Kumpulan constructs yang di gunakan untuk membangun agent pustaka komponen-komponen agent termasuk tools untuk integrasi (wrapping) dengan legacy systems dalam mendukung pengembangan MAS dan code reuse OAA MAS terdiri dari: A facilitator Multiple agents yang dihubungkan padanya User interface agents, application agents and meta agents Facilitator adalah agent server khusus yang bertugas dalam coordinating agent communication dan cooperative problem solving The facilitator provides a global data store All communications are done via the facilitator The facilitator combines and decomposes messages and requests Organisasi Federated System pada OAA

Terdiri dari agents dan facilitators yang diorganisir kedalam federations Agents tidak berkomunikasi secara langsung melainkan melalui local facilitator Facilitators mengarahkan pesan ke agent yang paling tepat (appropriate) Agents dapat secara dinamis connect dan disconnect pada facilitator Setelah terhubung pada facilitator, suatu agent menyediakan spesifikasi kemampuan dan kebutuhannya Advantages: Facilitates application inter-operability Enhances system openness Allows for dynamic agent connection and disconnection Disadvantages: The need to surrender agent autonomy The need to provide sufficiently sophisticated facilitators

Agent 1

Agent 2

Agent 3

Agent 4

Agent 5

Facilitator 1 Host 1

Facilitator 2 Host 2

Facilitator 3

Agent 7 Host 3

Agent 6

RETSINA RETSINA = Reusable Task Structure based Intelligent Network Architecture Supports flexible, dynamic organization (based on a flat organization) in an open environment A multi agent infrastructure that includes a distributed MAS organization, protocols for inter agent interaction and collaboration Four types of agents Interface agents interact with the users Task agents support task performance and problem solving Information agents provide access to information sources Matchmaker agent is used to search for the appropriate agent for a particular task Supports an agent naming service and an agent editor RETSINA Matchmaking Matchmaking dilakukan sebagai berikut: suatu agent A dengan beberapa tugas, mempelajari kontak informasi dan kemampuan agent lain (B) yang mungkin dapat melaksanakan bagian dari tugasnya. Hal ini berlangsung dengan perantaraan matchmaker (suatu agent) yang memelihara contact information dari agent lain. Agents yang yang bergabung dalam sistim ini mengiklankan diri dan kemampuan mereka pada matchmaker, dan jika mereka keluar/meniggalakan sistim/maysrakatnya akan di un-advertise. Suatu agent yang menginginkan/mencari agent lain untuk tugas tertentu, akan mendekati matchmaker Segera setelah ditemukan maka agent akan didekati secara langsung oleh agent lain tersebut

User 1 Goals and tasks specifications

User 2

User 3

Results Results Interface Agent 2 Task Task Agent 1 Task Agent 2 Task Proposed Solution Interface Agent 3

Interface Agent 1

Conflict Resolution Information Integration

Information Request

Advertisement Reply Service Request

Task Agent 3

Info Agent 1 Query Answer

Middle Agent 1

Info Agent 3

Info Source 1

Info Source 1

Info Source 1

ADEPT ADEPT = Advanced Decision Environment for Process Tasks Mutli agent infrastructure developed for the management of the business processes ADEPT has a subsumption organization, e.g. is comprised by agencies which can be either a single agent or a collection of several agents Co-operation and task execution are preformed either within an agency, among its members or between agencies but not between members of an agency or agents or agency outside this agency ADEPT can support both flat and hierarchical organization but the style has to be decided in advance and can not be changed dynamically Each agency is represented by a single responsible agent Agents and agencies only communicate with the agents and agency within their encapsulating agency.

Agency 1

Agency 8

Agency 2 Communication Agency 3

Responsible Agent 8

Responsible Agent 4

Agency 4

Communication Agency 5 Agency 7

Agency 6

Comparing the Three Architectures Attribute OAA RETSINA ADEPT 8

Organization Control Communication Com. language Openness Services Re-use

hierarchy semi-centralized client/server OAA Specific partly dynamic agent location OAA specific

flat distributed symmetric KQML fully dynamic ANS, location Generic

various partly distributed via the ORB flexible partly dynamic specification & verification Generic (requires CORBA)

7. Multi-agent Systems Engineering (MaSE)


Created by Scott DeLoach from Kansas State University, USA in 1999 http://www.cis.ksu.edu/~sdeloach/ai/projects/mase.htm An automated tool agentTool - to support the technology has been created and freely available for download from http://www.cis.ksu.edu/~sdeloach/ai/projects/agentTool/agentool.htm MaSE is a methodology for designing and developing MAS DeLoach argues that we can model agents as active objects. So his MaSE technology is based on modifying existing OO techniques to meet the needs for AO development MaSE is based on the following existing OO analysis and design techniques: Rumbaughs Object Modelling Technique (OMT) Unified Modelling Language (UML) The above mentioned OO techniques are modified in order to reflect the agent additional features to objects such as goals, sensors and effectors

MaSE Overview MaSE Phases Analysis Phase Capturing Goals Applying Use Cases Refining Roles Design Phase Creating Agent Classes Constructing Conversations Assembling Agent Classes Systems Design MaSE - Analysis The main goal of the analysis phase is to produce a set of roles whose tasks describe what the system has to do to meet its overall objectives A role describes an entity that performs some function within the system A task is a description of what the system has to do to meet the goals associated with a particular role MaSE Analysis - Capturing Goals Requirements Engineering step - transforms system specification into structured goal set A goal is an abstraction of a set of functional requirements Goals represent what the system is trying to achieve 10

A system has an overall goal and a set of sub-goals that must be achieved to reach the overall system goal Two steps in capturing goals: Identifying goals capture the essence of an initital set of functional requirements Structuring goals developing a goal hierarchy using a Goal Hierarchy Diagram following the steps Identify the overall system goal Perform goal decomposition identify the sub-goals that support its parent goal Stop when you reach functional requirements versus goals (i.e., the analyst starts capturing how the goal should be accomplished

MaSE Analysis Applying Use Cases Capture a set of use cases from the initial system context and create a set of Sequence Diagrams to help the system analyst identify an initial set of roles and communications paths within the system A use case is an example of how the user thinks the system should behave A two-step process: Extract use cases from the initial system context Creating Sequence Diagrams - depict the sequence of events that are transmitted between roles identified from use cases MaSE Analysis Refining Roles The aim is to transform the structured goals and sequence diagrams into roles and their associated tasks Roles form the foundation for agent class definition Every goal is associated with a role Every role is played by an agent class MaSE Analysis Summary Identify goals from user requirements and structure into a goal hierarchy diagram Identify use cases and create sequence diagrams to help identify an initial set of roles and communications paths Transform goals into a set of roles Create a Role Model to capture roles and their associated tasks Define a Concurrent Task Model for each task to define role behavior MaSE Design We have to ensure that the organization, action, and interaction specified in the analysis is designed into the system Transform analysis artifacts into design artifacts Roles into agent classes Concurrent tasks into conversations and actions MaSE Design Create Agent Classes The aim is to define the overall agent system organization consisting of agent classes and the conversations between them Agent class is a template for a type of agent in the system and is analogous to an object class in object orientation Agent is an actual instance of an agent class 11

Identify the roles and tasks an agent class must play

MaSE Design Constructing Conversations The aim is to define the details of conversations by using a coordination protocol between two agents A conversation consists of two communication class diagrams for the two participant agent classes, one each for the initiator and responder agent MaSE Design Assembling Agent Classes The aim is to define how the external behaviour of the agent class (conversations) map to internal processes and architectures Internals of agent classes are created via two sub-steps: Defining the agent architecture Defining the components Components consist of a set of attributes and methods, and, if complex, may have a sub-architecture predefined components or develop them from scratch MaSE System Design This is the final step in MaSE It takes the agent classes defined previously and instantiates actual agents Deployment diagrams are used to show the numbers, types and locations of the agents within the system The concept of initiating agents from agent classes is similar to instantiating object from object classes in OO design MaSE Design Summary Assign roles to specific agent classes, and identify conversations by examining concurrent task models based on the roles played by each agent class. Construct conversations by extracting the messages and states defined for each communication path in concurrent task models, adding additional messages and states. Define the internals of agent classes by defining the architecture of each agent class using components and connectors. Ensure that each action defined in a conversation is implemented as a method within the agent architecture. Define the final system structure using deployment diagrams.

7. b AgentTool
agentTool is a Java-based graphical development environment to help users analyze, design, and implement MAS agentTool is designed to support the MaSE methodology The system design defines the types of agents in the system as well as the possible communications that may take place between agents. This system-level specification is then refined for each type of agent in the system. To refine an agent, the designer either selects or creates an agent architecture and then provides detailed behavioral specification for each component in the agent architecture.

agentTool Interface

12

Reading List Shehory (2001) Shehory, O. Software Architecture Attributes of Multi Agent Systems. In Lecture Notes in Computer Science, vol. 1957, 2000, pp. 77-90 Chaib-draa (1995) Chaib-draa, B. Industrial Applications of Distributed AI, Communications of the ACM, vol. 38, No. 11, November 1995, pp. 49-53, electronic copy also available from More information on MaSE & agentTool can be found in DeLoach & Wood (2000) DeLoach, S. & Mark Wood, M. Developing Multiagent Systems with agentTool. The Seventh International Workshop on Agent Theories, Architectures, and Languages (ATAL-2000). Boston, MA, July 7-9, 2000, ecopy available from

13