LECTURE 1:
INTRODUCTION TO
AGENTS AND MAS

  Artificial Intelligence II – Multi-Agent Systems –
         Introduction to Multi-Agent Systems
             URV, Winter-Spring 2010
Outline of the lecture

 Main trends in Computer Science
 Agents and multi-agent systems
 Viewpoints on agent technology
 Agent technology roadmap
 Challenges on agent technology
 Objections to MAS
Important aspects in Computer Science
 Five ongoing trends are marking the history
 of computing:
   ubiquity
   interconnection
   intelligence
   delegation
   human-orientation in programming methodologies
Ubiquity
 The continuous reduction in cost of
 computing capability has made it possible to
 introduce processing power into places and
 devices that would have once been
 uneconomic / unimaginable [e.g. Nike+]
 As processing capability spreads,
 sophistication (and intelligence of a sort)
 becomes ubiquitous
 What could benefit from having a processor
 embedded in it…?
Ambient Intelligence
 Aimed at seamless delivery of services and applications.
 Relies on ubiquitous computing, ubiquitous
 communication and intelligent user interfaces.
 The vision
   An environment of potentially thousands of embedded and
   mobile devices (or software components) interacting to support
   user-centred goals and activity.
   Suggests a component-oriented view of the world in which the
   components are independent and distributed.
   Autonomy, distribution, adaptation, responsiveness, and so on,
   are key characteristics of these components, and in this sense
   they share the same characteristics as agents.
 Requires agents to be able to interact with numerous
 other agents in the environment around them in order to
 achieve their goals.
Interconnection
 Computer systems today no longer stand
 alone, but are networked into large
 distributed systems
 Obvious example: Internet
 Since distributed and concurrent systems
 have become the norm, some researchers
 are putting forward theoretical models that
 portray computing as primarily a process of
 interaction
Connectivity -Technological context
 Semantic Web
   The Semantic Web is based on the idea that the data
   on the Web can be defined and linked in such a way
   that it can be used by machines for the automatic
   processing and integration of data across different
   applications (Berners-Lee et al., 2001).
 Peer-to-Peer computing
 Grid computing
Intelligence
 The complexity of tasks that we are capable
 of automating and delegating to computers
 has grown steadily
 If you don’t feel comfortable with this
 definition of “intelligence”, it’s probably
 because you are a human
Delegation
 Computers are doing more for us – without
 our intervention
 We are giving control to computers, even in
 safety critical tasks
 One example: fly-by-wire aircraft, where the
 machine’s judgment may be trusted more
 than an experienced pilot
 Next on the agenda: fly-by-wire cars,
 intelligent braking systems, cruise control that
 maintains distance from car in front…
Driving automation
1. Road Condition
Reporting
2. Adaptive Cruise
Control
3. Omnidirectional
Collision System
4. Lane-Departure
Prevention
5. Auto Parallel Park
6. Blind-Spot
Sensors
7. Corner Speed
Human Orientation
 The movement away from machine-oriented
 views of programming toward concepts and
 metaphors that more closely reflect the way
 we ourselves understand the world
 Programmers (and users!) relate to the
 machine differently
 Programmers conceptualize and implement
 software in terms of higher-level – more
 human-oriented – abstractions
Agent-Oriented Software Engineering
  Programming has progressed through
    machine code
    assembly language
    machine-independent programming languages
    sub-routines
    procedures & functions
    abstract data types
    objects
to agents.
Where does it bring us?
 Delegation and Intelligence imply the need to
 build computer systems that can act
 effectively on our behalf
 This implies:
   The ability of computer systems to act
   independently
   The ability of computer systems to act in a way
   that represents our best interests while interacting
   with other humans or systems
Interconnection and Distribution
 Interconnection and Distribution have
 become core motifs in Computer Science
 But Interconnection and Distribution, coupled
 with the need for systems to represent our
 best interests, implies systems that can
 cooperate and reach agreements (or even
 compete) with other systems that have
 different interests (much as we do with other
 people)
So Computer Science expands…

 These issues were not studied in Computer
 Science until recently
 All of these trends have led to the emergence
 of a new field in Computer Science:
 multiagent systems
