Lecture II

advertisement
Intelligent Agents - Lecture 3
Katia Sycara
The Robotics Institute
katia@cs.cmu.edu
www.cs.cmu.edu/~softagents
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%)
Example Projects:
A. Projects involving programming
 Write part of a Retsina information agent. The other, standard parts will be
provided.
NOTE: requires moderate knowledge and programming experience in PERL,
or Webl or JAVA)
 Implement agents that participate in an auction (e.g. sealed bid first price
auction)
NOTE: requires advanced programming skills in JAVA or C++
Given the Retsina matchmaker code, implement other types of middle agents.
NOTE: requires advanced programming skills in JAVA.
B. Example Midterm Projects
not involving programming
 Comparative review of auctions (pros and cons)
 Comparative survey of advanced e-commerce sites (i.e. not just simply listing
a product or set of products)
 Comparative survey of software tools for building agents, and what is
missing.
 Value added uses of agents in e-commerce.
 Comparative survey of shopbots, issues raised by shopbots.
 How would commerce change if everyone had personal agents available?
Which types of personal agents would be useful?

Models of marketing on the Web, and use of agents in this endeavor.
 Identify and document uses of agent technology in at least 25 top sites.
Discuss trends. File sharing programs (e.g. gnutella)
Agent Architectures
Reactive architectures
Deliberative architectures
Layered architectures
• Belief, Desire, Intention (BDI)
• Concurrent architecture (RETSINA)
Concurrent Architectures
(RETSINA: Sycara & al.)
• Include multiple functional and knowledge
modules that work concurrently
• Coherence between the functional modules
is achieved via shared databases
• Typical functional separation:
–
–
–
–
communication and collaboration
planning and reasoning
action scheduling
execution and monitoring
Example: RETSINA Agent Architecture
Functional Components
• Communicator: handles incoming and outgoing
messages in an ACL. Converts requests into
goals/objectives
• Planner: takes objectives and devises detailed plans to
achieve them. Creates tasks, actions and new objectives.
Uses plan fragments from libraries
• Scheduler: schedules actions for execution
• Execution monitor: executes actions and monitors
• Coordination/collaboration: reasons for such activities,
may be internal to planner or to communicator
• Self-awareness: maintains self model: load, state, etc
Knowledge Components
• Objective DB: holds the agent’s objectives
• Task DB: holds the agent’s tasks and actions,
before they are scheduled for execution
• Schedule: holds scheduled actions
• Task reduction library: includes a set of possible
task decompositions
• Task schema library: includes plan fragments,
each provides details on how to perform a task
• Beliefs DB: holds the beliefs of the agent
regarding information relevant to its activity
Architecture Attributes
• Functional components do not directly
interface or synchronize with each other
• Knowledge components do not directly
interface or synchronize with each other
• Functional components work concurrently
• These provide:
–
–
–
–
reusability and substitutability of components
efficient utilization of computational resources
timely task performance
reduced development effort
Planning
• By incremental instantiation of plan
fragments
• Conditional planning mechanisms
• Interleaving planning, information
gathering, and execution
• Declarative description of information flow
and control flow requirements
11
Planning by Reduction
T
Reduce T1
Reduce T2
T1
A
T2
T
T1
A1
A
T2
A2
Task decomposition
Multi-Agent Organization
•
•
•
•
•
•
•
Centrally designed/closed organization
Open organization: RETSINA
Flat
Modular
Hierarchical
Heterarchical
Subsumed/compositional
RETSINA - REusable Task-based System
of Intelligent Network Agents
• An adaptive, self-organizing collection of
autonomous agents that interact with humans and
each other:
– integrate decision support and information management
– anticipate and satisfy human information processing
and problem solving needs
– perform real-time synchronization of domain activities
– notify users and each other about significant changes in
the environment
– adapt to user, task and situation
RETSINA: System Attributes
• A distributed collection of intelligent agents
• Agents collaborative and asynchronous
• Dynamic, open organization
–
–
–
–
agents may enter and leave at any time
heterogeneous agent capabilities
alternating user goals and preferences
dynamic information environment
Agent Types:
•
•
•
•
•
Interface Agents
Task Agents
Information Agents
Middle Agents
All share same basic architecture
8
The RETSINA
Multi-Agent Organization
distributed
adaptive
collections of
information agents
that coordinate to
retrieve, filter and
fuse
information
relevant to the user,
task and situation,
as well as
anticipate user's
information needs.
User 1
User 2
User u
Goal and Task
Specifications
Results
Interface Agent 1
Interface Agent 2
Interface Agent i
Tasks
Solutions
Task Agent 1
Info & Service
Requests
Task Agent 2
Task Agent t
Information Integration
Conflict Resolution
Replies
MiddleAgent 2
Advertisements
Info Agent 1
Queries
Info
Source 1
Info Agent n
Answers
Info
Source 2
Info
Source m
RETSINA: Design Goals
• The agents and the system should:
– gather information from distributed, multimodal sources, provide decision support
– access, filter, integrate info. and make decisions
– run across different machines
– use models of users, tasks, agents to deal with
tasks (decompose, pass, etc)
– allow code reusability and modularity
– be flexible and robust
Locating Other Agents
• Open, dynamic MAS - agents appear and
disappear
• Agents must be able to locate others
• Broadcast on WWW - inappropriate
• Solution - middle agents - advertising
• Remaining problem - whom to choose to
maximize system performance
Middle Agents
• Specialize in making connection between agents
• Store, maintain and provide connection
information
• Provide translation and interoperation services
• Some middle agent types:
– Matchmakers match advertised capabilities
– Blackboard agents collect requests
– Broker agents process both
Service Brokering vs. Matchmaking
in Multi-Agent Systems
 Brokering:
