Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4-Математическая логика и теория алгоритмов / Gmail / Учебное пособие-Математическая логика и теория алгоритмов.doc
Скачиваний:
507
Добавлен:
17.03.2015
Размер:
2.1 Mб
Скачать

§ 7. Неразрешимые алгоритмические проблемы (обзор)

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

На этот вопрос теория алгоритмов в ряде случаев дает отрицательный ответ. Один из первых результатов такого типа получен американским математиком Чёрчем в 1936 году. Он касается проблемы распознавания выводимости в математической логике.

1.Неразрешимость проблемы распознавания выводимости в математической логике.

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

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

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

В связи с этим возникает проблема распознавания выводимости: для любых двух формул А и В в логическом исчислении узнать, существует ли дедуктивная цепочка, ведущая от А к В, или нет.

Решение этой проблемы понимается в смысле вопроса о существовании алгоритма, дающего ответ при любых А и В. Результат Чёрча формулируется следующим образом:

Теорема Чёрча. Проблема распознавания выводимости алгоритмически неразрешима.

2. Неразрешимость проблемы распознавания самоприменимости.

Введем предварительно понятие шифра машины Тьюринга. До сих пор мы записывали программу машины Тьюринга в виде двумерной таблицы тп. Однако ее можно изобразить в одномерном варианте, записывая последовательно пятерки символов так, что первый символ пятерки указывает столбец таблицы, второй – строчку таблицы, а последующие три – символы той тройки, которая располагается в таблице на пересечении указанных строки и столбца.

Так, например, вместо схемы, изображенной на рис. 7, будет получена одномерная строка:

a0q1a0пq3q1нq2q1лq1q1лq1a0q2a0лq4… (1)

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

     

q4

будем записывать в виде     q4  

Ясно, что каждую букву строки (1) можно переименовать. Сделаем это, соблюдая следующие условия:

  1. строка (1) должна однозначно разбиваться на отдельные кодовые группы;

  2. кодовые символы должны быть трех видов:

а) для букв л, п, н;

б) для букв внешнего алфавита;

в) для букв, изображающих состояния машины.

В связи с этим будем пользоваться следующей таблицей кодирования:

Алфавит

Буква

Кодовая группа

Примечания

Буквы адресов

л

101

Один нуль между 1

н

1001

два нуля между 1

п

10001

три нуля между 1

Внешний алфавит

а0

100001 4 нуля

четное число нулей, большее двух

а1

10000001 6 нулей

………

……………………..…..

аn

10...01 2(n+2) нулей

Внутренний алфавит

q1

1000001 5 нулей

нечетное число нулей, большее трех

q2

100000001 7 нулей

……..

………………………….

qm

10...01 2(n+1)+1 нулей

Если в строке (1) считать |, ,  соответственно буквами a1, a2, а3, то при такой системе кодирования строка (1) запишется так:

100001100000110000110001100000000011000000110000011000000001…(2)

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

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

  1. Машина применима к своему шифру, т.е. она перерабатывает этот шифр и после конечного числа тактов останавливается.

  2. Машина не применима к своему шифру, т.е. машина никогда не переходит в стоп-состояние.

Таким образом, сами машины (их шифры) разбиваются на два класса: класс самоприменимых и класс не-самоприменимых тьюринговых машин. Поэтому возникает следующая массовая проблема: проблема распознаваемости самоприменимости. По любому заданному шифру установить, к какому классу относится машина, зашифрованная им: к классу самоприменимых или не-самоприменимых?

Теорема. Проблема распознавания самоприменимости алгоритмически не разрешима.

Доказательство. Предположим противное. Пусть такая машина А существует. Тогда в А всякий самоприменимый шифр перерабатывается в какой-то символ  (имеющий смысл утвердительного ответа на поставленный вопрос о самоприменимости), а всякий несамоприменимый шифр – в другой символ  (имеющий смысл отрицательного ответа на поставленный вопрос). В таком случае можно было построить и такую машину В, которая по-прежнему перерабатывает несамоприменимые шифры в , в то время как к самоприменимым шифрам В уже не применима. Этого можно было добиться путем такого изменения схемы машины В, чтобы после появления символа  вместо появления стоп-состояния, машина начала бы неограниченно повторять этот же символ.

Таким образом, В применима ко всякому несамоприменимому шифру (вырабатывается при этом символ ) и не применима к самоприменимым шифрам. Но это приводит к противоречию. Действительно:

  1. пусть машина В самоприменима, тогда она применима к своему шифру В и перерабатывает его в символ ; но появление этого символа как раз и должно означать, что В несамоприменима;

  2. пусть В несамоприменима, тогда она не применима к В, что должно означать как раз, что В самоприменима. Полученное противоречие доказывает теорему.