You are previewing General Game Playing.
O'Reilly logo
General Game Playing

Book Description

General game players are computer systems able to play strategy games based solely on formal game descriptions supplied at "runtime" (n other words, they don't know the rules until the game starts). Unlike specialized game players, such as Deep Blue, general game players cannot rely on algorithms designed in advance for specific games; they must discover such algorithms themselves. General game playing expertise depends on intelligence on the part of the game player and not just intelligence of the programmer of the game player. GGP is an interesting application in its own right. It is intellectually engaging and more than a little fun. But it is much more than that. It provides a theoretical framework for modeling discrete dynamic systems and defining rationality in a way that takes into account problem representation and complexities like incompleteness of information and resource bounds. It has practical applications in areas where these features are important, e.g., in business and law. More fundamentally, it raises questions about the nature of intelligence and serves as a laboratory in which to evaluate competing approaches to artificial intelligence. This book is an elementary introduction to General Game Playing (GGP). (1) It presents the theory of General Game Playing and leading GGP technologies. (2) It shows how to create GGP programs capable of competing against other programs and humans. (3) It offers a glimpse of some of the real-world applications of General Game Playing. Table of Contents: Preface / Introduction / Game Description / Game Management / Game Playing / Small Single-Player Games / Small Multiple-Player Games / Heuristic Search / Probabilistic Search / Propositional Nets / General Game Playing With Propnets / Factoring / Discovery of Heuristics / Logic / Analyzing Games with Logic / Solving Single-Player Games with Logic / Discovering Heuristics with Logic / Games with Incomplete Information / Games with Historical Constraints / Incomplete Game Descriptions / Advanced General Game Playing / Authors' Biographies

Table of Contents

  1. Cover
  2. Title
  3. Copyright
  4. Contents
  5. Preface
  6. 1. Introduction
    1. 1.1 Introduction
    2. 1.2 Games
    3. 1.3 Game Description
    4. 1.4 Game Management
    5. 1.5 Game Playing
    6. 1.6 Discussion
  7. 2. Game Description
    1. 2.1 Introduction
    2. 2.2 Logic Programs
    3. 2.3 Game Model
    4. 2.4 Game Description Language
    5. 2.5 Game Description Example
    6. 2.6 Game Simulation Example
    7. 2.7 Game Requirements
    8. 2.8 Prefix GDL
  8. 3. Game Management
    1. 3.1 Introduction
    2. 3.2 Game Management
    3. 3.3 Game Communication Language
    4. 3.4 Game Play
  9. 4. Game Playing
    1. 4.1 Introduction
    2. 4.2 Infrastructure
    3. 4.3 Creating a Legal Player
    4. 4.4 Creating a Random Player
  10. 5. Small Single-Player Games
    1. 5.1 Introduction
    2. 5.2 8-Puzzle
    3. 5.3 Compulsive Deliberation
    4. 5.4 Sequential Planning
  11. 6. Small Multiple-Player Games
    1. 6.1 Introduction
    2. 6.2 Minimax
    3. 6.3 Bounded Minimax Search
    4. 6.4 Alpha-Beta Search
  12. 7. Heuristic Search
    1. 7.1 Introduction
    2. 7.2 Depth-Limited Search
    3. 7.3 Fixed-Depth Heuristic Search
    4. 7.4 Variable Depth Heuristic Search
  13. 8. Probabilistic Search
    1. 8.1 Introduction
    2. 8.2 Monte Carlo Search
    3. 8.3 Monte Carlo Tree Search
  14. 9. Propositional Nets
    1. 9.1 Introduction
    2. 9.2 Propositional Nets
    3. 9.3 Games as Propositional Nets
  15. 10. General Game Playing With Propnets
    1. 10.1 Introduction
    2. 10.2 Propositional Nets as Data Structures
    3. 10.3 Marking and Reading Propositional Nets
    4. 10.4 Computing Game Playing Basics
  16. 11. Factoring
    1. 11.1 Introduction
    2. 11.2 Compound Games with Independent Subgames
    3. 11.3 Compound Games with Interdependent Thermination
    4. 11.4 Compound Games with Interdependent Actions
    5. 11.5 Conditional Independence
  17. 12. Discovery of Heuristics
    1. 12.1 Introduction
    2. 12.2 Latches
    3. 12.3 Inhibitors
    4. 12.4 Dead State Removal
  18. 13. Logic
    1. 13.1 Introduction
    2. 13.2 Unification
    3. 13.3 Derivation Steps (without Negation)
    4. 13.4 Derivations
    5. 13.5 Derivation Tree Search
    6. 13.6 Handling Negation
  19. 14. Analyzing Games with Logic
    1. 14.1 Introduction
    2. 14.2 Computing Domains
    3. 14.3 Reducing the Domains Further
    4. 14.4 Instantiating Rules
    5. 14.5 Analyzing the Structure ofGDL Rules
    6. 14.6 Rule Graphs
    7. 14.7 Using Rule Graphs
    8. 14.7.1 Determining the Equivalence of Game Descriptions
    9. 14.7.2 Computing Symmetries
    10. 14.8 Exercises
  20. 15. Solving Single-Player Games with Logic
    1. 15.1 Answer Set Programming
    2. 15.2 Adding Time to GDL Rules
    3. 15.3 Solving Single-Player Games with Answer Set Programming
    4. 15.4 Systems for Answer Set Programming
    5. 15.5 Exercises
  21. 16. Discovering Heuristics with Logic
    1. 16.1 Discovering Heuristics with Answer Set Programming
    2. 16.2 Goal Heuristics
    3. 16.3 Fuzzy Logic
    4. 16.4 Using the Goal Heuristics
    5. 16.5 Optimizations and Limitations
    6. 16.6 Exercises
  22. 17. Games with Incomplete Information
    1. 17.1 Introduction
    2. 17.2 GDL-II
    3. 17.3 Blind Tic-Tac-Toe
    4. 17.4 Card Games and Others
    5. 17.5 GDL-II Game Management
    6. 17.6 Playing GDL-II Games: Hypothetical States
    7. 17.7 Sampling Complete States
    8. 17.8 Exercises
  23. 18. Games with Historical Constraints
    1. 18.1 Introduction
    2. 18.2 System Definition Language
    3. 18.3 Example-Tic-Tac-Toe
    4. 18.4 Example-Chess
  24. 19. Incomplete Game Descriptions
    1. 19.1 Introduction
    2. 19.2 Relational Logic
    3. 19.3 Incomplete Game Description Language
    4. 19.4 Buttons and Lights Revisited
    5. 19.5 Complete Description of Buttons and Lights
    6. 19.6 Incomplete Description of Buttons and Lights
    7. 19.7 Playing Buttons and Lights with an Incomplete Description
  25. 20. Advanced General Game Playing
    1. 20.1 Introduction
    2. 20.2 Themporal General Game Playing
    3. 20.3 Inductive General Game Playing
    4. 20.4 Really General Game Playing
    5. 20.5 Enhanced General Game Playing
  26. Authors’ Biographies