Request-for-Service
Requester
Broker
Reply-Result-of-Service
Request-for-Service
Provider
Advertise/Unadvertise-Services
 Matchmaking:
Request-for-Service
Requester
Reply-Provider-Agents-Names
Matchmaker
Reply-Result-of-Service
Request-for-Service
Provider
Advertise/Unadvertise-Services
Locating Agents
• Agents advertise capabilities to middle
agents
• Use functionally-specific vocabulary
• Agents ask middle agents for services
• Middle agents finds providers, notify
requesting agents (or broker the service)
• Requesting agents contact providers when
contact info. is given
Advertisement
•
•
•
•
•
•
Agent contact information
Service/capability description
Ontology
Service availability
Cost
Advertisement
– agent’s interface to the society
– expresses agent commitment
Some RETSINA Applications
• Team aiding in joint tactical planning (using a
simulated battlefield)
• Agent-aided aircraft maintenance
• E-commerce in wholesale markets
• Robot teams for de-mining
• Team Rescue Scenario (NEO)
• Warren system for financial portfolio management
Joint Tactical Mission Scenario
Air-Force Aircraft Maintenance
• Aircraft (e.g. F-15) arrive at maintenance airbase
• Periodic maintenance must be completed in 60
days (varies for different aircraft types)
• Mechanics inspect aircraft. For a discrepancy:
– if unknown to mechanic:
• consults: experienced mechanics, manuals.
– for all discrepancy:
• a 202A form is filled (by hand). Sent to expert engineers
• reply (202B) includes repair instructions, approval
– mechanic repairs and files a report (and the 202)
Form
202A
To
mechanic
RETSINA-based solution Form
Engineer A’s
workstation
Sent by
mechanic
Form
202B
Form
agent
Request
relevant
historical
repairs
Manuals
agent
agent
Aircraft-service
Air-Force base 1
Hangar computer
Manuals
Engineer B’s
workstation
Form
agent
Request
relevant
manual
pages
History
202
DB
Sent by
mechanic202A
History
Manuals
agent
agent
Aircraft-service
Air-Force base 2
Hangar computer
202
DB
Manuals
Sent to
mechanic
Form
202B
Request
relevant
historical
repairs
History
Manuals
agent
agent
Aircraft-service
Air-Force base 3
Hangar computer
202
DB
Manuals
Warren
• Agent Collaboration in
–
–
–
–
–
–
Information Gathering
Information integration
Information filtering
One shot & Persistent queries
Decision Support
a rapidly changing environment
Warren (cont)
Services to user
• Decision support
– Evaluation
– Suggestion
• Intelligent anticipation
– Models & suggests based on allocation
– Monitors for news/events
Warren Demo
• Each user has a portfolio
• When user wants to buy (or sell) a stock
– Stock price agent is invoked
• When a new stock is added to portfolio
– Risk allocation critic is invoked
• User can
– Monitor a stock
– Retrieve information about finances of company
Coalitions for E-Commerce
• In wholesale markets, purchasing more of the same
product reduces price per unit
• Sellers benefit from selling more and spending less on
marketing/distribution
• Buyers usually do not need large quantities
• Can form coalitions of buyers, but:
– difficult to find other buyers
– need agreement on profit and product distribution
• Solution is simpler via buyers’ agents:
– find others, form coalitions, negotiate with sellers
The Virtual Market
Monitor
buyer
buyer
Coalition
1
2
Coalition
Matcher
buyer
3
Negotiation
Matcher
Catalog
seller
1
seller
2
De-mining Teams of Robots
• Multiple robots for de-mining:
– sophisticated searchers find mines
– inexpensive exploders detonate mines
– coordinators support team behavior and interaction
with human operator
• Requires coordination, team behavior
– how to form and maintain a team?
– when a team member fails, what to do?
– how to translate human requests to team activity?
Open MAS Demonstration
• A MAS comprised of RETSINA agents, OAA
agents and agentified application are presented
• We demonstrate:
–
–
–
–
–
human/agent, agent/agent interaction
agents collaborate to solve a real-world problem
perform information gathering and filtering
MAS interoperability via middle agents
robustness/fault-tolerance of the system via
service/agent substitutability
– automation of information-rich and time-critical
planning, decision making and execution monitoring
A NEO TIE
• Non-combatant Evacuation Operation:
– requires information from multiple, multi-modal sources,
may change dynamically, be unreliable
– requires time-critical (re-) planning under uncertainty
– collaboration among distributed humans, machines
– plan execution monitoring
• Agent Technology Integration Experiment:
– demonstrating agent support for NEO activity by
• exploiting agent technology for information gathering, user
interfacing and collaboration
• automating and speeding up critical planning and monitoring
– interoperation with legacy components (e.g. air lift planner
such as CAMPS) for NEO
The NEO Problem Domain
•
•
•
•
Location: Kuwait city. Time: 2005
Iraq not a threat, reduced military presence in mideast
Congress in Kuwait city on ecology & oil conservation
Unrest:
– night explosion at the conference center - no casualties
– terrorist group issues threat against attendees, American, etc.
• US activity:
– ambassador orders evacuations (smaller numbers)
– Air Mobility Commander plans large evacuation
– Joint Force Commander involved (plan, secure evacuation
routes)
NEO Scenario
• Ambassador, JFC discuss evacuation via RETSINA UI
Messenger (UIM) and OAA MMM
• JFC’s UIM monitors content, requests relevant info
• WebMate provides text news, Maestro - video
• RETSINA flights agent begins providing schedules
• OAA flights agent takes over when RETSINA’s fails
• UIM receives flights’ schedule and displays
• OAA weather agent begins providing weather
• RETSINA weather agent takes over when OAA’s fails
• RETSINA route planner plans evacuation to KWI
NEO Scenario (continued)
• OAA phone agent provides info. about roadblocks
• Route planner re-plans to KWI airport
• AMC rep. uses a UIM to request CAMPS to
provide airlift plan from KWI
• RETSINA Visual Sensor Agent (VSA) reports an
explosion near KWI, displays it on MMM
• JFC designates alternative abandoned airfield
• Route planner re-plans to new destination
• AMC via UIM requests a new plan from CAMPS
• CAMPS returns a plan, presented by UIM
DemoDisplay Visualization Agent
NEO TIE: the contribution
• The NEO TIE
– uses existing agents, MAS, services, legacy systems
– makes them inter-operate: resolve conflicts, build
interoperability agents
– enhance human/MAS collaboration/interfacing
– integrate agent and legacy (re-) planning
– demonstrate robustness via agent substitutability
• The agents in the NEO TIE do not
– take the critical decisions (but may advise)
– evacuate (but may plan for, monitor and display it)
Scientific and Technical Contribution
1. Coherent communication of meaningful content
between two heterogeneous MAS
2. Functional substitutability of agents
3. “Agentification” of legacy systems
4. Adaptation at different levels: interfaces, MAS
organization, single agent
5. Collaboration:human-human, human-agent, MAS
Lessons Learned?
• Agents and MAS may be a promising technology
when:
– the amount of information and pace of change are
overwhelming
– users, information and resources are distributed
– expertise and activity are distributed
– there is no central control
– there is a need for flexibility and robustness in face of
uncertainty and partial failures
– incorporation of pre-existing systems is advantageous
Characteristics of RETSINA
• Open system / Organization robust &
adaptive
• Service-based collaboration
• Agents are honest
• Agents “passively” volunteer
• Matchmaking preserves privacy
RETSINA - Conclusion
• The RETSINA multi-agent approach:
–
–
–
–
–
–
highly dynamic, open, robust
agents actively seek out information
specialized agents collaborate
interleaving planning and execution
reusable infrastructure and architecture
several domain specific implementations
Download