A board game night with geeks: attacking Quarto ties with SAT solvers
-
Upload
felienne-hermans -
Category
Technology
-
view
693 -
download
3
Transcript of A board game night with geeks: attacking Quarto ties with SAT solvers
![Page 1: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/1.jpg)
![Page 2: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/2.jpg)
So this one day, I am playing the board game Quarto with
my boyfriend.
![Page 3: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/3.jpg)
Quarto is a variant of four in a row, with two twists:
One: The pieces have 4 attributes, instead of just 1 like in normal four in a row,
where pieces just vary in color. In Quarto, pieces vary
in shape, size, color and form of the top, as you can see
here
You win if you get four pieces in a row who all have the
same property.
The other twist is that you pick a piece, which your
opponent then places, but this is irrelevant for this talk.
![Page 4: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/4.jpg)
![Page 5: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/5.jpg)
![Page 6: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/6.jpg)
![Page 7: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/7.jpg)
![Page 8: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/8.jpg)
![Page 9: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/9.jpg)
![Page 10: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/10.jpg)
![Page 11: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/11.jpg)
![Page 12: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/12.jpg)
In university I followed a wonderful course on how to solve puzzles like this, by using boolean satisfiabiliy
![Page 13: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/13.jpg)
![Page 14: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/14.jpg)
![Page 15: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/15.jpg)
![Page 16: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/16.jpg)
![Page 17: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/17.jpg)
![Page 18: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/18.jpg)
![Page 19: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/19.jpg)
![Page 20: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/20.jpg)
![Page 21: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/21.jpg)
![Page 22: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/22.jpg)
![Page 23: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/23.jpg)
![Page 24: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/24.jpg)
![Page 25: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/25.jpg)
![Page 26: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/26.jpg)
![Page 27: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/27.jpg)
![Page 28: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/28.jpg)
![Page 29: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/29.jpg)
![Page 30: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/30.jpg)
![Page 31: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/31.jpg)
![Page 32: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/32.jpg)
![Page 33: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/33.jpg)
![Page 34: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/34.jpg)
![Page 35: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/35.jpg)
![Page 36: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/36.jpg)
How exactly will it help us if we convert the problem to
SAT?
Let’s dive into how an SAT solver works.
![Page 37: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/37.jpg)
![Page 38: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/38.jpg)
![Page 39: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/39.jpg)
![Page 40: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/40.jpg)
![Page 41: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/41.jpg)
![Page 42: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/42.jpg)
![Page 43: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/43.jpg)
![Page 44: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/44.jpg)
![Page 45: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/45.jpg)
No, trying all options would be too slow. SAT solvers have a use a few tricks to reduce
the state space
![Page 46: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/46.jpg)
![Page 47: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/47.jpg)
![Page 48: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/48.jpg)
![Page 49: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/49.jpg)
![Page 50: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/50.jpg)
![Page 51: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/51.jpg)
![Page 52: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/52.jpg)
![Page 53: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/53.jpg)
![Page 54: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/54.jpg)
![Page 55: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/55.jpg)
![Page 56: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/56.jpg)
![Page 57: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/57.jpg)
![Page 58: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/58.jpg)
![Page 59: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/59.jpg)
![Page 60: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/60.jpg)
![Page 61: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/61.jpg)
![Page 62: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/62.jpg)
![Page 63: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/63.jpg)
![Page 64: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/64.jpg)
![Page 65: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/65.jpg)
The input is generated now and converted to CNF. Would
it be satisfiable??
Suspense... Is.... Killing me!
![Page 66: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/66.jpg)
![Page 67: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/67.jpg)
There it is, the assignment and the accompanying board.
Woohoo, we did it!
Next question of course is, how many of such boards
exist?
![Page 68: A board game night with geeks: attacking Quarto ties with SAT solvers](https://reader038.fdocuments.us/reader038/viewer/2022103118/55c4ab77bb61eb045b8b45e4/html5/thumbnails/68.jpg)
Thanks for watching, the code is on github!