general game playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · general game players...
TRANSCRIPT
![Page 1: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/1.jpg)
General Game Playing
![Page 2: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/2.jpg)
Human Game Playing• Intellectual Activity• Skill Comparison
Game Playing
![Page 3: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/3.jpg)
Computer Game Playing• Fun• Testbed for AI
Game Playing
![Page 4: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/4.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 5: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/5.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 6: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/6.jpg)
Unlike specialized game players (e.g. Deep Blue), they do not use algorithms designed in advance for specific games.
Artificial Intelligence Technologies knowledge representation deduction, reformulation, induction, … rational behavior w/ uncertainty, resource bounds
Technology
![Page 7: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/7.jpg)
Variety of Games
![Page 8: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/8.jpg)
Novelty
![Page 9: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/9.jpg)
International GGP Competition
![Page 10: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/10.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 11: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/11.jpg)
/42
Winners 2005 - ClunePlayer - Jim Clune (USA) 2006 - FluxPlayer - Schiffel, Thielscher (Germany) 2007 - CadiaPlayer - Bjornsson, Finsson (Iceland) 2008 - CadiaPlayer - Bjornsson, Finsson (Iceland) 2010 - Ary - Mehat (France) 2011 - TurboTurtle - Schreiber (USA) 2012 - CadiaPlayer - Bjornsson, Finsson (Iceland) 2013 - TurboTurtle - Schreiber (USA)
History
![Page 12: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/12.jpg)
/42
GGP-05 Winner Jim Clune
![Page 13: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/13.jpg)
/42
GGP-07, GGP-08, GGP-12 Winners
![Page 14: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/14.jpg)
/54
Other Games, Other Winners
![Page 15: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/15.jpg)
/42
Carbon versus Silicon
![Page 16: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/16.jpg)
/42
Human Race Being Defeated
![Page 17: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/17.jpg)
Game Description
![Page 18: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/18.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 19: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/19.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 20: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/20.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 21: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/21.jpg)
21
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 22: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/22.jpg)
22
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 23: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/23.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 24: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/24.jpg)
role(x)role(o)
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))
legal(P,mark(X,Y)) :- true(cell(X,Y,b)) & true(control(P))
legal(x,noop) :- true(control(o))
legal(o,noop) :- true(control(x))
next(cell(M,N,P)) :- does(P,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(x)) :- true(control(o))
next(control(o)) :- true(control(x))
terminal :- line(P)terminal :- ~open
goal(x,100) :- line(x) & ~line(o)goal(x,50) :- ~line(x) & ~line(o)goal(x,0) :- ~line(x) & line(o)goal(o,100) :- ~line(x) & line(o)goal(o,50) :- ~line(x) & ~line(o)goal(o,0) :- line(x) & ~line(o)
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))
Tic-Tac-Toe
Example
![Page 25: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/25.jpg)
Game Management
![Page 26: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/26.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 27: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/27.jpg)
Game ManagerGame Manager
![Page 28: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/28.jpg)
/54
Start Manager sends Start message to players Start(id, role, description, startclock, playclock)
Game Playing ProtocolGeneral Game Playing Protocol
![Page 29: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/29.jpg)
/54
Start Manager sends Start message to players Start(id, role, description, startclock, playclock)
Play Manager sends Play messages to players Play(id, actions) Receives plays in response
General Game Playing Protocol
![Page 30: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/30.jpg)
/54
Start Manager sends Start message to players start(id, role, description, startclock, playclock)
Play Manager sends Play messages to players play(id, actions) Receives plays in response
Stop Manager sends Stop message to players stop(id, actions)
General Game Playing Protocol
![Page 31: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/31.jpg)
Game Playing
![Page 32: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/32.jpg)
Logical reasoning in searching game tree: Initial state Legal actions for each player in each state State resulting from execution of legal action Value of each state for each player Determination of whether state is terminal
Easy to convert from logic to other representations Simplicity of logical formulation Simple, widely published algorithms 3-4 orders or magnitude speedup no asymptotic change
Game Playing
![Page 33: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/33.jpg)
Initial State
![Page 34: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/34.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 35: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/35.jpg)
mark(1,3)
noop
X
State Update
![Page 36: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/36.jpg)
X O X
O XO
X O X
O XOX
X O X
O XO X
X O X
O XOX
Game Tree Expansion
![Page 37: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/37.jpg)
X O X
O
X O X
O XOX
X O X
O XO X
X O X
O XOX
X O X
O XO
X O X
O X
X O X
OX
X O X
OX
X O X
OX
X O X
O X
Game Tree Search
![Page 38: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/38.jpg)
Large state spaces ~5000 states in Tic-Tac-Toe >1030 states in Chess
Limited Resources Memory Time (start clock, move clock)
Resource Limitations
![Page 39: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/39.jpg)
Incremental Search Expand Game Graph incrementally As much as time allows Minimax/etc. evaluation on non-terminal states using an evaluation function of some sort
But how do we evaluate non-terminal states?
In traditional game playing, the rules are known in advance; and the programmer can invent game-specific evaluation functions. Not possible in GGP.
Incremental Search
![Page 40: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/40.jpg)
Ideas * Novelty with reversibility* Goal-monotonic observables* Bad states, useless moves <insert your good idea here>
Guaranteed Evaluation Functions
![Page 41: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/41.jpg)
Ideas Goal proximity (everyone) Maximize mobility (Barney Pell) Minimize opponent’s mobility (Jim Clune) <insert your good idea here>
Non-Guaranteed Evaluation Functions
![Page 42: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/42.jpg)
GGP-06 Final - Cylinder Checkers
![Page 43: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/43.jpg)
GGP-06 Final - Cylinder Checkers
![Page 44: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/44.jpg)
44
25 50 0 75
100 0 0 0 0 100 100 0 0 0 0 0 100 0 100 100
Monte Carlo
![Page 45: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/45.jpg)
Metagaming is the process of reasoning about games and, by extension, game players and game playing.
Done offline, i.e. during the start clock or between moves or in parallel with regular game play.
What programmers do in creating specific / general players
Metagaming
![Page 46: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/46.jpg)
46
Differences from Game tree search more information, e.g. tournament standing less information, i.e. more general goal - create / optimize player to play games effectively
Techniques: Analysis of propositional nets and rule graphs Proofs using logic Compilation into machine language and/or FPGAs
Metagaming Specifics
![Page 47: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/47.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
Hodgepodge
![Page 48: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/48.jpg)
Finding Interesting Structure in Games: Factoring, e.g Hodgepodge Bottlenecks, e.g. Triathalon Symmetry detection, e.g. Tic-Tac-Toe Dead State Removal
Trade-off - cost of finding structure vs savings Sometimes cost proportional to size of description Sometimes savings proportional to size of the game tree
Reformulation Opportunities
![Page 49: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/49.jpg)
Hex
![Page 50: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/50.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 51: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/51.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 52: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/52.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 53: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/53.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 54: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/54.jpg)
Expertise in a Box
![Page 55: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/55.jpg)
55
a b
a4
4
3
3
b2
2
1
1
a b
a4
4
1
1
b3
3
2
2
Opponent Modeling
![Page 56: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/56.jpg)
56
XOX
O
OX
Demoralizing the Opponent
![Page 57: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/57.jpg)
Philosophical Remarks
![Page 58: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/58.jpg)
Critique: Game playing is frivolous.
Serious Applications: Enterprise Management Computational Law
Funders: Darpa SAP
General Game Playing is not a game
![Page 59: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/59.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 60: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/60.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 61: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/61.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
![Page 62: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/62.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 63: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/63.jpg)
63
![Page 64: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/64.jpg)
http://cs227b.stanford.edu
![Page 65: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/65.jpg)
Schedule
April 3 Introduction You are here. 10 Complete Search 17 Incomplete Search 24 Monte Carlo SearchMay 1 Monte Carlo Tree Search 8 Propositional Nets 15 Factoring 22 Optimization 29 Really General Game PlayingJune 5 Final Competition
![Page 66: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/66.jpg)
Teams
Composition 3 people each (2 or 4 okay with good reason)
Names: Identifiers: Pansy Division pansy_division The Pumamen punamen Team Camembert camembert Mighty Bourgeoisie bourgeosie Michael Genesereth michael_genesereth Greedy Bastards greedybastards Red Hot Chili Peppers peppers
![Page 67: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/67.jpg)
Technology
Language Java Javascript Fortran
Operating System Mac OS Unix Linux
Hardware Whatever you like … but … Accessible via Stanford Wifi
![Page 68: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/68.jpg)
![Page 69: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/69.jpg)
/42
GGP-06 Winners
![Page 70: General Game Playingggp.stanford.edu/lectures/lesson_01.pdf · 2019-04-10 · General Game Players are systems able to play arbitrary games effectively based solely on formal descriptions](https://reader030.vdocuments.site/reader030/viewer/2022041016/5ec776db10d7bd5f6f00776d/html5/thumbnails/70.jpg)
/42
GGP-11, GGP-13 Winner