Software Agent Technology Introduction to Technology Heimo Laamanen 24.1.2006
Introduction to Technology Copyright © 2006 by OSCu The use of this course material is allowed only to private persons for studying purposes. The use of this material for other purposes is prohibited without written permission from the author. 24.1.2006 Introduction to Technology
Introduction to Technology Definitions of Software Agents 24.1.2006 Introduction to Technology
Introduction to Technology Little bit history. Mid 50’s first ideas about software agents. John McCarthy, Oliver G. Selfridge. Research on software agents can be split into two main strands: first one about mid 70’s and second one at the beginning of 90’s. Today software agents are still a hot, diverse topic. distributed artificial intelligence, robotics, artificial life, distributed object computing, human-computer interaction, intelligent and adaptive interfaces, intelligent search and filtering, information retrieval, etc. 24.1.2006 Introduction to Technology
Introduction to Technology Agents Many definitions: "An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors.” "Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed." "Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires." 24.1.2006 Introduction to Technology
Introduction to Technology Agents Many definitions: "Let us define an agent as a persistent software entity dedicated to a specific purpose. 'Persistent' distinguishes agents from subroutines; agents have their own ideas about how to accomplish tasks, their own agendas. 'Special purpose' distinguishes them from entire multifunction applications; agents are typically much smaller." An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future. 24.1.2006 Introduction to Technology
Artificial Life Agents Introduction Categories of agents (just one of them) Autonomous Agents Biological Agents Computational Agents Robotic Agents Artificial Life Agents Software Agents Task-specific Agents Entertainment Agents Viruses 24.1.2006 Introduction to Technology
Introduction to Technology Categories of agents (just another one of them). Mobile agents Interface agents Collaborative agents Information agents Reactive agents Hybrid agents Heterogeneous agents 24.1.2006 Introduction to Technology
Introduction to Technology What is an Agent? Attributes Autonomy Proactive Mobile Goal-oriented Temporal continuity Adaptivity Communicative Collaborative 24.1.2006 Introduction to Technology
Introduction to Technology Agents do it for money ... Objects do it, because they are commanded to ... 24.1.2006 Introduction to Technology
Introduction to Technology Agents' Architectures 24.1.2006 Introduction to Technology
Introduction to Technology Agent Architectures Maes: An architecture proposes a particular methodology for building an autonomous agent. It specifies how the overall problem can be decomposed into subproblems, i.e. how the construction of the agent can be decomposed into the construction of a set of component modules and how these modules should be made to interact. The total set of modules and their interactions has to provide an answer to the question of how the sensor data and the current internal state of the agent determine the actions (effector outputs) and future internal state of the agent. An architecture encompasses techniques and algorithms that support this methodology. 24.1.2006 Introduction to Technology
Introduction to Technology Agent Architectures Reactive agent Deliberative agent Hybrid agent 24.1.2006 Introduction to Technology
Introduction to Technology Reactive Agent Reactive agents have at most a very simple internal representation of the world, but provide tight coupling of perception and action Behaviour-based paradigm Intelligence is a product of interaction between an agent and its environment. 24.1.2006 Introduction to Technology
Introduction to Technology Reactive Agent Each behaviour continually maps perceptual input to action output Reactive behaviour: action: S -> A where S denotes the states of the environment, and A the primitive actions the agent is capable of perform. Example: action(s) = Heater off, if temperature OK Heater on, otherwise 24.1.2006 Introduction to Technology
Introduction to Technology Reactive Agent S e n s o r E f c t Agent Stimulus-response behaviours State1 State2 Staten Action1 Action2 Actionn . 24.1.2006 Introduction to Technology
Introduction to Technology Deliberative Agent Explicit symbolic model of the world in which decisions are made via logical reasoning, based on pattern matching and symbolic manipulation sense-plan-act problem-solving paradigm of classical AI planning systems 24.1.2006 Introduction to Technology
Introduction to Technology Deliberative Agent S e n s o r E f c t World Model Planner Plan executor Agent 24.1.2006 Introduction to Technology
Introduction to Technology Agents (intelligent). Internal architecture: Agents maintain an internal representation of their world. There is an explicit mental state Can be modified by some form of symbolic reasoning. BDI agents Belief Desire Intentions 24.1.2006 Introduction to Technology
Introduction to Technology Agent – a BDI model goals reactions local goals co-operative goals planning and scheduling options intentions goal activation situations routine/emergency situations local planning co-operating selection execution joint plans local plans perception situation recognition POB ACTION Belief generation world model mental model social model beliefs Environment 24.1.2006 Introduction to Technology
Introduction to Technology Hybrid Agent Combination of deliberative and reactive behaviour An agent consists of several subsystems Subsystems that develop plans and make decisions using symbolic reasoning (deliberative component) Reactive subsystems that are able to react quickly to events without complex reasoning (reactive component) Layered architectures 24.1.2006 Introduction to Technology
Introduction to Technology Hybrid Agent Agent S e n s o r E f c t Reactive component State1 State2 Staten Action2 Actionn . World Model Planner Plan executor Deliberative component Action1 observations modifications 24.1.2006 Introduction to Technology
Introduction to Technology Environment of Software Agents 24.1.2006 Introduction to Technology
Introduction to Technology Environment of Software agents Agents Communications Ontology Platforms Applications 24.1.2006 Introduction to Technology
Introduction to Technology Platform 24.1.2006 Introduction to Technology
Introduction to Technology Platform A place where agents live not always needed Agent management creation – termination security Agent communication services Agent directory services 24.1.2006 Introduction to Technology
Introduction to Technology Example Agent Platform Agent Management System Directory Facilitator Agent Communication Channel Baseline Protocol Software F I P A 24.1.2006 Introduction to Technology
Introduction to Technology Platforms - FIPA Implementations Jade (TiLab - Telecom Italy) LEAP (EU -project) BlueJade (HP) FIPA-OS (Nortel - Emorphia) MicroFIPA-OS (HY) 24.1.2006 Introduction to Technology
Introduction to Technology Questions? Comments. Objections! 24.1.2006 Introduction to Technology
Introduction to Technology Communications 24.1.2006 Introduction to Technology
Introduction to Technology Agent Communications Modelled at higher abstraction level than ’traditional’ data communications. Speech Act theory J.R. Searle (1969) Speech Acts Classic example: President says ”I declare war” is actually an action. 24.1.2006 Introduction to Technology
Introduction to Technology Speech acts Pragmatic theory of language dealing with the syntax and semantics ACL message types usually modeled after speech acts Locutionary act uttering a syntactically acceptable sentence Illocutionary act (speech act) communicating of the speakers’ intentions to the hearer Perlocutionary act bringing about of the effect on the hearer of the utterance 24.1.2006 Introduction to Technology
Introduction to Technology Agent Communications Knowledge sharing Agent Communication Language Content Language Interaction Protocols 24.1.2006 Introduction to Technology
Introduction to Technology Agent Communications 24.1.2006 Introduction to Technology
Introduction to Technology Agent Communication Language (ACL) KQML (Knowledge Query and Manipulation Language) FIPA-ACL (Agent Communication Language) 24.1.2006 Introduction to Technology
Introduction to Technology Agent Communication Language FIPA-ACL 24.1.2006 Introduction to Technology
Introduction to Technology Communicative acts Propagate Propose Proxy Query-if Query-ref Refuse Reject-proposal Request Request-when Request-whenever Subscribe Accept-proposal Agree Cancel Cfp Confirm Disconfirm Failure Inform Inform-if (macro act) Inform-ref (macro act) Not-understood 24.1.2006 Introduction to Technology
Introduction to Technology Communicative Acts (cf. Dr. Poslad’s Lecture) The door is open? Open the door (for me) OK! I’ll open the door The door is open I am unable to open the door I will not open the door Say when the door becomes open Anyone want to open the door? I can open the door for you..at a price Door? What’s that? Don’t understand... query request agree inform failure refuse subscribe cfp propose not-understood 24.1.2006 Introduction to Technology
Introduction to Technology Parameters :sender :receiver :content :reply-with :reply-by :in-reply-to :envelope :language :ontology :protocol :conversation-id 24.1.2006 Introduction to Technology
Introduction to Technology Example of request The sender requests the receiver to perform some action. (request :sender i :receiver j :content "open \"db.txt\" for input" :language vb) 24.1.2006 Introduction to Technology
Introduction to Technology Semantic of Request <i, request( j, a )> FP: FP(a) [i\j] Bi Agent( j, a ) Bi PGj Done(a) RE: Done(a) i = sender, j = receiver, a = action to perform Done(a) = action performed Bi Agent( j, a ) = agent i believes that j can perform a Bi PGj Done(a) = i does not believe that Done(a) is j ’s persistent goal 24.1.2006 Introduction to Technology
Introduction to Technology Content languages FIPA-SL subsets SL0, SL1, and SL2 FIPA-RDF0 RDF based content language FIPA-CCL Constraint Choice Language KIF & FIPA-KIF 24.1.2006 Introduction to Technology
Introduction to Technology Content languages KIF (Knowledge Interchange Format) (salary 015-46-3946 widgets 72000) (salary 026-40-9152 grommets 36000) (salary 415-32-4707 fidgets 42000) (> (* (width chip1) (length chip1)) (* (width chip2) (length chip2))) 24.1.2006 Introduction to Technology
Introduction to Technology Content languages FIPA-SL Formal language used to define the semantics of the FIPA ACL Logical propositions are expressed in a logic of mental attitudes and actions, formalised in a first order modal language with identity 24.1.2006 Introduction to Technology
Introduction to Technology Content language FIPA-SL example (query-ref :sender (agent-identifier :name B) :receiver (set (agent-identifier :name A)) :content (iota ?x (UKPrimeMinister ?x)) :language FIPA-SL :reply-with query2) (inform :sender (agent-identifier :name A) :receiver (set (agent-identifier :name B)) (= (iota ?x (UKPrimeMinister ?x)) "Tony Blair") :in-reply-to query2) 24.1.2006 Introduction to Technology
Introduction to Technology Interaction protocols Specify agent communication patterns. Example: 24.1.2006 Introduction to Technology
Introduction to Technology FIPA interaction protocols Request Query Request When Contract Net Iterated Contract Net English Auction Dutch Auction Brokering Subscribe Propose 24.1.2006 Introduction to Technology
Introduction to Technology Questions? Comments. Objections! 24.1.2006 Introduction to Technology
Introduction to Technology Ontology 24.1.2006 Introduction to Technology
Introduction to Technology Ontology How do communicating agents understand each other? Systems which communicate and work together must share an ontology. A common vocabulary and agreed upon meanings to describe a subject domain. An ontology is a specification of a conceptualization. An ontology is a description of the concepts and relationships that can exist for an agent or a community of agents. 24.1.2006 Introduction to Technology
Introduction to Technology Ontology The shared ontology can be implicit or explicit. Implicit ontology are typically represented only by procedures. Explicit ontology are (ideally) given a declarative representation in a well defined knowledge representation language. 24.1.2006 Introduction to Technology
Introduction to Technology Ontology Example 24.1.2006 Introduction to Technology
Introduction to Technology OWL (Web Ontology Language) by W3C OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans. OWL is an extension to RDF and RDF Schema Three sublanguages: OWL Lite classification hierarchy and simple constraints OWL DL maximum expressiveness, computational completeness, and decidability OWL Full maximum expressiveness and the syntactic freedom of RDF with no computational guarantees. 24.1.2006 Introduction to Technology
Introduction to Technology OWL OWL extends vocabulary description allowing to express claims such as... Nothing can be both wine and beer. grandParent and grandChild are inverses. homepage is uniquely identifying property. A W3CTeamPerson is a Person whose workplaceHomepage is http://www.w3.org/ 24.1.2006 Introduction to Technology
Introduction to Technology OWL OWL adds value to the Semantic Web allowing machine-checkable ontology design allowing inferring new knowledge allowing automatic detection of contradictions providing principles for complex data merging 24.1.2006 Introduction to Technology
Introduction to Technology Environments of Agent Another Viewpoint 24.1.2006 Introduction to Technology
Introduction to Technology Environments of software agents - another viewpoint Accessible vs inaccessible An accessible environment is one in which the agent can obtain complete, accurate, up-to-date information about the environment’s state. Most moderately complex environments (including, for example, the everyday physical world and the Internet) are inaccessible. The more accessible an environment is, the simpler it is to build agents to operate in it. 24.1.2006 Introduction to Technology
Introduction to Technology Environments of software agents Deterministic vs non-deterministic A deterministic environment is one in which any action has a single guaranteed effect — there is no uncertainty about the state that will result from performing an action. The physical world can to all intents and purposes be regarded as non-deterministic. Non-deterministic environments present greater problems for the agent designer. 24.1.2006 Introduction to Technology
Introduction to Technology Environments of software agents Episodic vs non-episodic In an episodic environment, the performance of an agent is dependent on a number of discrete episodes, with no link between the performance of an agent in different scenarios. Episodic environments are simpler from the agent developer’s perspective because the agent can decide what action to perform based only on the current episode — it need not reason about the interactions between this and future episodes. 24.1.2006 Introduction to Technology
Introduction to Technology Environments of software agents Static vs dynamic A static environment is one that can be assumed to remain unchanged except by the performance of actions by the agent. A dynamic environment is one that has other processes operating on it, and which hence changes in ways beyond the agent’s control. The physical world is a highly dynamic environment. 24.1.2006 Introduction to Technology
Introduction to Technology Environments of software agents Discrete vs continuous An environment is discrete if there are a fixed, finite number of actions and percepts in it. 24.1.2006 Introduction to Technology
Introduction to Technology Questions? Comments. Objections! 24.1.2006 Introduction to Technology
Introduction to Technology Readings: Agent Technology Edited by Nicholas R. Jennings and Micheal J. Wooldridge Springer, 1998, ISBN 3-540-63591-2 Mobile Agents and Security Edited by Giovanni Vigna Springer, ISBN 3-540-64792-9 Mobile Agents William T. Cockayne, Micheal Zyda Manning, ISBN 1-884777-36-8 Intelligent Software Agents Wlater Brenner, Rudiger Zarnekow, Hartmut Wittig Springer, 1998 Agent Technology - Foundations, Applications, and Markets Nicholas R. Jennings and Michael J. Wooldridge Springer, 1998 Multi-Agent Systems, An Introduction to Distributed Artificial Intelligence Jacques Ferber, Addison-Wesley, 1999 24.1.2006 Introduction to Technology
Introduction to Technology 24.1.2006 Introduction to Technology