12 Game Trees - Backward Induction

done←leaves((S,E))done \leftarrow leaves((S, E))

# Zermelo's Algorithm
done ← leaves((S, E))
while done ≠ S:
    next ← { s' ∈ S ∖ done | children(s', (S, E)) ⊆ done }
    for s ∈ next:
        i ← owner(s)
        C ← children(s, (S, E))
        O ← arg max_{s' ∈ C} uᵢ(s')          # optimal choices
        s'' ← any element of O
        for j ∈ N:
            uⱼ(s) ← uⱼ(s'')                   # back utilities up
        done ← done ∪ {s}                     # we have processed s

Extensive form games are games that are played sequentially. It can be defined by G=(N,(S,E,s0),owner,a,u1,…,un)G = (N, (S, E, s_0), owner, a, u_1,\ldots,u_n)

Zermelo’s Algorithm / backward induction can solve extensive form games

Example Centipede Game

image

Based on Zermelo’s Algorithm,

  1. At v3v_3, Player 2 chooses RR, since 4>3. v3v_3 effectively becomes the payoff (1, 4).

  2. At v2v_2, Player 1 chooses RR, since 2>1. v2v_2 effectively becomes the payoff (2, 2).

  3. At v1v_1, Player 2 chooses RR, since 3>2. v1v_1 effectively becomes the payoff (0, 3).

  4. At v0v_0, Plyaer 1 chooses RR, since 1>0. v0v_0 effectively becomes the payoff (1, 1).

Based on backward induction, when both players are perfectly rational and can predict each other’s moves, Player 1 just chooses RR and stops the game.
The paradox is that they could each have had a greater payoff of (3, 3) if they trusted each other (deviating from the rational path) and played DD all the way.