Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Теорема Кука: первая NР - полная задачаСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Исторически первой задачей, для которой С. Куком [7] было дано доказательство NР - полноты, была задача выполнимости КНФ (конъюнктивной нормальной, формы). КНФ называется формула вида (5.1)
Задача выполнимости состоит в том, чтобы по заданной КНФ узнать, обращается ли реализуемая ею функция алгебры логики в единицу хотя бы на одном наборе значений переменных . Будем обозначать эту задачу . Теорема_5.1. (Сoоk S.A., 1971). Задача выполнимости КНФ является NР- полной. Доказательство: Достаточно убедиться, что: а) и б) что любая задача из NР полиномиально сводится к а) Недетерминированный алгоритм, решающий задачу при длине КНФ, равной m, и числе переменных n, состоит в следующем::
-недетерминированным оператором выбрать ; - просмотреть в каждой из m скобок не более, чем n значений литералов и дать ответ «выполнима», если в каждой скобке найдется хотя бы один литерал, принимающий значение 1, иначе дать ответ «не выполнима». Очевидно, для этого недетерминированного алгоритма сложность может быть оценена как o(mn) и является полиномиальной, поэтому . б) Покажем, что любая задача из NP полиномиально сводима к . Сначала отметим, что любая задача вычисления свойств может быть представлена следующим образом: по заданному объекту х, выяснить, существует ли объект у такой, что R(x,y)=1. В нашей задаче объект х - формула, а у - набор значений переменных. Свойство R(x,y) состоит в том, что на наборе у формула х выполнима. Любая задача из NP может быть сформулирована как задача вычисления свойства. Суть дальнейшего доказательства состоит в указании процедуры, которая для любого полиномиального недетерминированного алгоритма вычисления свойства (выходом которого являются ответы «истина» или «ложь») и для любой допустимой начальной информации такого алгоритма строит одно логическое выражение в виде КНФ, которое является выполнимым тогда и только тогда, когда алгоритм определяет ответ «истина», причем построение этого логического выражения из формального описания недетерминированного алгоритма и его входной информации можно выполнить за полиномиальное число шагов. Построение этой процедуры выполняется в терминах алгоритмической системы Тьюринга. Итак, произвольная задача z вычисления свойства R(x,y) из
класса NР может быть выполнена на НДМТ с полиномиальной проверкой, т.е. за число шагов, ограниченное полиномом от размера задачи l(х)+l(y) = n. Полиномиальной при этом будет и длина рабочей зоны ленты НДМТ Т = Р(n) P(,) - некоторый полином, ячейки НДМТ обозначим целочисленными номерами.... -2, -1, 0,+1,+2,.... Расположение начальной информации на ленте представлено на рис. 5.1. в ячейках с номерами 1,……, n произвольное начало отсчета
начальная информация Рис. 5.1 Вычисления при любом допустимом значении объекта у происходят в зоне ленты [-Т, Т] и завершаются не более чем за Т шагов (тактов работы НДМТ). Машина начав работу в конфигурации останавливается в конфигурации , если свойство R(x, y) выполнено, и в - в противнем случае. Построим КНФ Ф, такую, что любая задача проверки (распознания) свойства - в общем виде: - полиномиально сводится к проверке выполнимости КНФ Ф = В & C & D & Е & F & G, где В, С, D, E, f, g - дизъюнкты, имеющие следующий смысл: В = 1 на каждом шаге головка машины обозревает ровно одну ячейку ленты:
С = 1 в каждой ячейке на каждом шаге записан в точности один символ; D = 1 на каждом шаге работы машина находится ровно в одном состоянии; Е = 1 начальная конфигурация машины имеет вид ; F = 1 машина работает по тьюринговской программе; G = 1 заключительная конфигурация машины имеет вид , если Р(х,у) = 1. Обозначим , - внешний и внутренний алфавиты НМДТ; t - шаги выполнения алгоритма, ; s - номера ячеек, ; i и j - текущие номера символов алфавитов А и Q, , . Введем следующие логические переменные: , если на шаге t, обозревая ячейку s,. машина воспринимает символ с номером 1, иначе эта переменная равна нулю; , если на шаге t машина находится в состоянии с номером j, иначе эта переменная равна нулю. , если на шаге t головка машины обозревает ячейку с номером s, иначе эта переменная равна нулю. Используя введенные логические переменные, можно записать в виде формул следующие логические условия;
на шаге t машина обозревает хотя бы одну ячейку и при этом
никакие две одновременно, т. к. Тогда
на шаге t в ячейке s записан ровно один символ. Тогда
на шаге t машина находится ровно в одном состоянии. Тогда
В начальном положении (t=0) головка машины обозревает ячейку с номером 1 в состоянии q1, а в первых n - ячейках записаны символы слова Х = х(1)...х(n), за ним - разделительный знак «*», после чего - слово Y и далее - пустые ячейки. Выполнение такой начальной конфигурации равносильно Е = 1, где
где l - пустой символ. Полиномиальная программа проверки свойства состоит из тьюринговских команд:
|
|||||||||||||
Последнее изменение этой страницы: 2016-06-19; просмотров: 535; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.134.196 (0.011 с.) |