Knucklebones

History

The poet Homer credits Palamedes (Παλαμήδης) with the discovery of dice during the siege of Troy. Specifically, he invented the dice gambling game called Astragaloi (or Astragals) by the Greeks. He dedicated the dice he invented to Tyche (Τύχη), the Goddess of Fortune, but the goddess did not protect him when he fell a victim of slander.

Click here to read what happened to the unlucky hero Palamedes next, or continue reading this article for a description of the dice game Palamedes invented.

Astragaloi remained popular through Roman times. The Romains called it Tali, which is the Latin name for Knucklebones. And the game remained popular through Medieval times. You'll find a treatment of Knucklebones in the booklet Medieval Games and Recreation.

Physical characteristics

The earliest knucklebones (and the most commonplace) were literally made out of animal knucklebones. However, they can be made out of anything: wood, glass, metal or even expensive gems. As a result, it was common to see knucklebones used as money.

Each knucklebone is unique. Look at this picture of a set of knucklebones:

Knucklebones

So although a knucklebone is somewhat 4-sided, each of the 4 sides has a distinctive shape. Therefore each one has its own unique probability distribution. Don't assume a knucklebone works like a modern d4. This is likely the main reason nobody attempted to formulate a theory of probability until Gerolamo Cardano wrote Liber De Ludo Aleae (How to Shoot Craps) in the mid 1500s. The work remained unpublished until 1663. It's important to note that this and all the other early work on probability theory was inspired by dice games; for a review of this literature, see the this paper.

Terminology

The dice themselves were called "astragali" (αστράγαλοι) meaning "knucklebones." Today the dice are called κότσια, originally a Byzantine term. The dice are carried in a pouch made of leather or cloth called formiskos (φορμίσκος). The game itself is called "astragalismos" (αστραγαλισμός).

The dice have 4 sides. Two are broad, and two are narrow. Refer to this image:

The four sides of a kuncklebone

The two pairs of opposite sides have the same sum in points: 6 (κώον) + 1 (κυών) = 7 = 3 (ύπτιον) + 4 (πρανές).

The worst single roll is a 1 or dog (κυών), and the worst hand is four-of-a-kind called "gypas" (γύπας) or "vulture."

Game Rules

Long before most people could count, they could recognize the distinct shape of each of the four sides of a knucklebone. So they played games based on pattern matching, e.g., four of a kind, three of a kind, two pair, or all sides different. More educated folks used the patterns too, but they also supplemented them with scores, i.e., the total of the numbers on the 4 sides. In this way, the game somewhat resembles poker.

I've been calling knucklebones a game when in reality it is a loose family of games. Players will agree to a specific set of rules before they begin. Emperor Augustus used a very simple set of rules for Tali. Each player rolls four knucklebones each round:

In more complicated games, we may get hands besides Cani and Venus. Here is a more complete listing:

If the dice are numbered, then scores may be computed by totaling the numbers. In general, if players get the same hand (say a pair), then the one with the higher score wins. Bear in mind there will be exceptions to these rules. Every locale and every group of players had its own customary house rules.

Probabilities

Let's work out the probabilities for a hypothetical game of Tali. Remember every knucklebone is different with a different set of probabilities. Sides are not equiprobable. And dice aren't iid. But for simplicity we'll assume this game is played with four identical bones each with the following probability mass function pmf:

{"1": 0.1, "3": 0.4, "4": 0.4, "6": 0.1}

We'll play with these rules:

This code will compute hands and scores given for this spec:

hand ← if[max(image(tally tali))=1, "venus", max tali=1,"dogs", max(image(tally tali))=4, "vultures", max tali=6,"senio", max(image(tally tali))=3, "three of a kind", min(image(tally tali))=2, "two pair", max(image(tally tali))=2, "pair", true, "cheater!"]
score ← sum tali
pmf ← {"1": 0.1, "3": 0.4, "4": 0.4, "6": 0.1}
roll ← 4 # pick pmf

To generate one random roll and compute it's hand and score, do this:

tali ↜ roll; hand; score

To see the probabilities and sample statistics for various scores, do this:

prob(sum(roll)); stats(sum(roll))

Computing the exact probabilities of each hand is more complicated. Here's a quick-and-dirty calculation:

probvenus ↜ 4! * 0.1 ^ 2 * 0.4 ^ 2
probdogs ↜ 0.1 ^ 4
probvultures ↜ 2 * 0.4 ^ 4 + 0.1^4
probsenio ↜ comb(4, 3) * 0.1 ^ 3 * 0.9 + comb(4, 2) * 0.1 ^ 2 * 0.9 ^ 2 + comb(4, 1) * 0.1 * 0.9 ^ 3 - probvenus
probtwopair ↜ comb(4, 2) * 0.4 ^ 4 + 2 * comb(4, 2) * 0.4 ^ 2 * 0.1 ^ 2
probtriple ↜ 2 * comb(4, 1) * 0.4 ^ 3 * 0.5 + comb(4, 1) * 0.1 ^ 3 * 0.8
probpair ↜ 2 * comb(4, 2) * 2 * 0.4 ^ 3 * 0.1 + comb(4, 2) * 2 * 0.4 ^ 2 * 0.1 ^ 2

