430 likes | 446 Views
Tecnologie ad Agenti: problemi e applicazioni. Stefania Costantini Dip. Di Informatica, Univ. degli Studi di L’Aquila. Where do agents come from?. Seminal work on agents: Carl Hewitt’s actor model (1977)
E N D
Tecnologie ad Agenti: problemi e applicazioni Stefania Costantini Dip. Di Informatica, Univ. degli Studi di L’Aquila
Where do agents come from? • Seminal work on agents: Carl Hewitt’s actor model (1977) • “a self-contained, interactive and concurrently-executing object, with some encapsulated internal state and which could respond to messages from other similar objects”
What is an Agent? • Webster Dictionary: “one who is authorised to act for or in place of another” • Software agents are programs that are able to act on behalf or either a user or another agent in order to perform specific task and/or achieve given goals.
Agents • Systems that can (must) decide by themselves what they need to do in order to satisfy their design objectives. • Situated in some environment • Have partial control on the environment • Capable of autonomous action • Examples: • Control systems • Software daemons
Agents and objects • Objects are computational entities that encapsulate some state, are able to perform some actions (methods) on this state, and communicate by message passing. • Differences between agents and objects: • Agents do not invoke methods upon one another, but rather request actions to be performed. • Objects do not have flexible autonomous behavior. • Each agent have its own thread of control. • OOP could be used for implementing agents, with some modifications
Related Approaches • Distributed Objects • COM (MS Windows DNA) • COM+ • CORBA • JavaBeans/EJBs
Why Agents? • More usable and understandable structure (e.g. spaghetti code vs structure modules). • (Almost) essential in large distributed systems where all “subsystems” need to be continually interchanging information to collectively achieve or to maintain some desired state Multi-Agent Systems
“Intelligent” Agents • Agents that operate in a rapidly changing, unpredictable or open environments - where there is a high possibility that actions can fail. • Then, these agents must be capable of “flexible” autonomous actions • Reactivity • Pro-activeness • Social ability
Agent Features • Autonomous • Reactive • Proactive • Adaptive • Social (in multi-agent systems) • …
Agent see action state next Environment Abstract architectures for intelligent agents • Reactive agents action : S -> A • Perception and action see : S -> P action : P* -> A • Agents with state see : S -> P action : I -> A next : I X P -> I
Overview of an Agent (by R.A. Kowalski) Highest level maintenance goals Achievement goals Forward reasoning Intermediate level consequences Intermediate level sub-goals Forward reasoningBackward reasoning Observations Actions Perceptual processingMotor processing The world
What Kinds of Agents? Knowledge Agent Expert in an area of knowledge (human or artificial) Knowledge Server Artificial agent with major capabilities for storing and retrieving knowledge (eventually reasoning). Interface Agent Intelligent assistant. Multi-Agent Systems
Coach or Tutor Agent Intelligent coach or tutor. Information Search Agent ‘Travelling’ searcher, e.g. knowbots, infobots. Knowledge Management Agent High-level coordination of knowledge activities for an individual or collaborative group (e.g. ‘Mediator’, ‘Yellow-pages’, ‘Directory’ agent). Mediator Agent Coordinates other agents and resolves conflicts. Multi-Agent Systems
Directory Agent ‘Points’ when queried ‘Where is XXX?’ Mentor Agent For higher level expertise or strategy. Autonomous Agents Hardware + Software e.g. Autonomous vehicles, robots, etc. Other Agents Citation and document retrieval Dictionaries Atlases (Geographic Information Systems) etc. etc. Multi-Agent Systems
Multi-agent System (MAS) • Collection of agents that interact with each other • Cooperation • Competition • Negotiation • ...
Distributed Artificial Intelligence – Definition • A multiagent system (MAS) is a system in which several interacting, intelligent agents pursue some set of goals or tasks that are beyond their individual capabilities. • Distributed problem solving considers how the task of solving a particular problem can be divided among a number of agents that cooperate in dividing and sharing knowledge about the problem and about its evolving solutions • DAI is the study, construction and application of MAS.
Multi-Agent Systems (MAS) in DAI • “Software systems in which program modules are given autonomy and intelligence and which interact to attain system objectives” • MAS are major part of Distributed Artificial Intelligence (DAI) • Fastest growing area in Computer Sciences • Rapidly being applied to real-life technological problems (air traffic control, battle simulation, manufacturing, e-commerce, etc.)
Agent Languages An agent language is a language for programming software or hardware agents or agent systems. It should provide for at least some structural agent features and may also allow agency attributes to be directly programmed. It may be incorporated in a development environment with user-friendly editors, browsers, etc. which facilitate the programming. Multi-Agent Systems
Elements of the Agent-Oriented Paradigm Metaphor: autonomous entities • Events (reactivity and proactivity) • Actions • Time (past events and actions) • Objectives/Goals • Communication
In Practice • Languages: Agent0, Concurrent METATEM, AgentSpeak, DALI, April, ecc. • Frameworks: Open-Agent Architecture, Impact, KGP, Jade (Java-based), Eclipse, ecc.
Agent Frameworks • Language + agents and application structure • Es. Open-agent architecture (SRI-International) • Meta-agent to manage goals • Facilitator Agent, to assign subgoals • Agents that execute subgoals based on specific capabilities. • Es. IMPACT • Agentize new/legacy code • Interface specification of heterogeneous agents
Agent Functions • Knowledge representation and reasoning • Coping with incomplete information • Planning • Learning • Communication • Coordination • Negotiation • ...
Reasoning • Data is a set of simple descriptions; • information includes interpretations of data; • Knowledge is information about information; • Meta-knowledge is knowledge about knowledge. • The process of using knowledge to create further knowledge is reasoning. Multi-Agent Systems
Knowledge Base Rules Facts Working Memory SHELL Inference Engine Inference Control Knowledge Acquisition Sub-System Explanation Sub-System User Interface Expert Knowledge Engineer User Architecture of a Knowledge-Based Expert System Multi-Agent Systems
Reasoning in Agents • Coping with incomplete information (assumption-based reasoning) • Planning for reaching objectives • Integration of rationality and reactivity • Learning
Agent communications - coordination • Agents communicate in order to achieve better the goals of themselves or of the society in which they exist. • MAS to maintain global coherence (behaving as a unit) without explicit global control. • Agents determine common goals and common tasks, avoid conflicts and pool knowledge and evidence.
Communications - meaning • Three aspects to the formal study of communication: • Syntax: how the symbols of communication are structured • Semantics: what the symbols denote • Pragmatics: how the symbols are interpreted • Meaning is a combination of semantics and pragmatics.
Message types • Communication could be active, passive or both (agent is master, slave or peer) • Two message types: assertions and queries. • All agents accept information by means of assertions. • Passive agent: accepts queries, sends replies • Active agent: issue queries, make assertions • Peer agent: all of the above.
Coordination • DAI involves distributed control and distributed data. • Agents have a degree of autonomy in generating new actions and deciding which goal to pursue next. • Knowledge of the system's overall state is dispersed throughout the system. • Coordination is achieved by means of Coordination Protocols
Cooperation • Basic strategy is to decompose and then distribute tasks • Decomposition done by system designer or by agents • Distribution criteria according to a Cooperation Protocol • Avoid overloading critical resources • Assign tasks to agents with matching capabilities • Make an agent assign tasks to other agents • Reassign tasks if necessary for completing urgent tasks …
Cooperation protocols • Distribution mechanisms: • Market mechanism: generalized agreements or mutual selection • Contract net: announce, bid and award cycles • Multiagent planning: planning agents perform task assignment • Organizational structure: agents have fixed responsibilities
Negotiation • Inter-agent cooperation • Occurs among agents with different goals to reach a joint decision • Conflict resolution • Agents communicate respective desires • Compromise to mutually beneficial agreement
Reaching Agreements • How do agents reach agreementswhen they are self interested? • In an extreme case (zero sum encounter) no agreement is possible — but in most scenarios, there is potential for mutually beneficial agreementon matters of common interest
Reaching Agreements • The capabilities of negotiationand argumentationare central to the ability of an agent to reach such agreements • There are various Negotiation Strategies
Negotiation Strategies • Desirable properties: • Convergence/guaranteed success • Maximizing social welfare • Pareto efficiency • Individual rationality • Stability • Simplicity • Distribution
Agents in Computational Logic • Declarative languages: modular definition and composition of behaviors • Fast prototipyng • Formal semantics • Reasoning capabilities • + New active/reactive capabilities
DALI: a general-purpose Agent-Oriented languagepatent-pendingjoint work with Arianna Tocchio • Logical language,extends prolog • Supports the agent-oriented paradigm • different classes of events and their interaction; • advanced proactivity features; • a concept of time.
DALI:Communication • Communication primitives = FIPA-compliant set + Others (implemented in DALI on Linda Tuple Space) • Communication Architecture • Primitives tell/told for message filtering • Procedure meta for understanding (possibly by taking advantage of ontologies)
Procedural Semantics (Computational Model) Enhanced Resolution Procedure • Extends prolog resolution • Interleaves different activities: • Can be tuned by the user via directives: Program = Logic + Control