330 likes | 600 Views
Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence. Peter Brezany. Intelligent Agents are relatively a new appearence in commercial applications. Their study began in the field of distributed artificial intelligence (DAI) vor 20 years.
E N D
Multi-Agent Systems A Modern Approach to Distributed Artificial Intelligence Peter Brezany
Intelligent Agents are relatively a new appearence in commercial applications. Their study began in the field of distributed artificial intelligence (DAI) vor 20 years. Definition: DAS is a field, which investigates systems where several (intelligent) entities cooperate to achieve one goal or to fulfill one common task. These entities are called agents and the field is called multi-agent systems (MAS). Currently several Java-based systems for the construction of MAS exist. Definition: An agent observes its environment by means of it sensors, and autonomously acts in this environment by means of its tools. Introduction and Definitions
Reaktivness – reaktion to changes in the environment is some time intervals to achieve its goal. Proaktivness – to take initiative, goal-oriented behavior. Social behavior – interraction with other agents to achieve their common goal. Attributes of an Intelligent Agent
action: P A P - percept through sensors, A – action through effectors Agent Description : Example Condition-action rules
function SIMPLE-REFLEX-AGENT (percept) returns action static: rules // a set of condition-action rules env-state INTERPRET-INPUT(percept) rule RULE-MATCH(env-state, rules) action RULE-ACTION[rule] returnaction Agent Description : Example (2)
Simple Example if sensor (mailArrived) then effector (processMail)
A Framework for Intelligent Agent Development Translation from the English original
Mobile Agent A mobile agent is an autonomous program that can migrate under its own control from machine to machine – on each machine, it interacts with service agents and other resources to accomplish its task. Below, an agent has migrated so that it can interact locally with a search engine and will migrate again to interact with additional search engines. Once the agent has the desired information, it will migrate one last time to return to its home site so that it can present the information to its owner.
Internet and mobile agents Think of the Internet as a distributed, massively parallel supercomputer that connects information repositories, databases, intelligent agents, and a mobile code. You can send your own personalized agents to roam the Internet. They will monitor your favorite Web sites, get you the ticket you couldn‘t get at the box office or help you to remotely schedule meetings for your overseas trip. The role of Java The advent of Java has truly revolutionized the Internet. It has created a global infrastructure that is just waiting for mobile agents to roam its wires and interact with millions od computers. (IBM Solution - Java Aglets) Introduction to the Topic
Mobile agents have the unique ability to transport themselves from one system in a network to another. The ability to travel allows mobile agents to move to a system that contains services with which they want to interact and to take the advantage of being in the same host or network as the service (see the next figure). Mobile agents reduce network traffic and provide an effective means of overcoming network latency. Introduction (2)
Introduction (3) Mobile Agents Traveling from Computer to Computer
Aglet = „lightweight agent“ Generalization and extension of Java applets and servlets. Aglets are Java objects – mobile Java agents that can move from one host on the Internet to another. „write once, run everywhere“ => „write once, go everywhere“ An aglet that executes on one host can suddenly halt execution, dispatch itself to a remote host, and resume execution there. When the aglet moves, it takes along its program code as well as its data. Aglets are hosted by an Aglet server (see the next figure) What is a Java Aglet?
The Aglet API (Application Program Interface) is an agent development kit – in other words, a set of Java classes and interfaces that allows you to create mobile Java agents. The Aglets Software Development Kit (ASDK) is an implementation of the Aglet API that can be dowloaded from IBM Tokyo Research Laboratory´s Web site http://www.trl.ibm.com/aglets/idoagree103.htm. What is the Aglet API?
They reduce the network load Several Good Reasons for Using MAs
Several Good Reasons for Using MAs (2) 2. They execute asynchronously and autonomously.
3. They overcome network latency – Critical real-time systems need to respond in real time to chnges in their environment. Controlling such systems throigh a factory network of a substantial size involves significant latencies – not acceptable in many cases. Solution: Mobile agents can be dispatched from a central controller to act locally and directly execute the controller‘s directions. 4. They adapt dynamically. Mas have the ability to sense their execution environment and react autonomously to changes. 5. They are naturally heterogeneous – they provide optimal conditions for seamless system integration. 6. They are robust and fault-tolerant – dynamic reaction to unfavorable situations and events; if a host is being shut down, all agents executing on that machine will be warned and can dispatch and continua their operation on another host in the network. Several Good Reasons for Using MAs (3)
The 2 fundamental concepts in the MA model: the agent and its execution environment – the place. A mobile agent is an entity that has 5 attributes (When an agent moves in the network it takes them with it): State: needed to resume computation after travelling. Implementation: needed for location-independent agent execution. Interface: needed for agent communication. Identifier: needed to recognize and locate traveling agents. Principals: needed to determine legal and moral responsibility (manufacturer, owner, etc). Agent
Place • It is a context in which an agent can execute. • 4 concepts play an important role in places: • Engine : workhorse and virtual machine for one or more places • Resources : databases, processors, and other services • provided by the host • Location : the network address of a given place • Principals : those legally responsible for the operation of a place
An agent gets created in a place. The creation can be initiated either by another agent residing in the same place or by nonagent system outside the place. The creator is required to authenticate itself to the place, establishing the authority and credentials that the new agent will possess; initialization arguments for the agent can also be supplied. Creation involves three steps: Instantiation and identifier assignment. Initialization. Autonomous execution. Disposing of an agent: Preparing for disposal. Suspension of execution Agent Behavior: Creation and Disposal
The transfer process can be initiated by the agent itself, another agent residing in the same place, or another agent or nonagent system outside the place. The agent is then dispatched from its current place (origin) and received by the specified place destination The origin place and the destination place manage the dispatch process. See the next slide! Agent Behavior: Transfer