"Принцесса или тигр" - читать интересную книгу автора (Смаллиан Рэймонд)

Решения

Сначала еще несколько слов о загадке сейфа из Монте-Карло. В последнем условии Фаркуса не говорится, что требуемая комбинация у непременно должна отличаться от комбинации х. Поэтому если предположить, что х и у представляют собой одну и ту же комбинацию, то указанное условие можно будет прочитать так: «Пусть комбинация х родственна по отношению к комбинации х, тогда если комбинация х блокирует замок, то комбинация х будет нейтральной; если же комбинация х оказывается нейтральной, то комбинация х блокирует замок». Однако невозможно, чтобы комбинация х одновременно была нейтральной и блокировала замок. Следовательно, если комбинация х родственна но отношению к х, тогда эта комбинация не может ни оказаться нейтральной, ни блокировать замок. А значит, она должна этот замок открывать! Таким образом, если мы сумеем найти комбинацию х, которая родственна самой себе, то такая комбинация х обязательно откроет нам замок.

Конечно, Крейг понял это еще задолго до того, как вернулся в Лондон. Но как найти комбинацию х, которая родственна самой себе? Именно на этот вопрос Крейг и не мог ответить до тех пор, пока судьба не столкнула его с третьей машиной Мак-Каллоха.

Оказывается, задача нахождения комбинации, которая, согласно условию Фаркуса, является родственной самой себе, по своей сути тождественна задаче нахождения числа, которое порождает само себя в последней машине Мак-Каллоха. Единственное существенное отличие заключается в том, что кодовые комбинации для замка — это цепочки букв, тогда как числовые машины работают с цепочками цифр. Однако первую задачу можно легко преобразовать ко второй, и наоборот, следующим простым приемом.

Во-первых, мы рассматриваем лишь комбинации из букв Q, L, V, J? (совершенно очевидно, что только эти буквы играют в задаче существенную роль). Предположим теперь, что вместо этих букв мы будем использовать собственно цифры 2, 6, 4, 5 (то есть 2 вместо Q, 6 вместо L, 4 вместо V и 5 вместо R). Для удобства запишем это так:

Q L V R

2 6 4 5

Теперь посмотрим, какой вид примут первые четыре условия Фаркуса, если мы запишем их не в буквах, а в цифрах.

(1). Для любого числа Х число 2X2 является родственным числу X.

(2). Если число X родственно числу Y, то число 6Х оказывается родственным числу 2 У.

(3). Если число X родственно числу У, то число 4Х родственно числу Т.

(4). Если число X родственно числу У, то число 5Х родственно числу УУ.

Сразу видно, что это — точно те же правила, которым подчиняется последняя машина Мак-Каллоха, с той лишь разницей, что вместо слова «порождает» используется слово «родственно». (Конечно, я мог бы воспользоваться словом «порождает» и в гл. 8, где речь шла об условиях Фаркуса, но тогда читателю было бы слишком уж легко обо всем догадаться!)

Позвольте мне сказать это еще раз и поточнее. Для любой комбинации х, состоящей из букв Q, L, V, R, мы будем обозначать через х число, которое получается при замене Q на цифру 2, L на цифру 6, V на цифру 4 и R на цифру 5. Например, если это комбинация вида VQRLQ, то х — число 42562. При этом мы будем называть число х кодовым номером комбинации х. (Кстати, идея приписывания логическим высказываниям специальных чисел — так называемых «гёделевых номеров» — принадлежит известному логику Курту Гёделю и известна под названием гёделевой нумерации. Она очень важна, как мы увидим в IV части нашей книги.)

Значит, мы можем окончательно сформулировать главную мысль последнего абзаца в таком виде: для любых комбинаций х и у, составленных из четырех букв Q, L, V, R, если, исходя из правил MI, MII, MIII и MIV, используемых в последней машине Мак-Каллоха, можно показать, что число х порождает число у, то тогда, исходя из первых четырех условий Фаркуса, можно показать и то, что комбинация х является родственной по отношению к комбинации у, и наоборот

Таким образом, если мы находим число, которое юлжно порождать само себя в последней числовой машине Мак-Каллоха, то это число должно оказаться кодовым номером некой комбинации, родственной самой себе, причем эта комбинация будет открывать замок.

Но как же нам найти такое число N, которое, порождало бы само себя в нашей последней машине? Прежде всего будем искать некоторое число Н, такое, чтобы для любых чисел X и У, если число X порождает число У, число НХ порождало бы число Y2Y2. Если мы сумеем найти это число Н, тогда при любом У число Н2 У2 будет порождать число У2 У2 (потому что, согласно правилу MI, число 2У2 порождает число У), а значит, число Н2Н2 будет порождать число Н2Н2; тем самым мы получим искомое число N. Но как найти число Н?

Эта задача сводится к следующей: как, исходя из заданного числа У и последовательно применяя операции, которые способна выполнять наша машина, получить число У2У2? Так вот, построить число У2У2 из числа У можно следующим способом: сначала построить обращение числа У, получив число У; затем слева от «у» приписать цифру 2, получив тем самым число 2У; далее построить обращение числа 2Т, получив число У2; наконец, построить повторение числа У2, получив число У2 У2. Эти операции обозначаются соответственно операционными числами 4, 6, 4 и 5, поэтому в качестве Н мы выберем число 5464.

Давайте проверим, подходит ли нам найденное число Н. Пусть число X порождает число У; тогда мы должны выяснить, действительно ли число 5464Н порождает число У2У2. Но поскольку X порождает У, то число 4Х порождает число У (в соответствии с правилом MIII); значит, число 64Х порождает число 2V (в соответствии с правилом МII). Отсюда следует, что число 464Х порождает число У2 (в соответствии с правилом MIII), и, стало быть, число 5464Х порождает число У2У2 (в соответствии с правилом MIV). Итак, мы получили, что если X порождает У, то число НХ в самом деле порождает число Y2Y2.

Теперь, когда число Я найдено, выберем число N равным Н2Н2, в результате мы получим число 5464254642, которое порождает само себя. (Читатель может легко убедиться в этом самостоятельно.)

Но раз число 5464254642 порождает само себя, то, значит, это и есть кодовый номер той комбинации, которая открывает замок сейфа. Ясно, что указанная комбинация имеет вид RVLVQRVLVQ.

Конечно, задачу о сейфе из Монте-Карло можно решить и не преобразовывая ее в задачу для числовой машины, однако я привел здесь это решение по двум причинам. Во-первых, именно так решал во времени эту задачу сам Крейг, а во-вторых, я подумал, что читателю будет интересно увидеть, как две математические задачи могут иметь разное содержание, но одну и ту же абстрактную форму.

Для того чтобы непосредственно убедиться в том, что комбинация RVLVQRVLVQ является родственной по отношению к самой себе (а значит, и открывает замок), будем рассуждать следующим образом. Комбинация QRVLVQ родственна по отношению к комбинации RVLV (согласно свойству Q), поэтому комбинация VQRVLVQ будет родственной по отношению к обращению комбинации RVLV (согласно свойству V), то есть к комбинации VLVR. Значит, комбинация LVQRVLVQ родственна по отношению к комбинации QVLVR (согласно свойству L), и, следовательно, комбинация VLVQRVLVQ оказывается родственной по отношению к обращению комбинации QVLVR, то есть комбинации RVLVQ. Тогда (согласно свойству R) комбинация RVLVQRVLVQ будет родственной по отношению к повторению комбинации RVLVQ, то есть к комбинации RVLVQRVLVQ. Итак, комбинация RVLVQRVLVQ действительно является родственной самой себе.