3

In the ordinary "Spot It"/"Dobble" game, there is exactly one common image between any two cards. At the moment I am trying to modify the algorithms already available on the internet so that any two cards have two, three, etc. elements in common.

Unfortunately, I have failed and am now looking for ideas on how such an algorithm could look in concrete terms. Do you have any ideas for such an algorithm?

https://www.games4all.ee/wp-content/uploads/2019/07/cards.jpg

Moldevort
  • 141
  • Spot It can more or less be modeled as a projective plane of order $7$: There are $7^2 + 7 + 1 = 57$ symbols, representing the points in the plane, and the cards correspond to the 57 lines in the plane: Each pair of lines intersects in exactly one points, i.e., each two distinct cards have precisely one symbol in common. (For whatever reason, maybe because of printing constraints, Spot It only includes 55 of the 57 cards/"lines".) – Travis Willse Jan 18 '21 at 20:51
  • 2
    I don't know of a general algorithm for producing interesting solutions, but there is a trivial solution: One each card, duplicate each symbol, and then for each symbol, on each card where it appears, recolor one of the two copies of the symbol in a particular way. So, e.g., each card that had a (red) ladybug in the original deck now has one red ladybug and one green ladybug, and likewise for all of the other symbols. – Travis Willse Jan 18 '21 at 20:55
  • Thanks for your idea, that's how I'm implementing it currently.

    If you play the game a few times, you will know at some point - as in your example - that the red ladybug always goes with the green one. It would be great, if I could find a way so that the symbols don't always appear in pairs, making the search a little more challenging.

    – Moldevort Jan 18 '21 at 23:26
  • There's another trivial method of generating sets of cards so that any two cards have exactly $n$ symbols in common: Pick $n + 2$ symbols, and for each symbol, make a card that excludes only that symbol, so that each card has $n + 1$ symbols. – Travis Willse Jan 18 '21 at 23:41
  • 1
    I wrote a blog post about how to construct Spot It decks that might be helpful. I don't know how to modify the method to have every pair of cards overlap in two or three symbols. I think the keyword you want to search for is "combinatorial designs". – MJD Jan 18 '21 at 23:56

2 Answers2

2

One can generate such a deck with a symmetric block design, which consists of

  • a set $\mathcal S$ (of symbols)
  • a collection $\mathcal C$ of subsets of $\mathcal S$ called blocks---in our case, cards---such that there are as many cards as there are symbols, and each $2$-subset of symbols occurs on equally many, say, $\lambda$, cards.

This concept is a special case of the concept of combinatorial design.

If we denote by

  • $v$ the number of symbols, equivalently the number of cards, and
  • $k$ the number of cards in which any given symbol appears---which for symmetric designs is the same as the number of symbols on each card---

then $$\lambda (v - 1) = k (k - 1) ,$$

and we call a design with given parameters a $(v, k, \lambda)$-design. The order of a symmetric design is $k - \lambda$.

It turns out that every two distinct cards have $\lambda$ symbols in common, so $(v, k, 1)$-designs (with $k > 2$) correspond to projective planes and therefore to the Spot-It like games outlined in MJD's blog post mentioned in the comments, and the question is asking about the construction of $(v, k, \lambda)$-designs with $\lambda > 1$.

There are lots of constructions for producing these:

Example 1 (faces of $n$-simplices) One easy construction is taking a set of $n$ symbols and making $n$ cards, each of which omits one of the symbols, so that each pair of cards intersects in $n - 2$ symbols, giving a $(n, n - 1, n - 2)$ design, which thus has order $1$. (We can think of such a design as an $n$-simplex, the cards as the codimension-$1$ faces of the simplex, and the sets of symbols common to two given cards as the codimension-$2$ face at which the corresponding faces meet.)

Example 2 (complementary designs) Given any $(v, k, \lambda)$-design, we can produce a $(v, v - k, \lambda + v - 2 k)$-design by replacing the set of symbols on each card with the complement of that set. The new design is called the complement of the old one and the two designs have the same orders.

