general game playing in ai research and educationmit/slides/ai11-keynote.pdf · general game...

60
General Game Playing in AI Research and Education Michael Thielscher

Upload: others

Post on 26-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

General Game Playing inAI Research and Education

Michael Thielscher

Page 2: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP in AI Research & Education

● What is General Game Playing (GGP)?

● The Many Facets of GGP Research

● The Potential for GGP in AI Teaching

Page 3: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

General Game Playing

General Game Players are systems that● understand new game descriptions ● learn to play these games effectively

Page 4: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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.

Page 5: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Why GGP?

• Many biological, economic, political, social processes can be formalised as games.

Page 6: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Ordinary SystemClient Environment

Client General System Environment

Rules

• Many biological, economic, political, social processes can be formalised as games.

• GGP ⊆ General Problem Solving

Why GGP?

Page 7: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Application: General Chess Player

Kriegspiel

BughouseChess

Page 8: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Entertainment Security Games

Application:Universal AI Game Engine

Page 9: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

A Brief History of GGPJ. Pitrat (1968): Realization of aGeneral Game-Playing Program

"AI systems are dumb because Al researchers are too clever."

Page 10: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

AAAI GGP Competition

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

Page 11: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 12: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 13: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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.

Page 14: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Part II

The Many Facets of

General Game Playing Research

Page 15: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP Research Landscape

Search Planning

Learning

KnowledgeRepresentation

Page 16: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP Research Landscape

Search Planning

Learning

KnowledgeRepresentation

Page 17: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

KR: Foundations

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

Initial position

Game Description Language GDL

Page 18: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 19: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 20: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

KR: Results

● Automatic translations (→ efficient reasoning)

Automata, BDDs, C++, OCAML

Page 21: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

KR: Results

● Automatic translations (→ efficient reasoning)

Automata, BDDs, C++, OCAML

● Automated theorem proving

true(φ).

false :- next(φ).ASP

Page 22: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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))

Page 23: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

KR: Open Questions

● Efficient non-propositional encodings

● Efficient first-order theorem proving

● Efficient reasoning with imperfect information

Page 24: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 25: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP Research Landscape

Search Planning

Learning

KnowledgeRepresentation

Page 26: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 27: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Planning: Open Questions

● Full translation GDL → Planning Language

● Planning heuristics (eg. relaxation) for GGP

● Other techniques (eg. hierarchical planning)

for GGP

Page 28: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 29: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP Research Landscape

Search Planning

Learning

KnowledgeRepresentation

Page 30: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Search(1): Adversarial Search➢ Minimax with α/β➢ Transposition tables

Page 31: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Search(1): Adversarial Search➢ Minimax with α/β➢ Transposition tables

Automatically generated evaluation functionsGeneral heuristics mobility, noveltyFuzzy logic truth-degree of goal formulaLearning piece count, piece values

Page 32: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Search(2): Monte Carlo Search

➢ Random sampling

100 0 50

Page 33: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Search(2): Monte Carlo Search

➢ Random sampling➢ UCT (exploration vs. exploitation)

Game-specific knowledge to bias move selection

100 0 50

n = 60v = 70

...

n1 = 4v1 = 20

n2 = 24v2 = 65

n3 = 32v3 = 80

... ...

Page 34: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Example

Page 35: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Example

X

Page 36: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Example

X

O

Page 37: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Example

X

O

X

Page 38: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

UCT vs Minimax (Example)

Page 39: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

UCT vs Minimax (Example)

Page 40: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Search: Open Questions

● Learning knowledge to guide UCT search

● Decide search technique at runtime

● Search for imperfect-information games

Page 41: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 42: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP Research Landscape

Search Planning

Learning

KnowledgeRepresentation

Page 43: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 44: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 45: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

General General Game Playing

NLP

● Systems understand game rules in English

Page 46: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

General General Game Playing

NLP

● Systems understand game rules in English

Computer vision

● Boards, pieces etc

Robotics

● GGPlaying robot

(Purdue University 2010)

Page 47: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Part III

The Potential for GGP in

AI Teaching

Page 48: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 49: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Available Materialwww.general-game-playing.de

● Slides (pdf, odp) for➢ Single lectures➢ Multiple lectures➢ Full-fledged courses

● Sample tutorials / assignments

Page 50: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Available Materialwww.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

Page 51: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP and AI

Search

Logic / Logic Programming

Planning

Decision Making

Page 52: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

GGP and AI

Search

Logic / Logic Programming

Planning

Decision Making

GGP

Page 53: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 54: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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)

Page 55: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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.

Page 56: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Task: Play games

1. Classic planning

2. Continuous planning

3. Conditional planning

4. Multi-agent and adversarial planning

Planning

Page 57: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

Task: Play better

1. Utility functions

2. MDPs, POMDPs

3. Game theory

Decision Making

Page 58: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

The End

Page 59: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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

Page 60: General Game Playing in AI Research and Educationmit/Slides/AI11-Keynote.pdf · General Game Playing General Game Players are systems that understand new game descriptions learn to

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"