Title: Tecnologie ad Agenti: problemi e applicazioni
1Tecnologie ad Agenti problemi e applicazioni
- Stefania Costantini
- Dip. Di Informatica, Univ. degli Studi di LAquila
2Where do agents come from?
- Seminal work on agents Carl Hewitts 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
3What 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.
4Agents
- 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
5Agents 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
6Related Approaches
- Distributed Objects
- COM (MS Windows DNA)
- COM
- CORBA
- JavaBeans/EJBs
7Why 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
8Intelligent 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
9Agent Features
- Autonomous
- Reactive
- Proactive
- Adaptive
- Social (in multi-agent systems)
-
10Abstract architectures for intelligent agents
- Reactive agents
- action S -gt A
- Perception and action
- see S -gt P
- action P -gt A
- Agents with state
- see S -gt P
- action I -gt A
- next I X P -gt I
11Overview of an Agent (by R.A. Kowalski)
-
- Highest level maintenance goals
Achievement goals -
-
- Forward
reasoning -
-
- Intermediate level consequences
Intermediate level sub-goals -
- Forward reasoning
Backward reasoning -
- Observations
Actions - Perceptual
processing Motor processing
The world
12What 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.
13Coach 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.
14Directory 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.
15Multi-agent System (MAS)
- Collection of agents that interact with each
other - Cooperation
- Competition
- Negotiation
- ...
16Distributed 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.
17- 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.)
18Agent 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.
19Elements of the Agent-Oriented Paradigm
- Metaphor autonomous entities
- Events (reactivity and proactivity)
- Actions
- Time (past events and actions)
- Objectives/Goals
- Communication
20In Practice
- Languages Agent0, Concurrent METATEM,
AgentSpeak, DALI, April, ecc. - Frameworks Open-Agent Architecture, Impact, KGP,
Jade (Java-based), Eclipse, ecc.
21Agent 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
22Agent Functions
23Agent Functions
- Knowledge representation and reasoning
- Coping with incomplete information
- Planning
- Learning
- Communication
- Coordination
- Negotiation
- ...
24Reasoning
- 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.
25 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
26Reasoning in Agents
- Coping with incomplete information
(assumption-based reasoning) - Planning for reaching objectives
- Integration of rationality and reactivity
- Learning
27Agent 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.
28Communications - 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.
29Message 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.
30Coordination
- 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
31Cooperation
- 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
32Cooperation 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
33Negotiation
- 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
34Reaching Agreements
- How do agents reach agreements when 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
agreement on matters of common interest
35Reaching Agreements
- The capabilities of negotiation and argumentation
are central to the ability of an agent to reach
such agreements - There are various Negotiation Strategies
36Negotiation Strategies
- Desirable properties
- Convergence/guaranteed success
- Maximizing social welfare
- Pareto efficiency
- Individual rationality
- Stability
- Simplicity
- Distribution
37Agents In Computational Logic
38Agents in Computational Logic
- Declarative languages modular definition and
composition of behaviors - Fast prototipyng
- Formal semantics
- Reasoning capabilities
- New active/reactive capabilities
39DALI 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.
40DALICommunication
- 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)
41Procedural Semantics (Computational Model)
- Enhanced Resolution Procedure
- Extends prolog resolution
- Interleaves different activities
- Can be tuned by the user via directives Program
Logic Control
42DALI Agents on Sw Components
43Thank you again for your attention...