Новый ум короля: О компьютерах, мышлении и законах физики - [33]

Шрифт
Интервал

, L, STOP, «стрелка» (→) и «запятая», скажем, числами 2, 3, 4, 5 и 6 соответственно, то мы сможем записать их в виде «сокращений» 110, 1110, 11110, 111110 и 1111110. Цифры 0 и 1, кодируемые, соответственно, как 0 и 10, могут быть использованы для записи строк этих символов, входящих в таблицу действий машины Тьюринга. Нам не нужны различные обозначения для «жирных» цифр 0 и 1 и для остальных цифр в таблице, поскольку расположение «жирных» цифр в конце двоичного кода является достаточным отличительным признаком. При этом 1101, например, будет читаться как двоичное число 1101, представляемое на ленте последовательностью 1010010. в частности, 00 будет читаться как 00, что без всякой двусмысленности можно закодировать как 0 или вовсе опустить. Можно существенно сэкономить, если не кодировать «стрелки» и непосредственно предшествующие им символы, а воспользоваться цифровым упорядочением команд, позволяющим определить, какими должны быть эти символы. Правда, для этого надо убедиться в отсутствии «дырок» в получившемся порядке и добавить, где требуется, «немые» команды. (Например, машина Тьюринга XN +1 не имеет команды, соответствующей коду 1100, поскольку такая комбинация в ходе ее работы никогда не встречается. Следовательно, мы должны ввести в список команд немую команду, скажем 1100 → 00R, которая не вызовет каких бы то ни было изменений в работе машины. Сходным образом мы должны добавить немую команду 101 → 00R в список команд машины XN х 2.) Без таких «немых» команд кодирование последующих команд было бы нарушено. Как можно видеть, на самом деле мы не нуждаемся и в запятой в конце каждой команды, поскольку символов L и R вполне достаточно для отделения команд друг от друга. Поэтому мы просто будем использовать такую систему кодирования:

0 для 0 или 0,

10 для 1 или 1,

110 для R,

1110 для L,

11110 для STOP.

В качестве примера выпишем команды для машины Тьюринга XN +1 (с дополнительной немой командой 1100 → 00R). Опуская стрелки, цифры, непосредственно предшествующие им, и запятые, получим

Мы можем улучшить полученный результат, если опустим все 00 и заменим каждые 01 просто единицей в соответствии с тем, что говорилось ранее. Тогда мы получим строку символов

которая на ленте записывается как последовательность

Есть еще два способа немного сэкономить. Во-первых, всегда можно удалить код 110 в начале записи (вместе с бесконечным участком пустой ленты, предшествующим этому коду). Он обозначает последовательность 00R, соответствующую начальной команде 00 → 00R, которую я до сих пор неявно считал общей для всех машин Тьюринга, поскольку она необходима для того, чтобы устройство, начав работу в произвольной точке слева от начала записи на ленте, могло перемещаться вправо до тех пор, пока не встретит первую непустую клетку. Во-вторых, точно так же всегда можно удалить код 110 (и неявную бесконечную последовательность нулей, которая, по предположению, следует за ним) в конце записи, поскольку этой кодовой последовательностью должно заканчиваться описание любой машины Тьюринга (во всех случаях список команд заканчивается командой R, L или STOP). Получающееся двоичное число — это номер машины Тьюринга, который для XN + 1 будет выглядеть так:

В обычной десятичной записи этот номер равен

450813704461563958982113775643437908.

Иногда машину с номером n мы, не вполне точно, будем называть n-й машиной Тьюринга и обозначать ее T>n . В этом случае XN +1 становится

450813704461563958982113775643437908 — й

машиной Тьюринга!

Кажется поразительным факт, что нам надо пробежать так долго вдоль «списка» машин Тьюринга, чтобы найти машину, выполняющую такую тривиальную операцию, как прибавление единицы к натуральному числу (в расширенном двоичном представлении). (Я не думаю, что моя система кодирования была в целом настолько неэффективна, хотя в ней и есть еще возможности для незначительных улучшений.) В действительности, есть машины Тьюринга и с меньшими номерами, которые представляют интерес, например UN +1 с двоичным номером

101011010111101010,

который в десятичной записи превращается всего лишь в 177 642. Значит, особенно тривиальная машина UN +1, которая просто дописывает 1 единицу в конце последовательности единиц, является 177 642-й машиной Тьюринга. Интересно, что «умножение на два» в списке машин Тьюринга попадает где-то между этими двумя машинами, причем и в унарном, и в расширенном двоичном представлении: номер XN х 2 равен 10 389 728 107, а номер UN х 2 — 1492 923 420 919 872 026 917 547 669.

Наверное, принимая во внимание величины этих номеров, уже не вызовет удивления тот факт, что абсолютное большинство натуральных чисел не соответствует ни одной рабочей машине Тьюринга. Приведем перечень первых тринадцати машин Тьюринга в соответствии с принятой нумерацией:

Из этих машин T>0 просто перемещается вправо, стирая все, что ей попадается на пути, никогда не останавливаясь и не меняя направления движения. Машина Т>1 выполняет в сущности ту же операцию, но более громоздким путем, отступая на шаг назад каждый раз, когда она стирает очередную единицу на ленте. Так же как и


Еще от автора Роджер Пенроуз
Большое, малое и человеческий разум

Книга написана известным английским ученым-астрофизиком и популяризатором науки Роджером Пенроузом на основе престижных Теннеровских лекций (прочитанных им в 1995 г.) и материалов вызванной этими лекциями полемики. Поэтому она включает в себя разделы, написанные крупными английскими учеными Нэнси Картрайт и Абнером Шимони, а также знаменитым физиком -теоретиком Стивеном Хокингом. Книгу отличают оригинальность идей автора, разнообразие обсуждаемых проблем (парадоксы квантовой механики, астрофизика, теория познания, проблемы художественного восприятия) и исключительно высокий научный и философский уровень изложения.


Тени разума. В поисках науки о сознании

Книга знаменитого физика о современных подходах к изучению деятельности мозга, мыслительных процессов и пр. Излагаются основы математического аппарата — от классической теории (теорема Гёделя) до последних достижений, связанных с квантовыми вычислениями. Книга состоит из двух частей: в первой части обсуждается тезис о невычислимости сознания, во второй части рассматриваются вопросы физики и биологии, необходимые для понимания функционирования реального мозга.Для широкого круга читателей, интересующихся наукой.


Рекомендуем почитать
Воззвание к жизни: против тирании рынка и государства

Трактат бельгийского философа, вдохновителя событий Мая 1968 года и одного из главных участников Ситуационистского интернационала. Издан в 2019 году во Франции и переведён на русский впервые. Сопровождается специальным предисловием автора для русских читателей. Содержит 20 документальных иллюстраций. В формате PDF A4 сохранен издательский макет книги.


История мастера

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Революция сострадания. Призыв к людям будущего

Убедительный и настойчивый призыв Далай-ламы к ровесникам XXI века — молодым людям: отринуть национальные, религиозные и социальные различия между людьми и сделать сострадание движущей энергией жизни.


Могильная Фантазия

Самоубийство или суицид? Вы не увидите в этом рассказе простое понимание о смерти. Приятного Чтения. Содержит нецензурную брань.


Медленный взрыв империй

Автор, кандидат исторических наук, на многочисленных примерах показывает, что империи в целом более устойчивые политические образования, нежели моноэтнические государства.


Размышления о русской революции

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.