General Game Playing in AI Research and Education Michael - - PowerPoint PPT Presentation

general game playing in ai research and education
SMART_READER_LITE
LIVE PREVIEW

General Game Playing in AI Research and Education Michael - - PowerPoint PPT Presentation

General Game Playing in AI Research and Education Michael Thielscher GGP in AI Research & Education What is General Game Playing (GGP)? The Many Facets of GGP Research The Potential for GGP in AI Teaching General Game Playing


slide-1
SLIDE 1

General Game Playing in AI Research and Education

Michael Thielscher

slide-2
SLIDE 2

GGP in AI Research & Education

  • What is General Game Playing (GGP)?
  • The Many Facets of GGP Research
  • The Potential for GGP in AI Teaching
slide-3
SLIDE 3

General Game Playing

General Game Players are systems that

  • understand new game descriptions
  • learn to play these games effectively
slide-4
SLIDE 4

General Game Playing

General Game Players are systems that

  • understand new game descriptions
  • learn to play these games effectively

Translation: They don't know the rules until the game starts. Unlike specialised programs (Deep Blue) they can't use game-specific algorithms.

slide-5
SLIDE 5

Why GGP?

  • Many biological, economic, political, social

processes can be formalised as games.

slide-6
SLIDE 6

Ordinary System Client Environment Client General System Environment Rules

  • Many biological, economic, political, social

processes can be formalised as games.

  • GGP ⊆ General Problem Solving

Why GGP?

slide-7
SLIDE 7

Application: General Chess Player

Kriegspiel Bughouse Chess

slide-8
SLIDE 8

Entertainment Security Games

Application: Universal AI Game Engine

slide-9
SLIDE 9

A Brief History of GGP

  • J. Pitrat (1968): Realization of a

General Game-Playing Program "AI systems are dumb because Al researchers are too clever."

slide-10
SLIDE 10

AAAI GGP Competition

  • 2005 Cluneplayer (USA)
  • 2006 Fluxplayer (Germany)
  • 2007/08 Cadiaplayer (Iceland)
  • 2009/10 Ary (France)
  • 2011 TurboTurtle (USA)
slide-11
SLIDE 11

AAAI GGP Competition

  • 2005 Cluneplayer (USA)
  • 2006 Fluxplayer (Germany)
  • 2007/08 Cadiaplayer (Iceland)
  • 2009/10 Ary (France)
  • 2011 TurboTurtle (USA)

1st German Open, Berlin 2011

  • Ary (France) Classic Track
  • Fluxii (Iceland) Imperfect-Information Track
slide-12
SLIDE 12

GGP Since 2005

  • >100 Publications
  • GGP Workshops at IJCAI since 2009
  • GGP Special Issue of "KI-Journal" Feb 2011
  • Google hits for "General Game Playing":

120,000

slide-13
SLIDE 13

GGP Around the World

  • Stanford

Michael Genesereth

  • U of Alberta

Jonathan Schaeffer, N. Sturtevant

  • Reykjavík U

Yngvi Björnsson, H. Finnsson, S. Schiffel

  • U of Bremen

Stefan Edelkamp, P. Kissmann

  • U of Potsdam

Torsten Schaub, etal.

slide-14
SLIDE 14

Part II — The Many Facets of General Game Playing Research

slide-15
SLIDE 15

GGP Research Landscape

Search Planning Learning Knowledge Representation

slide-16
SLIDE 16

GGP Research Landscape

Search Planning Learning Knowledge Representation

slide-17
SLIDE 17

KR: Foundations

init(cell(a,1,wr)) … init(cell(h,8,br))

Initial position

Game Description Language GDL

slide-18
SLIDE 18

init(cell(a,1,wr)) … init(cell(h,8,br)) legal(white,castle(?dir)) <= true(cell(e,1,wk))∧ … next(cell(g,1,wk)) <= does(white,castle(kside))∧ …

