Set Game -- Concise Notations
Home Page of This Site
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:
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:
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:
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.