Agents, a Definition
  An agent is a computer system that is located in a
  dynamic environment and is capable of
  independent action on behalf of its user or owner
  (figuring out what needs to be done to satisfy
  design objectives, rather than constantly being
  told)
  Intelligent action, probably using Artificial
  Intelligence tools and techniques
  An agent should satisfy a certain number of
  properties [lecture on week 3]
Multiagent Systems, a Definition
 A multiagent system is one that
 consists of a number of agents,
 which interact with one-another
 In the most simple case, all
 agents are programmed by the
 same team and they collaborate
 to complete a task
 In the most general case,
 agents will be acting on behalf
 of users with different goals and
 motivations
 To successfully interact, they
 will require the ability to
 cooperate, coordinate, and
 negotiate with each other, much
 as people do
Related areas
  Several sub-disciplines of information
  technology are related to software agent
  technology:
    computer networks,
    software engineering,
    Artificial Intelligence,
    human-computer interaction,
    distributed and concurrent systems,
    mobile systems, computer-supported
    cooperative work, control systems, decision
    support, information retrieval and management,
    electronic commerce...
Micro and macro aspects
 Agent technologies can be grouped into three
 categories
   Agent-level [micro level]
      technologies and techniques concerned only with individual
      agents — for example, procedures for agent reasoning and
      learning.
   Interaction-level
      technologies and techniques that concern the
      communications between agents
      communication languages, interaction protocols and
      resource allocation mechanisms.
   Organization-level [macro level]
      technologies and techniques related to agent societies as a
      whole.
      structure, trust, norms, obligations, etc.
Multiagent Systems
 In Multiagent Systems, we address questions
 such as:
   What kinds of languages can agents use to
   communicate?
   How can cooperation emerge in societies of self-
   interested agents?
   How can self-interested agents recognize conflict,
   and how can they (nevertheless) reach
   agreement?
   How can autonomous agents coordinate their
   activities so as to cooperatively achieve goals?
Multiagent Systems
 While these questions are all addressed
 in part by other disciplines (notably
 Economics and Social Sciences), what
 makes the multiagent systems field
 unique is that it emphasizes that the
 agents in question are computational,
 information processing entities.
Example 1 - Spacecraft Control
 When a space probe makes a flight to the outer
 planets, a ground crew is usually required to
 continually track its progress, and decide how to
 deal with unexpected eventualities. This is costly
 and, if decisions are required quickly, it is simply not
 practicable. NASA is investigating the possibility of
 making probes more autonomous — giving them
 richer decision making capabilities and
 responsibilities.
 This is not fiction: NASA’s DS1 has done it!
Autonomous Agents for specialized tasks

 The DS1 example is one of a generic class
 Agents (and their physical instantiation in
 robots) have a role to play in high-risk
 situations, unsuitable or impossible for
 humans
 The degree of autonomy will differ depending
 on the situation (remote human control may
 be an alternative, but not always)
Example 2 - Air Traffic Control
 “A key air-traffic control system suddenly fails,
 leaving flights in the vicinity of the airport with
 no air-traffic control support. Fortunately,
 autonomous air-traffic control systems in
 nearby airports recognize the failure of their
 peer, and cooperate to track and deal with all
 affected flights.”
 Systems taking the initiative when necessary
 Agents cooperating to solve problems beyond
 the capabilities of any individual agent
Example 3 - Internet Agents
 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 pieces of
 information from various different Internet
 information sources.
Example 4 – e-personal assistants
 Internet agents need not simply search
 They can plan, arrange, buy, negotiate –
 carry out arrangements of all sorts that would
 normally be done by their human user
 As more can be done electronically, software
 agents theoretically have more access to
 systems that affect the real-world
 For example, preparing a holiday trip
Research Issues
 How do you state your preferences to your
 agent?
 How can your agent compare different deals
 from different vendors? What if there are many
 different parameters?
 What algorithms can your agent use to
 negotiate with other agents?
 These issues aren’t frivolous – automated
 procurement could be used massively by (for
 example) government agencies
Multiagent Systems is Interdisciplinary
 The field of Multiagent Systems is influenced and
 inspired by many other fields:
   Economics
   Philosophy
   Game Theory
   Logic
   Ecology
   Social Sciences
 This can be both a strength (infusing well-founded
 methodologies into the field) and a weakness (there
 are many different views as to what the field is about)
 This has analogies with Artificial Intelligence itself