Moves

KR: Foundations

Game Description Language GDL

slide-19
SLIDE 19

init(cell(a,1,wr)) … init(cell(h,8,br)) legal(white,castle(?dir)) <= true(cell(e,1,wk))∧ … next(cell(g,1,wk)) <= does(white,castle(kside))∧ … goal(white,100) <= checkmate ∧ true(control(black))

Objective

KR: Foundations

Game Description Language GDL

slide-20
SLIDE 20

KR: Results

  • Automatic translations (→ efficient reasoning)

Automata, BDDs, C++, OCAML

slide-21
SLIDE 21

KR: Results

  • Automatic translations (→ efficient reasoning)

Automata, BDDs, C++, OCAML

  • Automated theorem proving

true(φ). false :- next(φ).

ASP

slide-22
SLIDE 22

KR: Results

  • Automatic translations (→ efficient reasoning)

Automata, BDDs, C++, OCAML

  • Automated theorem proving
  • Describing imperfect-information games

true(φ). false :- next(φ).

ASP

sees(?p,your_card(?c)) <= does(random,deal(?p,?c))

slide-23
SLIDE 23

KR: Open Questions

  • Efficient non-propositional encodings
  • Efficient first-order theorem proving
  • Efficient reasoning with imperfect information
slide-24
SLIDE 24

KR: Open Questions

  • Efficient non-propositional encodings
  • Efficient first-order theorem proving
  • Efficient reasoning with imperfect information
  • Other general problem description languages
  • Belief Revision for GGP
  • Spatial Reasoning for GGP
slide-25
SLIDE 25

GGP Research Landscape

Search Planning Learning Knowledge Representation

slide-26
SLIDE 26

Planning: Results

  • Partial translation GDL → PDDL

Problem: determine negative effects

  • CSP / ASP for single-player games
  • Techniques known from Planning adapted to

GGP: decomposition & symmetry detection

slide-27
SLIDE 27

Planning: Open Questions

  • Full translation GDL → Planning Language
  • Planning heuristics (eg. relaxation) for GGP
  • Other techniques (eg. hierarchical planning)

for GGP

slide-28
SLIDE 28

Planning: Open Questions

  • Full translation GDL → Planning Language
  • Planning heuristics (eg. relaxation) for GGP
  • Other techniques (eg. hierarchical planning)

for GGP

  • Conversely: GGP techniques (eg. opponent

modelling) for adversarial planning

slide-29
SLIDE 29

GGP Research Landscape

Search Planning Learning Knowledge Representation

slide-30
SLIDE 30

Search(1): Adversarial Search

➢ Minimax with α/β ➢ Transposition tables

slide-31
SLIDE 31

Search(1): Adversarial Search

➢ Minimax with α/β ➢ Transposition tables

Automatically generated evaluation functions General heuristics mobility, novelty Fuzzy logic truth-degree of goal formula Learning piece count, piece values

slide-32
SLIDE 32

Search(2): Monte Carlo Search

➢ Random sampling

100 0 50

slide-33
SLIDE 33

Search(2): Monte Carlo Search

➢ Random sampling ➢ UCT (exploration vs. exploitation)

Game-specific knowledge to bias move selection

100 0 50

n = 60 v = 70

...

n1 = 4 v1 = 20 n2 = 24 v2 = 65 n3 = 32 v3 = 80

... ...

slide-34
SLIDE 34

Example

slide-35
SLIDE 35

Example

X

slide-36
SLIDE 36

Example

X O

slide-37
SLIDE 37

Example

X O X

slide-38
SLIDE 38

UCT vs Minimax (Example)

slide-39
SLIDE 39

UCT vs Minimax (Example)

slide-40
SLIDE 40

Search: Open Questions

  • Learning knowledge to guide UCT search
  • Decide search technique at runtime
  • Search for imperfect-information games
slide-41
SLIDE 41

