Agent Tech - UMBC CSEE

An Introduction to Agent
Technologies
Peter Wurman, NCSU
Yelena Yesha, UMBC
Olga Streltchenko, UMBC
1
Presentation Overview
 Working definition of an agent
 Classification of agents
 Agent characteristics and properties
 Agent fundamental theories
 Knowledge representation
 Problem solving and decision making
 Learning
 Multi-agent communication
Agent Building Tools and Platforms
 IBM’s Aglet Toolkit
 Case Study
Simple Trading Agent
Auctionbot --Agent-mediated auction (U of Michigan)
Boeing KAoS System
2
Working definition of an
agent
“Agents are active, persistent (software)
components that perceive, reason, act, and
communicate”
Huhns and Singh, 1998
“An agent is an entity whose state is viewed as
consisting of mental components such as
beliefs, capabilities, choices, and commitments.
[sic] In this view, therefore, agenthood is in the
mind of the programmer.”
Shoham, 1993
3
Classification of agents
classify by mobility:
stationary
 mobile
classify by attributes:
collaborative agents
interface agents
learning agents
classify by architecture:
classify by roles:
deliberative
match maker
reactive
information gathering
tutorial agents, etc
social
4
Characteristics of agents
Proactive: goal-oriented
Autonomy: bounded rationality
Social: communication, cooperation,
team/coalition formation
Adaptive: learning from environment and
other agents
Mobility: interoperability, navigation,
persistent
5
Agent fundamental theories
 Knowledge representation
 Problem solving and
decision making
 Learning
 Cognitive states and
emotion
 Multi-agent
communication,
coordination and
negotiation
 Mobility
 Delegation and trust
 Security and privacy
 Mechanism design and
agent platform
6
Agent knowledge representation
Data structure: databases, lists,
queues, trees, graphs
Knowledge structure: rules, first order
logics and modal logics, frames,
scripts, semantic/belief networks, etc.
World/Environmental models
Models of other agents: who, where,
capabilities
7
Agent knowledge representation
representing and
maintaining
 belief
 desire
 intention
 goal
 plan
commitment
convention
representing and
maintaining group
belief; etc
reasoning about other
agents beliefs, etc
influencing the
intentions and beliefs
of other agents
8
Belief Desire Intention BDI
Beliefs–knowledge about the world and
the effects the agent’s actions have on the
world.
Desires–preferences over possible states
of the world (goals).
Intentions–internal commitments made to
achieve certain world states.
9
Agent Learning
Personalization/user profile
Performance improvement/adaptation
Learning environment
Learning other agents
Learning to communicate and
negotiation
10
Agent learning techniques
Reinforcement learning
Supervised learning
Unsupervised learning
Bayesian learning
Etc.
11
Agent Communication
Language
Standards of agent communication
protocol
Low level:
WAP (wireless), TPC/IP(internet),
XML/HTTP (web)
High level:
KQML (Knowledge Query Manipulation
Language)
FIPA--ACL
12
KQML @ UMBC
Knowledge Query and Manipulation
Language
It describes the “speech act” of the
message using a set of performatives.
Each performative has required and optional
arguments.
The content language of the message is not
part of KQML, but can be specified by KQML
performatives.
13
An KQML Example
(stream-all

:content “(PRICE ?my-profolio
?price)”

:receiver stock-server

:language LPROLOG

:ontology NYSE)
The stream-all performative asks a set of
answers to be turned into a stream of
replies.
14
Categories of Performatives
Basic Query: Evaluate, ask-if, ask-about,
ask-one, ask-all
Multi-response Query: stream-about,
stream-all, eos
Response: reply, sorry
Generic information: tell, achieve, cancel,
untell, unachieve
15
Agent Building Tools and
Platforms
Agent Builders (Reticular Systems)
JADE (University of Parma, Italy)
Mobile agent platform Aglet (IBM)
16
IBM’s Aglet Toolkit
An Applet-like programming model for
mobile agents
Java (as many mobile agent toolkits are! )
Aglet = Agent + Applet
Aglet’s API facilitates mobile technology
Aglet: mobile java object that visits aglet
enabled hosts in a computer network
An Aglet = Instance of a Java class
extending the Aglet Class
17
IBM’s Aglet Toolkit
An Aglet =

