Presentation on theme: "Peer-to-peer and agent-based computing Agents & Multi-Agent Systems: Introduction."— Presentation transcript:
peer-to-peer and agent-based computing Agents & Multi-Agent Systems: Introduction
peer-to-peer and agent-based computing 2 Agents and Multi-agent Systems (MAS) Software agents are programs with unique features such as: –Autonomy (no/little human input or interference) –Proactiveness (act in an anticipatory fashion, i.e., before things happen) –Social skills (agents communicate) A MAS has many autonomous entities (the agents) interacting with one other to achieve –Conflicting goals (competition) or –Joint goals (cooperation) Inevitable conclusions: not every program is a software agent not every IT/e-business solution requires a MAS
peer-to-peer and agent-based computing 3 Agents, MASs & AI Classical Artificial Intelligence (AI) concentrates on modelling single agents: – A single, stand-alone expert system – A single, stand-alone natural language processing system – A single, stand-alone robot that learns –... Work on agents & MASs investigate scenarios in which various agents communicate: –Individual agents do not have to be clever… –The intelligence may only arise in the agents collective behaviour, as in, for instance, an ant colony
peer-to-peer and agent-based computing 4 The goal of this part of the course is… Introduce aspects of agents and MAS: 1.Case studies and technologies (platforms, languages) 2.Communication languages and protocols 3.Auctions and voting mechanisms 4.Negotiation 5.Game theory 6.Mobile agents 7.Sensor networks
peer-to-peer and agent-based computing 5 Agent-Oriented Programming Computer science has a number of goals: –Develop human-oriented, ubiquitous systems, –Interconnect disparate elements, –Create systems to make autonomous and intelligent decisions about delegated tasks. Programming has progressed through: –sub-routines, procedures and functions, –abstract data types, and objects –to agents
peer-to-peer and agent-based computing 6 Agents in e-Commerce Software agents can be delegated tasks such as: Information retrieval Finding the cheapest/best supplier Maintaining a companys stock of components Buying and selling in an energy market Management & coordination of business processes
peer-to-peer and agent-based computing 7 Agents in e-Science Software agents can be delegated tasks such as: Finding an appropriate computational resource Distributing results of scientific experiments Negotiating the provision of a high-demand tool Management & coordination of scientific processes
peer-to-peer and agent-based computing 8 How to build agents & MASs… How do we build software agents to carry out the tasks delegated to them? –How do we build agents that can interact with others in order to do what they were told to… –We may not have control as to how the other agents out there will behave! How do we engineer a MAS consisting of many independent components that interact? –How do we address features from individual agents as well as global properties of the group of agents? –Do we write each agent individually? There may be 100s of them! Lets make this discussion more concrete: –Scenario: agentifying Microsofts Outlook…
peer-to-peer and agent-based computing 9 How to build agents & MASs… (Contd) Microsofts Outlook offers means for people to share their diaries: –A person can organise a meeting and invite other people to attend it An invitation can either be accepted or refused –If refused the person who is trying to organise the meeting will need to try again, and tell everyone who has accepted that the meeting will be changed, etc. –This is a tedious process which can take a long time! Would it not be better if the people who could not attend suggested a time that would suit them? –This task could, however, be delegated to a program! How would you program this?
peer-to-peer and agent-based computing 10 How to build agents & MASs… (Contd) Can we meet at 2PM tomorrow? Sorry, I cant. What about 3PM? Failing that, would Monday be any good? We would want the following to happen: Dead easy: A program provides communication between running copies of Outlook Which language? This program exchanges messages Which kinds of messages are permitted and in which order? Can we ensure the dialogue always terminates? Which setup? Peer-to-peer? Client-server? Will we allow foreign agents to join in?
peer-to-peer and agent-based computing 11 How to build agents & MASs… (Contd) However, the solution should scale up:
peer-to-peer and agent-based computing 12 The Agent Concept What is an agent? Agent characteristics Agents and other things Environment characteristics The intentional stance
peer-to-peer and agent-based computing 13 What is an Agent? Main point: –Agents act independently, controlling their internal state Agents are capable of autonomous action in some environment within which they live –Agents actions may affect/change the environment –Environment, on its turn, is the input to the agent
peer-to-peer and agent-based computing 14 The Environment Environments are: The physical or virtual space within which the agent works Examples: –A program controlling a door mechanism –A program roaming the Web for cheap flights to Dublin
peer-to-peer and agent-based computing 15 If the environment is fixed and –Only the agent can cause the environment to change –The effects of the actions are stable then the system may execute blindly. –E.g., a thermostat and a heater However, realistic environments are not like that: –Other factors influence the environment –The effects of actions may be unstable –E.g., agents in a network of computers Interesting environments are dynamic Agents: reactivity
peer-to-peer and agent-based computing 16 Software for dynamic environments is hard to build! –It must expect the unexpected & possibility of failure Reactive system: –Maintains an on-going interaction with its environment –Responds to significant changes in time for the response to be useful (no point in responding 3 hours later…) Given a stimulus, agents respond with a designated response: –Programming by events outwith the agents control –If the environment is very diverse then we cannot foresee all possible events… –Therein lies the challenge and beauty of agent design Agents: reactivity (Contd)
peer-to-peer and agent-based computing 17 Agents monitor and react to environment… On top of that, we want our agents to achieve the goals we delegated to them: –E.g., a shop-bot should text us with a deal on tickets This feature of agents is called proactiveness: –When left on its own, an agent that has programmed goals, will strive to achieve them –It is part of its design to actively pursue its goals Agents: goal-directed behaviour
peer-to-peer and agent-based computing 18 A lonely agent is a contradiction: –Many agents can achieve something bigger than each of them can do in isolation… The world is a large multi-agent environment: –People, Java programs, Web services, etc. –The actions and goals of other agents must be taken into account when we are designing our agents –Some goals can only be achieved with the cooperation of other agents; other goals may lead to competition! Agents should be endowed with social abilities: –The ability to interact with other agents meaningfully –Direct or indirect communication (message-passing) –Terms of a cooperation can be negotiated and agreed Agents: social ability
peer-to-peer and agent-based computing 19 Agents may also possess –Mobility: the ability to move around machines –Veracity: they will not knowingly provide false information –Benevolence: they will, if possible, do what is asked –Rationality: an agent will act towards achieving its goals, and not act to make these goals unachievable –Learning/adaptation skills: agents improve their performance from experience Agents: other features
peer-to-peer and agent-based computing 20 Reading List An Introduction to Multi-Agent Systems, M. Wooldridge, John Wiley & Sons, 2008 Is it an agent or just a program? S. Franklin and A. Graesser, available on-line at http://www.msci.memphis.edu/~franklin/AgentProg.html Artificial Intelligence: A Modern Approach (2 nd Ed.), S. Russell and P. Norvig, Prentice-Hall, 2003. Multi-Agent Systems: A Modern Approach to Distributed Artificial Intelligence, G. Weiss (editor), MIT Press, 1999. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence, J. Ferber, Addison- Wesley, 1999.