Je reprend: au début chaque logicien tient le raisonnement suivant
"Alors, vu que je vois deux chapeaux blancs, je sais que deux noirs ne sont pas utilisés.
Ensuite, mon camarade de droite voit quant à lui un chapeau blanc ainsi que le mien, qui peut être noir ou blanc. Il sait donc qu'au moins un des chapeaux noirs n'est pas utilisé, ou plutôt je sais qu'il le sait au moins pour un chapeau noir (peut-être deux, si le mien est blanc aussi)
Pareil, mon camarade de gauche voit lui aussi un chapeau blanc et le mien, et donc arrive à la même conclusion que mon camarade de droite.
Au final je sais donc que tout le monde sait qu'au moins un chapeau noir n'a pas servi. Pour ma part, je sais même que c'est le cas pour 2 chapeaux noirs, et peut-être que les autres aussi, mais ce n'est pas sur"
Donc au final chacun sait que tout le monde sait qu'il manque au moins un chapeau noir (ce qui est différent de "Chacun sait qu'il manque 2 chapeaux noirs"), et on ne comprend pas comment le fait de dire qu'un des chapeaux est sur la tete d'une fille au bal masqué peut aider.
Ceci étant, voilà comment ils ont procédé ensuite. Chacun d'eux se dit
"Si je vois 2 chapeaux noirs, alors je suis blanc vu qu'il n'y a que 2 noirs. Mais les deux autres ne sont pas noirs.
Comme mon voisin de droite n'a rien dit non plus, c'est qu'il ne voit pas non plus 2 chapeaux noirs, peut-être 2 blancs ou peut-être 1 blanc et 1 noir. Quoi qu'il en soit, si mon voisin de gauche a un chapeau noir, alors je sais que je suis coiffé d'un chapeau blanc. Mais mon voisin de gauche a un chapeau blanc, le mien pourrait donc être noir comme blanc.
Mais vu que mon voisin de droite n'a rien dit, mon voisin de gauche a dû tenir le même raisonnement que moi-même précedemment. Si j'avais eu un chapeau noir, il aurait pû dire du sien qu'il était blanc. Mais il n'a rien dit. Le mien n'est donc pas noir. Il est donc blanc"