Confirm that these probabilities sum to 1.0 (up to JavaScript rounding errors):

sum [probvenus, probdogs, probvultures, probsenio, probtwopair, probtriple, probpair]

Now let's confirm these theoretical calculations by running a simulation. This code block will yield a random hand only:

{tali ↜ roll; hand}

This will generate a sample of 10 random hands:

10 # {tali ↜ roll; hand}

Finally, this will compute a frequency table for 100,000 random hands:

freq (100000 # {tali ↜ roll; hand})

These empirical results compare favorably to our theoretical results.

Here are the results generated by pasting all this stuff into the browser interface:

hand ← if [max (image (tally tali)) = 1, "venus", max tali = 1, "dogs", max (image (tally tali)) = 4, "vultures", max tali = 6, "senio", max (image (tally tali)) = 3, "three of a kind", min (image (tally tali)) = 2, "two pair", max (image (tally tali)) = 2, "pair", true, "cheater!"]

score ← sum tali

pmf ← {"1":0.1,"3":0.4,"4":0.4,"6":0.1}

roll ← 4 # pick [1, 0.1, 3, 0.4, 4, 0.4, 6, 0.1]

tali ↜ roll → [4, 4, 3, 3]
hand → "two pair"
score → 14

prob (sum (roll)) → {"4":0.00010000000000000003,"6":0.0016000000000000007,"7":0.0016000000000000007,"8":0.009600000000000004,"9":0.01960000000000001,"10":0.03520000000000001,"11":0.08160000000000003,"12":0.10720000000000005,"13":0.14720000000000003,"14":0.19260000000000008,"15":0.14720000000000005,"16":0.10720000000000005,"17":0.08160000000000003,"18":0.035200000000000016,"19":0.019600000000000006,"20":0.009600000000000004,"21":0.0016000000000000007,"22":0.0016000000000000007,"24":0.00010000000000000003}
stats (sum (roll)) → {"min":4,"max":24,"mean":14.000000000000004,"median":14,"sd":2.4083189157584557,"count":19}

probvenus ↜ 4! * 0.1 ^ 2 * 0.4 ^ 2 → 0.03840000000000002

probdogs ↜ 0.1 ^ 4 → 0.00010000000000000005

probvultures ↜ 2 * 0.4 ^ 4 + 0.1 ^ 4 → 0.051300000000000026

probsenio ↜ comb(4,3) * 0.1 ^ 3 * 0.9 + comb(4,2) * 0.1 ^ 2 * 0.9 ^ 2 + comb(4,1) * 0.1 * 0.9 ^ 3 - probvenus → 0.3054

probtwopair ↜ comb(4,2) * 0.4 ^ 4 + 2 * comb(4,2) * 0.4 ^ 2 * 0.1 ^ 2 → 0.17280000000000006

probtriple ↜ 2 * comb(4,1) * 0.4 ^ 3 * 0.5 + comb(4,1) * 0.1 ^ 3 * 0.8 → 0.25920000000000004

probpair ↜ 2 * comb(4,2) * 2 * 0.4 ^ 3 * 0.1 + comb(4,2) * 2 * 0.4 ^ 2 * 0.1 ^ 2 → 0.17280000000000006

sum [probvenus, probdogs, probvultures, probsenio, probtwopair, probtriple, probpair] → 1.0000000000000002

{tali ↜ roll; hand} → "pair"

10 # {tali ↜ roll; hand} → ["senio", "three of a kind", "three of a kind", "three of a kind", "senio", "two pair", "senio", "three of a kind", "senio", "senio"]

freq (100000 # {tali ↜ roll; hand}) → {"three of a kind":0.25925,"two pair":0.17235,"pair":0.17307,"senio":0.30498,"venus":0.03891,"vultures":0.05134,"dogs":0.0001}

Other uses: Divination

Besides gaming, knucklebones were used for divination. This involved tossing a handful of knucklebones into a Situla---a vase filled with water---and divining the pattern in the dice after they came to rest at the bottom. Greeks would attempt to divine the will of lady Fortune, Tyche. Besides the Greeks, there are many examples of this kind of divination in the Bible, for example to determine guilt or innocence; see the Wikipedia article on Cleromancy for a list of specific examples. There is also a helpful PDF booklet on how to do divination with knucklebones, called Astragaloi: Greco-Roman Dice Oracles by Jenna Mortensen.



AUTHORS BUGS DISCUSSION LICENSE NAME NEWS README SOURCE TODO TRY VERSION

Last update: Fri Sep 23 2016