introduction to agents and multi-agent systems
Click here to load reader
DESCRIPTIONMulti-agent systems course at University Rovira i Virgili. Slides mostly based on those of Rosenschein, from the content of the book by Wooldridge.Lecture 1-Introduction to agents and multi-agent systems.
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 ScienceAgents and multi-agent systemsViewpoints on agent technologyAgent technology roadmapChallenges on agent technologyObjections to MAS
Important aspects in Computer Science
Five ongoing trends are marking the history of computing:
ubiquityinterconnectionintelligencedelegationhuman-orientation in programming methodologies
UbiquityThe 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 ubiquitousWhat could benefit from having a processor embedded in it…?
Ambient IntelligenceAimed 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.
InterconnectionComputer systems today no longer stand alone, but are networked into large distributed systemsObvious example: InternetSince 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 computingGrid computing
The complexity of tasks that we are capable of automating and delegating to computers has grown steadilyIf you don’t feel comfortable with this definition of “intelligence”, it’s probably because you are a human
DelegationComputers are doing more for us – without our interventionWe are giving control to computers, even in safety critical tasksOne example: fly-by-wire aircraft, where the machine’s judgment may be trusted more than an experienced pilotNext on the agenda: fly-by-wire cars, intelligent braking systems, cruise control that maintains distance from car in front…
Driving automation1. 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
The movement away from machine-oriented views of programming toward concepts and metaphors that more closely reflect the way we ourselves understand the worldProgrammers (and users!) relate to the machine differentlyProgrammers conceptualize and implement software in terms of higher-level – more human-oriented – abstractions
Agent-Oriented Software Engineering
Programming has progressed throughmachine codeassembly languagemachine-independent programming languagessub-routinesprocedures & functionsabstract data typesobjects
Where does it bring us?
Delegation and Intelligence imply the need to build computer systems that can act effectively on our behalfThis implies:
The ability of computer systems to act independentlyThe 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 ScienceBut 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 recentlyAll of these trends have led to the emergence of a new field in Computer Science: multiagent systems
Agents, a DefinitionAn 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 techniquesAn agent should satisfy a certain number of properties [lecture on week 3]
Multiagent Systems, a DefinitionA multiagent system is one that consists of a number of agents, which interact with one-anotherIn the most simple case, all agents are programmed by the same team and they collaborate to complete a taskIn the most general case, agents will be acting on behalf of users with different goals and motivationsTo successfully interact, they will require the ability to cooperate, coordinate, and negotiate with each other, much as people do
Related areasSeveral 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 aspectsAgent 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-leveltechnologies and techniques that concern the communications between agentscommunication 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 SystemsIn 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?
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 ControlWhen 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 classAgents (and their physical instantiation in robots) have a role to play in high-risk situations, unsuitable or impossible for humansThe 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 necessaryAgents 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 searchThey can plan, arrange, buy, negotiate –carry out arrangements of all sorts that would normally be done by their human userAs more can be done electronically, software agents theoretically have more access to systems that affect the real-worldFor example, preparing a holiday trip
Research IssuesHow 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 InterdisciplinaryThe field of Multiagent Systems is influenced and inspired by many other fields:
EconomicsPhilosophyGame TheoryLogicEcologySocial 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 FieldAgents 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 engineeringAgents 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 environmenteliciting and acting upon user preferencesfinding ways to negotiate and cooperate with other agentsdeveloping appropriate means of forming and managing coalitions (and other organizations)
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 simulationMulti-agent systems provide strong models for representing complex and dynamic real-world environments.
modelling of the impact of climate change on biological populationsmodelling the impact of public policy options on social or economic behaviourmodelling intelligent buildings modelling traffic systems modelling biological populations
Distributed computing theoryMultiagent 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 likeYou can take a “neat” or “scruffy” approach to the problem, seeing it as a problem of theoryor a problem of engineeringThis, too, has analogies with ArtificialIntelligence research
Agent technology roadmap [AgentLink]
There are four broad phasesPhase 1: currentPhase 2: short-term futurePhase 3: medium-term futurePhase 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 stateSystems 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 futureMulti-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 domainAgents 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 futureMulti-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
Phase 4: Long-term future
Truly open and fully-scalable agent systems spanning multiple application domains and developed by diverse design termsAgents learn appropriate protocols and behaviour upon entry to systemLanguages, 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.
Increase quality of agent software to industrial standard
Agent oriented design methodologies, tools and development environments.Seamless integration with existing technologies.
Web, information systemsNon-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.
Increase quality of agent software to industrial standard (cont.)
Design point of viewThe key point is reusabilityLibraries 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 ChallengesDevelop reasoning capabilities for agents
Virtual organisations, e-institutionsHeterogeneity of agents, trust, and failure handling and recovery.Norms, legislation, authorities, and enforcement.
Coalition formationDynamic coalitions of small groups of agents.
Negotiation and argumentation strategiesDistributed planning techniques
Technological ChallengesDevelop agent ability to understand user requirements
User profilingPersonalisationKnowledge acquisition tools
Develop agent ability to adapt to changes in environment
LearningEvolutionary programming techniques
Ensure user confidence and trust in agentsSecurity 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.
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 ChallengesProvide semantic infrastructure for open agent communities
OntologiesSemantic WebMatchmaking and broker architectures
Exiting out of laboratories requiresA 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 timeAgents 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 agentsClassical 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 descriptiveconcepts, it doesn’t always tell us how to compute solutions; we’re concerned with computational, resource-bounded agentsSome 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 wayAgain, we have inspiration and cross-fertilization, but hardly subsumption
Readings for this week
M.Wooldridge: An introduction to MultiAgent Systems – chapter 1A.Mas: Agentes software y sistemas multi-agente: conceptos, arquitecturas y aplicaciones – initial part of chapter 1Agent Technology: Computing as Interaction
AgentLink III roadmap
Mindmap, chapter 1 (Wooldridge)