Есть три бога, A, B, и C, один из которых бог истины, другой бог лжи и третий бог случая, причём неясно, кто из них кто. Бог истины всегда говорит правду, бог лжи обманывает, а бог случая может сказать и то, и другое в произвольном порядке. Необходимо определить, кем является каждый из богов, задав три вопроса, на которые можно ответить «да» или «нет», при этом каждый вопрос задаётся только одному богу. Боги понимают вопросы, но отвечают на своём языке, в котором есть слова «da» и «ja», но неизвестно, какое слово обозначает «да», а какое «нет».
Answers & Comments
Булос предложил решение задачи в той же статье, где он и опубликовал саму задачу. Он заявил, что первым вопросом мы должны найти бога, который не является богом случая, то есть является либо богом правды, либо богом лжи. Есть множество вопросов, которые могут быть заданы для достижения этой цели. Одна из стратегий — использование сложных логических связей в самом вопросе.
Вопрос Булоса: «Означает ли „da“ „да“, если и только если ты бог правды, а бог B — бог случая?». Другой вариант вопроса: «Является ли нечётным число истинных утверждений в следующем списке: ты — бог лжи, „ja“ означает „да“, B — бог случая?»
Решение задачи может быть упрощено, если использовать условные высказывания, противоречащие фактам. Идея этого решения состоит в том, что на любой вопрос Q, требующий ответа «да» либо «нет», заданный богу правды или богу лжи:
Если я спрошу тебя Q, ты ответишь «ja»?Ответом будет «ja», если верный ответ на вопрос Q это «да», и «da», если верный ответ «нет». Для доказательства этого можно рассмотреть восемь возможных вариантов, предложенных самим Булосом.
Предположим, что «ja» обозначает «да», а «da» обозначает «нет»:Мы спрашивали у бога правды, и он ответил «ja». Поскольку он говорит правду и верный ответ на вопрос Q — «ja», оно обозначает «да».Мы спрашивали у бога правды, и он ответил «da». Поскольку он говорит правду и верный ответ на вопрос Q — «da», оно обозначает «нет».Мы спрашивали у бога лжи, и он ответил «ja». Поскольку он всегда лжёт, поэтому на вопрос Q он ответит «da». То есть правильный ответ на вопрос «ja», который обозначает «да».Мы спрашивали у бога лжи, и он ответил «da». Поскольку он всегда лжёт, поэтому на вопрос Q он ответит «ja». То есть правильный ответ на вопрос «da», который обозначает «нет».Предположим, что «ja» обозначает «нет», а «da» обозначает «да» , получим :Мы спрашивали у бога правды, и он ответил «ja». Поскольку он говорит правду и верный ответ на вопрос Q — «da», оно обозначает «да».Мы спрашивали у бога правды, и он ответил «da». Поскольку он говорит правду и верный ответ на вопрос Q — «ja», оно обозначает «нет».Мы спрашивали у бога лжи, и он ответил «ja». Поскольку он всегда лжёт, поэтому на вопрос Q он отвечает «ja». Но, так как он лжёт, верный ответ на вопрос Q — «da», что означает «да».Мы спрашивали у бога лжи, и он ответил «da». Поскольку он всегда лжёт, поэтому на вопрос Q он отвечает «da». Но, так как он лжёт, верный ответ на вопрос Q — «ja», что означает «нет».Используя этот факт, можно задавать вопросы:
Спросим бога B: «Если я спрошу у тебя „Бог А — бог случая?“, ты ответишь „ja“?». Если бог B отвечает «ja», значит, либо он бог случая (и отвечает случайным образом), либо он не бог случая, а на самом деле бог A — бог случая. В любом варианте, бог C — это не бог случая. Если же B отвечает «da», то либо он бог случая (и отвечает случайным образом), либо B не бог случая, что означает, что бог А — тоже не бог случая. В любом варианте, бог A — это не бог случая.Спросим у бога, который не является богом случая (по результатам предыдущего вопроса, либо A, либо C): «Если я спрошу у тебя: „ты - бог лжи?“, ты ответишь „ja“?». Поскольку он не бог случая, ответ «da» обозначает, что он бог правды, а ответ «ja» обозначает, что он бог лжи.Спросим у этого же бога «Если я у тебя спрошу: „Бог B — бог случая?“, ответишь ли ты „ja“?». Если ответ «ja» — бог B является богом случая, если ответ «da», то бог, с которым ещё не говорили, является богом случая.Оставшийся бог определяется методом исключения.