740 likes | 1.48k Views
Lecture 1: Introduction. SIF8072 Distributed Artificial Intelligence and Intelligent Agents. http://www.idi.ntnu.no/~agent/. Lecturer: Sobah Abbas Petersen Email: sap@idi.ntnu.no. Lecture Outline. Practical Information Definition of an Agent
E N D
Lecture 1: Introduction SIF8072 Distributed Artificial IntelligenceandIntelligent Agents http://www.idi.ntnu.no/~agent/ Lecturer: Sobah Abbas Petersen Email: sap@idi.ntnu.no
Lecture Outline • Practical Information • Definition of an Agent • Distributed Artificial Intelligence and Multi-agent Systems • Agent Typology • Summary and references
Practical Information - I Course-related information: Web-page – http://www.idi.ntnu.no/~agent/ Lectures: Thursdays, 15:00-17:00, room R4 Web-page – http://www.idi.ntnu.no/~agent/lectures/ Exercises: Mondays, 17:00-19:00, room R4 Web-page – http://www.idi.ntnu.no/~agent/exercises/ Written Exam: Wednesday, 14th May Web-page – http://www.idi.ntnu.no/~agent/exam/ (past exam papers)
Practical Information - II Curriculum: • ”Introduction to MultiAgent Systems” by Michael Wooldridge available from TAPIR, price: NOK 375 (http://www.csc.liv.ac.uk/~mjw/pubs/imas/) • Additional Articles • List available from http://www.idi.ntnu.no/~agent/curriculum/ Exercises and Project: 4 mandatory exercises and 1 mandatory project Questions regarding Exercises and Project: Teaching Assistant: Peep Kungas Email: peep@idi.ntnu.no
Example 1 ”When a space probe makes its long flight from Earth to outer planets, a ground crew is usually required to continue to track its progress and decide how to deal with unexpected eventualities. This is costly and, if decisions are required quickly, it is simply not practical. For these reasons, organisations like NASA are seriously investigating the possibility of making the probes more autonomous – giving them richer decision making capabilities and responsibilities.”
Example 2 ”Searching the Internet for the answer to a specific query can be a long and tedious process. So, why not allow a computer program – an agent – do searches for us? The agent would typically be given a query that would require synthesizing information from various different internet information sources.”
Example 3 ”After a wet and cold winter, you are in need of a last minute holiday somewhere warm. After specifying your requirements to your Personal Digital Assistant (PDA), it converses with a number of different web sites which sell services such as flights and hotel rooms. After hard negotiation on your behalf with a range of sites, your PDA presents you with a package holiday.”
Overview 1 • Five ongoing trends have marked the history of computing: • Ubiquity • Reduction in the cost of computing capability • Interconnection • Computer systems are networked into large distributed systems • Intelligence • The complexity of tasks that can be automated and delegated to computers • Delegation • Judgement of computer systems are frequently accepted • Human-orientation • Use concepts and metaphors that reflect how we understand the world
Overview 2 • These trends present major challenges to software developers. e.g. • Delegation – act independently. • Intelligence – act in a way that represents our best interests while interacting with other humans or systems. • Need systems that can act effectively on our behalf. • Systems must must have the ability to cooperate and reach agreements with other systems. • New field: Multi-agent Systems
Overview 3 • An agent is a system that is capable of independent action on behalf of its user or owner. • A multi-agent system is one that consists of a number of agents which interact with one another. • In order to successfully interact, agents need ability to cooperate, coordinateandnegotiate.
Two Key Problems • How do we build agents that are capable of independent, autonomous action in order to successfully carry out the tasks that we delegate to them? (Micro aspects) • How do we build agents that are capable of interacting (cooperating, coordinating, negotiating) with other agents in order to successfully carry out the tasks we delegate to them? (Macro aspects)
Fields that inspired agents • Artificial Intelligence • Agent intelligence, micro aspects • Software Engineering • Agent as an abstraction • Distributed systems and Computer Networks • Agent architectures, multi-agent systems, coordination There are many definitions of agents – often too narrow or too general.
Definitions of Agents 1 American Heritage Dictionary: ”... One that acts or has the power or authority to act ... or represent another” Russel and Norvig: ”An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors.” Maes, Pattie: ”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”.
Definitions of Agents 2 IBM: ”Intelligent agents are software entities that carry out some set of operationson behalf of a user or another program with some degree of independence or autonomy, and in doing so, employ some knowledge or representations of the user’s goals or desires”.
Definitions of Agents 3 • An agent is autonomous: capable of acting independently, exhibiting control over its internal state. • An agent is a computer system capable of autonomous action in some environment. System Input Output Environment
Definition of Agent 4 • Examples of trivial/non-interesting agents are: • Thermostat, UNIX deamon, e.g. biff • An intelligent agent is a computer system capable of flexible autonomous action in some environment. • By flexible we mean: • Reactive • Pro-active • Social
Properties of Agents 1 • Autonomous • Capable of independent action without our interference • Reactive • Maintains an ongoing interaction with its environment and responds to changes that occur in (in time for the response to be useful). • Pro-active • Generating and attempting to achieve goals; not driven solely by events; taking the initiative. • Social • The ability to interact with other agents (and possibly humans) via some kind of agent communication language and perhaps cooperate with others.
Properties of Agents 2 • Mentalistic notions, such as beliefs and intentions are often referred to as properties of strong agents. • Other properties are: • Mobility: the ability of an agent to move around a network. • Veracity: agent will not knowingly communicate false information. • Benevolence: agents do not have conflicting goals and always try to do what is asked of it. • Rationality: an agent will act in order to achieve its goals and will not act in such a way as to prevent its goals being achieved.
Agents and Objects 1 • Are agents just objects by another name? Objects do it for free… • Agents do it because they want to! • Agents do it for money!
Agents and Objects 2 Main differences: • Agents are autonomous: agents embody a stronger notion of autonomy than objects, in particular, agents decide for themselves whether or not to perform an action. • Agents are smart: capable of flexible (reactive, pro-active social) behaviour; standard object models do not have such behaviour. • Agents are active: a multi-agent system is inherently multi-threaded in that each agent is assumed to have atleast one thread of active control.
Let’s take a minute…… • Discuss with your neighbour what you think of this definition. • Try to come up with a few examples of agents that you know.
Why agents? • Today, we have a distributed environment that cannot be completely specified – open environments. • Former paradigms, such as OOP, cannot completely satisfy our needs: • They were designed for constructing systems in a completely specified environment - a closed world.
How can we work in an Open Environment • By copying human behaviour: • Perceive the environment • Affect the environment • Have a model of behaviour • Have intentions and motivations to be fulfilled by implementing corresponding goals Agent Environment
Distributed Artificial Intelligence (DAI) • DAI is asub-field of AI • DAI is concerned with problem solving where agents solve (sub-) tasks (macro level) • Main areas of DAI • Multi-Agent Systems (MAS) • Distributed Problem Solving (DPS) Reference: B. Moulin, B. Chaib-draa. ”An Overview of Distributed Artificial Intelligence”. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 3-56.
DAI Concerns • DAI is concerned with: • Agent granularity • Heterogenity of agents • Methods of distributing control among agents • Communication possibilities • DAI is not concerned with: • Issues of coordination of concurrent processes at the problem solving and representational level • Parallel Computer Architectures, Parallel Programming Languages or Distributed Operating Systems
DPS and MAS • DPS considers how the task of solving a particular problem can be divided among a number of modules that cooperate in dividing and sharing knowledge about the problem and its evolving solution(s). • MAS is concerned with the behaviour of a collection of autonomous agents aiming to solve a given problem.
Decentralisation • An important concept in DAI and MAS • No central control; control is distributed • Knowledge or information sources may also be distributed
Multi-agent System Environment Multi-agent Systems (MAS) Contains a number of agents which interact with one another through communication. The agents are able to act in an environment; where each agent will act upon or influence different parts of the environment. Reference: Wooldridge, An Introduction to Multiagent Systems, p. 105
Motivation for MAS • To solve problems that are too large for a centralized agent • To allow interconnection and interoperation of multiple legacy systems • To provide a solution to inherently distributed problems • To provide solutions which draw from distributed information sources • To provide solutions where expertise is distributed • To offer conceptual clarity and simplicity of design
Benefits of MAS • Faster problem solving • Decrease in communication • Flexibility • Increased reliability
Cooperative and Self-interested MAS • Cooperative • Agents designed by interdependent designers • Agents act for increased good of the system • Concerned with increasing the performance of the system • Self-interested • Agents designed by independent designers • Agents have their own agenda and motivation • Concerned with the benefit and performance of the individual agent • More realistic in an Internet setting?
Interaction and Communication in MAS • To successfully interact, agents need ability to cooperate, coordinate and negotiate. • This requires communication: • Plan /message passing • Information exchange using shared repositories • Important characteristics of communication: • Relevance of the information • Timeliness • Completeness
Let’s take a minute…… • Discuss with your neighbour: • A problem that can be solved by a MAS • Advantages and disadvantages of using a MAS for your particular problem
Agent Typology 1 • One of the most referred to typologies is given by Nwana, BT Research Labs • Reference: H. S. Nwana. ”Software Agents: An Overview”, Knowledge Engineering Review, Vol. 11, No. 3, 1996, 40 pages • Several dimensions of typology: • Mobility - mobile or static. • Deliberative or reactive. • Primary attributes, such as autonomy, learning and cooperation.
Agent Typology 2 • A part view of an agent typology Autonomous Software systems Learning Cooperate Smart Agents Collaborative Agents Interface Agents
Agent Typology 3 Nwana identified the following seven types of agents: • Collaborative agents - autonomous and cooperate. • Interface agents - autonomous and learn. • Mobile agents - able to move around a network. • Information/Internet agents - manages the information on the internet. • Reactive agents - stimulus-response behaviour. • Hybrid agents - combination two or more agent philosophies. • Smart agents - autonomous, learn and cooperate. • Criticisms of this Typology • Confuses agents with what they do (e.g. Info search) and the technology (e.g. reactive, mobile).
Agent Typology 4 • Collaborative agents • Hypothesis/Goal: The capabilities of the collection of agents is greater than any of its members. • Main Motivation: To solve problems that are too large for a single agent. • Interfaceagents • Hypothesis/Goal: A personal assistant that collaborates with the user. • Main Motivation: To eliminate humans performing several, manual sub-operatioions. • Example: A personal assistant that finds a suitable package holiday for the user.
Agent Typology 5 • Mobile agents • Hypothesis/Goal: Agents need not be stationary! • Main Motivation: To reduce communication costs • Example: Aglets • Information/Internetagents • Hypothesis/Goal: Reduce information overload problem • Main Motivation: The need for tools to manage information explosion • Example: agents that reside on servers and access the distributed on-line information on the Internet
Agent Typology 6 • Reactive agents • Hypothesis/Goal: Physical grounding hypothesis: representations grounded in the physical world. • Hybridagents • Defn:constitutes a combination of two or more agent philosophies (e.g deliberative & reactive). • Hypothesis/Goal: Gains from the combination of philosophies >> gains from the same philosophy.
Agent Typology 7 Heterogeneous agents • Definition: System of agents of several types • e.g. mobile and interface agents in the same system • Realistic in an Internet (open-system) setting • Motivation: Interoperability is plausible • Requires Standards for communication among the agents: • Agent Communication Languages and protocols • Cooperation conventions
Other Types of Agents Some of these may not exhibit any agent properties as discussed earlier. • Desktop Agents: e.g. • Operating System agents – interact with the OS to perform tasks on behalf of the user. • Application agents – e.g. Wizards • Web search agents – act as information brokers between information suppliers (e.g. Websites) and information consumers (e.g. users)
Operating System Agents User Agent Application GUI Shell OS API Memory Mgmt. File Mgmt. Process Mgmt.
Web Search Agents User Query Web Browser Query Server Response Web Index database Web robot Search Engine
Information Filtering Agents User Web Web Browser News Server Indexed articles User Profile Indexing Engine Media Filtering Agent
Let’s take a minute…… • Discuss with your neighbour the main points in this lecture.
Summary • An agent is a system that is capable of independent action on behalf of its user or owner. • A multi-agent system is one that consists of a number of agents which interact with one another. • In order to successfully interact, agents need ability to cooperate, coordinateandnegotiate.
Definition of Agents - Summary • An agent acts on behalf of another user or entity • An agent has the weak agent properties: • autonomy, pro-activity, reactivity and social ability • An agent may have strongagent properties : • mentalistic notions such as beliefs and desires • Other properties discussed in the context of agents: • mobility, veracity, benevolence and rationality
References • Curriculum: Wooldridge: ”Introduction to MAS” • Chapters 1 & 2 • Article:Agent Typology • H. S. Nwana. ”Software Agents: An Overview”, Knowledge Engineering Review, Vol. 11, No. 3, 1996, 40 pages • Recommended Reading (not curriculum) • B. Moulin, B. Chaib-draa. ”An Overview of Distributed Artificial Intelligence”. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 3-56.
Next Lecture: Multi-agent Interactions Will be based on: ”Multi-agent Interactions”, Chapter 6 in Wooldridge: ”Introduction to MultiAgent Systems”