Presentation is loading. Please wait.

Presentation is loading. Please wait.

Game Reformulation General Game Playing Lecture 7

Similar presentations


Presentation on theme: "Game Reformulation General Game Playing Lecture 7"— Presentation transcript:

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

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.

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)

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

5 Factoring

6 Hodgepodge Hodgepodge = Chess + Othello Analysis of joint game:
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

7 Double Tic-Tac-Toe X X O O 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 X O X O

8 Game Factoring Method: Compute factors
Use factors to generate submoves Assemble overall move from submoves Cases: Initial factors Conditional factors

9 Propositional Net a1 n1 t1 p r q s
Propositions represent conditions that are true or false in each state of the world. Connectives express logical relationships among truth values - negation, conjunction, disjunction, and so forth. Transitions express truth in one state as a function of truth in the preceding state. Propositions with no input connectives or transitions are called extrinsic propositions / input variables; all others are referred to as intrinsic propositions / state variables. The idea of propositional net is basically a combination of logi nets and petri nets. Closely related to old notion of causal nets and similar to dynamic bayes nets with categorical probabilities.

10 Factorable Example a1 n1 t1 a2 n2 t2 q1 p1 r1 s1 q2 p2 r2 s2
Propositions represent conditions that are true or false in each state of the world. Connectives express logical relationships among truth values - negation, conjunction, disjunction, and so forth. Transitions express truth in one state as a function of truth in the preceding state. Propositions with no input connectives or transitions are called extrinsic propositions / input variables; all others are referred to as intrinsic propositions / state variables. The idea of propositional net is basically a combination of logi nets and petri nets. Closely related to old notion of causal nets and similar to dynamic bayes nets with categorical probabilities.

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).

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).

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).

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.

15 Example l o1 a1 q1 p1 r1 n1 s1 t1 a2 q2 p2 r2 n2 s2 t2 o2 g

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.

17 Example n3 n4 o1 o2 a1 n1 t1 a2 n2 t2 o3 l1 l2 q1 p1 r1 g1 q2 p2 r2 g2

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.

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

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.

21 Example n3 n4 o1 o2 a1 n1 t1 a2 n2 t2 o3 l1 l2 q1 p1 r1 s1 q2 p2 r2 s2
g

22 Example n3 n4 o1 o2 a1 a2 n1 n2 t1 t2 l1 l2 p1 p2 r1 r2 q1 q2 g1 g2
Propositions represent conditions that are true or false in each state of the world. Connectives express logical relationships among truth values - negation, conjunction, disjunction, and so forth. Transitions express truth in one state as a function of truth in the preceding state. Propositions with no input connectives or transitions are called extrinsic propositions / input variables; all others are referred to as intrinsic propositions / state variables. The idea of propositional net is basically a combination of logi nets and petri nets. Closely related to old notion of causal nets and similar to dynamic bayes nets with categorical probabilities. t1 t2

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. Partition time: 1 millisecond.

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.

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.

26 Relatively Inert Prop Net
q1 q2 t1 t2

27 q1, q2 not relatively inert
q1, q2 not relatively inert. If q2 is true and p2 is false then q2 becomes false. p1 p2 r1 r2 a1 a2 q1 q2 t1 t2

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.

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.

30 Example of Rewriting Original Version Rewriting
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

31 Buttons and Lights Pressing button a toggles p.
Pressing button b interchanges p and q. p q a b Propositions represent conditions that are true or false in each state of the world. Connectives express logical relationships among truth values - negation, comjunction, disjunction, and so forth. Transitions express truth in one state as a function of truth in the preceding state.

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 a b c d s t Propositions represent conditions that are true or false in each state of the world. Connectives express logical relationships among truth values - negation, comjunction, disjunction, and so forth. Transitions express truth in one state as a function of truth in the preceding state.

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

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.

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

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

37

38


Download ppt "Game Reformulation General Game Playing Lecture 7"

Similar presentations


Ads by Google