4 ms·
My favorite application of choice, known as ultrafilters: You know those "mathematicians wearing hats" games, where the solution is a Hamming code or some kind
by less_less 4y ago
My favorite application of choice, known as ultrafilters:
You know those "mathematicians wearing hats" games, where the solution is a Hamming code or some kind of modular arithmetic thing? Here's one where there's no winning strategy.
You have N mathematicians wearing hats whose colors are chosen uniformly and independently at random from a set C. They can see each others' hats but not their own. Simultaneously and without communication, each mathematician must guess their own hat color. Everyone who guesses right wins, and everyone who guesses wrong loses. A strategy maps (other mathematicians -> hat color) -> guess of your hat color, or if you're guessing randomly, then a distribution of guesses.
No matter what strategy is chosen, N/|C| players win in expectation. There's no trick to improve this, though you can change the distribution of how many players win. For example, you can guarantee that at least floor(N/|C|) of them win. This is neat in that it works even in a derandomized setting, where the strategy must be deterministic and the hats are assigned maliciously by an opponent who knows the strategy. (This setting is easier to work with for infinite C, because you don't need to worry about probability distributions on infinite objects.) But if |C| > N, then you can't guarantee that anyone wins.
OK, but what if there are infinitely many mathematicians, and you have the axiom of choice? In that case, there exists a strategy which guarantees that all but finitely many players will win — that is, the overwhelming majority of them will win. This works no matter how big C is, even if C is infinite, even if it's vastly larger than the set of players (eg if it's uncountable but the players are countable).
Why? Well, consider the relation that two hat assignments are "almost the same" iff they differ in only finitely many places. This is an equivalence relation, so we can divide the space of hat assignments into equivalence classes. Assuming choice, there is a function F which maps an equivalence class to some element of it. Since these equivalence classes ignore finite differences, everyone can tell what equivalence class E has been assigned even without knowing their own hat color, so can guess their own color according to F(E). By construction this is in E, so it differs from the true assignment in only finitely many places, so all but finitely many players win.
(The same holds for finitely many players too, but a strategy where all but finitely many players win is less impressive there.)
- mananaysiempre 4y ago> everyone can tell what equivalence class E has been assigned even without knowing their own hat color As is usual for such AC-dependent things, telling the class here is not (Turing) computable, right?
- less_less 4y agoNothing here is Turing computable because it's infinite, but telling what class you're in is the easy part. The class is just all assignments (player -> hat color) that are the same as what you see except in finitely many places. The hard part is F, which maps each equivalence class to some member of the class.
- lupire 4y agoNot just infinite, but also uncountable. > The hard part Quite hard: Not computable, in fact.
- less_less 4y ago> Not just infinite, but also uncountable. If the players are countable and the colors are countable, then each equivalence class is also countable. I guess that might also make it computable, in some model that lets you deal with infinite objects? Eg suppose you have a 2-tape Turing machine where one read-write tape is input which records what you see. There is a separate tape for the Turing machine's internal state. The machine outputs an infinite stream of assignments by doing normal Turing machine things, plus a "yield" instruction that yields the current state of the input tape as an output. The equivalence classes ought to be computable in that model. Note that the equivalence class is a set, so the Turing machine's output should be interpreted that way, i.e. two equivalent inputs will give outputs in a different order. (They can't always give outputs in the same order, because F isn't computable.) But yeah, there are uncountably many equivalence classes, and F is not computable. If it were, then as I understand it, then you wouldn't need choice.
- lupire 4y ago