- •Т. А. Сливина математическая логика и теория алгоритмов
- •Глава I. Логика высказываний 6
- •Глава 1 логика высказываний
- •§ 1. Логические операции над высказываниями
- •§ 2. Формулы логики высказываний. Основные равносильности и преобразования
- •1. Основные равносильности
- •2. Равносильности, выражающие одни логические операции через другие
- •3. Равносильности, выражающие основные законы алгебры логики
- •§ 3. Алгебра Буля. Функции Буля. Представление произвольной функции алгебры логики в виде формулы алгебры логики
- •§ 4. Дизьюнктивная нормальная форма и совершенная дизьюнктивная нормальная форма. Коньюнктивная нормальная форма и совершенная коньюнктивная нормальная форма
- •§ 5. Приложения алгебры логики в технике и других областях
- •Задачи и упражнения
- •Глава 2 исчиление высказываний
- •§ 1. Этапы построения исчисления высказываний. Понятие формулы исчисления высказываний
- •§ 2. Определение доказуемой формулы. Правила вывода и заключения
- •§ 3. Производные правила вывода
- •§ 4. Выводимость формул из совокупности формул
- •§5. Доказательство некоторых законов логики
- •3. Закон разъединения посылок
- •5. Закон исключенного третьего: ├
- •§6. Связь между алгеброй высказываний и исчислением высказываний
- •§7. Проблемы аксиоматического исчисления высказываний
- •1. Проблема разрешимости исчисления высказываний.
- •3. Проблема полноты исчисления высказываний.
- •4. Проблема независимости аксиом исчисления высказываний.
- •Задачи и упражнения
- •Глава 3 логика предикатов
- •§ 1. Понятие предиката. Логические операции над предикатами. Кванторные операции.
- •§ 2. Понятие формулы логики предикатов. Значение формулы логики предикатов
- •§ 3. Равносильные формулы логики предикатов. Предваренная нормальная форма
- •§ 4. Общезначимость и выполнимость формул. Проблема разрешимости для общезначимости и выполнимости, неразрешимость ее в общем случае
- •§ 5. Применение языка логики предикатов для записи математических предложений, определений, построения отрицания предложений
- •§ 6. Замечание об аксиоматическом исчислении предикатов
- •Задачи и упражнения
- •Глава 4 математические теории
- •§ 1. Теории первого порядка. Основные понятия
- •§ 2. Примеры математических теорий из алгебры, анализа, геометрии
- •1. Теория частичного упорядочения.
- •2. Теория групп.
- •3. Аффинная геометрия.
- •§ 3. Интерпретация языка теории
- •§ 4. Проблемы непротиворечивости, полноты, разрешимости теории
- •2. Проблема полноты.
- •3. Проблема разрешимости.
- •Глава 5 алгоритмы
- •§ 1. Понятие алгоритма и его характерные черты
- •§ 2. Разрешимые и перечислимые множества
- •§ 3. Уточнение понятия алгоритма
- •§ 4. Вычислимые функции. Частично рекурсивные и общерекурсивные функции
- •1. Суперпозиция функций.
- •2. Схема примитивной рекурсии.
- •§ 5. Машины Тьюринга
- •§ 6. Нормальные алгоритмы Маркова
- •§ 7. Неразрешимые алгоритмические проблемы (обзор)
- •1.Неразрешимость проблемы распознавания выводимости в математической логике.
- •3. Проблема эквивалентности слов для ассоциативных исчислений.
- •4. Неразрешимость десятой проблемы Гильберта о диофантовых уравнениях.
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Математическая логика и теория алгоритмов
- •660014, Красноярск, просп. Им. Газ. «Красноярский рабочий», 31.
- •660028, Г. Красноярск, ул. Водопьянова, 2-241.
§ 7. Неразрешимые алгоритмические проблемы (обзор)
Переход от интуитивного понятия алгоритма к точному понятию машины Тьюринга позволяет уточнить и вопрос об алгоритмической разрешимости данной массовой проблемы. Теперь этот вопрос можно сформулировать так: существует ли машина Тьюринга, решающая данную массовую проблему или же такой машины не существует?
На этот вопрос теория алгоритмов в ряде случаев дает отрицательный ответ. Один из первых результатов такого типа получен американским математиком Чёрчем в 1936 году. Он касается проблемы распознавания выводимости в математической логике.
1.Неразрешимость проблемы распознавания выводимости в математической логике.
Как известно, аксиоматический метод в математике заключается в том, что все предложения (теоремы) данной теории получаются посредством формально-логического вывода из нескольких предложений (аксиом), принимаемых в данной теории без доказательства.
В математической логике описывается специальный язык формул, позволяющий любое предложение математической теории записать в виде вполне определенной формулы, а процесс логического вывода из посылки А следствия B может быть описан в виде процесса формальных преобразований исходной формулы. Это достигается путем использования логического исчисления, в котором указана система допустимых преобразований, изображающих элементарные акты логического умозаключения, из которых складывается любой, как угодно сложный формально-логический вывод.
Вопрос о логической выводимости предложения В из посылки А в избранном логическом исчислении является вопросом о существовании дедуктивной цепочки, ведущей от формулы А к формуле В.
В связи с этим возникает проблема распознавания выводимости: для любых двух формул А и В в логическом исчислении узнать, существует ли дедуктивная цепочка, ведущая от А к В, или нет.
Решение этой проблемы понимается в смысле вопроса о существовании алгоритма, дающего ответ при любых А и В. Результат Чёрча формулируется следующим образом:
Теорема Чёрча. Проблема распознавания выводимости алгоритмически неразрешима.
2. Неразрешимость проблемы распознавания самоприменимости.
Введем предварительно понятие шифра машины Тьюринга. До сих пор мы записывали программу машины Тьюринга в виде двумерной таблицы тп. Однако ее можно изобразить в одномерном варианте, записывая последовательно пятерки символов так, что первый символ пятерки указывает столбец таблицы, второй – строчку таблицы, а последующие три – символы той тройки, которая располагается в таблице на пересечении указанных строки и столбца.
Так, например, вместо схемы, изображенной на рис. 7, будет получена одномерная строка:
a0q1a0пq3q1нq2q1лq1q1лq1a0q2a0лq4… (1)
Поступая аналогично, можно при рассмотрении конфигураций условиться о том, чтобы букву состояния писать не под обозреваемой буквой, а непосредственно левее ее. Например, ранее встречающуюся конфигурацию
q4
будем записывать в виде q4
Ясно, что каждую букву строки (1) можно переименовать. Сделаем это, соблюдая следующие условия:
строка (1) должна однозначно разбиваться на отдельные кодовые группы;
кодовые символы должны быть трех видов:
а) для букв л, п, н;
б) для букв внешнего алфавита;
в) для букв, изображающих состояния машины.
В связи с этим будем пользоваться следующей таблицей кодирования:
Алфавит |
Буква |
Кодовая группа |
Примечания |
Буквы адресов |
л |
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)
Подобную строчку из единиц и нулей, составленную для функциональной схемы или для отдельной конфигурации называют шифром функциональной схемы или шифром конфигурации.
Пусть теперь на ленте машины Тьюринга изображен ее же собственный шифр, записанный в алфавите машины. Возможны два случая:
Машина применима к своему шифру, т.е. она перерабатывает этот шифр и после конечного числа тактов останавливается.
Машина не применима к своему шифру, т.е. машина никогда не переходит в стоп-состояние.
Таким образом, сами машины (их шифры) разбиваются на два класса: класс самоприменимых и класс не-самоприменимых тьюринговых машин. Поэтому возникает следующая массовая проблема: проблема распознаваемости самоприменимости. По любому заданному шифру установить, к какому классу относится машина, зашифрованная им: к классу самоприменимых или не-самоприменимых?
Теорема. Проблема распознавания самоприменимости алгоритмически не разрешима.
Доказательство. Предположим противное. Пусть такая машина А существует. Тогда в А всякий самоприменимый шифр перерабатывается в какой-то символ (имеющий смысл утвердительного ответа на поставленный вопрос о самоприменимости), а всякий несамоприменимый шифр – в другой символ (имеющий смысл отрицательного ответа на поставленный вопрос). В таком случае можно было построить и такую машину В, которая по-прежнему перерабатывает несамоприменимые шифры в , в то время как к самоприменимым шифрам В уже не применима. Этого можно было добиться путем такого изменения схемы машины В, чтобы после появления символа вместо появления стоп-состояния, машина начала бы неограниченно повторять этот же символ.
Таким образом, В применима ко всякому несамоприменимому шифру (вырабатывается при этом символ ) и не применима к самоприменимым шифрам. Но это приводит к противоречию. Действительно:
пусть машина В самоприменима, тогда она применима к своему шифру В и перерабатывает его в символ ; но появление этого символа как раз и должно означать, что В несамоприменима;
пусть В несамоприменима, тогда она не применима к В, что должно означать как раз, что В самоприменима. Полученное противоречие доказывает теорему.