Game theory of food serving

Viktor Tóth
Mindsoft
Published in
3 min readNov 28, 2014

Recently I’ve dived into game theory by attending a course. I’ve always been haunted by a dilemma while serving food to my guests at my apartment and now I’d like to introduce this problem in the formal terms of game theory — just for fun :D

Let’s have a grill party G(N, f), where N is the set of hungry participants (|N| is the number of them), and f is the amount of food available that is divided among p₁, p₂, … p|N| plates. Let hN be the host of the party, g₁, g₂, …, g|N|-1 ∈ N the guests. h serves the food for all the participants including h, as well as divides the f amount among the plates while, being a kind host, lets the guests to choose which plate they want to take. In the end h takes the last one left. Actions of the players’ are as follows (a₁, a₂, …, aₙ ∈ Aₓ denotes the set of actions player x is able to take):

  • Aₕ: h is able to decide the amount of food he puts on each plate. Therefore, aᵢ ∈ Ah is the distribution of food among the plates that is (p₁, p₂, …, p|N|) — each action is a tuple of plates. Assuming that h has no priority of giving more food to gᵢ than to gⱼ (i ≠ j), h is able to decide the proportion of food he puts on one plate and the average of the food amount on all other plates: (p₁, averagei(pᵢ)), a 2-element tuple where i ≠ 1. It is by definition that p1 + (|N| — 1) · averagei(pᵢ) = f, i ≠ 1. Here Ah can be simplified to 3 actions if we neglect the exact proportion of p₁ and averageᵢ(pᵢ):
  • a₁: p₁ > averagei(pᵢ),
  • a₂: p₁ = averagei(pᵢ),
  • a₃: p₁ < averagei(pᵢ).
  • Agᵢ: gᵢ is able to choose which pk plate to take — agᵢ = k: gᵢ takes pk. The last plate left goes to h automatically.

The payoff u(playerᵢ, A) for each playerᵢ ∈ N is the amount of food taken considering the set of actions A taken by all players — if gᵢ takes the kth plate (agᵢ = k), then u(gᵢ, A) = pk. Now, if h distributes food in a unequal way, h may speculate that the last plate it gets contains more food in ratio to the average. On the contrary, if all the “good” plates are gone, h suffers from being selfish and receives less than f / |N|. The Nash equilibrium of the game intuitively is p1 = averagei(pi) and agi is taking an arbitrary plate, as in this case p1 = p2 = … = p|N|. To put it simple, let’s see a |N| = 2 case with one guest and the host playing, let f = 4, Ag = {1, 2}, Ah = {(1,3), (2,2), (3,1)} by neglecting the continuous nature of Ah (Nash equilibria are indicated by red bordering):

Let’s see an example from the matrix: if h puts 1 unit food on p₁, and 3 units on p₂ (aₕ = (1,3)), and if g then chooses to take p₂ (ag = 2), then u(h, {aₕ, ag}) = 1, because h gets p₁ (the one plate left) containing 1 unit of food, and u(g, {aₕ, ag}) = 3, because g gets p₂ (what was chosen by it) containing 3 units of food. In this case we’re in the 1st row and 2nd column of the game matrix: (1,3).

The general case matrix with arbitrary number of guests and continuous Ah would have a |N| dimensional representation where the first dimension is infinite — that is determined by the infinite number of choices of h. Each cell of such a matrix would contain:
(p_left, p_ag₁, p_ag₂, …, p_ag|N-1|) where p_left ∉ {p_ag₁, p_ag₂, …, p_ag|N-1|}, and p_agᵢ is the plate gᵢ chooses [editor: sorry for this disgusting notation, if you know how to add subscript of letters, drop a comment pls].

The moral of the game is: you’d better distribute that food equally, because it always converges to the Nash equilibrium in the long term — alternatively you can just eat some before serving without anyone to notice :3

--

--