320 likes | 438 Views
An Introduction to Agent Technologies. Peter Wurman, NCSU Yelena Yesha, UMBC Olga Streltchenko, UMBC. Presentation Overview. Working definition of an agent Classification of agents Agent characteristics and properties Agent fundamental theories Knowledge representation
E N D
An Introduction to Agent Technologies Peter Wurman, NCSU Yelena Yesha, UMBC Olga Streltchenko, UMBC
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
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
Classification of agents • classify by mobility: • stationary • mobile • classify by architecture: • deliberative • reactive • social • classify by attributes: • collaborative agents • interface agents • learning agents • classify by roles: • match maker • information gathering • tutorial agents, etc
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
Knowledge representation Problem solving and decision making Learning Cognitive states and emotion Multi-agent communication, coordination and negotiation Agent fundamental theories • Mobility • Delegation and trust • Security and privacy • Mechanism design and agent platform
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
representing and maintaining belief desire intention goal plan commitment convention Agent knowledge representation • representing and maintaining group • belief; etc • reasoning about other agents beliefs, etc • influencing the intentions and beliefs of other agents
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.
Agent Learning • Personalization/user profile • Performance improvement/adaptation • Learning environment • Learning other agents • Learning to communicate and negotiation
Agent learning techniques • Reinforcement learning • Supervised learning • Unsupervised learning • Bayesian learning • Etc.
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
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.
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.
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
Agent Builders (Reticular Systems) JADE (University of Parma, Italy) Mobile agent platform Aglet (IBM) Agent Building Tools and Platforms
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
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
proxy aglet user aglet proxy context proxy aglet aglet proxy context engine host IBM’s Aglet Mobile Agent System
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
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)
Example: Abstract Trading Agent Market Info User preferences Strategy synthesizer Auction rules Bidding strategy Model of other market participants Bids
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
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
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.
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.
Boeing KAoS System Adaptive Virtual Document Database Component Component integration framework Agents CORBA Local and remote databases and services T SGML/XML Component Multimedia Component Object Request Broker Component tools and services Link Servers Web and other Internet services Fine-grained data objects
KAoS Structure and Dynamics Birth Agent Structure Life Update Structure • Knowledge • Facts • Beliefs • Desires • Intentions • Capabilities Formulate/Act on Intentions Death Cryogenic State
Ext. from Foreign Domain Anatomy of a KAoS Domain External Resource Telesthetic Extension Proxy to Another KAoS Domain Mediation Extension GA GA Proxy Extension KAoS Agent Domain GA Domain Mgr. Extension GA Matchmaker Extension GA Adapter GA GA = Generic Agent
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/