Cached correlated randomization: a tweak to UDT in adversarial games
Just recently had this idea, pulling it out of comments so it gets more visibility. Jessicata pointed me to a game proposed by Wichardt in 2008. I'll paste her summary:
suppose Alice has 2 copies, who have the same source code and who can randomize independently. There are 2 coffee shops that the copies can decide to go to without communicating. They would really like (+5) to meet at the same coffee shop. Also, Bob hates Alice, his utility function is hers negated. Alice gets −1 utility (and Bob +1) if Bob goes to the coffee shop where both Alice-copies go.
If we consider Alice as one UDT player, and Bob as another player (using any decision theory), then there's no Nash equilibrium. For any given policy of Bob, the best response of Alice's copies is to choose one coffee shop, not randomize independently. But then Bob's best response to that is to go to that coffee shop.
If only the Alices could randomize in a correlated way, like "50% chance that both copies go to the first coffee shop, and 50% chance that both go to the second"! But this isn't supported by UDT, even with optimization of global strategy ("UDT1.1"). The two copies can't flip correlated coins.
Reflective consistency to the rescue! Let's say I expect to play Wichardt-like games in the future. Then I can generate a long sequence of random numbers now and store them in my memory, so that future copies of me can use them in a correlated way. Then such a "UDT1.2" player can deal with any Wichardt-like games, or at least reach a Nash equilibrium in them.
The catch, of course, is that we're a bit outside the remit to begin with. It was never very specified how UDT should behave against other players, so this tweak may or may not be important and merit a version number.