Intelligent agents - Carnegie Mellon University

Download Report

Transcript Intelligent agents - Carnegie Mellon University

Intelligent Agents
Katia Sycara
The E-Commerce Institute
[email protected]
www.cs.cmu.edu/~softagents
Teaching assistant: Joe Giampapa
[email protected]
Course Topics
•
•
•
•
•
•
What are agents?
What are multi-agent systems?
Agent design and architecture
Agents on the Desktop
Agents in web-based info. management
Agent interaction:
– communication languages
– coordination protocols
– -agent interoperability
Course Topics (ctd)
• Infrastructure for finding Agent-based
Services
•
•
-Agent names servers
- Middle Agents
• Agents in the marketplace
•
-strategic behavior
•
-mechanisms, negotiation, markets, auctions
Course Policies
• The course is based on lectures, lecture notes, and
additional materials provided either electronically
or in hard copy
• There will be no exams. Instead:
• Grading will be based on two projects
– mid-term project (40%):
• a survey on a class-related topic
• development of an agent
• business case for agent technology in an area
– bigger final project (60%)
Preface
• Agents are found in multiple applications:
– information agents collect info. on behalf of users
– financial agents monitor assets, perform transactions,
help users negotiate
– shopbots help finding best prices and deals
– recommenders help with selecting
shows/entertainment
– multiple agents provide support in time-critical
mission planning
– multi-agent systems allow integration of previously
stand-alone legacy applications
Example: Electronic Calendar
Is Electronic Calendar an Agent?
• It serves a user, it works on its behalf
• It is proactive: when a meeting is approaching, it
alerts the user
• Is it autonomous? No. Its decisions on actions are
user programmed, it does not reason and plan
• To be an intelligent agent, it needs to:
– anticipate when the user does not need/want its action
• e.g., lookup vacation file, ask secretary
– communicate with calendars to workout meetings
– adapt to/learn user preferences
What Promotes Agent Proliferation
• Networked computing
• Distribution of expertise/resources
• Need for inter-operation between preexisting isolated systems
• Need for personalization and customization
• The Internet:
– enormous amount of available information
– multiple service providers
– e-commerce
What is Still Necessary?
•
•
•
•
•
Support for secure transactions
Micro-payments
Standardized communication languages
Ontologies
Agreed-upon interaction protocols for
trading, negotiation, etc
• For mobility: standard agent docking
But,What are Agents?
A controversial issue.
In this course we present several
approaches
What is an Agent?
• A computational entity - but any program
running on a machine is, too
• Intelligent - how exactly do we measure that?
– is a program that can solve complex equations
intelligent?
– is a program that can find a good deal intelligent?
• Autonomous - the most agreed-upon attribute of
agents, but not enough
– means: decides for itself what it needs to do
• Collaborative - interacts with humans and others
• Adaptive
Calendar Example
• Your calendar will become an agent when:
– it will collaborate with other: acquire relevant
information from them, negotiate your
meetings with them, etc
– it will learn your preference and adapt to them:
e.g., avoid meeting with Joe in the morning
– change its action subject to info. on events: e.g.,
cancel outdoor class on a rainy day
– notify you of selected events it finds on bboards
So, an Agent is…
• An autonomous, (preferably) intelligent,
collaborative and adaptive computational entity
• Given some objectives/goals, an agent attempts
to achieve them, without explicit instruction
• Here, intelligence is expressed in the ability to
infer and execute the needed actions, and seek
and incorporate relevant information, given the
goals
Agents vs. Objects
• Objects, too, are autonomous computational
entities. What is the difference?
– agents are:
•
•
•
•
usually persistent
reactive, like objects, but also proactive
may be self-aware
have sole control over their actions
– an object:
• has no say regarding the use and execution of its
public methods. An agent may refuse or ask for
compensation
• is not intelligent
Agents vs. Expert Systems
• Expert systems, common in the ‘80s:
– provide advice to professionals in information
intensive environments, e.g.
• advice for physicians in analyzing symptoms
• advice for car mechanics in repair
–
–
–
–
are “intelligent”, somewhat similar to agents, but
are reactive and not proactive
not autonomous - need instructions and intervention
do not interact with the environment or with other
entities except for the user
– usually not adaptive
Agent Attributes
• Delegation--performs tasks on users’ behalf
• Communication-- with user or other agents
• Autonomy--operates without direct user
intervention
• Monitoring--environment so agent can act
autonomously
• Actuation--affecting the environment
• Intelligence--interpret monitored events,
reason
Evolution of Agents
‘80: Expert Systems:
intelligence, expertise,
server-like
Artificial
intelligence,
software
engineering
‘80-’90: Objects:
some autonomy
re-use, interaction
‘90: Agents: personalization
autonomy, intelligence, expertise,
re-use, interaction, adaptation,
persistence, proactivity
Machine
learning,
humancomputer
interaction:
adaptation,
personalization
Generic Agent Model
• Task Level Skills-e.g., information retrieval,
filtering
• Knowledge
• (a) a priori--developer, user or system specified
•
(b) learned--dialog-based, case-based etc
Generic Agent Model
• Communication skills
– with user--through interface
– with other agents--through agent
communication languages
Definition
• An agent is an autonomous computational
entity, which:
– is reactive and proactive
– is goal driven
– is intelligent:
• able to reason, plan and sometimes learn
• has domain specific intelligence
– interacts with humans, other agents, and the
environment via sensors and effectors in a high
level language/protocol
– anticipates user needs and reacts based on them
– wish list: friendly, understands natural lang.,etc
End User Taxonomy of Agents
• Environment--e.g. desktop, Internet
• Task-Information gathering, negotiation
• Architecture--learning vs non-learning
Environment-based taxonomy
• Desktop agents:
– operating system agents
– application agents
– application suite agents
• Internet Agents
– search agents
– information agents
– notification agents
Environment-based taxonomy
• Intranet Agents
– collaborative customization agents/workflow
– business process automation agents
– database agents
Features, Advantages and Benefits of
Agents
Feature
Advantage
Benefit
Automation
Repetitive Tasks
Customization
Notification
Customize
interactions
Significant events
Increase
productivity
Reduce overload
Learning
Learn user behavior Proactive assistance
Messaging
Perform remotely
Off-line work
Tutoring
Coach user
Reduced training
Reduced workload
Multi-Agent Systems (MAS)
• An agent is more useful in the context of
others:
– can concentrate on tasks of its expertise
– can delegate other tasks to other experts
– can take advantage of its ability to intelligently
communicate, coordinate, negotiate
• But, a MAS is not just a collection of agents
– it needs meaningful ways for agents to interact
– it needs some system design and performance
evaluation
Example: Calendar
• Multiple calendars interact with each other:
– off load scheduling responsibility
– interact with information agents that monitor
for and filter information about events of
interest
– negotiate with other calendars
MAS - Two Approaches
1. Centralized design
• Build a system that is comprised of agents should provide good performance
• Advantages may arise from:
– possibility to develop each agent as an expert
– incorporation of non-local expertise
– rather simple to have multiple developers
working concurrently
• Example: a system within an organization
MAS - Two Approaches
2. Open MAS
• Usually, the system has no prior static design, only
single agents within
• Agents seek others to provide services, without
knowing in advance who they are
• There is a need for agent finding mechanism
• Other agent may be non-cooperative or untrusted
or malicious
• Example: markets, Internet