general game playing (ggp)

17
Marco Adelfio CMSC 828N – Spring 2009 General Game Playing (GGP)

Upload: landon

Post on 08-Feb-2016

119 views

Category:

Documents


5 download

DESCRIPTION

General Game Playing (GGP). Marco Adelfio CMSC 828N – Spring 2009. Classic Game Playing AI. Deep Blue. TD-Gammon. Poki. General Game Playing AI. GGP Agent. General Game Playing. GGP Goals: Create systems to play arbitrary games (given formal game definitions) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: General Game Playing (GGP)

Marco AdelfioCMSC 828N – Spring 2009

General Game Playing (GGP)

Page 2: General Game Playing (GGP)

Classic Game Playing AI

Deep Blue

TD-Gammon

Poki

Page 3: General Game Playing (GGP)

General Game Playing AI

GGP Agent

Page 4: General Game Playing (GGP)

General Game PlayingGGP Goals:

Create systems to play arbitrary games (given formal game definitions)

Eliminate game-specific strategiesEmphasize generic strategy formulation

Competition created by Stanford Logic GroupHosted during AAAI conference since 2005$10,000 Grand Prize

Page 5: General Game Playing (GGP)

General Game PlayingQuestions:

What additional challenges arise for GGP agents?

How should a GGP agent evaluate game states?

Can a GGP agent transfer knowledge between games?

Page 6: General Game Playing (GGP)

General Game PlayingFinitely many players, statesGame play controlled by Game Manager

over networkPlayers act synchronously (noops allowed)Time limits enforcedBasic agent must:

Understand rule specificationRespond to game states with legal actionsRecognize a terminal state and its payoffs

Page 7: General Game Playing (GGP)

Game Definition LanguageA game definition must logically define:

Set of states in the gameLegal actions for each player from a given

game stateTransition functionInitial stateTerminal states and their payoffs

Page 8: General Game Playing (GGP)

Game Definition Language - Example(role p1)

(role p2)

(init (cell 1 1 b))

(init (cell 1 2 b))

(init (control p1)

(<= (legal ?w (mark ?x ?y))

(true (cell ?x ?y b))

(true (control ?w)))

(<= (next (cell ?m ?n x))

(does p1 (mark ?m ?n))

(true (cell ?m ?n b)))

(<= (row ?m ?x)

(true (cell ?m 1 ?x))

(true (cell ?m 2 ?x))

(true (cell ?m 3 ?x)))

(<= (line ?x) (row ?m ?x))

(<= (line ?x) (column ?m ?x))

(<= (line ?x) (diagonal ?x))

(<= (goal p1 100)

(line x))

(<= (goal p1 0)

(line o)

(<= terminal

(line x))

Page 9: General Game Playing (GGP)

Game CommunicationGame Manager Message Game Player Response(START MATCH.435 WHITE description 90 30)

READY

(PLAY MATCH.435 (NIL NIL)) (MARK 2 2)(PLAY MATCH.435 ((MARK 2 2) NOOP)))

NOOP

(PLAY MATCH.435 (NOOP (MARK 1 3))

(MARK 1 2)

(PLAY MATCH.435 ((MARK 1 2) NOOP))

NOOP

... ...(STOP MATCH.435 ((MARK 3 3) NOOP)

DONE

Page 10: General Game Playing (GGP)

General Game PlayingDesign Challenges:

IndeterminacySizeMulti-game CommonalitiesOpponent Recognition

Page 11: General Game Playing (GGP)

AAAI Competition – Past Winners2005 - ClunePlayer (UCLA)2006 - FluxPlayer (Technical University of

Dresden)2007 - CADIA (Reykjavik University)2008 - CADIA (Reykjavik University)

Page 12: General Game Playing (GGP)

Agent 1: ClunePlayerApproach: MinimaxProblem: Needs to assign values to

intermediate game states in arbitrary games.Solution:

1. Calculate a vector of generic features at each node

2. Simulate games to determine which features are “stable” and correlated with either payoff or control

3. When running minimax, use a combination of those scores as the evaluation heuristic

Page 13: General Game Playing (GGP)

Agent 2: CADIA-PlayerApproach: UCT (Variant of Monte Carlo

simulation)Monte Carlo:

Pick random actions for each player to descend the tree

After reaching a terminal state, update expected payoff Q(s,a) for each visited state s and action a

Introduces explore/exploit tradeoff

Page 14: General Game Playing (GGP)

Agent 2: CADIA-PlayerUCT (Upper Confidence

bound for Trees)Balance exploration

and exploitationGive “bonus” to less

travelled paths

Page 15: General Game Playing (GGP)

Agent 3: UTexas LARGApproach: Knowledge TransferUses lessons from past games to improve

play in new gamesWar Games!

Determines whether a new game is isomorphic or similar to a previous game. If so, transfer estimated rewards

Page 16: General Game Playing (GGP)

SummaryGeneral Game Playing introduces a

different set of challenges than designing game-specific AI

Biggest challenge is evaluating states in a novel game

Better understanding of general strategy formation has many applications

Page 17: General Game Playing (GGP)

ReferencesGGP Website: http://games.stanford.edu/Hilmar Finnson.

CADIA-Player: A General Game Playing Agent. MSc Thesis, School of Computer Science, Reykjavik University. 2007.

Kuhlmann, Gregory and Peter Stone. Graph-Based Domain Mapping for Transfer Learning in General Games. Lecture Notes in Computer Science, Volume 4701/2007.