Dobble



I discovered the card game Dobble a few days ago whilst visiting relatives in Germany.  There are 57 cards with 8 symbols on each.  To play the most basic version of the game you deal the cards face down between the players such that one card remains (if there are an odd number of players you may need to hold back more than 1 card).  Then you turn face up the remaining card (or one of the remaining cards) and each person turns their top card face up. The first person to spot a symbol on their own card that matches one on the left over card shouts out the name of that symbol (e.g. "car!") and gets to move their card to the top of the shared stack; the others move their top card to the bottom of their own stack.  The winner is the person who gets rid of their cards first.


At first sight this doesn't seem very mathematical.  However, after a while I noticed something odd about the cards: every card shares exactly one symbol with each other card in the pack.  I thought that there must be some simple rule they used to generate the pack and resolved to figure it out as soon as I was away from my in-laws.  A few days later, after much middle distance staring and being what has been described as unavailable I was beginning to appreciate it might not be as simple as all that.

So... I cheated and looked up this wikipedia page (in German) and discovered a beautiful theory behind it.  It turns out that the game of Dobble is based on an abstraction of 2 dimensional geometry.  If you replace the word "symbol" with "point" and "card" with "line" then what you are looking for is a mathematical structure consisting of lines and points where each pair of lines intersect in exactly one point.  $\mathbb{R}^2$ is almost like that.  There's just a couple of issues....

The 1$^{st}$ issue with $\mathbb{R}^2$


The first issue is that parallel lines do not meet.  There's a neat fix to this
  • Instead of using $\mathbb{R}^2$ use antipode pairs from the surface of the unit sphere for the "points".
  • Instead of straight lines use great circles around the unit sphere for the "lines".
If you do this you end up with a structure that meets the axioms for a projective plane, one of which is that any two distinct lines meet in a unique point, making this mathematical structure suitable for generating a pack of Dobble cards.

Before we move on to the second issue note that there are a couple of alternative ways to construct an entirely equivalent projective plane.

1. The first is to notice 1D vector subspaces of $\mathbb{R}^3$ are lines through the origin and there's a one to one mapping between these and antipode pairs on the surface of the unit sphere.  Also, 2D vector subspaces are planes through the origin and there's a one to one mapping between these and great circles around the unit sphere.  These clues suggest the following theorem which is easily proven:

Given a 3D vector space, defining "points" as 1D subspaces, "lines" as 2D subspaces, and "lying on" as the $\subset$ relation, then the resulting structure forms a projective plane.

2. The second way to produce an equivalent projective plane is simply to add a virtual line consisting of points at infinity to the basic set $\mathbb{R}^2$.  This line intersects every ordinary line in $\mathbb{R}^2$.  The "points" in this line are the sets $\{u + V | u \in \mathbb{R}^2\}$ for 1D subspaces V.  I.e. we associate each set of parallel lines with a single point at infinity.  Another way to put it is that we associate each direction with a point at infinity.

The 2$^{nd}$ issue with $\mathbb{R}^2$

This one is kind of obvious: $\mathbb{R}^2$ is infinite, but we want only 57 cards (or lines) and a finite number of symbols (or points)!  There's a simple workaround to this and that is to notice that the 2nd method described above for constructing a projective plane works for any 2 dimensional vector space.  This is quite easy to prove, and it means that we can use vector spaces over finite fields like $\mathbb{F}_p$, the field of arithmetic modulo the prime $p$.

Constructing the Dobble plane

If we choose $p = 7$ then we get 57 lines.  This is because there are eight directions:
$$
(0,1), (1,0), (1,1), (1,2), (1,3), (1,4), (1,5), (1,6)
$$
and for each of these directions there are 7 parallel lines, and finally there is the one "line at infinity".  Here are a few lines illustrated using my Go board and each shows a single point of intersection.  This only works because 7 is prime, otherwise some lines would intersect twice or not at all

lines meet at (3,4)

lines meet at (6,3)

lines meet at (0,6)


lines meet at $\infty_{(1,6)}$

And there you have it.  Simply invent a symbol for each crosshair shown in the pictures above (plus another 8 symbols for the points "at infinity") and the 57 possible lines of stones specify the contents of the cards.  Nice!




Comments

Popular posts from this blog

How To Make ASCII Diagrams Beautifuller

Calculation of ECS using simple convection model

Why growth is falling in all developed countries (as a long term trend)