Теория алгоритмов. Учебное пособие для специальности 050201.65 – «Математика с дополнительной специальностью «Информатика», направление подготовки 050
.pdfт.е. найти хотя бы одно число x0, по которому нельзя определить,
принадлежит или не принадлежит оно множеству H . Докажем теорему 2.6.3
от противного.
Предположим, что множество H разрешимо. Тогда, по определению
2.6.2, найдутся такие две машины P и Q, что выполняются условия:
x H Ocm(P,x),
x H Ocm(Q,x).
Обозначим через y номер машины Q. Выясним, принадлежит ли y
множеству H , т. е. останавливается ли машина Q на своем номере.
Случай 1. Пусть y H . Тогда машина Q останавливается на своем
номере, т. е. выполняется Ocm(Q, y), но в этом случае, по определению
(2.6.2), |
y H . Получили противоречие с предположением, что y H. |
||
Случай 2. Пусть y H. |
Тогда на y не останавливается машина Q, |
||
а останавливается машина P, т. |
е. выполняется Ocm(P,y). Но тогда y H . |
||
Вновь получили противоречие с предположением, что y H. |
|||
Таким образом, оба случая приводят к |
противоречивой ситуации: |
||
y H |
и одновременно y H |
(т. е. нашлось |
число y, принадлежность |
которого множеству H определить не удается). |
Полученное противоречие |
||
доказывает теорему. |
|
|
|
2.7. Проблема распознавания самоприменимости машин Тьюринга
В данном параграфе мы рассмотрим одну из алгоритмически неразрешимых проблем, связанную с распознаванием некоторого свойства машин Тьюринга. Как и в п. 2.6, предполагаем, что машины Тьюринга занумерованы.
Назовем машину Тьюринга самоприменимой, если она останавливается на своем номере. Иными словами, самоприменимая машина Тьюринга, начав
31
работу со стандартного восприятия своего номера, останавливается через конечное число шагов.
Машина Тьюринга называется несамоприменимой, если она не останавливается на своем номере, т.е. начав работу со стандартного восприятия своего номера, она никогда не останавливается.
Существуют как самоприменимые машины Тьюринга, так и не самоприменимые. Например, самоприменимой будет машина Тьюринга,
у которой все команды имеют вид:
T 1Eq0.
Несамоприменимой будет машина Тьюринга, любая команда которой имеет вид:
T 0Rq1,
где T – любое условие вида
Проблема самоприменимости машин Тьюринга состоит в построении
такого алгоритма (такой машины Тьюринга), который бы по номеру любой машины Тьюринга определял, является ли она самоприменимой или нет.
Теорема 2.7.1.
Проблема самоприменимости машин Тьюринга алгоритмически
неразрешима.
Иными словами, не существует машины Тьюринга, которая бы по предъявленному ей номеру любой машины Тьюринга распознавала, является
ли самоприменимой машина, чей номер предъявлен.
Докажем теорему 2.7.1 от противного. Полагаем, что машины
Тьюринга работают в алфавите 0,1 . Пусть существует машина Тьюринга
M , распознающая самоприменимость машин Тьюринга. Машина M
обладает следующими свойствами:
1. Если машине M предъявлен номер самоприменимой машины, то она через конечное число шагов печатает 1 (признак самоприменимости)
и останавливается.
32
2. Если машине M предъявлен номер несамоприменимой машины, то она через конечное число шагов печатает 0 (признак несамоприменимости)
и останавливается.
Таким образом, машина M останавливается на номере любой машины, и самоприменимой и несамоприменимой, предварительно напечатав признак самоприменимости или несамоприменимости.
Убедимся, что предположение о существовании такой машины приводит к противоречию, а именно, удаётся построить машину M0,
у которой нельзя определить, является ли она самоприменимой или несамоприменимой.
Машину M0 мы построим из машины M таким образом, что
-M0 не останавливается на номере самоприменимой машины (2.7.2);
-M0останавливается на номере несамоприменимой машины (2.7.3).
Пусть q0 – стоп-состояние машины M . |
|
|
|
Если заключительная команда машины M имела вид |
T 0Eq0, |
то |
|
мы ее сохраним, но заменим команду |
T 1Eq0 на команду |
T 1Eq2, |
|
где T – любое условие вида aiqj, |
q2 – новое внутреннее состояние, |
не |
|
встречавшееся ранее. Далее добавим две команды: |
|
|
|
0q2 0Rq2 |
|
|
|
1q2 0Rq2.
Таким образом, машина M0 так же, как и машина M , определяет по предъявленному номеру машин их самоприменимость.
Выясним, самоприменима ли машина M0 :
Случай 1. Если M0 самоприменима, то по свойству (2.7.2) она не останавливается на своем номере. Тогда, по определению, она не является самоприменимой.
33
Случай 2. Если M0 несамоприменима, то по свойству (2.7.3) она останавливается на своем номере. Тогда, по определению, она является самоприменимой.
Таким образом, в обоих случаях получаем противоречие: машина M0
самоприменима и несамоприменима одновременно.
Полученное противоречие возникло из предположения, состоявшего в том, что можно построить машину Тьюринга, распознающую самоприменимость любой машины. Значит, такой машины не существует,
что и требовалось доказать.
2.8. Проблема останова
Проблемой останова называют проблему, состоящую в том, чтобы для любой машины Тьюринга M и любому слову , записанному в её внешнем алфавите, узнать, применима ли M к начальной конфигурации Проблема останова алгоритмически неразрешима. Если бы она была разрешимой, то, взяв в качестве номер машины, мы бы получили разрешимость проблемы самоприменимости машины Тьюринга.
34
ГЛАВА 3. МАШИНА ПОСТА
3.1. Эмиль Пост
Эмиль Леон Пост (Emil Leon |
Post, 11.02.1897 |
– 21.04.1954) |
родился |
||
в небольшом |
селении |
Августов (Augustów, на северо-востоке современной |
|||
Польши). В |
1904 г. |
его семья |
эмигрировала в |
Соединённые |
Штаты |
и обосновалась в Нью-Йорке. Эмиль, будучи сыном поляка-эмигранта, получил элитарное математическое образование благодаря выдающимся способностям и счастливому стечению обстоятельств. Он последовательно закончил
престижную Townsend Harris High School для одарённых детей, затем –
College of the City of New York. В 1917 г. Пост получил степень бакалавра и поступил в Колумбийский университет, в котором учился с 1917 по 1920 г.
Эмиль Пост в истории науки известен как выдающийся логик, однако его первым школьным увлечением была астрономия. Но тут на него обрушилась первая беда. В результате несчастного случая мальчик в 13 лет лишился левой руки. Эмиль стойко перенёс последствия. Он рассчитывал, что это несчастье не
помешает ему заниматься |
любимой наукой. |
Пост обратился |
с |
письмами |
||||
в известные обсерватории, |
выясняя, не помешает |
ли |
его |
увечье |
||||
профессиональным |
занятиям |
астрономией. |
Из |
Гарварда |
|
пришёл |
||
обнадёживающий ответ («… нет причины, которая мешает Вам стать известным астрономом»). Но другое письмо – из главной обсерватории CША, U.S. Naval Observatory – содержало приговор. По мнению руководителя
обсерватории, |
«потеря левой руки будет весьма серьёзным препятствием |
в деятельности |
профессионального астронома. В работе с астрономическим |
|
35 |
оборудованием |
использование обеих рук необходимо повсеместно». |
|
Обескураженный Эмиль Пост обратил свои взоры с небес на землю. |
||
Находясь |
в стенах Колумбийского университета, |
Пост активно |
участвовал в работе семинара по изучению знаменитого труда Principia Mathematica англичан Уайтхеда (Alfred Whitehead, 1861-1947) и Рассела
(Bertrand Russell, 1872-1970). Английские авторы задались целью перестроить математику на новой логической основе. В дальнейшем в построениях англичан были обнаружены погрешности, но их работа оказала значительное
влияние на развитие математики. В диссертации на степень доктора
философии Эмиль Пост доказал непротиворечивость аксиоматики
пропозиционального исчисления из Principia Mathematica по отношению
к таблично-истинностному методу. Пост в 1921 г. ввёл метод истинностных таблиц в алгебре высказываний. Лукасевич в 1920 г. ввёл трёхзначное исчисление высказываний. Независимо от Лукасевича Эмиль Пост в 1921 г.
обобщил классическое двухзначное исчисление высказываний на случай n-
значного исчисления с любым целым n,n 2.
Следующий академический год, 1920/1921, Пост провёл в качестве стипендиата-исследователя в Princeton University. Этот университет по праву стоит в первом ряду американской вузовской системы. Во время пребывания в Принстоне Пост вплотную подошёл к формулировке, которая лишь в 1931 г.
была опубликована Гёделем. Имеется в виду знаменитая теорема Гёделя о неполноте любой формальной системы. Фрагментарные результаты Поста следовали из его докторской диссертации, но до завершающей формулировки и публикации Пост их не довёл. Позднее, в 1938 г., в переписке с Гёделем,
проявившим интерес к неопубликованным материалам Поста, последний отмечал: «… могу сказать, что будь я Гёделем, я бы доказал теорему Гёделя в
1921 году». В этом признании звучит и уважение к несомненному научному успеху коллеги, и в то же время разочарование в связи с ускользнувшим приоритетом.
36
С 1924 г. Пост занимался преподавательской деятельностью, которая
порой прерывалась из-за его психического заболевания, впервые
проявившегося в 1921 г.. Студенты хорошо относились к своему преподавателю, считая его требовательным, но справедливым. В 1929 г. Эмиль Пост женился. Его дочь Филлис в своих воспоминаниях о родителях писала: «Мой отец был гений, мать – святой. Сумел бы он достичь столь многого без неё? Я так не думаю». Жена всячески ограждала Эмиля Поста от житейских дел, вела хозяйство, набирала его рукописи, разбирала его корреспонденцию,
освобождая ему время для исследований.
Ни ограничения лечебного режима, ни педагогическая деятельность не могли помешать Посту продолжать научные изыскания. В 1936 г. в первом номере «Журнала символической логики» (основанного Алонзо Чёрчем) была опубликована его статья с описанием конструкции, которую мы называем машиной Поста. Пост показал, что любой конечный вычислительный процесс может быть сведён к манипулированию конечным набором из нулей и единиц.
Машина Поста имела много общего с машиной Тьюринга, сообщение
о которой появилось в том же году в «Трудах Лондонского математического общества». Результаты Поста, Тьюринга, Чёрча легли в основу строгого определения алгоритма. Наличие строгого определения алгоритма позволило обнаружить алгоритмически неразрешимые проблемы сначала
вматематической логике, а затем и в самой математике.
В1947 г. Пост опубликовал ещё одну важнейшую работу, в которой рассматривалось решение так называемой проблемы Туэ, сформулированной
в1910 г. норвежским математиком Акселем Туэ (Axel Thue, 1863-1922) как проблема тождества слов в ассоциативных системах. Пост доказал алгоритмическую неразрешимость проблемы тождества слов в ассоциативных системах, А.А. Марков сделал это для проблемы делимости в ассоциативных системах.
Несомненно, Пост мог сделать в науке ещё больше, если бы не периоды обострения его болезни. В 1954 г. болезнь настигла его в очередной, теперь уже
37
в последний, раз. Пост был помещён в одну из нью-йоркских больниц.
Фармакология того времени ничем не могла помочь в борьбе с подобными заболеваниями. Медики прибегали к таким методам лечения, которые сейчас кажутся варварскими: к больным применялась электрошоковая терапия. После очередного сеанса сердце Поста не выдержало нагрузки.
Стремление юного Эмиля Поста заняться астрономией не осуществилось.
Он стал выдающимся математиком. На звёздном небе этой науки ярко сияет его звезда. Его именем названы алгебры, классы функций, алгоритмы.
3.2. Составные элементы машины Поста
Машина Поста состоит из следующих элементов:
1. Горизонтальная лента, бесконечная влево и вправо, разбитая на ячейки.
Ячейка либо пуста, либо в ней записана метка «v» (такая ячейка называется отмеченной).
2.Каретка, которая способна:
воспринимать содержимое ячейки,
стереть метку в помеченной ячейке,
записать метку в пустой ячейке,
передвигаться вдоль ленты влево и вправо к соседней ячейке,
передавать управление следующей команде.
3.Алфавит машины Поста состоит из одного символа – метки «v» .
4.Команды машины Поста:
4.1. → j – сдвиг вправо к соседней ячейке, передача управления
(отсылка) команде под номером j;
4.2.← j – сдвиг влево к соседней ячейке, передача управления
(отсылка) команде под номером j;
4.3.v j – печать метки в пустой ячейке, передача управления
(отсылка) команде под номером j;
38
4.4. |
j – стирание метки в помеченной ячейке, передача управления |
||||
|
|
(отсылка) команде под номером |
j; |
|
|
|
j1 – |
команда условного перехода: если |
обозреваемая |
||
4.5. |
? |
ячейка пуста, то |
переход (отсылка) |
к команде j1, |
|
|
j2 |
если обозреваемая |
ячейка |
помечена, |
то переход |
ккоманде j2;
4.6.стоп – команда остановки работы машины Поста.
Таким образом, все команды, кроме команды «стоп», состоят из двух частей. В первой части команды содержатся предписания, относящиеся либо к преобразованию содержимого обозреваемой ячейки (записать метку, стереть метку, сохранить содержимое без изменений), либо к движению каретки (сдвиг вправо, сдвиг влево). Вторая часть команды содержит номер (адрес) команды,
которой надо передать управление.
Программа машины Поста представляет собой конечную последовательность команд, пронумерованных в естественном порядке.
Число команд в программе называется длиной программы. Машина Поста так же, как машина Тьюринга, работает по тактам (дискретно). За один такт работы выполняется одна команда. Программа применяется к некоторому массиву (или массивам) меток, записанных на ленте, или к пустой ленте.
Каретка либо находится в произвольном месте, либо указано место её нахождения по отношению к массиву.
Сначала выполняется команда под номером 1, которая отсылает (передает управление) к следующей для исполнения команде. Работа программы может завершиться трояким способом:
1.В ходе выполнения программы машина дойдет до невыполнимой команды (напечатать метку в помеченной ячейке или стереть метку в пустой ячейке). Тогда выполнение программы прекращается. Машина останавливается. Происходит безрезультатная остановка.
39
2.В ходе выполнения программы машина дойдет до команды «стоп» и остановится. Произойдет результативная остановка.
3.В ходе выполнения программы машина не дойдет до выполнения ни одной из команд, указанных в первых двух пунктах. Выполнение
программы никогда не прекратится, машина будет работать бесконечно.
Машина Поста вычисляет функции, областью определения и областью значений которых является множество целых неотрицательных чисел или его
подмножество.
Число n записывается массивом из (n 1) меток.
Рассмотрим одну простую задачу [11], затем усложним ее, попутно обсудим методы «сжатия» и «склеивания» программ. Усложнение задачи достигается за счет разных требований к расположению каретки относительно
массива меток в начале работы программ.
Задача 3.2.1.
Построить машину Поста, вычисляющую функцию f (n) n 1.
На ленте записано число n.
Случай 1. Каретка обозревает крайнюю левую ячейку. v v v v
▲
Программа I1:
1.← 2 (сдвиг влево, отсылка к команде 2)
2.v 3 (печать метки, отсылка к команде 3)
3.стоп.
Случай 2. Каретка обозревает крайнюю правую ячейку. v v v v
▲
Программа I2:
1. → 2 (сдвиг вправо, отсылка к команде 2)
40
