1vs.
Boolean Games
turn based, one on one
Exercise 51
Players take turns
Exercise 51
Players take turns
4 connected win
Exercise 51
Players take turns
4 connected win
Exercise 51
have Fun
Players take turns
4 connected win
Exercise 51
1
0
1
0
1
0
1
0
1
0
1
0
0 starts
1
0
1
0
1
0
1
0
1
0
1
0 00 starts
1
0
1
0
1
0
1
0
1
0
1
0 0
1 starts
0 starts
1
0
1
0
1
0
1
0
1
0
1
0 0
1
0
1
0
1
0 11 starts
0 starts
1
0
1
0
1
0
1
0
1
0
1
0 0
1
0
1
0
1
0 1
1
0
1
0
1
0 101 starts
0 starts
Task: construct a set of Horn clauses that
describe if a player has already won
or lost.
1
0
1
0
1
0
1
0
1
0
1
0 0
1
0
1
0
1
0 1
1
0
1
0
1
0 101 starts
0 starts
1
0
1
0
1
0
1
0
1
0
1
0 0
1
0
1
0
1
0 1
1
0
1
0
1
0 101 starts
0 starts
0
1
0
1
0
1
0
1
0
1
0
1
0 0
1
0
1
0
1
0 1
1
0
1
0
1
0 101 starts
0 starts
0
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
1 starts
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
1 starts
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
1 starts
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
1 starts
0
How can we generalize?
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
0
1
0
1
0
1
0
1
0
1
0
1
0 1
1
0
1
0
1
0 10
0
if a draw is
not possible
00001110001000110000111000001100011100001110000001
10001000011000110000110000011000001000110000001000
00111000000111000100011000011100000110001110000111
00000011000100001100011000011000001100000100011000
00010000011100000011100010001100001110000011000111
00001110001000110001000011000110000110000011000001
00011000000100000111000000111000100011000011100000
11000111000011100000011000100001100011000011000001
10000010001100000010000011100000011100010001100001
11000001100011100001110000001100010000110001100001
10000011000001000110000001000001110000001110001000
11000011100000110001110000111000000110001000011000
11000011001000110000010001100002001000001110000001
11000100011000011100000110001110000111000000110001
00001100011000011000001100000100011000000100000111
00000011100010001100001110000011000111000011100000
“Any Boolean function leads to
a Game ...”
Donald E. Knuth
Exercise 52
construct game graph
animate
x2
start
construct game graph
animate
x2
x1
start
construct game graph
animate
x2
x1
x4
start
construct game graph
animate
x2
x3 x5 x7
x6 x8
x9x1
x4
start
x1 x3 x5 x7
x6x4 x8
x9
1
some example steps
- max 4 possible moves
-
start
x1 x3 x5 x7
x6 x8
x9
1 0
some example steps
- max 4 possible moves
-
start
x1 x5 x7
x6 x8
x9
1 0
1
some example steps
- max 4 possible moves
-
start
x1 x5 x7
x6 x8
x9
0
1
0
some example steps
- max 4 possible moves
-
start
x1
x2
x1
x2
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
x1
x2
xx
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
x1
x2
xx
x0
x1
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
x1
x2
xx
x0
x1
00
10
01
11
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
x1
x2
xx
x0
x1
0
0
0
1
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
x1
x2
xx
x1
0
0
0
1
0
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
Algorithm C
n (a)
2 0 wins
3 0 wins
4 first wins
5 second wins
6 second wins
7 1 loses if first
8 draw
9 draw
(a) f(x[1:n]) = x[1:n] < x[n:1]╓
╙
╓
╙
n (b)
2 second wins
3 first wins
4 first wins
5 draw
6 second wins
7 second wins
8 draw
9 draw
(b) f(x[1:n]) = xi⊕i
n (c)
2 1 wins
3 first wins
4 first wins
5 draw
6 1 loses if first
7 1 loses if first
8 draw
9 draw
(c) f(x[1:n]) = x[1:n] contains
no two consecutive 1’s
╓
╙ ╓
╙
n (d)
2 second wins
3 first wins
4 first wins
5 1 loses if first
6 1 loses if first
7 1 loses if first
8 1 loses if first
9 1 loses if first
(d) f(x[1:n]) = (x[1:n])2 is prime╓
╙
╓
╙
Questions?

Boolean Games