Search: Open Questions

  • Learning knowledge to guide UCT search
  • Decide search technique at runtime
  • Search for imperfect-information games
  • Automatic generation of search heuristics
  • Informed search / local search for GGP
slide-42
SLIDE 42

GGP Research Landscape

Search Planning Learning Knowledge Representation

slide-43
SLIDE 43

Learning: Results / Open Questions

  • Transfer learning (between similar games)
  • Neural nets to improve evaluation functions
  • TD-learning to construct relevant features
  • Statistical learning to improve biasing in UCT
slide-44
SLIDE 44

Learning: Results / Open Questions

  • Transfer learning (between similar games)
  • Neural nets to improve evaluation functions
  • TD-learning to construct relevant features
  • Statistical learning to improve biasing in UCT
  • More learning requires more data & time
slide-45
SLIDE 45

General General Game Playing

NLP

  • Systems understand game rules in English
slide-46
SLIDE 46

General General Game Playing

NLP

  • Systems understand game rules in English

Computer vision

  • Boards, pieces etc

Robotics

  • GGPlaying robot

(Purdue University 2010)

slide-47
SLIDE 47

Part III — The Potential for GGP in AI Teaching

slide-48
SLIDE 48

Options

Several ways to add GGP to AI curricula

  • 1. Single lecture (2hrs) as part of AI-related course

Introduction to AI, Intelligent Systems, KR, ...

  • 2. Graduate course (full-fledged, hands-on)

Student teams build their own player

  • 3. Integral part of Introduction to AI
slide-49
SLIDE 49

Available Material

www.general-game-playing.de

  • Slides (pdf, odp) for

➢ Single lectures ➢ Multiple lectures ➢ Full-fledged courses

  • Sample tutorials / assignments
slide-50
SLIDE 50

Available Material

www.general-game-playing.de

  • Slides (pdf, odp) for

➢ Single lectures ➢ Multiple lectures ➢ Full-fledged courses

  • Sample tutorials / assignments
  • Software

➢ Game Controller, Game Checker, Player

  • Links to GGP courses around the world
slide-51
SLIDE 51

GGP and AI

Search Logic / Logic Programming Planning Decision Making

slide-52
SLIDE 52

GGP and AI

Search Logic / Logic Programming Planning Decision Making GGP

slide-53
SLIDE 53

Task: Solve search problems

  • 1. Search trees
  • 2. Blind search (BFS vs. DFS, IDS)
  • 3. Adversarial search (Minimax)
  • 4. Informed search (assume given a heuristics)

Search

slide-54
SLIDE 54

Task: Axiomatise games

  • 1. Propositional / first-order logic
  • 2. Logic programs

Logic / Logic Programming

Task: Understand rules (ie. draw inferences)

  • 1. Unification, Resolution, NAF
  • 2. Optional: CSP / ASP (1-player games)
slide-55
SLIDE 55

Example: Propositional Logic

Pressing button a toggles p. Pressing button b interchanges p and q. Initially: p and q are off. Goal: p and q are on.

slide-56
SLIDE 56

Task: Play games

  • 1. Classic planning
  • 2. Continuous planning
  • 3. Conditional planning
  • 4. Multi-agent and adversarial planning

Planning

slide-57
SLIDE 57

Task: Play better

  • 1. Utility functions
  • 2. MDPs, POMDPs
  • 3. Game theory

Decision Making

slide-58
SLIDE 58

The End

slide-59
SLIDE 59

Conclusion

GGP Research

  • poses interesting research challenges for

different AI sub-disciplines

  • requires integration of AI methods & systems
  • is an example of General Problem Solving
slide-60
SLIDE 60

Conclusion

GGP Research

  • poses interesting research challenges for

different AI sub-disciplines

  • requires integration of AI methods & systems
  • is an example of General Problem Solving

GGP Teaching

  • covers many aspects of AI
  • has motivating competitive aspect
  • GGP is "cool"