Сначала введем обозначения и определения.
Количество игроков: 
N.
Цвета шляпы пронумеруем: 
0, 
1. 
Все возможные комбинации шляп образуют 
единичный куб  в N-мерном пространстве (т.е. множество наборов из 
N координат, каждая из которых может быть принимать значение 
0 или 
1). 
Количество комбинаций: 
M = 2
NСтратегия одного игрока - функция от 
N-1 переменной (т.е. от цветов тех шляп, что он видит). Значения этой функции: 0, 1, пас.
Стратегия 
S команды = набор стратегий игроков. Для каждого из 
M исходов стратегия даст выигрыш (
обозначим его 1) или проигрыш (0). Каждая стратегия 
S может быть задана в виде таблицы из 
M строк, 
N столбцов для игроков и одного - для общего результата (дальше пример от балды):
|  | 1 | 2 | ... | N | S | 
| 00...00 | + | - |  |  | 0 | 
| 00...01 |  |  | + |  | 1 | 
| <...> |  |  |  |  | 0 | 
| 01...11 |  | + | + |  | 1 | 
| 10...00 | - | - |  |  | 0 | 
| <...> |  |  |  |  | 0 | 
11...10 | + |  |  | - | 0 | 
| 11...11 |  |  | - | + | 0 | 
Мы пишем для 
i-ого игрока "+", если он угадал, "-" - если не угадал, пусто - если пасовал. Наша задача теперь описать, как должны быть расставлены плюсы и минусы в таблице для того, чтобы в итоговом столбце получилось 
максимальное  число единиц.
Мы знаем, что команда выигрывает в данной строке, только если в ней встречается как минимум один плюс и не встречается минусов. Назовем два расклада 
соседними по i-ой координате, если у них совпадают все координаты, кроме i-ой (а в ней, естественно, противоположные значения). Из условия задачи ясно, что:
если игрок 
i угадал цвет своей шляпы в раскладе 
R, то в раскладе, соседнем с 
R по координате 
i, этот игрок обязательно ошибется! 
(*)Для простоты предположим, что у нас есть несколько строк, на которых (в сумме) отвечают все имеющиеся игроки. Давайте на этом множестве строк рассмотрим такую модельку: первый игрок ставит где-то плюсик, и в соседней (по его координате) строке ставит минус. Второй ставит один плюс и один минус так, чтобы не сделать хуже. Как именно? Очень просто - чтобы не увеличивать общее количество проигрышей, ему 
надо поставить свой минус в ту же строку, что и первый! (как там в шахматах обозначают сильный ход?  

 ). Разумеется, он обязан поставить плюс в соседнюю с "минусовой" строчку, - но уже по своей координате (а это не строка, в которой стоял плюс у первого!). Третий присобачивает минус в строчку к имеющимся, а плюс - в соседнюю, по 
своей, опять же, координате! Таким образом, если бы игроки имели возможность смотреть на всю картинку "сверху" и решать, как распоряжаться голосами, то условие 
(*) привело бы их к такой 
наилучшей расстановке плюсов и минусов:
В этой умозрительно наилучшей модели на строку из 
N минусов приходится 
N строк, в каждой из которых по одному плюсу. И тогда общая вероятность выигрыша составит 
N/
N + 1 !
Спрашивается: в каких случаях игроки могут выйти на такую "плановую мощность"? На вопрос, возможно ли это вообще, положительно отвечает пример 
N = 
3.