Game Description - PowerPoint PPT Presentation

1 / 93
About This Presentation
Title:

Game Description

Description:

ab. ba. aa. ab. aa. ab. ab. aa. aa. ab. aa. bb. aa. bb. ba. ab. 4. Example Revisited. S ={s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11} I1={a, b} I2={a, b} ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 94
Provided by: michaelge2
Category:
Tags: ab | description | game

less

Transcript and Presenter's Notes

Title: Game Description


1
Game Description
General Game Playing Lecture 3
Michael Genesereth / Nat Love Spring
2006
2
Finite Synchronous Games
Finite environment Environment with finitely
many states One initial state and one or more
terminal states Finite Players Fixed finite
number of players Each with finitely many
actions Each with one or more goal
states Synchronous Update All players move
on all steps (some no ops) Environment
changes only in response to moves
3
Example
ab
aa
s2
s5
s8
aa
bb
ab
aa
aa
ab
bb
ab
ab
s3
s6
s9
s1
s11
ba
aa
ba
ba
ab
bb
bb
aa
aa
s4
s7
s10
4
Example Revisited
S s1, s2, s3, s4, s5, s6, s7, s8, s9, s10,
s11 I1a, b I2a, b u(s1,a,a,s2)
u(s4,a,a,s7) u(s7,a,a,s10) u(s10,b,a,s9) u(s1,a,
b,s3) u(s4,a,b,s3) u(s8,a,b,s5)
u(s10,b,b,s11) u(s1,b,a,s4) u(s6,a,a,s5)
u(s8,b,b,s11) u(s11,a,a,s11) u(s1,b,b,s1)
u(s6,a,b,s9) u(s9,a,a,s8) u(s2,a,a,s5)
u(s6,b,a,s7) u(s9,a,b,s11)
u(s2,a,b,s3) u(s6,b,b,s3) is1 T s3,
s8, s11 G1s8, s11 G2s3, s7
5
Games as Mathematical Structures
An n-player game is a structure with
components S - finite set of states I1, , In -
finite sets of actions, one for each player u ?
S ? I1 ?...? In ? S - update relation i ? S -
initial game state T ? S - the terminal
states G1, ..., Gn - where Gi ? S - the goal
relations
6
Direct Description
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 sets of objects and tuples of
objects. Problem Size of description. Even
though everything is finite, these sets can be
large.
7
Relational Nets
8
States versus Propositions
In many cases, worlds are best thought of in
terms of propositions, e.g. whether a particular
light is on or off. Actions often affect a
subset of propositions. States represent all
possible ways the world can be. As such, the
number of states is exponential in the number of
such propositions, and the action tables are
correspondingly large. Idea - represent
propositions directly and describe actions in
terms of their effects on indidvidual
propositions rather than entire states.
9
Tic-Tac-Toe
10
Relational States
cell(1,1,x) cell(1,2,b) cell(1,3,b) c
ell(2,1,b) cell(2,2,o) cell(2,3,b) cell(3
,1,b) cell(3,2,b) cell(3,3,x) control(bla
ck)
11
Transitions
cell(1,1,x) cell(1,1,x)
cell(1,2,b) cell(1,2,b) cell(1,3,b)
cell(1,3,o) cell(2,1,b)
cell(2,1,b) cell(2,2,o) cell(2,2,o)
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,x) cell(3,3,x)
control(black) control(white)
noop mark(1,3)
12
Logical Encoding
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(c
ell(3,3,b)) init(control(x)) legal(W,mark(X,Y))
- true(cell(X,Y,b)) true(control(W)) l
egal(white,noop) - true(cell(X,Y,b))
true(control(black)) legal(black,noop) -
true(cell(X,Y,b)) true(control(white))

