- •Введение
- •Тема 1. Логика высказываний
- •1.1. Понятие высказывания
- •1.2. Логические операции
- •1. Отрицание или инверсия ( – не)
- •Конъюнкция ( ,, ·, логическое и )
- •4. Импликация ( ) “если а, то b”
- •6. Сумма по модулю два
- •7. Штрих Шеффера ( , обратная конъюнкция и – не)
- •8. Стрелка Пирса ( , обратная дизъюнкция или – не )
- •1.3. Булевы функции
- •1.3.1. Некоторые определения из теории множеств
- •1.3.2. Булевы функции
- •1.4. Формулы
- •1.5. Равносильные формулы
- •1.6. Подстановка и замена
- •1.7. Формы представления высказываний
- •1.8. Минимизация сложных высказываний методом Квайна
- •1.9. Полные системы функций
- •1.9.1. Система функций { }
- •1.9.2. Замкнутые классы
- •1.9.3. Функциональная полнота
- •Тема 2. Логические исчисления
- •2.1. Интерпретация формул
- •2.2. Примеры тождественно истинных формул высказываний
- •2.3. Формальные теории
- •Выводимость.
- •2.5. Интерпретация формальных теорий
- •2.6. Исчисление высказываний.
- •2.7. Производные правила вывода
- •2.8. Дедукция
- •2.9. Некоторые теоремы теории £
- •Тема 3. Логика и исчисление предикатов
- •3.1. Предикаты
- •3.2. Исчисление предикатов
- •3.3. Интерпретация
- •3.4. Основные равносильности для предикатов
- •3.5. Приведенная форма представления предикатов
- •Тема 4. Автоматическое доказательство теорем
- •4.1. Постановка задачи
- •4.2. Доказательство от противного
- •4.3.Правило резолюции для исчисления высказываний
- •4.4. Правило резолюции для исчисления предикатов
- •4.5. Основные положения мр (выводы)
- •4.6. Логическое программирование
- •Тема 5. Теория алгоритмов
- •5.1. Интуитивное понятие алгоритма
- •5.2. Конкретизация понятия алгоритма
- •5.2.1. Машины Тьюринга
- •5.2.3. Рекурсивные функции
- •5.2.3. Нормальные алгорифмы Маркова
- •5.3. Алгоритмически неразрешимые проблемы
- •5.3.1. Проблема самоприменимости
- •5.3.1.1. Нумерация мт
- •5.3.1.2. Самоприменимость мт
- •5.3.2. Проблема останова
- •5.3.3. Разрешимые и неразрешимые задачи математики
- •5.4. Характеристики сложности вычислений
- •5.5. Классы сложности задач
- •5.5.1. Р задачи
- •5.5.2. Np задачи
5.2. Конкретизация понятия алгоритма
Задачу алгоритмической разрешимости можно сформулировать следующим образом: задача алгоритмически разрешима, если для нее можно построить рекурсивную функцию (машину Тьюринга, λ – нотацию, алгорифм Маркова).
5.2.1. Машины Тьюринга
Машина Тьюринга (МТ) – это математическая модель идеализированного вычисляемого устройства. Для построения МТ надо задать:
Конечный алфавит , где - пустой символ.
Конечное множество внутренних состояний .
МТ представляет собой
Бесконечную ленту, разделенную на ячейки. В каждый момент времени в ячейке записана буква . В процессе работы в ячейку может быть записан другой символ
По ячейкам передвигается управляющее устройство (УУ). В каждый момент времени оно находится напротив какой-то ячейки и имеет некоторое состояние .
Машина действует дискретно, т. е. в определенные моменты времени.
|
|
|
|
|
|
|
|
|
|
Если в какой-то момент времени УУ воспринимает ячейку, содержащую символ и МТ находится в состоянии , то МТ может совершить следующие действия:
1. Стереть символ и записать на его место символ .
2. Переместиться в ячейку слева (Л).
3. Переместиться в ячейку справа (П).
4. Остаться на месте (С).
Эти действия называются программой.
Таким образом, М=<A,Q, П>.
Программу МТ можно представить в виде последовательности команд вида: ,
где D={Л, П, С}. (Л- переход влево, П – переход вправо, С – остаться на месте).
Программу также можно представить в виде таблицы:
|
q1 |
q2 |
…. |
qn |
a1 |
|
|
|
|
a2 |
|
|
|
|
…. |
|
|
|
|
am |
|
|
|
|
Пример. МТ добавляет к слову единицу.
|
|
1 |
1 |
1 |
|
|
Программа:
(Если в воспринимаемой ячейке символ , и МТ находится в состоянии q1, то состояние не меняется, символ не меняется, УУ сдвигается вправо).
(Если в воспринимаемой ячейке символ 1, и МТ находится в состоянии q1, то это значит, что УУ находится на начале слова, состояние меняется на q2, символ не меняется, УУ сдвигается вправо).
( Если в воспринимаемой ячейке символ 1, и МТ находится в состоянии q2, то это значит, что УУ передвигается по слову, состояние не меняется, символ не меняется, УУ сдвигается вправо).
( Если в воспринимаемой ячейке символ , и МТ находится в состоянии q2, то это значит, что УУ дошло до конца слова, состояние меняется на заключительное, символ меняется на 1, УУ останавливается).
В виде таблицы эту программу можно записать следующим образом:
|
q1 |
q2 |
|
|
|
1 |
|
|
Конфигурация МТ (машинное слово) – это слово вида , где
p1 – слово в алфавите МТ (может быть пустое),
qs – внутреннее состояние М,
ai – воспринимаемый символ,
p2 – слово в алфавите МТ.
МТ переводит конфигурацию в конфигурацию ( ), если имеет вид , имеет вид , - одна из команд МТ.
Для рассмотренного выше примера:
1. Команда переводит МТ из конфигурации в конфигурацию
2. Команда переводит МТ из конфигурации в конфигурацию
и т. д.
МТ останавливается при конфигурации , если не существует такой конфигурации , что (т. е. входит в , а среди команд МТ нет такой, которая бы начиналась с ).
Тезис Тьюринга: Любой интуитивный алгоритм может быть реализован с помощью некоторой машины Тьюринга.