Some Views of the Field
 Agents as a paradigm for software
 engineering:
 Software engineers have derived a
 progressively better understanding of the
 characteristics of complexity in software. It
 is now widely recognized that interaction is
 probably the most important single
 characteristic of complex software
Agents as design metaphor

 Agent-oriented software engineering
    Agents allow software designers and developers
    to structure an application using autonomous,
    communicative components.
    In this sense, software agents offer a new and
    often more appropriate route to the development
    of complex computational systems, especially in
    open and dynamic environments.
      Modularity, reusability,
      collaborative behaviour
Agents as source of technologies
 Software agent technologies span a range of
 specific techniques and algorithms
    balancing reaction and deliberation in individual
    agent architectures [lecture 2]
    learning from and about other agents in the
    environment
    eliciting and acting upon user preferences
    finding ways to negotiate and cooperate with
    other agents
    developing appropriate means of forming and
    managing coalitions (and other organizations)
Social simulation
  Agents as a tool for understanding human
  societies:
  Multiagent systems provide a novel new
  tool for simulating societies, which may
  help shed some light on various kinds of
  social processes.
  This has analogies with the interest in
  “theories of the mind” explored by some
  Artificial Intelligence researchers
Agent-based simulation
 Multi-agent systems provide strong models
 for representing complex and dynamic real-
 world environments.
   modelling of the impact of climate change on
   biological populations
   modelling the impact of public policy options on
   social or economic behaviour
   modelling intelligent buildings
   modelling traffic systems
   modelling biological populations
Distributed computing theory
 Multiagent Systems is primarily a search for
 appropriate theoretical foundations:
 We want to build systems of interacting,
 autonomous agents, but we don’t yet know
 what these systems should look like
 You can take a “neat” or “scruffy” approach to
 the problem, seeing it as a problem of theory
 or a problem of engineering
 This, too, has analogies with Artificial
 Intelligence research
Agent technology roadmap [AgentLink]
  There are four broad phases
    Phase 1: current
    Phase 2: short-term future
    Phase 3: medium-term future
    Phase 4: long-term future

  Time phases distinguished along dimensions:
    The degree to which the participating agents share
    common domain knowledge and common goals.
    The degree to which participating agents are
    designed by the same or diverse design teams.
Phase 1: present state
   Systems are designed by the same teams.
   Systems share common domain knowledge.
   Participating agents have a global objective.
   Agent communication languages are based on
   standards.
   Interaction protocols remain non-standard.
   Low scalability, few agents.
   Example systems include those to enable
   automated scheduling coordination between
   different departments, etc.
Phase 2: short-term future
  Multi-agent systems will increasingly be designed to cross
  corporate boundaries.
  Participating agents have few goals in common, although
  their interactions will still concern a common domain
  Agents will be designed by a same team, and will share
  common domain knowledge.
  Standard agent communication languages, such as FIPA
  ACL, will be used.
  Interaction protocols will be mixed between standard and
  non-standard ones.
  Systems will be able to handle large numbers of agents in
  pre-determined environments.
  Development methodologies, languages and tools will have
  reached a degree of maturity.
Phase 3: medium-term future
   Multi-agent systems will permit participation by
   heterogeneous agents, designed by different designers or
   teams.
   Any agent will be able to participate in these systems.
       Their (observable) behaviour conforms to publicly-
       stated requirements and standards.
   Open systems will typically be specific to particular
   application domains, such as B2B eCommerce or
   bioinformatics.
   The languages and protocols used will be agreed and
   standardised, perhaps drawn from public libraries of
   alternative protocols.
   Commonly agreed modelling languages
       Agent-UML
Phase 4: Long-term future
  Truly open and fully-scalable agent systems
  spanning multiple application domains and
  developed by diverse design terms
  Agents learn appropriate protocols and behaviour
  upon entry to system
  Languages, protocols, and behaviours emerge
  from actual agent interactions.
  Evolving organisational structure with multiple,
  dynamic, interacting organisations.
  Self-modifying agent communications languages.
  Use of agent-specific design methodologies.
