An Introduction to Agent Technologies Peter Wurman NCSU

  • Slides: 32
Download presentation
An Introduction to Agent Technologies Peter Wurman, NCSU Yelena Yesha, UMBC Olga Streltchenko, UMBC

An Introduction to Agent Technologies Peter Wurman, NCSU Yelena Yesha, UMBC Olga Streltchenko, UMBC 1

Presentation Overview z z Working definition of an agent Classification of agents Agent characteristics

Presentation Overview z z Working definition of an agent Classification of agents Agent characteristics and properties Agent fundamental theories y Knowledge representation y Problem solving and decision making y Learning y Multi-agent communication y Agent Building Tools and Platforms x IBM’s Aglet Toolkit z Case Study y Simple Trading Agent y Auctionbot --Agent-mediated auction (U of Michigan) y Boeing KAo. S System 2

Working definition of an agent z “Agents are active, persistent (software) components that perceive,

Working definition of an agent z “Agents are active, persistent (software) components that perceive, reason, act, and communicate” y. Huhns and Singh, 1998 z “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. ” y. Shoham, 1993 3

Classification of agents z classify by mobility: ystationary y mobile z classify by attributes:

Classification of agents z classify by mobility: ystationary y mobile z classify by attributes: ycollaborative agents yinterface agents ylearning agents z classify by architecture: z classify by roles: ydeliberative ymatch maker yreactive yinformation gathering ytutorial agents, etc ysocial 4

Characteristics of agents y. Proactive: goal-oriented y. Autonomy: bounded rationality y. Social: communication, cooperation,

Characteristics of agents y. Proactive: goal-oriented y. Autonomy: bounded rationality y. Social: communication, cooperation, team/coalition formation y. Adaptive: learning from environment and other agents y. Mobility: interoperability, navigation, persistent 5

Agent fundamental theories z Knowledge representation z Problem solving and decision making z Learning

Agent fundamental theories z Knowledge representation z Problem solving and decision making z Learning z Cognitive states and emotion z Multi-agent communication, coordination and negotiation z Mobility z Delegation and trust z Security and privacy z Mechanism design and agent platform 6

Agent knowledge representation z. Data structure: databases, lists, queues, trees, graphs z. Knowledge structure:

Agent knowledge representation z. Data structure: databases, lists, queues, trees, graphs z. Knowledge structure: rules, first order logics and modal logics, frames, scripts, semantic/belief networks, etc. z. World/Environmental models z. Models of other agents: who, where, capabilities 7

Agent knowledge representation z representing and maintaining y belief y desire y intention y

Agent knowledge representation z representing and maintaining y belief y desire y intention y goal y plan ycommitment yconvention z representing and maintaining group ybelief; etc z reasoning about other agents beliefs, etc z influencing the intentions and beliefs of other agents 8

Belief Desire Intention BDI z. Beliefs–knowledge about the world and the effects the agent’s

Belief Desire Intention BDI z. Beliefs–knowledge about the world and the effects the agent’s actions have on the world. z. Desires–preferences over possible states of the world (goals). z. Intentions–internal commitments made to achieve certain world states. 9

Agent Learning z. Personalization/user profile z. Performance improvement/adaptation z. Learning environment z. Learning other

Agent Learning z. Personalization/user profile z. Performance improvement/adaptation z. Learning environment z. Learning other agents z. Learning to communicate and negotiation 10

Agent learning techniques z. Reinforcement learning z. Supervised learning z. Unsupervised learning z. Bayesian

Agent learning techniques z. Reinforcement learning z. Supervised learning z. Unsupervised learning z. Bayesian learning z. Etc. 11

Agent Communication Language z. Standards of agent communication protocol z. Low level: y. WAP

Agent Communication Language z. Standards of agent communication protocol z. Low level: y. WAP (wireless), TPC/IP(internet), XML/HTTP (web) z. High level: y. KQML (Knowledge Query Manipulation Language) y. FIPA--ACL 12

KQML @ UMBC z. Knowledge Query and Manipulation Language z. It describes the “speech

KQML @ UMBC z. Knowledge Query and Manipulation Language z. It describes the “speech act” of the message using a set of performatives. z. Each performative has required and optional arguments. z. The content language of the message is not part of KQML, but can be specified by KQML performatives. 13

