Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Opornye_konspekty_lektsij.doc
Скачиваний:
29
Добавлен:
01.04.2025
Размер:
847.87 Кб
Скачать

Теорема 4.1 [1].

1) Если  , то  Р   Р;

2) Если  и  , то  ;

3) Если NР,  NР,  NРС и  , то  NРС. Доказательство вытекает из определений 2.1, 3.1, 4.1 и 4.2.

Теорема 4.1 указывает способ доказательства. -полноты некоторой задачи Z, если известна хотя он одна -полная задача Z*: достаточно доказать, что NР и что Z* Z .

Если предположить, что классы P и NP совпадают, что означает существование полиномиального алгоритма решения любой задачи из NP, то это повлекло бы существование полиномиальных алгоритмов решения всех -полных задач. Однако за всю историю развития математики не было найдено ни одного полиномиального алгоритма решения хотя бы одной какой-нибудь известной -полной задачи. Это послужило обоснованием существующей на сегодняшний день научной гипотезы

P NP

На рис.4.2 приведена теоретико-множественная диаграмма класса NP в предположении, что P NP.

Литература:

  1. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. – 416 с.

  2. Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979. – 536 с.

  3. Грэхем Р., Кнут Д., Паташник О. Конкретная математика (основание информатики). М.: Мир, 1998. – 703 с.

  4. Донской В. И. Дискретная математика. –Симферополь: Сонат, 2000. –356 с.

  5. Липский В. Комбинаторика для программистов. М.: Мир, 1988. – 215 с.

  6. Лавров И. А., Максимова Л. Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физико-математическая литература, 1995. – 256 с

  7. Линдон Р. Заметки по логике. М.: Мир, 1968. – 128 с.

  8. Оре О. Теория графов. М.: Наука, 1980. – 336 с.

  9. Шоломов Л. А. Основы теории дискретных логических и вычислительных устройств. М.: Наука, 1980. – 400 с.

Тема 5. Клас np

Лекция 1. Теорема Кука про NP – полноту задачи выполнимости КНФ

1) Недетерминированные алгоритмы [1,2,3,4,5,6,7,8,9]

Исторически первой задачей, для которой С. Куком было дано доказательство - полноты, была задача выполнимости КНФ (конъюнктивной нормальной, формы). КНФ называется формула вида

(5.1)

Задача выполнимости состоит в том, чтобы по заданной КНФ узнать, обращается ли реализуемая ею функция алгебры логики в единицу хотя бы на одном наборе значений переменных . Будем обозначать эту задачу .

Теорема_5.1. (Сoоk s.A., 1971). Задача выполнимости кнф является 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) из класса может быть выполнена на недетерминированной машине Тьюринга НДМТ с полиномиальной проверкой, т.е. за число шагов, ограниченное полиномом от размера задачи l(х)+l(y) = n. Полиномиальной при этом будет и длина рабочей зоны ленты НДМТ Т = Р(n), где P( . ) - некоторый полином (предположение о том, что длина рабочей зоны на ленте для задачи z не ограничена полиномом, противоречило бы принадлежности z классу NР. Ячейки НДМТ обозначим целочисленными номерами .... -2, -1, 0,+1,+2, ... . Расположение начальной информации на ленте представлено на рис. 5.1. в ячейках с номерами 1,……,n .

Произвольное начало отсчета

-2

-1

0

1

2

n

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]