Keep That Card in Mind: Card Guessing with Limited Memory
A card guessing game is played between two players, Guesser and Dealer. At the beginning of the game, the Dealer holds a deck of n cards (labeled 1, ..., n). For n turns, the Dealer draws a card from the deck, the Guesser guesses which card was drawn, and then the card is discarded from the deck. The Guesser receives a point for each correctly guessed card. With perfect memory, a Guesser can keep track of all cards that were played so far and pick at random a card that has not appeared so far, yielding in expectation ln n correct guesses. With no memory, the best a Guesser can do will result in a single guess in expectation. We consider the case of a memory bounded Guesser that has m < n memory bits. We show that the performance of such a memory bounded Guesser depends much on the behavior of the Dealer. In more detail, we show that there is a gap between the static case, where the Dealer draws cards from a properly shuffled deck or a prearranged one, and the adaptive case, where the Dealer draws cards thoughtfully, in an adversarial manner. Specifically: 1. We show a Guesser with O(log^2 n) memory bits that scores a near optimal result against any static Dealer. 2. We show that no Guesser with m bits of memory can score better than O(√(m)) correct guesses, thus, no Guesser can score better than min{√(m), ln n}, i.e., the above Guesser is optimal. 3. We show an efficient adaptive Dealer against which no Guesser with m memory bits can make more than ln m + 2 lnlog n + O(1) correct guesses in expectation. These results are (almost) tight, and we prove them using compression arguments that harness the guessing strategy for encoding.
READ FULL TEXT