- •Конспекты лекций по дисциплине Теория сложности вычислений
- •6.080200 Прикладная математика
- •Симферополь, 2004
- •Тема 0: Введение
- •Тема 1: Модели вычислений
- •Тема 4. Класс р и неразрешимые полиномиальные задачи
- •Недетерминированные алгоритмы и класс np
- •Теорема 4.1 [1].
- •Тема 5. Клас np
- •Теорема_5.1. (Сoоk s.A., 1971). Задача выполнимости кнф является nр- полной.
- •Начальная информация
- •Здесь - функция смены состояний нмт, - функция, определяющая записываемый на ленту символ, - функция, определяющая движение головки машины, . Введем вспомогательную функцию –
- •Тема 8. Матроиды и greedy алгоритмы
- •Значение функции (е) будем называть весом элемента е е. Задача 8.3 может быть переформулирована так: найти допустимое подмножество s j с наибольшим суммарным весом.
Теорема 4.1 [1].
1) Если , то Р Р;
2)
Если
и
,
то
;
3)
Если
NР,
NР,
NРС
и
,
то
NРС.
Доказательство вытекает из определений
2.1, 3.1, 4.1 и 4.2.
Теорема 4.1 указывает
способ доказательства. NР-полноты
некоторой задачи Z,
если известна
хотя он одна NР-полная
задача Z*:
достаточно доказать, что
NР
и что Z*
Z .
Если предположить, что классы P и NP совпадают, что означает существование полиномиального алгоритма решения любой задачи из NP, то это повлекло бы существование полиномиальных алгоритмов решения всех NР-полных задач. Однако за всю историю развития математики не было найдено ни одного полиномиального алгоритма решения хотя бы одной какой-нибудь известной NР-полной задачи. Это послужило обоснованием существующей на сегодняшний день научной гипотезы
P ≠ NP
На рис.4.2 приведена теоретико-множественная диаграмма класса NP в предположении, что P NP.
Литература:
Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. – 416 с.
Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. – 536 с.
Грэхем Р., Кнут Д., Паташник О. Конкретная математика (основание информатики). М.: Мир, 1998. – 703 с.
Донской В. И. Дискретная математика. –Симферополь: Сонат, 2000. –356 с.
Липский В. Комбинаторика для программистов. М.: Мир, 1988. – 215 с.
Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физико-математическая литература, 1995. – 256 с
Линдон Р. Заметки по логике. М.: Мир, 1968. – 128 с.
Оре О. Теория графов. М.: Наука, 1980. – 336 с.
Шоломов Л. А. Основы теории дискретных логических и вычислительных устройств. М.: Наука, 1980. – 400 с.
Тема 5. Клас np
Лекция 1. Теорема Кука про NP – полноту задачи выполнимости КНФ
1) Недетерминированные алгоритмы [1,2,3,4,5,6,7,8,9]
Исторически первой задачей, для которой С. Куком было дано доказательство NР - полноты, была задача выполнимости КНФ (конъюнктивной нормальной, формы). КНФ называется формула вида
(5.1)
Задача
выполнимости состоит в том, чтобы по
заданной КНФ узнать, обращается ли
реализуемая ею функция алгебры логики
в единицу хотя бы на одном наборе
значений переменных
.
Будем обозначать эту задачу
.
Теорема_5.1. (Сoоk s.A., 1971). Задача выполнимости кнф является nр- полной.
Доказательство. Достаточно убедиться, что:
а)
NР
и
б) что любая задача из NР полиномиально сводится к .
Покажем выполнение условия а). Недетерминированный алгоритм, решающий задачу при длине КНФ, равной m, и числе переменных n, состоит в следующем.
1о
Недетерминированным оператором
выбрать
;
2о
Просмотреть
в каждой из m
скобок не более, чем n
значений
литералов
и дать ответ «выполнима», если в каждой
скобке найдется хотя бы один литерал,
принимающий значение 1, иначе дать ответ
«не выполнима».
Очевидно, для этого недетерминированного алгоритма сложность может быть оценена как o(mn) и является полиномиальной, поэтому NP.
Теперь покажем выполнение условия б). Убедимся, что любая задача из NP полиномиально сводима к .
Сначала отметим, что любая задача вычисления свойств может быть представлена следующим образом: по заданному объекту х выяснить, существует ли объект у такой, что R(x,y)=1. В проблеме объект х - формула, а у - набор значений переменных. Свойство R(x,y) состоит в том, что на наборе у формула х выполнима. Любая задача из NP может быть сформулирована как задача вычисления свойства. Суть дальнейшего доказательства состоит в указании процедуры, которая для любого полиномиального недетерминированного алгоритма вычисления свойства (выходом которого являются ответы «истина» или «ложь») и для любой допустимой начальной информации такого алгоритма строит логическое выражение в виде КНФ, и это выражение является выполнимым тогда и только тогда, когда алгоритм определяет ответ «да», причем построение этого логического выражения из формального описания недетерминированного алгоритма и его входной информации можно выполнить за полиномиальное число шагов. Иначе говоря, будет доказана полиномиальная сводимость любой задачи из NP к задаче проверки выполнимости некоторой конъюнктивной нормальной формы.
Построение процедуры сводимости выполняется в терминах алгоритмической системы Тьюринга.
Итак, произвольная задача z вычисления свойства R(x,y) из класса NР может быть выполнена на недетерминированной машине Тьюринга НДМТ с полиномиальной проверкой, т.е. за число шагов, ограниченное полиномом от размера задачи l(х)+l(y) = n. Полиномиальной при этом будет и длина рабочей зоны ленты НДМТ Т = Р(n), где P( . ) - некоторый полином (предположение о том, что длина рабочей зоны на ленте для задачи z не ограничена полиномом, противоречило бы принадлежности z классу NР. Ячейки НДМТ обозначим целочисленными номерами .... -2, -1, 0,+1,+2, ... . Расположение начальной информации на ленте представлено на рис. 5.1. в ячейках с номерами 1,……,n .
Произвольное
начало отсчета
… |
-2 |
-1 |
0 |
1 |
2 |
… |
n |
… |