Example 3 (Hadamard designs) For any Hadamard matrix of size $(4 m) \times (4 m)$, we can construct a $(4 m - 1, 2 m - 1, m - 1)$-design (called a Hadamard $2$-design), which thus has order $m$: By rearranging rows and columns of the Hadamard matrix, we can arranging for the first row and first column to have all entries $+1$. Delete that row and column, that is, consider the lower-right $(4 m - 1) \times (4 m - 1)$ minor $\Lambda$. Then, for each $(i, j)$ the card $C_j$ includes the $i$th symbol if and only if $\Lambda_{ij} = -1$.

Example 4 (Grassmannians of hyperplanes over finite fields) For any finite field $\Bbb F_q$ and any dimension $d \geq 2$, let the symbols and cards be the lines and hyperplanes, respectively, in $\Bbb F_q^{d + 1}$, and declare that a symbol $\ell$ is on a card $H$ if and only if $\ell \subset H$. This defines a $\left(\frac{q^{d + 1} - 1}{q - 1}, \frac{q^d - 1}{q - 1}, \frac{q^{d - 1} - 1}{q - 1}\right)$-design, which thus has order $q^{d - 1}$. The special case $d = 2$ yields projective planes.

A design with $\lambda = 2$---that is, a deck so that any two distinct cards have exactly two symbols is common---is called a biplane. A biplane of order $m$ corresponds to a deck with $\frac{1}{2} (m^2 + 3 m + 4)$ symbols and as many cards.

  • The only biplane of order $0$ corresponds to a trivial deck of $2$ cards, each of which have the same $2$ symbols: $$01, \qquad 01$$

  • The only biplane of order $1$ is given by taking $n = 4$ in Example 1: $$012, \qquad 013, \qquad 023, \qquad 123$$

  • The only biplane of order $2$ is the complement (Example 2) of the Fano plane, the smallest of the projective planes, i.e., the projective plane $\Bbb P(\Bbb F_2^3)$ corresponding to the $2$-element field $\Bbb F_2$: $$0136, \qquad 0145, \qquad 0235, \qquad 0246, \qquad 1234, \qquad 1256, \qquad 3456 .$$

  • The only biplane of order $3$ arises from the unique Hadamard design (Example 3) with $m = 3$. Since $11$ is prime, we can apply the Paley construction to produce a $12 \times 12$ Hadamard matrix and hence an $11$-card deck: \begin{multline} 01247, \quad 0136\textrm{A}, \quad 0259\textrm{A}, \quad 03789, \quad 04568, \quad 12358, \\ 1489\textrm{A}, \quad 15679, \quad 23469, \quad 2678\textrm{A}, \quad 3457\textrm{A} . \end{multline} This configuration is called the Paley biplane, and it corresponds to the exceptional inclusion $PSL(2, 5) \hookrightarrow PSL(2, 11)$.

  • There are several distinct biplanes of order $4$, including one arising from the classic Kummer configuration, which corresponds to a deck of $16$ cards and as many symbols.

  • The Bruck-Ryser-Chowla Theorem implies that there are no biplanes of order $5$ or $6$.

I haven't seen the term before, but one might as call a design with $\lambda = 3$ a triplane; a triplane of order $m$ corresponds to a deck with $\frac{1}{3} (m^2 + 5 m + 9)$ symbols and as many cards, so a triplane cannot have order equivalent to $2 \pmod 3$.

  • There is a triplane of order $0$ analogous to the trivial biplane.
  • Taking $n = 5$ in Example $1$ gives a triplane of order $1$.
  • The dual of the Paley biplane is a triplane of order $3$.
  • Taking $q = 2, d = 3$ in Example 4 gives a triplane of order $4$, and it corresponds to a deck of $15$ cards and as many symbols.
Travis Willse
  • 99,363
1

For anyone who's interested: I used the advice posted in this comment:

https://stackoverflow.com/questions/65780880/algorithm-to-create-spot-it-dobble-cards-but-with-two-common-images-from-an#comment116311020_65780880

So let's assume I take two decks of cards with completely different images.

A1     B1
A2     B2
A3     B3
...    ...
An     Bn

Now, all those cards get shuffled

A23     B50
A4      B12
A18     B17
...     ....

and combined into one large card.

A23 + B50
A4  + B12
A18 + B17
...   ....

This will result in two images matching between each pair of cards (one of set A and one of set B)

Moldevort
  • 141