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