
- •Логика высказываний.
- •Логическая равносильность формул.
- •Нормальные формы формул алгебры высказываний.
- •Метод резолюций в алгебре высказываний
- •Алгебра логических значений
- •Булевы многочлены и булевы функции
- •Системы булевых функций
- •Переключательные схемы
- •Минимизация булевых многочленов
- •Логика предикатов Понятие предиката
- •Алгебра предикатов
- •Формулы алгебры предикатов
- •Если , – формулы, то формулами являются также выражения
- •Интерпретации формул алгебры предикатов
- •Тавтологии алгебры предикатов
- •Логическая равносильность формул алгебры предикатов
- •Логическое следование формул алгебры предикатов
- •Формальные исчисления
- •Исчисление высказываний
- •Исчисление предикатов
- •Аксиоматические теории первого порядка
- •Интерпретация теории первого порядка
- •Выполнимость формул теории первого порядка
- •Примеры теорий первого порядка
- •Свойства теорий первого порядка
- •Проблема общезначимости формул алгебры предикатов
- •Метод семантических таблиц
- •Автоматическое доказательство теорем
- •Нормальные формы для формул алгебры предикатов
- •Метод резолюций в исчислении предикатов
- •Элементы теории алгоритмов
- •Характерные особенности моделей вычислений Общие понятия алгоритма и вычислимой функции.
- •Формальные грамматики
- •Нормальные алгорифмы Маркова
- •Рекурсивные функции
- •Машины Тьюринга
- •Сложность вычислений
- •Сложность алгоритмов
- •Полиномиальные сведения
Сложность вычислений
В
качестве модели алгоритма рассматривается
машина Тьюринга T,
вычисляющая числовую функцию
Временной
сложностью
машины T
называется функция
значение которой равно числу шагов
работы машины T,
сделанных при вычислении значения
если
определено, и
не определено, если
не определено.
Ленточной
сложностью
машины T
называется функция
значение которой равно числу ячеек
машины T,
используемых при вычислении значения
и
не определено, если
не определено.
Если внешний алфавит A машины T состоит из m символов, множество внутренних состояний Q состоит из n элементов и значение определено, то справедливы неравенства:
Теорема
Блюма об ускорении.
Для любой рекурсивной функции
существует такая рекурсивная функция
с множеством значений
что для любой машины Тьюринга T,
вычисляющей функцию
найдется такая машина Тьюринга
,
вычисляющая функцию
что начиная с некоторого номера
выполняется
неравенство
Следовательно, в общем случае невозможно определить сложность наилучшего или быстрейшего алгоритма для вычисления функции .
Сложность алгоритмов
В
качестве модели алгоритма рассматривается
машина Тьюринга T,
вычисляющая словарную функцию
Входное
слово
называется допустимым
машиной M,
если обрабатывая это слово машина M
завершает работу в заключительном
состоянии, и недопустимым
в противном случае. Множество всех
допустимых слов образует язык
,
который допускается
(или распознается)
машиной T.
В
общем случае машина Тьюринга T
допускает
рекурсивно-перечислимый язык
,
который является областью определения
рекурсивной функции
Язык
называется рекурсивным,
если рекурсивна его характеристическая
функция
,
т.е.
для некоторой машины Тьюринга T
с
функцией
Такая машина удовлетворяет условиям:
если
, то x – допустимое слово и, значит, при входе x машина T попадает в заключительное состояние, останавливается и выдает значение
если
, то при входе x машина T останавливается в состоянии, не являющемся заключительным, и выдает значение
Если язык L рассматривается как кодировка проблемы P, то проблема P называется разрешимой, если она является рекурсивным языком, и неразрешимой в противном случае.
Машины такого типа соответствуют понятию «алгоритма» и применяются при решении распознавательных задач типа «да/нет».
Примеры.
1. Является ли выполнимым булев многочлен?
2. Изоморфны ли данные графы?
3. Имеет ли граф независимое множество вершин мощности k?
На практике часто исходная задача является оптимизационной, т.е. предполагающей выбор оптимального решения из множества допустимых решений. Такие задачи не проще распознавательных, т.к. последние являются частным случаем оптимизационных задач.
Для
исследования сложности распознавательных
задач далее рассматриваются машины
Тьюринга T
с рекурсивными языками
Говорят,
что машина Тьюринга T
имеет
временную
сложность
(или
«время работы
»),
если, обрабатывая вход
длины
п,
T
делает
не более
переходов
и останавливается
независимо от того, допущен вход или
нет.
Определение.
Говорят, что
язык
принадлежит классу
P,
если
существует полином
,
при
котором
для
некоторой детерминированной машины
Тьюринга T
с
временной сложностью
.
В частности, распознавательная задача принадлежит классу P, если ее язык принадлежит классу P, т.е. эта задача решается с помощью полиномиального алгоритма - некоторой детерминированной машины Тьюринга T с полиномиальной временной сложностью .
Пример. Задача существования для графа остова с весом не более числа k принадлежит классу P.
Определение. Язык принадлежит классу NP, если существует полином , при котором для некоторой недетерминированной машины Тьюринга T с временной сложностью .
В частности, распознавательная задача принадлежит классу NP, если ее язык принадлежит классу NP, т.е. эта задача решается с помощью полиномиального недетерминированного алгоритма - некоторой недетерминированной машины Тьюринга T с полиномиальной временной сложностью .
Пример. Задача выполнимости булева многочлена принадлежит классу NP.
Принципиально важный нерешенный вопрос математики
P =NP ?