Multiplayer games
Use vector of values for each node
Example, three players
to move
1 (1 2 3)
+---------------+ +------------------+
2 (1 2 3) (-1 5 2)
+--------+ +-----+ +--------+ +-------+
3 (1 2 3) (6 1 2) (-1 5 2) (5 4 5)
/ \ / \ / \ / \
1 (1 2 3) (4 2 1) (6 1 2) (7 4 -1) (5 -1 -1) (-1 5 2) (7 7 -1) (5 4 5)
1) each player maximizes utility
2) each node stores a vector of utilities
3) entire vector is backed up
Player 3, if in leftmost state, should choose first move because higher
utility values. Result will be terminal state with utility values
(v1 = 1, v2 = 2, v3 = 3).
This vector is backed up to the parent node.