An KQML Example z(stream-all z : content “(PRICE ? my-profolio ? price)” z :

An KQML Example z(stream-all z : content “(PRICE ? my-profolio ? price)” z : receiver stock-server z : language LPROLOG z : ontology NYSE) z. The stream-all performative asks a set of answers to be turned into a stream of replies. 14

Categories of Performatives z. Basic Query: Evaluate, ask-if, ask-about, ask-one, ask-all z. Multi-response Query:

Categories of Performatives z. Basic Query: Evaluate, ask-if, ask-about, ask-one, ask-all z. Multi-response Query: stream-about, stream-all, eos z. Response: reply, sorry z. Generic information: tell, achieve, cancel, untell, unachieve 15

Agent Building Tools and Platforms z Agent Builders (Reticular Systems) z JADE (University of

Agent Building Tools and Platforms z Agent Builders (Reticular Systems) z JADE (University of Parma, Italy) z Mobile agent platform Aglet (IBM) 16

IBM’s Aglet Toolkit z An Applet-like programming model for mobile agents z Java (as

IBM’s Aglet Toolkit z An Applet-like programming model for mobile agents z Java (as many mobile agent toolkits are! ) z Aglet = Agent + Applet z Aglet’s API facilitates mobile technology z Aglet: mobile java object that visits aglet enabled hosts in a computer network z An Aglet = Instance of a Java class extending the Aglet Class 17

IBM’s Aglet Toolkit z An Aglet = z Aglet state (values in variables) z

IBM’s Aglet Toolkit z An Aglet = z Aglet state (values in variables) z + z Aglet code (class implementation) z Autonomous – runs its own thread after arriving at a host z Reactive – responds to incoming messages z Weak Mobility 18

IBM’s Aglet Mobile Agent System user proxy aglet context proxy aglet engine host 19

IBM’s Aglet Mobile Agent System user proxy aglet context proxy aglet engine host 19

IBM’s Aglet Mobile Agent System z System elements: host, engine, context, proxy, aglet z

IBM’s Aglet Mobile Agent System z System elements: host, engine, context, proxy, aglet z Aglet Transfer Protocol e. g. “atp: //hostname: port/context/” z Aglet. ID: system-given globally unique identifier for life 20

IBM’s Aglet System z Proxy: representative of an aglet. y Shields and protects an

IBM’s Aglet System z Proxy: representative of an aglet. y Shields and protects an aglet from direct access to its public methods y Provides location transparency for the object y Context: an aglet’s work place. y A server can have several contexts. y Message: objects exchanged between aglets y Synchronous and Asynchronous messaging (using FUTURE REPLY) 21

Example: Abstract Trading Agent Market Info User preferences Auction rules Model of other market

Example: Abstract Trading Agent Market Info User preferences Auction rules Model of other market participants Strategy synthesizer Bidding strategy Bids 22

Abstract Trading Agent z. Beliefs: auction rules, model of market z. Desires: user preferences

Abstract Trading Agent z. Beliefs: auction rules, model of market z. Desires: user preferences z. Intentions: objects it has decided to buy/sell z. Capabilities: place new bids z. Observations: market information 23

Auctionbot --Agent-mediated auction (U of Michigan) z. An experimental E-auction server z. Auction. Bot

Auctionbot --Agent-mediated auction (U of Michigan) z. An experimental E-auction server z. Auction. Bot allows setting different types of auction z. Provides API for users to create their own software agents to autonomously compete in the auction market z. The user can encode their bidding strategies 24

Auctionbot The Auction. Bot’s basic design is shown in Figure 2. The interface consists

Auctionbot The Auction. Bot’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

Auction. Bot Architecture y A human user specify a bid via a sequence of

Auction. Bot Architecture y 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. y The bid-submission program then returns to the user a confirmation that the bid has been submitted. y 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. y 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 KAo. S System Adaptive Virtual Document Component integration framework Database Component T SGML/XML

Boeing KAo. S 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

KAo. S Structure and Dynamics Birth Agent Structure Life Update Structure Formulate/Act on Intentions

KAo. S Structure and Dynamics Birth Agent Structure Life Update Structure Formulate/Act on Intentions Death • Knowledge • Facts • Beliefs • Desires • Intentions • Capabilities Cryogenic State 28

KAo. S Extension and Generic Agent 29

KAo. S Extension and Generic Agent 29

Agent-to-Agent Communication Within an Agent Domain 30

Agent-to-Agent Communication Within an Agent Domain 30

Anatomy of a KAo. S Domain External Resource Telesthetic Extension Proxy to Another KAo.

Anatomy of a KAo. S Domain External Resource Telesthetic Extension Proxy to Another KAo. S Domain Mediation Extension GA GA KAo. S Agent Domain Mgr. Extension GA Matchmaker Extension GA Proxy Extension GA Ext. from Foreign Domain Adapter GA GA = Generic Agent 31

References z Software Agents, Edited by Jeff. Brawdshaw, MIT/AAAI press, 1997. z Stuart Russell,

References z Software Agents, Edited by Jeff. Brawdshaw, MIT/AAAI press, 1997. z Stuart Russell, Artificial Intelligence: A Mordern Approach, Morgan Kaufmann Publisher, 2001 z Readings in Agents, edited by Michael Huhns and Munindar Singh, Morgan Kaufmann Publisher, 1998 z http: //auction 2. eecs. umich. edu/ z http: //agents. umbc. edu/ 32