Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы и машины Тьюринга Основы алгоритмов.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.87 Mб
Скачать

Примечания

1. Я использую обычную современную терми­нологию, в которой множество «натураль­ных чисел» включает и нуль.

2. Существует немало других известных в ма­тематике способов записи пар, троек и боль­шего количества чисел в виде одного числа, но они менее удобны для наших целей.

3. В изложенном выше я не вводил никакой метки для начала последовательности чисел (или инструкций и т. п.). Это совершен­но не требуется для входных данных, по­скольку все начинается в тот момент, когда считана первая единица. Однако для конеч­ного результата может понадобиться что-то дополнительное, поскольку априори никто не может сказать, как долго придется дви­гаться по ленте, чтобы добраться до первой (т.е. самой левой!) единицы. Хотя при дви­жении налево может встретиться длинная строка нулей, нет никаких гарантий, что еще дальше не встретится единица. В этом слу­чае применимы различные подходы. Мож­но было бы всегда использовать специаль­ную отметку (допустим, 6, записанную при помощи процедуры «сокращения»), чтобы указывать начало и завершение окончатель­ного ответа. Но для простоты я в своем из­ложении буду придерживаться другой точки зрения, согласно которой мы всегда «зна­ем», сколько в действительности ленты об­работало наше устройство (например, мож­но представить, что оно оставляет своего рода «след»), так что не обязательно про­сматривать ленту до бесконечности, чтобы убедиться в том, что весь ответ считан.

4. Один из способов записи информации с двух лент на одну — вставить записи одной из них между записями другой. При этом нечетные отметки на новой ленте могут со­ответствовать отметкам первой ленты, тогда как четные — отметкам второй. Аналогич­ная схема работает и для четырех, и для большего числа лент. «Неэффективность» этой процедуры обусловлена тем, что счи­тывающему устройству пришлось бы «пры­гать» взад-вперед по ленте, оставляя на ней маркеры как на четных местах, так и на не­четных, с тем чтобы фиксировать свое по­ложение в каждый момент.

5. Эта процедура имеет отношение только к методу, который позволяет интерпретиро­вать запись на ленте как натуральное число. Она не изменяет номера наших конкретных машин Тьюринга, таких как EUC и XN + 1.

6. Если Тn определена некорректно, то U будет действовать так, как если бы число, отвеча­ющее п, обрывалось сразу по достижении последовательности из четырех или более единиц в двоичной записи п. Остаток вы­ражения будет считан уже как число т, после чего устройство начнет совершать не­кие бессмысленные вычисления! От этого свойства можно при желании избавиться, если представлять п в расширенной двоич­ной форме. Я решил не делать этого, чтобы еще больше не усложнять описание несчаст­ной универсальной машины Тьюринга!

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

Некоторое уменьшение величины и может быть достигнуто за счет другого определе­ния машины Тьюринга. Например, мы мог­ли бы отказаться от использования коман­ды STOP и вместо этого применять прави­ло остановки после того, как машина по­вторно возвращается во внутреннее состо­яние 0 из какого-либо другого внутренне­го состояния. Это не дало бы нам значи­тельного выигрыша (а может, и вовсе ни­какого). Большую пользу принесло бы ис­пользование лент с иными, нежели только 0 и 1, отметками. В литературе встречаются описания очень компактных на вид машин Тьюринга, но эта компактность обманчи­ва, поскольку она обусловлена чрезмерно сложным кодированием описаний машин Тьюринга вообще.

8. Желающие ознакомиться с вопросами, име­ющими отношение к этому знаменитому утверждению и изложенными без излишних технических подробностей, могут обратить­ся к работе Дэвлина [1988].

9. Мы могли бы, конечно, «обыграть» и этот модифицированный алгоритм, просто за счет повторного применения предыдущей процедуры. Тогда мы сможем использовать эти вновь полученные знания для дальней­шего улучшения алгоритма, который мы, в свою очередь, снова превзойдем; и так далее. Тип рассуждений, в который выли­вается этот повторяющийся процесс, будет рассмотрен нами в связи с теоремой Геделя в главе 4.