logic programming general game playinglogicprogramming.stanford.edu/lectures/slides_13.pdf ·...
TRANSCRIPT
![Page 1: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/1.jpg)
Logic ProgrammingGeneral Game Playing
Michael GeneserethComputer Science Department
Stanford University
![Page 2: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/2.jpg)
Human Game Playing• Intellectual Activity• Skill Comparison
Computer Game Playing• Testbed for AI• Limitations
Game Playing
![Page 3: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/3.jpg)
Narrowness Good at one game, not so good at others Cannot do anything else
Not really testing intelligence of machine Programmer does all the interesting analysis / design Machine simply follows the recipe
Limitations of Game Playing for AI
![Page 4: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/4.jpg)
General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions supplied at “runtime”.
Translation: They don’t know the rules until the game starts.
Must figure out for themselves: legal moves, winning strategy in the face of incomplete info and resource bounds
General Game Playing
![Page 5: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/5.jpg)
Variety of Games
![Page 6: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/6.jpg)
Novelty
![Page 7: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/7.jpg)
International GGP Competition
![Page 8: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/8.jpg)
/42
Annual GGP Competition Held at AAAI or IJCAI conference Administered by Stanford University (Stanford folks not eligible to participate)
Annual GGP Competition
![Page 9: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/9.jpg)
/42
GGP-05 Winner Jim Clune
![Page 10: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/10.jpg)
/42
International GGP Competition
![Page 11: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/11.jpg)
/42
ClunePlayer - Jim Clune (USA) FluxPlayer - Schiffel, Thielscher (Germany) CadiaPlayer - Bjornsson, Finsson (Iceland) CadiaPlayer - Bjornsson, Finsson (Iceland) Ary - Mehat (France) TurboTurtle - Schreiber (USA) CadiaPlayer - Bjornsson, Finsson (Iceland) TurboTurtle - Schreiber (USA) Sancho - Draper (USA), Rose (UK) Galvanise - Emslie WoodStock - Piette (France)
Winners Over the Years
![Page 12: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/12.jpg)
/42
Carbon versus Silicon
![Page 13: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/13.jpg)
/42
Human Race Being Defeated
![Page 14: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/14.jpg)
Result
![Page 15: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/15.jpg)
Game Description
![Page 16: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/16.jpg)
Environment Environment with finitely many states One initial state and one or more terminal states Each state has a unique goal value for each player
Players Fixed, finite number of players Each with finitely many moves
Dynamics Finitely many steps All players move on all steps (some no ops) Environment changes only in response to moves
Finite Synchronous Games
![Page 17: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/17.jpg)
/42
a
a
b a
ab
b b
0 50 50 100
0 25 25 50
a ab ba a
s1 s2 s3 s4
s5 s6 s7 s8
Single Player Game
![Page 18: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/18.jpg)
/42
a / a
a / a
a / a a / a
a / aa / a
b / a a / b
0 / 0 50 / 50 50 / 50 100 / 0
0 / 0 25 / 25 25 / 25 0 / 100
b / a a / bb / a a / bb / a a / b
s1 s2 s3 s4
s5 s6 s7 s8
Multiple Player Game
![Page 19: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/19.jpg)
19
Good News: Since all of the games that we are considering are finite, it is possible in principle to communicate game information in the form of state graphs.
Direct Description
![Page 20: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/20.jpg)
20
Problem: Size of description. Even though everything is finite, these sets can be large.
Solution: Exploit regularities / structure in state graphs to produce compact encoding
Problem and Solution
![Page 21: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/21.jpg)
Game Description Language (or GDL) is a formal language for encoding the rules of games.
Game rules written as sentences in Symbolic Logic.
GDL is widely used in the research literature and is used in virtually all General Game Playing competitions.
GDL extensions are applicable in real-world applications such as Enterprise Management and Computational Law.
Game Description Language
![Page 22: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/22.jpg)
Symbols: x, o - roles 1, 2, 3 - indices of rows and columns b - blank
Constructors: mark(index,index)
Predicates: cell(index,index,mark) control(role) row(index,mark) column(index,mark) diagonal(mark) line(mark) open
Game-Specific Vocabulary
![Page 23: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/23.jpg)
cell(1,1,x)cell(1,2,b)cell(1,3,b)cell(2,1,b)cell(2,2,o)cell(2,3,b)cell(3,1,b)cell(3,2,b)cell(3,3,x)control(o)
XO
X
State Representation
![Page 24: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/24.jpg)
role(white)role(black)
base(cell(M,N,Z)) :- index(M) & index(N) & filler(Z)
base(control(W)) :- role(W)
input(W,mark(X,Y)) :- role(W) & index(X) & index(Y)
input(W,noop) :- role(W)
init(cell(X,Y,b)) :- index(X) & index(Y)
init(control(white))
legal(P,mark(X,Y)) :- true(cell(X,Y,b)) & true(control(P))
legal(x,noop) :- true(control(black))
legal(o,noop) :- true(control(white))
terminal :- line(P)terminal :- ~open
row(M,P) :- true(cell(M,1,P)) & true(cell(M,2,P)) & true(cell(M,3,P))
column(N,P) :- true(cell(1,N,P)) & true(cell(2,N,P)) & true(cell(3,N,P))
diagonal(P) :- true(cell(1,1,P)) & true(cell(2,2,P)) & true(cell(3,3,P))
diagonal(P) :- true(cell(1,3,P)) & true(cell(2,2,P)) & true(cell(3,1,P))
line(P) :- row(M,P)line(P) :- column(N,P)line(P) :- diagonal(P)
open :- true(cell(M,N,b))
index(1) filler(x)index(2) filler(o)index(3) filler(b)
next(cell(M,N,x)) :- does(white,mark(M,N))
next(cell(M,N,0)) :- does(black,mark(M,N))
next(cell(M,N,Z)) :- does(P,mark(M,N)) & true(cell(M,N,Z)) & Z!=b
next(cell(M,N,b)) :- does(P,mark(J,K)) & true(cell(M,N,b)) & distinct(M,J)
next(cell(M,N,b)) :- does(P,mark(J,K)) & true(cell(M,N,b)) & distinct(N,K)
next(control(white)) :- true(control(black))
next(control(black)) :- true(control(white))
goal(white,100) :- line(x) & ~line(o)goal(white,50) :- ~line(x) & ~line(o)goal(white,0) :- ~line(x) & line(o)goal(black,100) :- ~line(x) & line(o)goal(black,50) :- ~line(x) & ~line(o)goal(black,0) :- line(x) & ~line(o)
Rules of Tic-Tac-Toe
![Page 25: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/25.jpg)
role(x)role(o)
Roles
![Page 26: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/26.jpg)
base(cell(X,Y,W)) :- index(X) & index(Y) & filler(W)
base(control(W)) :- role(W)
index(1)index(2)index(3)
filler(x)filler(o)filler(b)
Propositions
![Page 27: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/27.jpg)
input(W,mark(X,Y)) :- role(W) & index(X) & index(Y)input(W,noop) :- role(W)
Actions
![Page 28: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/28.jpg)
init(cell(1,1,b))init(cell(1,2,b))init(cell(1,3,b))init(cell(2,1,b))init(cell(2,2,b))init(cell(2,3,b))init(cell(3,1,b))init(cell(3,2,b))init(cell(3,3,b))init(control(x))
Initial State
![Page 29: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/29.jpg)
legal(W,mark(X,Y)) :- cell(X,Y,b) & control(W)
Legality
![Page 30: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/30.jpg)
Physics
mark(M,N) :: control(W) ==> ~cell(M,N,b) & cell(M,N,W)
mark(M,N) :: control(x) ==> control(o)mark(M,N) :: control(o) ==> control(x)
![Page 31: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/31.jpg)
row(M,W) :- cell(M,1,W) & cell(M,2,W) & cell(M,3,W)col(N,W) :- cell(1,N,W) & cell(2,N,W) & cell(2,2,W)
diag(W) :- cell(1,1,W) & cell(2,2,W) & cell(3,3,W)diag(W) :- cell(3,1,W) & cell(2,2,W) & cell(3,1,W)
line(W) :- row(M,W)line(W) :- col(N,W)line(W) :- diag(W)
open :- cell(M,N,b)
Supporting Concepts
![Page 32: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/32.jpg)
goal(x,100) :- line(x)goal(x,50) :- ~line(x) & ~line(o)goal(x,0) :- line(o)
goal(o,100) :- line(o)goal(o,50) :- ~line(x) & ~line(o)goal(o,0) :- line(x)
terminal :- line(W) & distinct(W,b)terminal :- ~open
Goals and Termination
![Page 33: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/33.jpg)
Game Management
![Page 34: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/34.jpg)
/54
Game Management is the process of administering a game in General Game Playing.
Match = instance of a game.
Components: Game Manager Game Playing Protocol
Game ManagementGame Management
![Page 35: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/35.jpg)
Game ManagerGame Manager
![Page 36: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/36.jpg)
/54
Start Manager sends Start message to players start(id,role,description,startclock,playclock)
Game Playing ProtocolGeneral Game Playing Protocol
![Page 37: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/37.jpg)
/54
Start Manager sends Start message to players start(id,role,description,startclock,playclock)
Play Manager sends Play messages to players play(id,[action1,...,actionk]) Receives actions in response
General Game Playing Protocol
![Page 38: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/38.jpg)
/54
Start Manager sends Start message to players start(id,role,description,startclock,playclock)
Play Manager sends Play messages to players play(id,[action1,...,actionk]) Receives actions in response
Stop Manager sends Stop message to players stop(id,[action1,...,actionk])
General Game Playing Protocol
![Page 39: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/39.jpg)
Game Playing
![Page 40: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/40.jpg)
cell(1,1,b)cell(1,2,b)cell(1,3,b)cell(2,1,b)cell(2,2,b)cell(2,3,b)cell(3,1,b)cell(3,2,b)cell(3,3,b)control(x)
Initial State
![Page 41: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/41.jpg)
White’s moves: Black’s moves: mark(1,1) noop mark(1,2) mark(1,3) mark(2,1) mark(2,2) mark(2,3) mark(3,1) mark(3,2) mark(3,3)
Legal Moves
![Page 42: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/42.jpg)
cell(1,1,b) cell(1,1,b)cell(1,2,b) cell(1,2,b)cell(1,3,b) cell(1,3,x)cell(2,1,b) cell(2,1,b)cell(2,2,b) cell(2,2,b)cell(2,3,b) cell(2,3,b)cell(3,1,b) cell(3,1,b)cell(3,2,b) cell(3,2,b)cell(3,3,b) cell(3,3,b)control(x) control(o)
mark(1,3)
State Update
![Page 43: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/43.jpg)
Complete Game Graph Search
X O X
O XO
X O X
O
X O X
O XOX
X O X
O XO X
X O X
O XOX
X O X
O X
X O X
OX
X O X
OX
X O X
OX
X O X
O X
![Page 44: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/44.jpg)
Incomplete Game Tree Search
How do we evaluate non-terminal states?
X O X
O
X O X
O X
X O X
OX
X O X
OX
X O X
OX
X O X
O X
![Page 45: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/45.jpg)
First Generation GGP (2005-2006)
General Heuristics Goal proximity (everyone) Maximize mobility (Barney Pell) Minimize opponent’s mobility (Jim Clune)
![Page 46: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/46.jpg)
GGP-06 Final - Cylinder Checkers
![Page 47: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/47.jpg)
Second Generation GGP (2007 on)
Monte Carlo Search
Monte Carlo Tree Search UCT - Uniform Confidence Bounds on Trees
![Page 48: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/48.jpg)
25 50 0 75
100 0 0 0 0 100 100 0 0 0 0 0 100 0 100 100
Second Generation GGP
Monte Carlo Search
![Page 49: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/49.jpg)
Offline Processing of Game Descriptions Reformulate problem to decrease size of search space Compile to do the search faster
What human programmers do in creating game players
Third Generation GGP
![Page 50: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/50.jpg)
50
Conversion of logic to traditional programming language Simple, widely published algorithms several orders or magnitude speedup no asymptotic change
Conversion to Field Programmable Gate Arrays (FPGAs) several more orders of magnitude improvement
Compilation
![Page 51: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/51.jpg)
Hodgepodge = Chess + Othello
Branching factor: a Branching factor: b
Analysis of joint game: Branching factor as given to players: a*b Fringe of tree at depth n as given: (a*b)n
Fringe of tree at depth n factored: an+bn
Game Factoring
![Page 52: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/52.jpg)
Examples Factoring, e.g Hodgepodge Bottlenecks, e.g. Triathalon Symmetry detection, e.g. Tic-Tac-Toe Dead State Removal
Trade-off - cost of finding and using structure vs savings Sometimes cost proportional to size of description Sometimes savings proportional to size of game tree
Reformulation Opportunities
![Page 53: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/53.jpg)
Hex
![Page 54: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/54.jpg)
Axiomatization: redwin :- left(X) & redpath(X,Y) & right(Y) redpath(X,X) :- true(cell(X,red)) redpath(X,Z) :- true(cell(X,red)) & adjacent(X,Y) & redpath(Y,Z)
Results: Very expensive if path exists Can run forever if not
Naive Axiomatization
![Page 55: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/55.jpg)
Improved Axiomatization
Axiomatization: redwin :- left(X) & redpath(X,Y,nil) & right(Y) redpath(X,X,P) :- true(cell(X,red)) redpath(X,Z,P) :- true(cell(X,red)) & adjacent(X,Y) & ~member(Y,P) & redpath(Y,Z,cons(Y,P))
Results: Does not run forever can take ~ 1 second to compute in bad cases
![Page 56: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/56.jpg)
Result: takes <1 millisecond to compute in worst cases
Hex
6161
6161
61616161
6161
6161
6161
61
6161
616161
6161
6161
61
61 1
3
7 11
17
![Page 57: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/57.jpg)
Automatic Programming
∀x.∀y.(p(x,y) ⇒ q(x,y))
p(a,b) q(b,c)
~p(b,d)∃x.p(x,d)p(c,b)∨ p(c,d)
![Page 58: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/58.jpg)
Expertise in a Box
![Page 59: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/59.jpg)
59
a b
a4
4
3
3
b2
2
1
1
a b
a4
4
1
1
b3
3
2
2
Opponent Modeling
![Page 60: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/60.jpg)
60
XOX
O
OX
Demoralizing the Opponent
![Page 61: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/61.jpg)
Philosophical Remarks
![Page 62: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/62.jpg)
General Game Playing is not a game
![Page 63: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/63.jpg)
Serious Business
![Page 64: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/64.jpg)
Characteristics of GGP game descriptions contain full information which determine optimal behavior
Useful for evaluating theories of intelligence effects of representation incompleteness of information resource bounds
Testbed for Theories of Intelligence
![Page 65: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/65.jpg)
The main advantage we expect the advice taker to have is that its behavior will be improvable merely by making statements to it, telling it about its … environment and what is wanted from it. To make these statements will require little, if any, knowledge of the program or the previous knowledge of the advice taker.
John McCarthy
![Page 66: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/66.jpg)
The General Problem Solver demonstrates how generality can be achieved by factoring the specific descriptions of individual tasks from the task-independent processes.
Newell and Simon
![Page 67: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/67.jpg)
The potential use of computers by people to accomplish tasks can be “one-dimensionalized” into a spectrum representing the nature of the instruction that must be given the computer to do its job. Call it the what-to-how spectrum. At one extreme of the spectrum, the user supplies his intelligence to instruct the machine with precision exactly how to do his job step-by-step. ... At the other end of the spectrum is the user with his real problem. ... He aspires to communicate what he wants done ... without having to lay out in detail all necessary subgoals for adequate performance. - Ed Feigenbaum 1974
Ed Feigenbaum
![Page 68: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/68.jpg)
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
computer/robotv
Robert Heinlein
![Page 69: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/69.jpg)
/42
![Page 70: Logic Programming General Game Playinglogicprogramming.stanford.edu/lectures/slides_13.pdf · General Game Players are systems able to play arbitrary games effectively based solely](https://reader034.vdocument.in/reader034/viewer/2022050312/5f74f83b8c807f406b26619b/html5/thumbnails/70.jpg)
70