An Introduction to MultiAgent Systems - Second Edition

by Michael Wooldridge


Contents

 

Preface

What was left out and why

Omissions and errors


Part I Setting the Scene


Chapter 1 Introduction

1.1 The Vision Thing

1.2 Some Views of the Field

1.2.1 Agents as a paradigm for software engineering

1.2.2 Agents as a tool for understanding human societies

1.3 Frequently Asked Questions (FAQ)


Part II Intelligent Autonomous Agents


Chapter 2 Intelligent Agents

2.1 Intelligent Agents

2.2 Agents and Objects

2.3 Agents and Expert Systems

2.4 Agents as Intentional Systems

2.5 Abstract Architectures for Intelligent Agents

2.6 How to Tell an Agent What to Do


Chapter 3 Deductive Reasoning Agents

3.1 Agents as Theorem Provers

3.2 Agent-Oriented Programming

3.3 Concurrent MetateM


Chapter 4 Practical Reasoning Agents

4.1 Practical Reasoning = Deliberation + Means-Ends Reasoning

4.2 Means--Ends Reasoning

4.3 Implementing a Practical Reasoning Agent

4.4 The Procedural Reasoning System


Chapter 5 Reactive and Hybrid Agents

5.1 Reactive Agents

5.1.1 The Subsumption Architecture

5.1.2 PENGI

5.1.3 Situated automata

5.1.4 The Agent Network Architecture

5.1.5 The Limitations of Reactive Agents

5.2 Hybrid Agents

5.2.1 TouringMachines

5.2.2 InteRRaP

5.2.3 3T

5.2.4 Stanley


Part III Communication and Cooperation


Chapter 6 Understanding Each Other

6.1 Ontology Fundamentals

6.1.1 Ontology Building Blocks

6.1.2 An Ontology of Ontologies

6.2 Ontology Languages

6.2.1 XML -- Ad Hoc Ontologies

6.2.2 OWL -- The Web Ontology Language

6.2.3 KIF -- Ontologies in First-Order Logic

6.3 RDF

6.4 Constructing an Ontology

6.5 Software Tools for Ontologies


Chapter 7 Communicating

7.1 Speech Acts

7.1.1 Austin

7.1.2 Searle

7.1.3 The plan-based theory of speech acts

7.1.4 Speech acts as rational action

7.2 Agent Communication Languages

7.2.1 KQML

7.2.2 The FIPA Agent Communication Language

7.2.3 JADE


Chapter 8 Working Together

8.1 Cooperative Distributed Problem Solving

8.2 Task Sharing and Result Sharing

8.2.1 Task sharing in the Contract Net

8.3 Result Sharing

8.4 Combining Task and Result Sharing

8.5 Handling Inconsistency

8.6 Coordination

8.6.1 Coordination through partial global planning

8.6.2 Coordination through joint intentions

8.6.3 Coordination by mutual modelling

8.6.4 Coordination by norms and social laws

8.7 Multiagent Planning and Synchronization


Chapter 9 Methodologies

9.1 When is an Agent-Based Solution Appropriate?

9.2 Agent-Oriented Analysis and Design

9.2.1 The AAII methodology

9.2.2 Gaia

9.2.3 Tropos

9.2.4 Prometheus

9.2.5 Agent UML

9.2.6 Agents in Z

9.3 Pitfalls of Agent Development

9.4 Mobile Agents


Chapter 10 Applications

10.1 Agents for Workflow and Business Process Management

10.2 Agents for Distributed Sensing

10.3 Agents for Information Retrieval and Management

10.4 Agents for Electronic Commerce

10.5 Agents for Human--Computer Interfaces

10.6 Agents for Virtual Environments

10.7 Agents for Social Simulation

10.8 Agents for X

      Agents for industrial systems management.

      Agents for Air-Traffic Control.


Part IV Multiagent Decision Making


Chapter 11 Multiagent Interactions

