38
Game Reformulation General Game Playing Lecture 7 Michael Genesereth Spring 2012

Game Reformulation

  • Upload
    ivy

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

General Game PlayingLecture 7. Game Reformulation. Michael Genesereth Spring 2012. Metagaming. Metagaming is match-independent game processing, i.e. game processing that is done independent of any particular opponent or any particular state. - PowerPoint PPT Presentation

Citation preview

Page 1: Game Reformulation

Game Reformulation

General Game Playing Lecture 7

Michael Genesereth Spring 2012

Page 2: Game Reformulation

2

Metagaming

Metagaming is match-independent game processing, i.e. game processing that is done independent of any particular opponent or any particular state.

Objective of metagaming - to optimize performance in playing specific matches of the game.

Usually done offline, i.e. during the startclock or between moves or in parallel with regular game play.

Page 3: Game Reformulation

3

Examples

Boring: Headstart on Game-Graph Search Endgame book

Structural: Change of Framework (e.g. state machines to propnets) Game Reformulation (e.g. game decomposition)

Engineering: Compilation (machine language, fpga’s)

Page 4: Game Reformulation

4

Game Reformulation

Conceptual Reformulation - Changing propositions and/or connectivity within game

cell(1,1,x) x(1,1)cell(1,2,b) o(2,2)cell(1,3,b) x(3,3)cell(2,1,b)cell(2,2,o)cell(2,3,b) board(x,b,b,b,o,b,b,b,x)cell(3,1,b)cell(3,2,b)cell(3,3,x)

Game Factoring - dividing game into sub-games

Page 5: Game Reformulation

5

Factoring

Page 6: Game Reformulation

6

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 7: Game Reformulation

7

Double Tic Tac Toe = TTT + TTT

Analysis of joint game: Branching factor: 81, 64, 49, 36, 25, 16, 9, 4, 1 Branching factor: 9, 8, 7, 6, 5, 4, 3, 2, 1

Double Tic-Tac-Toe

X

O

XO

OX

X

O X

O

O X

Page 8: Game Reformulation

8

Game Factoring

Method: Compute factors Use factors to generate submoves Assemble overall move from submoves

Cases: Initial factors Conditional factors

Page 9: Game Reformulation

9

Propositional Net

a1

q

p

r

n 1s

t1

Page 10: Game Reformulation

10

Factorable Example

a1

q1

p1

r1

n 1s1

t1

a2

q2

p2

r2

n 2 s2

t2

Page 11: Game Reformulation

11

Propnet Factors

A propositional net M is a factor of N if and only if M is contained in N and there are no connections between the components in M and the components in N-M.

Factors of propositional nets can be found in polynomial time (in terms of the size of the nets).

Page 12: Game Reformulation

12

Open Propositional Automata

An open propositional automaton is a structure of the form <N,m,t>, where N is a propnet with one or more input propositions, where m is a base marking (the initial marking), where t is a proposition in N (the terminal node).

Page 13: Game Reformulation

13

GGP Version

For GGP purposes, we augment to <N,m,t,l,g>, where l is a proposition in N (the legality node for the input propositions), and where g is a proposition in N (the goal node).

Page 14: Game Reformulation

14

Determination

The goal and legality and terminal nodes must be determined by the base propositions. A proposition p is determined by a set of propositions P iff p is a member of P or is the output of a gate with all inputs determined by P.

Page 15: Game Reformulation

15

Example

a1

q1

p1

r1

n 1s1

t1

a2

q2

p2

r2

n 2 s2

t2

g

o2

o1

l

Page 16: Game Reformulation

16

2-Port Open Propositional Automata

An n-port open propositional automaton is a tuple of the form <N,m,t, I1,l1,g1,I2,l2,g2>, where N is an arbitrary propositional net, where m is a base marking (the initial marking), where t is a proposition in N (the terminal node), where I1, I2 is a partition of the input propositions in N, where L1 and L2 are sets of propositions in N (the legality nodes for each role), and where g1 and g2 are proposition in N (the goal nodes for each role).

The goal and legality and terminal nodes must be determined by the base propositions.

Page 17: Game Reformulation

17

Example

a1

q1

p1

r1

n 1g1

t1

a2

q2

p2

r2

n 2 g2

t2

t

o3

l2o1

n 3

o2

n 4

l1

Page 18: Game Reformulation

18

n-Port Open Propositional Automata

An n-port open propositional automaton is a tuple of the form <N,m,t, I1,l1,g1, … , In,ln,gn>, where N is an arbitrary propositional net, where m is a base marking (the initial marking), where t is a proposition in N (the terminal node), where I1,…,In is a partition of the input propositions in N, where Li is a set of propositions in N (the legality nodes for role I for role i), and where gi is a proposition in N (the goal node for role i).

The goal and legality and terminal nodes must be determined by the base propositions.

Page 19: Game Reformulation

19

Game Factoring

Method: Compute factors Use factors to generate “subplans” Reassemble overall plan from subplans