Aglet state (values in variables)

+

Aglet code (class implementation)
Autonomous – runs its own thread after
arriving at a host
Reactive – responds to incoming messages
Weak Mobility
18
IBM’s Aglet Mobile Agent
System
user
proxy aglet
proxy aglet
context
proxy aglet
context
proxy aglet
engine
host
19
IBM’s Aglet Mobile Agent
System
System elements: host, engine, context,
proxy, aglet
Aglet Transfer Protocol e.g.
“atp://hostname:port/context/”
AgletID: system-given globally unique
identifier for life
20
IBM’s Aglet System
 Proxy: representative of an aglet.
Shields and protects an aglet from direct access to
its public methods
Provides location transparency for the object
Context: an aglet’s work place.
A server can have several contexts.
Message: objects exchanged between aglets
Synchronous and Asynchronous messaging (using
FUTURE REPLY)
21
Example: Abstract Trading
Agent
Market
Info
User preferences
Auction
rules
Model of
other market
participants
Strategy
synthesizer
Bidding
strategy
Bids
22
Abstract Trading Agent
Beliefs: auction rules, model of market
Desires: user preferences
Intentions: objects it has decided to
buy/sell
Capabilities: place new bids
Observations: market information
23
Auctionbot --Agent-mediated
auction (U of Michigan)
An experimental E-auction server
AuctionBot allows setting different types
of auction
Provides API for users to create their own
software agents to autonomously compete
in the auction market
The user can encode their bidding
strategies
24
Auctionbot
The AuctionBot’s basic design is shown in Figure 2. The interface
consists of two distinct portions- the web interface for humans and the
TCP/IP interface for software agents. The right side of the diagram
shows the auctioneer processes and scheduler. The interface and the
auctioneer programs update information in a common database.
25
AuctionBot Architecture
 A human user specify a bid via a sequence of Web forms. The final form hands
off the data to a bid-submission program which inserts the bid into the database
and marks as unprocessed.
 The bid-submission program then returns to the user a confirmation that the bid
has been submitted.
 The scheduler is a daemon process that continually monitors the database for
auctions that have events to process or bids to verify. When it finds such an
auction, it forks the appropriate auctioneer program.
 The auctioneer loads parameters and the set of current bids from the
database.The auctioneer validates bids as necessary, and may do one clear
and/or one price quote each time it is run.
26
Boeing KAoS System
Adaptive Virtual
Document
Component integration framework
Database
Component
T
SGML/XML
Component
Multimedia
Component
Agents
Object Request
Broker
CORBA
Local and remote databases and services
Web and
other
Internet
services
Component
tools and
services
Fine-grained
27
data objects
Link
Servers
KAoS Structure and Dynamics
Birth
Agent Structure
Life
Update
Structure
Formulate/Act on
Intentions
Death
• Knowledge
• Facts
• Beliefs
• Desires
• Intentions
• Capabilities
Cryogenic
State
28
KAoS Extension and Generic
Agent
Agent Extension
Specific to
Particular
Agents
Shared by
All Agents
Optional
Planner
Conversation
Support
Various
Capabilities
Transport-Level
Communication
Security
Generic Agent
29
Agent-to-Agent Communication Within
an Agent Domain
Agent Domain
Generic
Agent
Instance
Agent A
Agent B
Agent-toAgent
Protocol
Generic
Agent
Instance
30
Anatomy of a KAoS Domain
External
Resource
Telesthetic
Extension
Proxy to
Another
KAoS
Domain
Mediation
Extension
GA
GA
Proxy
Extension
KAoS Agent
Domain
Domain
Mgr. Extension
GA
Matchmaker
Extension
GA
GA
Ext. from
Foreign
Domain
Adapter
GA
GA = Generic Agent
31
References
Software Agents, Edited by Jeff. Brawdshaw,
MIT/AAAI press, 1997.
Stuart Russell, Artificial Intelligence: A Mordern
Approach, Morgan Kaufmann Publisher, 2001
Readings in Agents, edited by Michael Huhns
and Munindar Singh, Morgan Kaufmann
Publisher, 1998
http://auction2.eecs.umich.edu/
http://agents.umbc.edu/
32