Challenges in agent technology

 Implementing multi-agent systems is still a complex
 task.
   Lack of maturity in both methodologies and programming
   tools.
   Lack of specialized debugging tools.
   Lack of skills needed to move from analysis and design to
   code.
   Problems associated with awareness of the specifics of
   different agent platforms.
   Problems in understanding the nature of what is a new and
   distinct approach to systems development.
Technological Challenges
  Increase quality of agent software to industrial
  standard
    Agent oriented design methodologies, tools and
    development environments.
    Seamless integration with existing technologies.
       Web, information systems
    Non-functional properties: scalability, performance,
    reliability, and robustness.
    Analysis point of view
       Agent technology requires dedicated basic
       concepts and languages:
           Dynamic aspects, such as time and action.
           Locality aspects, such as position in a space.
Technological Challenges
 Increase quality of agent software to industrial
 standard (cont.)
   Design point of view
      The key point is reusability
      Libraries of
          Generic organisation models (hierarchical, flat, etc.).
          Generic agent models (reactive, deliberative, etc.)
          Generic task models (diagnostic, information filtering, etc.).
          Communication languages and patterns for agent societes.
          Ontology patterns for agent requirements, models, and organisation.
          Interaction protocol patterns between agents with special roles.
          Reusable knowledge bases.
Technological Challenges
  Develop reasoning capabilities for agents
   Virtual organisations, e-institutions
      Heterogeneity of agents, trust, and failure
      handling and recovery.
      Norms, legislation, authorities, and enforcement.
   Coalition formation
      Dynamic coalitions of small groups of agents.
   Negotiation and argumentation strategies
   Distributed planning techniques
Technological Challenges
  Develop agent ability to understand user
  requirements
   User profiling
   Personalisation
   Knowledge acquisition tools
  Develop agent ability to adapt to changes
  in environment
   Learning
   Evolutionary programming techniques
Technological Challenges

  Ensure user confidence and trust in agents
    Security technologies.
      Security in open agent systems.
      Agents must be secure and must not reveal information
      inappropriately.
      Confidence that agents representing other parties will
      behave within certain constrains.
Technological Challenges
 Ensure user confidence and trust in agents
 (cont).
   Models and infrastructure for trust and reputation.
      Reputation mechanisms to assess the past behaviour of
      particular agents or users, to allow avoidance of
      untrustworthy agents.
      The adoption of norms (social rules) by all members of
      an open agent system.
      Enforcement of sanctions against agents not following
      rules (or self-enforcing protocols).
      The use of electronic contracts to represent and enforce
      agreements between several parties.
Technological Challenges
 Provide semantic infrastructure for open agent
 communities
    Ontologies
    Semantic Web
    Matchmaking and broker architectures
 Exiting out of laboratories requires
    A greater understanding of how agents, databases and
    information systems interact.
    Investigation of the real-world implications of information
    agents.
    Development of benchmarks for agent system performance
    and efficiency.
    New web standards that enable structural and semantic
    description of information.
    Creation of common ontologies, thesauri, or knowledge
    bases.
Preconditions for wide-scale usage

   Software agent technology is better than other ones.
     At least, when compared using one measurable
     parameter in the application field ....
   There are enough trained, skillful persons to
   develop applications with software agent
   technology.
   Development tools are easy to use and powerful
   enough to develop applications.
   Technology is generally known.
     Including top-level management.
Objections to MAS (I)
 Isn’t it all just Distributed/Concurrent Systems?
 There is much to learn from this community,
 but:
   Agents are assumed to be autonomous, capable of
   making independent decision – so they need
   mechanisms to synchronize and coordinate their
   activities at run time
   Agents are (can be) self-interested, so their
   interactions are “economic” encounters
   (negotiation)
Objections to MAS (II)
 Isn’t it all just AI?
   We don’t need to solve all the problems of
   Artificial Intelligence (i.e., all the components of
   intelligence) in order to build really useful agents
   Classical AI ignored social aspects of agency.
   These are important parts of intelligent activity in
   real-world settings
Objections to MAS (III)
 Isn’t it all just Economics/Game Theory?
 These fields also have a lot to teach us in
 multiagent systems, but:
   Insofar as game theory provides descriptive
   concepts, it doesn’t always tell us how to compute
   solutions; we’re concerned with computational,
   resource-bounded agents
   Some assumptions in economics/game theory
   (such as a rational agent) may not be valid or
   useful in building artificial agents
