Set Game -- Concise Notations

Version of April 9, 2002

Abstract Notation. When analyzing the combinatorial characteristics of the standard Set pack or its variations, we often have no interest in the graphical representation of tokens on the cards. This suggests a more abstract notation using letters to stand for properties and numbers to represent the values of each. Here is how one collection might be written:
• A3-B1-C2-D3
• A1-B1-C2-D3
• A2-B1-C1-D3
This collection is diverse in property A, uniform in B, broken in C, and uniform in D. Were we to expand to some large pack that has five values in each of seven properties, the choice of symbols would be patent. There is no particular connection between value 1 of property A and value 1 of property B, or between value 3 of property B and value 3 of property D, et cetera.

Kernel Notation. We can agree to display the properties in a fixed sequence, thereby becoming able to omit the letters entirely. The same collection is now:

• 3123
• 1123
• 2113
Kernel notation is useful in computer programs when calculating whether three cards form a set.

Flat Notation. To derive this requires several steps. To begin, we subtract one from each digit in the kernel notation:

• 2012
• 0012
• 1002
and then we regard each card's representation as an integer in base three:
• 2 x 27 + 0 x 9 + 1 x 3 + 2 x 1
• 0 x 27 + 0 x 9 + 1 x 3 + 2 x 1
• 1 x 27 + 0 x 9 + 0 x 3 + 2 x 1
and simplify:
• 59
• 5
• 29
Now each card is represented by one integer, which we describe as flat because the dimensionality of the pack is no longer evident.

Flat notation is useful in computer programs for representing a collection of cards -- we set up an array with one element for each card in the pack (hence 81 elements for the standard pack) and the flat integer serves as subscript to the array. Each element of the array meanwhile is merely a bit set to true if the card is in the collection, and false otherwise.

Our own computer programs use primarily the kernel and flat notations, with efficient conversion routines between them.