11.1 Utilities and Preferences

11.2 Setting the Scene

11.3 Solution Concepts and Solution Properties

11.3.1 Dominant Strategies

11.3.2 Nash Equilibria

11.3.3 Pareto Efficiency

11.3.4 Maximising Social Welfare

11.4 Competitive and Zero-Sum Interactions

11.5 The Prisoner's Dilemma

11.5.1 The shadow of the future

11.5.2 Program Equilibria

11.6 Other Symmetric 2 x2 Interactions

11.7 Representing Multiagent Scenarios

11.8 Dependence Relations in Multiagent Systems


Chapter 12 Making Group Decisions

12.1 Social Welfare Functions and Social Choice Functions

12.2 Voting Procedures

12.2.1 Plurality

12.2.2 Sequential Majority Elections

12.2.3 The Borda Count

12.2.4 The Slater Ranking

12.3 Desirable Properties for Voting Procedures

12.3.1 Arrow's Theorem

12.4 Strategic Manipulation


Chapter 13 Forming Coalitions

13.1 Cooperative Games

13.1.1 The Core

13.1.2 The Shapley Value

13.2 Computational and Representational Issues

13.3 Modular Representations

13.3.1 Induced Subgraphs

13.3.2 Marginal Contribution Nets

13.4 Representations for Simple Games

13.4.1 Weighted Voting Games

13.4.2 Network Flow Games

13.5 Coalitional Games with Goals

13.6 Coalition Structure Formation


Chapter 14 Allocating Scarce Resources

14.1 Classifying Auctions

14.2 Auctions for Single Items

14.2.1 English auctions

14.2.2 Dutch auctions

14.2.3 First-price sealed-bid auctions

14.2.4 Vickrey auctions

14.2.5 Expected revenue

14.2.6 Lies and collusion

14.2.7 Counterspeculation

14.3 Combinatorial Auctions

14.3.1 Bidding Languages

14.3.2 Winner Determination

14.3.3 The VCG Mechanism

14.4 Auctions in Practice

14.4.1 Online Auctions

14.4.2 Adwords Auctions

14.4.3 The Trading Agent Competition


Chapter 15 Bargaining

15.1 Negotiation Parameters

15.2 Bargaining for Resource Division

15.2.1 Patient Players

15.2.2 Impatient Players

15.2.3 Negotiation Decision Functions

15.2.4 Applications of Alternating Offers

15.3 Bargaining for Task Allocation

15.3.1 The Monotonic Concession Protocol

15.3.2 The Zeuthen Strategy

15.3.3 Deception

15.4 Bargaining for Resource Allocation


Chapter 16 Arguing

16.1 Types of Argument

16.2 Abstract Argumentation

16.2.1 Preferred Extensions

16.2.2 Credulous and Sceptical Acceptance

16.2.3 Preferences in Abstract Argument Systems

16.2.4 Values in Abstract Argument Systems

16.3 Deductive Argumentation Systems

16.4 Dialogue Systems

16.5 Implemented Argumentation Systems


Chapter 17 Logical Foundations

17.1 Logics for Knowledge and Belief

17.1.1 Possible-Worlds Semantics for Modal Logics

17.1.2 Normal Modal Logics

17.1.3 Normal Modal Logics as Epistemic Logics

17.1.4 Logical Omniscience

17.1.5 Axioms for Knowledge and Belief

17.1.6 Multiagent Epistemic Logics

17.1.7 Common and Distributed Knowledge

17.2 Logics for Mental States

17.2.1 Cohen and Levesque's Intention Logic

17.2.2 Modelling speech acts

17.3 Logics for Cooperation

17.3.1 Incomplete Information

17.3.2 Cooperation Logics for Social Choice

17.4 Putting Logic to Work

17.4.1 Logic in specification

17.4.2 Logic in implementation

17.4.3 Logic in Verification


Coda


Appendix A -- A History Lesson


Appendix B -- Afterword