Objections to MAS (IV)
  Isn’t it all just Social Science?
    We can draw insights from the study of
    human societies, but there is no particular
    reason to believe that artificial societies will be
    constructed in the same way
    Again, we have inspiration and cross-
    fertilization, but hardly subsumption
Readings for this week

 M.Wooldridge: An
 introduction to MultiAgent
 Systems – chapter 1
 A.Mas: Agentes software y
 sistemas multi-agente:
 conceptos, arquitecturas y
 aplicaciones – initial part of
 chapter 1
 Agent Technology:
 Computing as Interaction
    AgentLink III roadmap
Mindmap, chapter 1 (Wooldridge)

Introduction to agents and multi-agent systems

  • 1.
    LECTURE 1: INTRODUCTION TO AGENTSAND MAS Artificial Intelligence II – Multi-Agent Systems – Introduction to Multi-Agent Systems URV, Winter-Spring 2010
  • 2.
    Outline of thelecture Main trends in Computer Science Agents and multi-agent systems Viewpoints on agent technology Agent technology roadmap Challenges on agent technology Objections to MAS
  • 3.
    Important aspects inComputer Science Five ongoing trends are marking the history of computing: ubiquity interconnection intelligence delegation human-orientation in programming methodologies
  • 4.
    Ubiquity The continuousreduction in cost of computing capability has made it possible to introduce processing power into places and devices that would have once been uneconomic / unimaginable [e.g. Nike+] As processing capability spreads, sophistication (and intelligence of a sort) becomes ubiquitous What could benefit from having a processor embedded in it…?
  • 5.
    Ambient Intelligence Aimedat seamless delivery of services and applications. Relies on ubiquitous computing, ubiquitous communication and intelligent user interfaces. The vision An environment of potentially thousands of embedded and mobile devices (or software components) interacting to support user-centred goals and activity. Suggests a component-oriented view of the world in which the components are independent and distributed. Autonomy, distribution, adaptation, responsiveness, and so on, are key characteristics of these components, and in this sense they share the same characteristics as agents. Requires agents to be able to interact with numerous other agents in the environment around them in order to achieve their goals.
  • 7.
    Interconnection Computer systemstoday no longer stand alone, but are networked into large distributed systems Obvious example: Internet Since distributed and concurrent systems have become the norm, some researchers are putting forward theoretical models that portray computing as primarily a process of interaction
  • 9.
    Connectivity -Technological context Semantic Web The Semantic Web is based on the idea that the data on the Web can be defined and linked in such a way that it can be used by machines for the automatic processing and integration of data across different applications (Berners-Lee et al., 2001). Peer-to-Peer computing Grid computing
  • 11.
    Intelligence The complexityof tasks that we are capable of automating and delegating to computers has grown steadily If you don’t feel comfortable with this definition of “intelligence”, it’s probably because you are a human
  • 12.
    Delegation Computers aredoing more for us – without our intervention We are giving control to computers, even in safety critical tasks One example: fly-by-wire aircraft, where the machine’s judgment may be trusted more than an experienced pilot Next on the agenda: fly-by-wire cars, intelligent braking systems, cruise control that maintains distance from car in front…
  • 13.
    Driving automation 1. RoadCondition Reporting 2. Adaptive Cruise Control 3. Omnidirectional Collision System 4. Lane-Departure Prevention 5. Auto Parallel Park 6. Blind-Spot Sensors 7. Corner Speed
  • 14.
    Human Orientation Themovement away from machine-oriented views of programming toward concepts and metaphors that more closely reflect the way we ourselves understand the world Programmers (and users!) relate to the machine differently Programmers conceptualize and implement software in terms of higher-level – more human-oriented – abstractions
  • 15.
    Agent-Oriented Software Engineering Programming has progressed through machine code assembly language machine-independent programming languages sub-routines procedures & functions abstract data types objects to agents.
  • 16.
    Where does itbring us? Delegation and Intelligence imply the need to build computer systems that can act effectively on our behalf This implies: The ability of computer systems to act independently The ability of computer systems to act in a way that represents our best interests while interacting with other humans or systems
  • 17.
    Interconnection and Distribution Interconnection and Distribution have become core motifs in Computer Science But Interconnection and Distribution, coupled with the need for systems to represent our best interests, implies systems that can cooperate and reach agreements (or even compete) with other systems that have different interests (much as we do with other people)
  • 18.
    So Computer Scienceexpands… These issues were not studied in Computer Science until recently All of these trends have led to the emergence of a new field in Computer Science: multiagent systems
  • 19.
    Agents, a Definition An agent is a computer system that is located in a dynamic environment and is capable of independent action on behalf of its user or owner (figuring out what needs to be done to satisfy design objectives, rather than constantly being told) Intelligent action, probably using Artificial Intelligence tools and techniques An agent should satisfy a certain number of properties [lecture on week 3]
  • 20.
    Multiagent Systems, aDefinition A multiagent system is one that consists of a number of agents, which interact with one-another In the most simple case, all agents are programmed by the same team and they collaborate to complete a task In the most general case, agents will be acting on behalf of users with different goals and motivations To successfully interact, they will require the ability to cooperate, coordinate, and negotiate with each other, much as people do
  • 21.
    Related areas Several sub-disciplines of information technology are related to software agent technology: computer networks, software engineering, Artificial Intelligence, human-computer interaction, distributed and concurrent systems, mobile systems, computer-supported cooperative work, control systems, decision support, information retrieval and management, electronic commerce...
  • 22.
    Micro and macroaspects Agent technologies can be grouped into three categories Agent-level [micro level] technologies and techniques concerned only with individual agents — for example, procedures for agent reasoning and learning. Interaction-level technologies and techniques that concern the communications between agents communication languages, interaction protocols and resource allocation mechanisms. Organization-level [macro level] technologies and techniques related to agent societies as a whole. structure, trust, norms, obligations, etc.
  • 23.
    Multiagent Systems InMultiagent Systems, we address questions such as: What kinds of languages can agents use to communicate? How can cooperation emerge in societies of self- interested agents? How can self-interested agents recognize conflict, and how can they (nevertheless) reach agreement? How can autonomous agents coordinate their activities so as to cooperatively achieve goals?
  • 24.
    Multiagent Systems Whilethese questions are all addressed in part by other disciplines (notably Economics and Social Sciences), what makes the multiagent systems field unique is that it emphasizes that the agents in question are computational, information processing entities.
  • 25.
    Example 1 -Spacecraft Control When a space probe makes a flight to the outer planets, a ground crew is usually required to continually track its progress, and decide how to deal with unexpected eventualities. This is costly and, if decisions are required quickly, it is simply not practicable. NASA is investigating the possibility of making probes more autonomous — giving them richer decision making capabilities and responsibilities. This is not fiction: NASA’s DS1 has done it!
  • 27.
    Autonomous Agents forspecialized tasks The DS1 example is one of a generic class Agents (and their physical instantiation in robots) have a role to play in high-risk situations, unsuitable or impossible for humans The degree of autonomy will differ depending on the situation (remote human control may be an alternative, but not always)
  • 28.
    Example 2 -Air Traffic Control “A key air-traffic control system suddenly fails, leaving flights in the vicinity of the airport with no air-traffic control support. Fortunately, autonomous air-traffic control systems in nearby airports recognize the failure of their peer, and cooperate to track and deal with all affected flights.” Systems taking the initiative when necessary Agents cooperating to solve problems beyond the capabilities of any individual agent
  • 29.
    Example 3 -Internet Agents 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 pieces of information from various different Internet information sources.
  • 30.
    Example 4 –e-personal assistants Internet agents need not simply search They can plan, arrange, buy, negotiate – carry out arrangements of all sorts that would normally be done by their human user As more can be done electronically, software agents theoretically have more access to systems that affect the real-world For example, preparing a holiday trip
  • 31.
    Research Issues Howdo you state your preferences to your agent? How can your agent compare different deals from different vendors? What if there are many different parameters? What algorithms can your agent use to negotiate with other agents? These issues aren’t frivolous – automated procurement could be used massively by (for example) government agencies
  • 32.
    Multiagent Systems isInterdisciplinary The field of Multiagent Systems is influenced and inspired by many other fields: Economics Philosophy Game Theory Logic Ecology Social Sciences This can be both a strength (infusing well-founded methodologies into the field) and a weakness (there are many different views as to what the field is about) This has analogies with Artificial Intelligence itself
  • 33.
    Some Views ofthe Field Agents as a paradigm for software engineering: Software engineers have derived a progressively better understanding of the characteristics of complexity in software. It is now widely recognized that interaction is probably the most important single characteristic of complex software
  • 34.
    Agents as designmetaphor Agent-oriented software engineering Agents allow software designers and developers to structure an application using autonomous, communicative components. In this sense, software agents offer a new and often more appropriate route to the development of complex computational systems, especially in open and dynamic environments. Modularity, reusability, collaborative behaviour
  • 35.
    Agents as sourceof technologies Software agent technologies span a range of specific techniques and algorithms balancing reaction and deliberation in individual agent architectures [lecture 2] learning from and about other agents in the environment eliciting and acting upon user preferences finding ways to negotiate and cooperate with other agents developing appropriate means of forming and managing coalitions (and other organizations)
  • 36.
    Social simulation Agents as a tool for understanding human societies: Multiagent systems provide a novel new tool for simulating societies, which may help shed some light on various kinds of social processes. This has analogies with the interest in “theories of the mind” explored by some Artificial Intelligence researchers
  • 37.
    Agent-based simulation Multi-agentsystems provide strong models for representing complex and dynamic real- world environments. modelling of the impact of climate change on biological populations modelling the impact of public policy options on social or economic behaviour modelling intelligent buildings modelling traffic systems modelling biological populations
  • 39.
    Distributed computing theory Multiagent Systems is primarily a search for appropriate theoretical foundations: We want to build systems of interacting, autonomous agents, but we don’t yet know what these systems should look like You can take a “neat” or “scruffy” approach to the problem, seeing it as a problem of theory or a problem of engineering This, too, has analogies with Artificial Intelligence research
  • 40.
    Agent technology roadmap[AgentLink] There are four broad phases Phase 1: current Phase 2: short-term future Phase 3: medium-term future Phase 4: long-term future Time phases distinguished along dimensions: The degree to which the participating agents share common domain knowledge and common goals. The degree to which participating agents are designed by the same or diverse design teams.
  • 41.
    Phase 1: presentstate Systems are designed by the same teams. Systems share common domain knowledge. Participating agents have a global objective. Agent communication languages are based on standards. Interaction protocols remain non-standard. Low scalability, few agents. Example systems include those to enable automated scheduling coordination between different departments, etc.
  • 42.
    Phase 2: short-termfuture Multi-agent systems will increasingly be designed to cross corporate boundaries. Participating agents have few goals in common, although their interactions will still concern a common domain Agents will be designed by a same team, and will share common domain knowledge. Standard agent communication languages, such as FIPA ACL, will be used. Interaction protocols will be mixed between standard and non-standard ones. Systems will be able to handle large numbers of agents in pre-determined environments. Development methodologies, languages and tools will have reached a degree of maturity.
  • 43.
    Phase 3: medium-termfuture Multi-agent systems will permit participation by heterogeneous agents, designed by different designers or teams. Any agent will be able to participate in these systems. Their (observable) behaviour conforms to publicly- stated requirements and standards. Open systems will typically be specific to particular application domains, such as B2B eCommerce or bioinformatics. The languages and protocols used will be agreed and standardised, perhaps drawn from public libraries of alternative protocols. Commonly agreed modelling languages Agent-UML
  • 44.
    Phase 4: Long-termfuture Truly open and fully-scalable agent systems spanning multiple application domains and developed by diverse design terms Agents learn appropriate protocols and behaviour upon entry to system Languages, protocols, and behaviours emerge from actual agent interactions. Evolving organisational structure with multiple, dynamic, interacting organisations. Self-modifying agent communications languages. Use of agent-specific design methodologies.
  • 45.
    Challenges in agenttechnology Implementing multi-agent systems is still a complex task. Lack of maturity in both methodologies and programming tools. Lack of specialized debugging tools. Lack of skills needed to move from analysis and design to code. Problems associated with awareness of the specifics of different agent platforms. Problems in understanding the nature of what is a new and distinct approach to systems development.
  • 46.
    Technological Challenges Increase quality of agent software to industrial standard Agent oriented design methodologies, tools and development environments. Seamless integration with existing technologies. Web, information systems Non-functional properties: scalability, performance, reliability, and robustness. Analysis point of view Agent technology requires dedicated basic concepts and languages: Dynamic aspects, such as time and action. Locality aspects, such as position in a space.
  • 47.
    Technological Challenges Increasequality of agent software to industrial standard (cont.) Design point of view The key point is reusability Libraries of Generic organisation models (hierarchical, flat, etc.). Generic agent models (reactive, deliberative, etc.) Generic task models (diagnostic, information filtering, etc.). Communication languages and patterns for agent societes. Ontology patterns for agent requirements, models, and organisation. Interaction protocol patterns between agents with special roles. Reusable knowledge bases.
  • 48.
    Technological Challenges Develop reasoning capabilities for agents Virtual organisations, e-institutions Heterogeneity of agents, trust, and failure handling and recovery. Norms, legislation, authorities, and enforcement. Coalition formation Dynamic coalitions of small groups of agents. Negotiation and argumentation strategies Distributed planning techniques
  • 49.
    Technological Challenges Develop agent ability to understand user requirements User profiling Personalisation Knowledge acquisition tools Develop agent ability to adapt to changes in environment Learning Evolutionary programming techniques
  • 50.
    Technological Challenges Ensure user confidence and trust in agents Security technologies. Security in open agent systems. Agents must be secure and must not reveal information inappropriately. Confidence that agents representing other parties will behave within certain constrains.
  • 51.
    Technological Challenges Ensureuser confidence and trust in agents (cont). Models and infrastructure for trust and reputation. Reputation mechanisms to assess the past behaviour of particular agents or users, to allow avoidance of untrustworthy agents. The adoption of norms (social rules) by all members of an open agent system. Enforcement of sanctions against agents not following rules (or self-enforcing protocols). The use of electronic contracts to represent and enforce agreements between several parties.
  • 52.
    Technological Challenges Providesemantic infrastructure for open agent communities Ontologies Semantic Web Matchmaking and broker architectures Exiting out of laboratories requires A greater understanding of how agents, databases and information systems interact. Investigation of the real-world implications of information agents. Development of benchmarks for agent system performance and efficiency. New web standards that enable structural and semantic description of information. Creation of common ontologies, thesauri, or knowledge bases.
  • 53.
    Preconditions for wide-scaleusage Software agent technology is better than other ones. At least, when compared using one measurable parameter in the application field .... There are enough trained, skillful persons to develop applications with software agent technology. Development tools are easy to use and powerful enough to develop applications. Technology is generally known. Including top-level management.
  • 54.
    Objections to MAS(I) Isn’t it all just Distributed/Concurrent Systems? There is much to learn from this community, but: Agents are assumed to be autonomous, capable of making independent decision – so they need mechanisms to synchronize and coordinate their activities at run time Agents are (can be) self-interested, so their interactions are “economic” encounters (negotiation)
  • 55.
    Objections to MAS(II) Isn’t it all just AI? We don’t need to solve all the problems of Artificial Intelligence (i.e., all the components of intelligence) in order to build really useful agents Classical AI ignored social aspects of agency. These are important parts of intelligent activity in real-world settings
  • 56.
    Objections to MAS(III) Isn’t it all just Economics/Game Theory? These fields also have a lot to teach us in multiagent systems, but: Insofar as game theory provides descriptive concepts, it doesn’t always tell us how to compute solutions; we’re concerned with computational, resource-bounded agents Some assumptions in economics/game theory (such as a rational agent) may not be valid or useful in building artificial agents
  • 57.
    Objections to MAS(IV) Isn’t it all just Social Science? We can draw insights from the study of human societies, but there is no particular reason to believe that artificial societies will be constructed in the same way Again, we have inspiration and cross- fertilization, but hardly subsumption
  • 58.
    Readings for thisweek M.Wooldridge: An introduction to MultiAgent Systems – chapter 1 A.Mas: Agentes software y sistemas multi-agente: conceptos, arquitecturas y aplicaciones – initial part of chapter 1 Agent Technology: Computing as Interaction AgentLink III roadmap
  • 59.
    Mindmap, chapter 1(Wooldridge)