View
216
Download
1
Embed Size (px)
Citation preview
Intelligent Agents
Katia Sycara
The E-Commerce Institute
www.cs.cmu.edu/~softagents
Teaching assistant: Joe Giampapa
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 pre-existing 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
‘80-’90: Objects:some autonomy
re-use, interaction
‘90: Agents: personalizationautonomy, intelligence, expertise,
re-use, interaction, adaptation,persistence, proactivity
Machine learning,human-
computerinteraction:adaptation,
personalization
Artificialintelligence,
softwareengineering
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 Increaseproductivity
Customization Customizeinteractions
Reduce overload
Notification Significant events Reduced workload
Learning Learn user behavior Proactive assistance
Messaging
Tutoring
Perform remotely
Coach user
Off-line work
Reduced training
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
• 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
1. Centralized design
MAS - Two Approaches
• 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
2. Open MAS