The Scandinavian countries can boast of a range of special Christmas traditions and one recent addition to this list is the Christmas Gift Dice Game, common at festive occasions. The basic concept: all guests bring a small gift and roll a die in turn. If you roll a six, you get a to pick a gift. When all gifts are won, the game continues until a predefined (unknown) time period expires (usually given by an alarm clock) and in this period it is allowed to STEAL any gift.
The definition of a “winning roll” comes in many variations, in terms of the number of dice or the winning number(s). We will use two dice where a win is given by a least one six (such that the probability of winning is 11/36, approximately 2/3). But the most influential rule variation is the possibility of a bonus roll: can you roll again, if you win a gift? This does not seem to be a profound change at first glance, but the probability of several winning rolls in a row is higher than one might assume.
To illustrate the effect of the bonus roll, we simulate 50 rounds of the Gift Game with 16 participants, 16 gifts and 2 dice, where we always stop the game after 50*16=800 throws. A round is simulated by the following algorithm (implemented in R):
guests <- 16 rounds <- 50 gifts <- 16 distribution <- matrix(, guests, rounds*guests+1) BonusRoll <- TRUE # the non-stealing part of the game, assigning each gift to a random guest distribution[,1] <- tabulate(sample(guests,gifts,replace=TRUE), nbins=guests) for(i in 1:(rounds*guests)){ distribution[,i+1] <- distribution[,i] newRoll <- TRUE while(newRoll){ six <- c(sample(6,1),sample(6,1)) newRoll <- FALSE if((six[1]==6)|(six[2]==6)){ # remove a gift from a random guest with at least one gift, but not the winning guest randGuest <- sample(which(distribution[,i+1]>0),1) distribution[randGuest,i+1] <- distribution[randGuest,i+1] - 1 #increase nu. of gifts for the winning guest with one currGuest <- i %% guests + 1 distribution[currGuest,i+1] <- distribution[currGuest,i+1] + 1 # If BonusRoll is TRUE, get a newRoll if((BonusRoll)) { newRoll <- TRUE } } } } matplot(t(distribution),type='l',main='No. of gifts for guests',ylab = 'No. of gifts',xlab='Roll')
Here, the first non-stealing part of the game is simulated by assigning each gift to a guest randomly before entering the for-loop.
So, what is the implication of the bonus roll? Basically, it makes the whole game more unfair! This is due the fact that the winning guest gets the opportunity to win even more. This is easy to see if we simulate 2000 rounds of the game with the bonus roll and then 100 rounds without the bonus roll. The unfairness or inequality in the distribution of the gifts at any time can be measured by two quantities: the Gini coefficient, usually used to assess income inequality, and the percentage of gifts in the hands of the "richest" guest, the guest with the most gifts.
The Gini coefficient measures the inequality among values of a frequency distribution. A coefficient of zero expresses perfect equality, where all values are the same (all guests have exactly one gift), while a Gini coefficient of one expresses maximal inequality among a values (one guest has all the gifts and all others have none).
The increased inequality created by the additional rule is easily seen when averaging over 2000 simulated games:
It is also interesting to observe that the stealing part of the game in itself changes the Gini value of initial random distribution. The proof is in: stealing increases inequality!
With the bonus roll, the "richest" players share of the gifts will on average be 5 % points higher than without the bonus roll. It may therefore be important to consider which rules you prefer, if you plan to host a Christmas party with the Gift Game: do you value equality or do you find it more entertaining (and possibly more rewarding, if you are lucky) that "the winner takes it all" (or most of it at least)?
Log in to comment
Not UiO or Feide account?
Create a WebID account to comment