Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АиАС.docx
Скачиваний:
14
Добавлен:
15.04.2019
Размер:
172.66 Кб
Скачать

21. Класс p и np.

- P – класс задач, решаемых с пом. полимиальных детерминированных МТ и является подмножеством NP

- NP – недетерминированных полимиальных МТ

Проблема построения эффективных алгоритмов имеет прямое отношение к практике. Оказалось, что существует целый класс важных для практики задач, для которых до настоящего времени не удалось найти хороших решающих процедур. Более того, для этих задач нет даже приближенных алгоритмов. Классы этих задач известны как классы NP-полных и NP-трудных задач."

22. Классы со-np, pspace, npspace.

Класс со-NP – это класс до NP дополнительный к языкам из NP.

Класс PSPACE - это класс задач распознавания типа «да», «нет» требующих, полимиальных размеров памяти для решающих их детерминированных алгоритмов.

Класс NPSPACE – это класс задач распознавания типа «да», «нет» требующих полимиальных размеров памяти для решающих их недетерминированной МТ.

Имеет место следующее важное соотношение:

PNPPSPACE=NPSPACE

Результат PSPACE=NPSPACE известен как теорема Савича. Эта теорема доказывается, исходя из того, что для каждой недетерминированной машины Тьюринга имеется эквивалентная ей детерминированная машина Тьюринга.

23. Задача выполнимость и теорема с.Кука о полноте задачи выполнимость.

Задача ВЫПОЛНИМОСТЬ заключается в следующем. Имеется множество дизъюнктов. Спрашивается, имеется ли для этого множества дизъюнктов хотя бы одна общая выполняющая интерпретация? Если ДА, то множество дизъюнктов называется выполнимым. Если НЕТ, то множество дизъюнктов называется невыполнимым. Эта задача имеет только кажущуюся простоту. На самом деле, проблема упирается в отыскание эффективного алгоритма ее решения, которую мы рассматриваем на следующем практическом занятии.

Язык ВЫПОЛНИМОСТЬ содержит множество слов, представляющих все выполнимые системы дизъюнктов.

Проблема распознавания языка ВЫПОЛНИМОСТЬ связана с распознаванием выполнимости данной системы дизъюнктов. Если система дизъюнктов выполнима, то это легко проверить, используя значения переменных выполняющей интерпретации. Проверку можно реализовать на недетерминированной в общем случае машине Тьюринга.

Проверка просто устанавливает, удовлетворяет ли найденное решение условиям задачи.

Сложностью проверки называется функция для числа тактов проверочной процедуры в зависимости от длины описания задачи (размера описания задачи). Оказывается, по критерию сложности все машины Тьюринга можно разделить на два класса: машины с функцией сложности, ограниченной некоторым полиномом и машины с функцией сложности, не ограниченной полиномом. Первый тип машин называется также эффективным.

Язык ВЫПОЛНИМОСМТЬ знаменит в силу следующего обстоятельства. Он является универсальным в некотором классе языков.

С. Кук доказал знаменитую теорему о том, что задача Выполнимость является универсальной в классе задач распознавания (этот класс получил короткое название NP (от слов Nondeterministic Polynomial)).

24. Другие np-полные задачи. Примеры сводимости в классе np.

реализуемой за полиномиальное время на недетерминированной машине Тьюринга. Имейте в виду, что любой детерминированный алгоритм есть частный случай недетерминированного алгоритма.

Определение. Задача А эффективно сводится к задаче В, если

  • Решение задачи B дает решение задачи А;

  • Сложность сведения ограничена полиномиальной функцией.

Примеры сведений.

Задача ВЫПОЛНИМОСТЬ эффективно сводится к задаче 3-ВЫПОЛНИМОСТЬ. Задача 3-ВЫПОЛНИМОСТЬ – это задача ВЫПОЛНИМОСТЬ, каждый дизъюнкт которой содержит не более 3-ех переменных. Рассмотрим на пример, как эта сводимость реализована.

Пусть дана система дизъюнктов

S=

Здесь только второй дизъюнкт содержит более 3 переменных. Заменим второй дизъюнкт, как показано ниже:

S1=

Можно усмотреть следующий общий прием. Мы вводим дополнительную переменную в каждый дизъюнкт, содержащий более трех переменных. Затем отсчитываем три литеры и переносим оставшиеся переменные в новый дизъюнкт. В перенесенном дизъюнкте мы добавляем новую литеру, но уже с отрицанием и т.д.