13
Syntax of Relational Logic
14
Syntax of Relational Logic
Vocabulary Object Variables X, Y, Z
Object Constants a, b, c Function Constants
f, g, h Relation Constants p, q, r
Logical Operators , , , -, Terms
Variables X, Y, Z Object Constants a, b,
c Functional Terms f(a), g(a,b),
h(a,b,c) Sentences Simple Sentences
p(a,g(a,b),c) Logical Sentences r(X,Y) -
p(X,Y) q(Y)
15
Safety
A rule is safe if and only if every variable in
the head appears in some positive subgoal in the
body. Safe Rule Unsafe Rule In GDL, we
require all rules to be safe.
16
Dependency Graph
The dependency graph for a set of rules is a
directed graph in which (1) the nodes are the
relations mentioned in the head and bodies of the
rules and (2) there is an arc from a node p to a
node q whenever p occurs with the body of a rule
in which q is in the head.
t
s
r
p
q
A set of rules is recursive if it contains a
cycle. Otherwise, it is non-recursive.
17
Recursion
A set of rules is recursive if it contains a
cycle. Otherwise, it is non-recursive.
t
s
r
p
q
18
Stratified Negation
The negation in a set of rules is said to be
stratified if there is no recursive cycle in the
dependency graph involving a negation.
Stratified Negation Negation that is not
stratified In GDL, we require that all
negations be stratified.
19
Extensional and Intensional Relations
Database applications start with a partial
database, i.e. sentences for some relations
(extensional relations) and not others
(intensional relations). Rules are then written
to define the intensional relations in terms of
the extensional relations.
rules
Extensional
Intensional Given an extensional database
and a set of rules, we can obtain the databases
closure as follows.
20
Example
Database applications start with a partial
database, i.e. sentences for some relations
(extensional relations) and not others
(intensional relations). Rules are then written
to define the intensional relations in terms of
the extensional relations. Given an extensional
database and a set of rules, we can obtain the
databases closure as follows.
21
Single Rule
The value of a single non-recursive rule on a
database D is the set of all rule heads obtained
by consistently substituting ground terms from D
for variables in such a way that the substituted
subgoals are all in D. Sample Rule Database
Extension
22
Multiple Rules
The value of a set of rules with a common
relation on a database D is the union of the
values on the individual rules. Sample
Rules Sample Database Value
23
Multiple Relations
The value of a set of non-recursive rules with
different head relations is obtained by
evaluating rules in order in which their head
relations appear in the corresponding dependency
graph. Sample Rules Value Computation
24
Recursion
To compute the value of a recursive rule, start
with the empty relation. Compute the value using
multiple rule computation. Iterate till no new
tuples are added. Sample Rules Value
Computation
25
Negation
There are various ways to compute the value of
negative rules. In classical negation, a
negation is true only if the negated sentence is
known to be false (i.e. there must be rules
concluding negated sentences). This is the norm
in computational logic systems. In GDL, we do
not have such rules. In negation as failure, a
negation is true if and only if the negated
sentence is not known to be true. This is the
norm in database systems.
26
Negation as Failure Example
Definition Value Computation
27
Game Description Language
28
Game-Independent Vocabulary
Object Constants 0, 1, 2, 3, -
numbers Relation Constants role(player)
init(proposition) true(proposition)
next(proposition) legal(player,action)
does(player,action) goal(proposition) terminal
29
Tic-Tac-Toe Vocabulary
Object constants white, black - players x,
o, b - marks Function Constants
mark(number,number) --gt action
cell(number,number,mark) --gt proposition
control(player) --gt proposition RelationConstants
row(number,player) column(number,player)
diagonal(player) line(player) open
30
Extensional and Intensional Relations
Extensional Relations does(player,action)
true(proposition) Intensional Relations
role(player) init(proposition)
legal(player,action) next(proposition)
goal(proposition,score) terminal
31
Roles
role(white) role(black)
32
Initial State
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(c
ell(3,3,b)) init(control(x))
33
Legality
legal(W,mark(X,Y)) - true(cell(X,Y,b))
true(control(W)) legal(white,noop) -
true(cell(X,Y,b)) true(control(black)) lega
l(black,noop) - true(cell(X,Y,b))
true(control(white))
34
Physics
next(cell(M,N,x)) - does(white,mark(M,N)) ne
xt(cell(M,N,o)) - does(black,mark(M,N)) next
(cell(M,N,Z)) - does(W,mark(M,N))
true(cell(M,N,Z)) Zb next(cell(M,N,b)) -
does(W,mark(J,K)) true(cell(M,N,b)) (MJ
NK) next(control(white)) -
true(control(black)) next(control(black)) -
true(control(white))
35
Supporting Concepts
row(M,W) - diagonal(W) -
true(cell(M,1,W)) true(cell(1,1,W))
true(cell(M,2,W)) true(cell(2,2,W))
true(cell(M,3,W)) true(cell(3,3,W)) column(N,
W) - diagonal(W) - true(cell(1,N,W))
true(cell(1,3,W)) true(cell(2,N,W))
true(cell(2,2,W)) true(cell(3,N,W))
true(cell(3,1,W)) line(W) - row(M,W) line(W) -
column(N,W) line(W) - diagonal(W) open -
true(cell(M,N,b))
36
Goals and Termination
goal(white,100) - line(x) goal(white,50) -
line(x) line(o) open goal(white,0) -
line(o) goal(black,100) - line(o) goal(white,50)
- line(x) line(o) open goal(white,0) -
line(x) terminal - line(W) terminal - open
37
More Tedious Details
38
No Built-in Assumptions
What we see next(cell(M,N,x)) -
does(white,mark(M,N)) true(cell(M,N,b)) Wh
at the player sees next(welcoul(M,N,himenoing))
- does(himenoing,dukepse(M,N))
true(welcoul(M,N,lorenchise))
39
Knowledge Interchange Format
Knowledge Interchange Format is a standard for
programmatic exchange of knowledge represented in
relational logic. Syntax is prefix version of
standard syntax. Some operators are renamed not,
and, or. Case-independent. Variables are
prefixed with ?. r(X,Y) lt p(X,Y) q(Y) (lt
(r ?x ?y) (and (p ?x ?y) (not (q ?y)))) (lt (r ?x
?y) (p ?x ?y) (not (q ?y))) Semantics is the
same.
40
Agent Communication Language
Start Message (start id role (s1 sn)
startclock playclock) Play Message (play id (a1
... ak)) Stop Message (stop id (a1 ... ak))
41
(No Transcript)
42
Propositional Nets
43
Buttons and Lights
44
Relational States
p q r
p q
p
45
State Machine
p q r
p q
p
46
Logical Encoding
init(q) legal(robot,a) legal(robot,b) legal(robot
,c) next(p) - does(robot,a) -true(p) next(p)
- does(robot,b) true(q) next(p) -
does(robot,c) true(p) next(q) - does(robot,a)
true(q) next(q) - does(robot,b)
true(p) next(q) - does(robot,c)
true(q) next(r) - does(robot,a)
true(r) next(r) - does(robot,b)
true(r) next(r) - does(robot,c) true(q) goal
- true(p) -true(q) true(r) term - true(p)
-true(q) true(r)
47
Buttons and Lights Formalization
S s1, s2, s3, s4, s5, s6, s7, s8 I a, b,
c u(s1,a,s5) u(s000,b,s010)
u(s000,c,s001) u(s2,a,s2) u(s000,b,s010)
u(s000,c,s001) u(s3,a,s3) u(s000,b,s010)
u(s000,c,s001) u(s4,a,s4) u(s000,b,s010)
u(s000,c,s001) I s1 T s8 G s8
48
Buttons and Lights Formalization
P p, q, r I a, b, c u(s1,a,s5)
u(s000,b,s010) u(s000,c,s001) u(s2,a,s2)
u(s000,b,s010) u(s000,c,s001) u(s3,a,s3)
u(s000,b,s010) u(s000,c,s001) u(s4,a,s4)
u(s000,b,s010) u(s000,c,s001) I s1 T
s8 G s8
49
Transitions
cell(1,1,x) cell(1,1,x)
cell(1,2,b) cell(1,2,b) cell(1,3,b)
cell(1,3,o) cell(2,1,b)
cell(2,1,b) cell(2,2,o) cell(2,2,o)
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,x) cell(3,3,x)
control(black) control(white)
noop mark(1,3)
50
Buttons and Lights
p
q
r
s
a
b
c
d
51
Buttons and Lights Formalization
S s000, s001, s010, s011, s100, s101, s110,
s111 I a, b, c u(s000,a,s100)
u(s000,b,s010) u(s000,c,s001) u(s001,a,s001)
u(s000,b,s010) u(s000,c,s001) u(s010,a,s010)
u(s000,b,s010) u(s000,c,s001) u(s011,a,s011)
u(s000,b,s010) u(s000,c,s001) I s0 T
sF G sF
52
States versus Features
In many cases, worlds are best thought of in
terms of features, e.g. red or green, left or
right, high or low. Actions often affect subset
of features. States represent all possible ways
the world can be. As such, the number of states
is exponential in the number of features of the
world, and the action tables are correspondingly
large. Idea - represent features directly and
describe how actions change individual features
rather than entire states.
53
Propositional Net Components
Propositions Connectives Transitions
p
q
r
54
Propositional Net
55
Markings
56
Inputs
57
Enablement
58
Update
59
Buttons and Lights
Pressing button a toggles p. Pressing
button b interchanges p and q.
p
q
a
b
60
Propositional Net for Buttons and Lights
61
Propositional Nets and State Machines
Propositional Nets as State Machines State
Machines as Propositional Nets One
proposition per state Only one proposition is
true at each point in time
62
Comparison
Propositional Nets vs State Machines
Expressively equivalent and interconvertible
State Machines can be exponentially larger
e.g. state machine for Tic-Tac-Toe has 5478
states propositional net has 45
propositions Propositional Nets vs Petri Nets
Propositional Nets are computable
(equivalent to Petri nets with finitely many
tokens) Propositional Nets are composable
without revealing inner details of components
63
Relational Nets
64
Propositional Net Fragment
65
Relational Nets
Decompose states into relations. Use
relational operators to capture behavior.
q
p
r
s
66
Comparison
Relational Nets vs Propositional Nets
Expressively equivalent and interconvertible
Number of Tuples Number of Propositions
Fewer Relations than propositions Fewer
connectives Relational Nets vaguely related to
RMDPs
67
Logical Encoding
68
Relational Net
69
Possible Relational Net Encoding
Relational Net Fragment Encoding r(X,Z) -
p(X,Y) q(Y,Z)
70
Actual Relational Net Encoding
Relational Net Fragment Encoding without
delay Encoding with delay true(r(X,Z)) -
next(r(X,Z)) - true(p(X,Y))
true(p(X,Y)) true(q(Y,Z)) true(q(Y,Z))
71
Tic-Tac-Toe
72
Partial Propositional Net for Tic-Tac-Toe
mark(1,1)
cell(1,1,x)
cell(1,1,b)
mark(1,2)
cell(1,2,x)
cell(1,2,b)
mark(1,3)
cell(1,3,x)
cell(1,3,b)
73
Logical Description
Direct encoding in relational logic next(cell(1,1
,x)) lt does(mark(1,1)) true(cell(1,1,b))
Use of variables to compact description next(cell
(M,N,x)) lt does(mark(M,N))
true(cell(M,N,b)) Game-specific views /
macros row(M,W) lt true(cell(M,1,W))
true(cell(M,2,W)) true(cell(M,3,W))
74
Syntax of Relational Logic
Object Variables X, Y, Z Object Constants a, b,
c Function Constants f, g, h Relation Constants
p, q, r Logical Operators , , , -,
distinct Terms X, Y, Z, a, b, c, f(a), g(a,b),
h(a,b,c) Relational Sentences p(a,b) Logical
Sentences r(X,Y) lt p(X,Y) q(Y) An
expression is ground iff it contains no
variables. The Herbrand base is the set of all
ground relational sentences.
75
Legality
legal(W,mark(X,Y)) ? true(cell(X,Y,b)) ?
true(control(W)) legal(white,noop) ?
true(cell(X,Y,b)) ? true(control(o)) legal(bl
ack,noop) ? true(cell(X,Y,b)) ?
true(control(x))
76
Update
next(cell(M,N,x)) ? does(white,mark(M,N)) ?
true(cell(M,N,b)) next(cell(M,N,o)) ?
does(black,mark(M,N)) ? true(cell(M,N,b)) nex
t(cell(M,N,W)) ? true(cell(M,N,W)) ?
distinct(W,b) next(cell(M,N,b)) ?
does(W,mark(J,K)) ? true(cell(M,N,b)) ?
(distinct(M,J) distinct(N,K))
77
Update (continued)
next(control(x)) ? true(control(o)) next(cont
rol(o)) ? true(control(x))
78
Goals
goal(white,100) ? line(x) goal(white,0) ?
line(o) goal(black,100) ? line(o) goal(white,0) ?
line(x) line(W) ? row(M,W) line(W) ?
column(N,W) line(W) ? diagonal(W)
79
Supporting Concepts
row(M,W) ? true(cell(M,1,W)) ?
true(cell(M,2,W)) ? true(cell(M,3,W)) column(
N,W) ? true(cell(1,N,W)) ?
true(cell(2,N,W)) ? true(cell(3,N,W)) diagona
l(W) ? true(cell(1,1,W)) ?
true(cell(2,2,W)) ? true(cell(3,3,W)) diagona
l(W) ? true(cell(1,3,W)) ?
true(cell(2,2,W)) ? true(cell(3,1,W))
80
Termination
terminal ? line(W) terminal ? open open ?
true(cell(M,N,b))
81
(No Transcript)
82
Completeness
Of necessity, game descriptions are logically
incomplete in that they do not uniquely specify
the moves of the players. Every game description
contains complete definitions for legality,
termination, goalhood, and update in terms of the
primitive moves and the does relation. The
upshot is that in every state every player can
determine legality, termination, goalhood and,
given a joint move, can update the state.
83
Playability
A game is playable if and only if every player
has at least one legal move in every non-terminal
state. Note that in chess, if a player cannot
move, it is a stalemate. Fortunately, this is a
terminal state. In GGP, we guarantee that every
game is playable.
84
Winnability
A game is strongly winnable if and only if, for
some player, there is a sequence of individual
moves of that player that leads to a terminating
goal state for that player. A game is weakly
winnable if and only if, for every player, there
is a sequence of joint moves of the players that
leads to a terminating goal state for that
player. In GGP, every game is weakly winnable,
and all single player games are strongly winnable.
85
Comparison to Extensive Normal Form
In Extensive Normal Form, a game is modeled as a
tree with actions of one player at each node. In
State Machine Form, a game is modeled as a graph
and players moves are all synchronous. In GGP,
a game must be described formally. While ENF and
SMF are expressively equivalent for finite games,
SMF descriptions are simpler. Some players may
create game trees from game descriptions
however, searching game graphs can be more
efficient.
86
Programme for Today
State Machines Propositional Nets Relational
Nets Tabular Encoding Logical Encoding
87
Game Model
An n-player game is a structure with
components S - finite set of states I1, , In -
finite sets of actions, one for each player l1,
..., ln - where li ? Ii ? S - the legality
relations u ? S ? I1 ?...? In ? S - update
relation i ? S - initial game state T ? S - the
terminal states G1, ..., Gn - where Gi ? S - the
goal relations
88
Propositional Nets and State Machines
Define states in terms of propositions. Use
propositional connectives to capture behavior.
q
p
s
r
89
Markings
A marking for a propositional net is a function
from the propositions to boolean values. m P ?
true,false
90
Acceptability
A marking is acceptable iff it obeys the logical
properties of all connectives. Negation with
input x and output y m(y)true ?
m(x)false Conjunction with inputs x and y and
output z m(z)true ? m(x)true ? m(y)true
Disjunction with inputs x and y and output z
m(z)true ? m(x)true ? m(y)true
91
Update
A transition is enabled by a marking m iff all of
its inputs are marked true. The update for a
marking m is the partial marking m that assigns
true to the outputs of all transitions enabled by
m and false to the outputs of all other
transitions. A successor m of a marking m is
any complete, acceptable marking consistent with
m.
92
Example
p
r
q
93
Logical Encoding
cell(1,1,x) cell(1,1,x)
cell(1,2,b) cell(1,2,b) cell(1,3,b)
cell(1,3,o) cell(2,1,b)
cell(2,1,b) cell(2,2,o) cell(2,2,o)
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,x) cell(3,3,x)
control(black) control(white)
noop mark(1,3)
Write a Comment
User Comments (0)
About PowerShow.com