abc introduction group

Upload: arnrockzz

Post on 02-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 ABC Introduction group

    1/20

    peer-to-peer andagent-based computing

    Agents & Multi-AgentSystems: Introduction

  • 8/11/2019 ABC Introduction group

    2/20

    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

  • 8/11/2019 ABC Introduction group

    3/20

    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 inwhich 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

  • 8/11/2019 ABC Introduction group

    4/20

    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 protocols3. Auctions and voting mechanisms4. Negotiation5. Game theory6. Mobile agents

    7. Sensor networks

  • 8/11/2019 ABC Introduction group

    5/20

    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

  • 8/11/2019 ABC Introduction group

    6/20

    peer-to-peer and agent-based computing 6

    Agents in e-CommerceSoftware 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

  • 8/11/2019 ABC Introduction group

    7/20 peer-to-peer and agent-based computing 7

    Agents in e-ScienceSoftware 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

  • 8/11/2019 ABC Introduction group

    8/20 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 manyindependent 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

  • 8/11/2019 ABC Introduction group

    9/20 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 willneed to try again, and tell everyone who has accepted that themeeting 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?

  • 8/11/2019 ABC Introduction group

    10/20 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? Failingthat, 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?

  • 8/11/2019 ABC Introduction group

    11/20 peer-to-peer and agent-based computing 11

    How to build agents & MASs (Contd) However, the solution should scale up :

  • 8/11/2019 ABC Introduction group

    12/20 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

  • 8/11/2019 ABC Introduction group

    13/20 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

  • 8/11/2019 ABC Introduction group

    14/20

    peer-to-peer and agent-based computing 14

    The EnvironmentEnvironments are:

    The physical or virtual space within which the agentworks Examples:

    A program controlling a door mechanism

    A program roaming the Web for cheap flights to Dublin

  • 8/11/2019 ABC Introduction group

    15/20

    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

  • 8/11/2019 ABC Introduction group

    16/20

    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 designatedresponse: 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)

  • 8/11/2019 ABC Introduction group

    17/20

    peer-to-peer and agent-based computing 17

    Agents monitor and react to environment

    On top of that, we want our agents to achieve thegoals 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 programmedgoals, will strive to achieve them It is part of its design to actively pursue its goals

    Agents: goal-directed behaviour

  • 8/11/2019 ABC Introduction group

    18/20

    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

  • 8/11/2019 ABC Introduction group

    19/20

    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

  • 8/11/2019 ABC Introduction group

    20/20

    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 athttp://www.msci.memphis.edu/~franklin/AgentProg.html

    Artificial Intelligence: A Modern Approach (2nd Ed.),S. Russell and P. Norvig, Prentice-Hall, 2003.

    Multi-Agent Systems: A Modern Approach toDistributed Artificial Intelligence , G. Weiss (editor),MIT Press, 1999.

    Multi-Agent Systems: An Introduction toDistributed Artificial Intelligence , J. Ferber, Addison-Wesley, 1999.