Patterns: * Disjunctive Factors + Interleaved Conjunctive Factors + Simultaneous Conjunctive Factors X Sequential Factors

* Initial factors versus X conditional factors

Page 20: Game Reformulation

20

Disjunctive Factoring

Disjunctive Goals Delete disjunctive goal Make disjuncts goals for each factor

Solve one of two problems and use that solution.

In multiple player games, your player must be sure it does not lose other factors before it wins the factor it has selected.

Page 21: Game Reformulation

21

Example

a1

q1

p1

r1

n 1s1

t1

a2

q2

p2

r2

n 2 s2

t2

g

o3

l2o1

n 3

o2

n 4

l1

Page 22: Game Reformulation

22

Example

a1

q1

p1

r1

n 1g1

t1

a2

q2

p2

r2

n 2 g2

t2

o1

n 3

o2

n 4

l2l1

Page 23: Game Reformulation

23

Performance

? (time (genplan propcompbuttons)) 407 states 1,118 milliseconds. 605,728 bytes of memory allocated.(PROG A B A D E D)

? (time (multiplan propcompbuttons)) 14 states 53 milliseconds 22,320 bytes of memory allocated.(PROG A B A D E D)Partition time: 1 millisecond.

Page 24: Game Reformulation

24

Interleaved Conjunctive Factoring

Conjunctive Goals Delete conjunctive goal Make conjuncts goals for each factor

In interleaved conjunctive factoring, the actions of each factor are paired with noops for other factors until goal is reached, after which actions in other factors are executed.

In simultaneous conjunctive factoring, actions must be decomposed into actions for each factor and recomposed into joint actions.

Page 25: Game Reformulation

25

Relative Inertia

In interleaved conjunctive factoring, a player must show that a non-action leaves everything the same, i.e. that the propositions in a factor do not change unless one of the actions in the factor is executed.

Page 26: Game Reformulation

26

p2

o2

q2

r2

p1

q1

o1 r1

t1 t2

Relatively Inert Prop Net

Page 27: Game Reformulation

27

p2

q2

r2

p1

q1

r1

t1 t2

q1, q2 not relatively inert. If q2 is true and p2 is false then q2 becomes false.

Page 28: Game Reformulation

28

Simultaneous Conjunctive Factoring

Conjunctive Goals Delete conjunctive goal Make conjuncts goals for each factor

Solve each problem, conjoin solutions.

In simultaneous conjunctive factoring, actions must be decomposed into actions for each factor and recomposed into joint actions.

Page 29: Game Reformulation

29

Restructuring and Reformulation

In some cases, it may be necessary and it may be possible to restructure a propositional net so that it becomes factorable. Restructuring here means same propositions but different gates and transitions.

In some case, it may be necessary to reformulate goals and/or actions so that they become factorable and still satisfy the properties described earlier. Reformulation here means different propositions as well as different gates and transitions.

Page 30: Game Reformulation

30

Example of Rewriting

Original Version p' :- a & ~p p' :- b & p q' :- a & ~q q' :- b & q s' :- a & s s' :- b & ~t t' :- a & t t' :- b & ~s

Rewriting p' :- a & ~p p' :- ~a & p q' :- a & ~q q' :- ~a & q s' :- ~b & s s' :- b & ~t t' :- ~b & t t' :- b & ~s

Page 31: Game Reformulation

31

Buttons and Lights

Pressing button a toggles p.Pressing button b interchanges p and q.

p q

a b

Page 32: Game Reformulation

32

Double Buttons and Lights

Pressing button a toggles p, toggles s.Pressing button b toggles p, interchanges s and t.Pressing button c interchanges p and q, toggles s.Pressing button d interchanges p and q, s and t.

p q

b ca d

s t

Page 33: Game Reformulation

33

Original Version

p' :- a & ~p p' :- b & q q' :- a & q q' :- b & p s' :- a & ~s s' :- b & ~s t' :- a & t t' :- b & t

p' :- c & ~p p' :- d & q q' :- c & q q' :- d & p s' :- c & t s' :- d & t t' :- c & s t' :- d & s

Page 34: Game Reformulation

34

Action Grouping

Actions grouped according to behavior.

p' :- {a,c} & ~p p' :- {b,d} & q q' :- {a,c} & q q' :- {b,d} & p

s' :- {a,b} & ~s s' :- {c,d} & ~s t' :- {a,b} & t t' :- {c,d} & t

Note the partition on propositions.

Page 35: Game Reformulation

35

Import and Export

Import: Export: e :- a a :- e & g e :- b b :- e & h f :- c c :- f & g f :- d d :- f & h g :- a g :- c h :- b h :- d

Page 36: Game Reformulation

36

Reformulated Version

p' :- e & -p q' :- e & q

p' :- f & q q' :- f & p

s' :- g & -s t' :- g & t

s' :- h & t t' :- h & s

Page 37: Game Reformulation

37

Page 38: Game Reformulation

38