Возможно, разгадка таилась в ящике А. Открыв его, ученые нашли второй суперкомпьютер другой конфигурации и модели, на котором работала другая сложная программа, но при этом он все же был обычным цифровым компьютером. Вскоре ученые установили, что в него встроены “часы”, тикающие по несколько миллионов раз за секунду, и всякий раз при нажатии на любую из кнопок компьютер первым делом проверял “время” по этим часам (например, 101101010101010111) и разбивал его на цепочки, которые затем использовал, чтобы определить, какие подпрограммы в каком порядке исполнять и к какому фрагменту памяти обращаться в первую очередь при подготовке цепочки бит для отправки по проводу.
Ученые смогли определить, что эта сверка часов (которая была фактически случайной) на деле гарантировала невозможность повторной отправки одной и той же цепочки бит. Однако, несмотря на случайный или псевдослучайный характер этого события, при каждом нажатии кнопки α компьютер неизменно выдавал цепочку бит, включающую красную лампочку, а при каждом нажатии кнопки β – цепочку бит, включающую зеленую лампочку. Ученым удалось даже обнаружить несколько аномалий: примерно в одном из миллиарда случаев нажатие кнопки α приводило к выдаче зеленой цепочки или нажатие кнопки β приводило к выдаче красной цепочки. Этот крошечный изъян в совершенной картине лишь раззадоривал ученых, желавших объяснить закономерность.
В один прекрасный день о себе заявили два ИИ-программиста, которые создали ящики, и объяснили, как они устроены. (Не читайте это, если хотите разгадать загадку сами.) Ящик А сконструировал Ал, который много лет работал над “экспертной системой” – базой данных, содержащей “истинные высказывания” обо всем на свете, и механизмом вывода для обработки содержащихся в базе данных аксиом. База данных хранила статистику Главной лиги бейсбола, метеорологические данные, биологическую таксономию, историю народов мира и множество других сведений. Ящик Б создал швед Бо, который в то же время работал над конкурирующей базой данных “мирового знания” для собственной экспертной системы. Каждый из них наполнил свои базы данных таким количеством “истин”, какое смог загрузить за годы работы[43].
Однако со временем экспертные системы их утомили, и оба программиста решили, что практические перспективы этой технологии сильно преувеличены. Системы не слишком хорошо решали интересные задачи, или не слишком хорошо “думали”, или не слишком хорошо “находили нестандартные пути решения проблем”. Благодаря своим машинам выбора, хорошо они справлялись лишь с одним – с генерацией множества истинных предложений (на соответствующих языках) и проверкой входящих предложений (на соответствующих языках) на истинность или ложность относительно их вроде как знания. Ал и Бо встретились и нашли применение плодам своего тщетного труда. Они решили сделать философскую игрушку. Выбрав лингва франка для перевода между двумя имеющимися у них репрезентативными системами (им стал английский в стандартной кодировке ASCII)[44], они соединили машины с помощью провода. При каждом нажатии кнопки α машина А случайным (или псевдослучайным) образом выбирала одно из своих “убеждений” (либо хранимую в ее памяти аксиому, либо вывод, сделанный на основе имеющихся у нее в распоряжении аксиом), переводила его на английский (на компьютере английские буквы заранее задавались в кодировке ASCII), добавляла достаточное количество бит после точки, чтобы общее число бит достигло 10 000, и отправляла итоговую цепочку машине Б, которая переводила входящие данные на свой язык (шведский лисп) и сравнивала со своими “убеждениями” – то есть со своей базой данных. Поскольку обе базы данных содержали истины, причем примерно одинаковые, благодаря работе машин вывода, всякий раз, когда А отправляла Б “убеждение”, которое считала истинным, Б тоже признавала это “убеждение” истинным и оповещала об этом миганием красной лампочки. Когда же А отправляла Б “убеждение”, которое считала ложным, Б признавала его ложным и объявляла о своем решении миганием зеленой лампочки.
Вносимые в цепочку изменения почти всегда приводили к возникновению ошибок в зашифрованной в этой цепочке английской фразе, если только изменения не вносились лишь в случайную последовательность бит в самом конце. Непримиримая к опечаткам, Б реагировала на это миганием желтой лампочки. При использовании случайной цепочки бит вероятность того, что эта цепочка не будет четко сформулированной по-английски в кодировке ASCII истиной или ложью, была чрезвычайно велика, а потому чаще всего загоралась желтая лампочка.