Download presentation
Presentation is loading. Please wait.
1
Software Agent Technology
Introduction to Technology Heimo Laamanen
2
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. Introduction to Technology
3
Introduction to Technology
Definitions of Software Agents Introduction to Technology
4
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. Introduction to Technology
5
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." Introduction to Technology
6
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. Introduction to Technology
7
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 Introduction to Technology
8
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 Introduction to Technology
9
Introduction to Technology
What is an Agent? Attributes Autonomy Proactive Mobile Goal-oriented Temporal continuity Adaptivity Communicative Collaborative Introduction to Technology
10
Introduction to Technology
Agents do it for money ... Objects do it, because they are commanded to ... Introduction to Technology
11
Introduction to Technology
Agents' Architectures Introduction to Technology
12
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. Introduction to Technology
13
Introduction to Technology
Agent Architectures Reactive agent Deliberative agent Hybrid agent Introduction to Technology
14
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. Introduction to Technology
15
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 Introduction to Technology
16
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 . Introduction to Technology
17
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 Introduction to Technology
18
Introduction to Technology
Deliberative Agent S e n s o r E f c t World Model Planner Plan executor Agent Introduction to Technology
19
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 Introduction to Technology
20
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 Introduction to Technology
21
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 Introduction to Technology
22
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 Introduction to Technology
23
Introduction to Technology
Environment of Software Agents Introduction to Technology
24
Introduction to Technology
Environment of Software agents Agents Communications Ontology Platforms Applications Introduction to Technology
25
Introduction to Technology
Platform Introduction to Technology
26
Introduction to Technology
Platform A place where agents live not always needed Agent management creation – termination security Agent communication services Agent directory services Introduction to Technology
27
Introduction to Technology
Example Agent Platform Agent Management System Directory Facilitator Agent Communication Channel Baseline Protocol Software F I P A Introduction to Technology
28
Introduction to Technology
Platforms - FIPA Implementations Jade (TiLab - Telecom Italy) LEAP (EU -project) BlueJade (HP) FIPA-OS (Nortel - Emorphia) MicroFIPA-OS (HY) Introduction to Technology
29
Introduction to Technology
Questions? Comments. Objections! Introduction to Technology
30
Introduction to Technology
Communications Introduction to Technology
31
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. Introduction to Technology
32
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 Introduction to Technology
33
Introduction to Technology
Agent Communications Knowledge sharing Agent Communication Language Content Language Interaction Protocols Introduction to Technology
34
Introduction to Technology
Agent Communications Introduction to Technology
35
Introduction to Technology
Agent Communication Language (ACL) KQML (Knowledge Query and Manipulation Language) FIPA-ACL (Agent Communication Language) Introduction to Technology
36
Introduction to Technology
Agent Communication Language FIPA-ACL Introduction to Technology
37
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 Introduction to Technology
38
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 Introduction to Technology
39
Introduction to Technology
Parameters :sender :receiver :content :reply-with :reply-by :in-reply-to :envelope :language :ontology :protocol :conversation-id Introduction to Technology
40
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) Introduction to Technology
41
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 Introduction to Technology
42
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 Introduction to Technology
43
Introduction to Technology
Content languages KIF (Knowledge Interchange Format) (salary widgets 72000) (salary grommets 36000) (salary fidgets 42000) (> (* (width chip1) (length chip1)) (* (width chip2) (length chip2))) Introduction to Technology
44
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 Introduction to Technology
45
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) Introduction to Technology
46
Introduction to Technology
Interaction protocols Specify agent communication patterns. Example: Introduction to Technology
47
Introduction to Technology
FIPA interaction protocols Request Query Request When Contract Net Iterated Contract Net English Auction Dutch Auction Brokering Subscribe Propose Introduction to Technology
48
Introduction to Technology
Questions? Comments. Objections! Introduction to Technology
49
Introduction to Technology
Ontology Introduction to Technology
50
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. Introduction to Technology
51
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. Introduction to Technology
52
Introduction to Technology
Ontology Example Introduction to Technology
53
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. Introduction to Technology
54
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 Introduction to Technology
55
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 Introduction to Technology
56
Introduction to Technology
Environments of Agent Another Viewpoint Introduction to Technology
57
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. Introduction to Technology
58
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. Introduction to Technology
59
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. Introduction to Technology
60
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. Introduction to Technology
61
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. Introduction to Technology
62
Introduction to Technology
Questions? Comments. Objections! Introduction to Technology
63
Introduction to Technology
Readings: Agent Technology Edited by Nicholas R. Jennings and Micheal J. Wooldridge Springer, 1998, ISBN Mobile Agents and Security Edited by Giovanni Vigna Springer, ISBN Mobile Agents William T. Cockayne, Micheal Zyda Manning, ISBN 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 Introduction to Technology
64
Introduction to Technology
Introduction to Technology
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.