КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Полиномиальная сводимость. NP-полные языки и задачи
Какова связь между определёнными выше классами задач P и NP? Очевидно, что Теорема 4.1. Если Поэтому все утверждения в теории NP -полных задач формулируются, исходя из предположения, что Определение. Язык 1) Существует ДМТ-программа M, вычисляющая f с временной сложностью, ограниченной полиномом, т.е. 2) Для любого Пусть Например, задача существования гамильтонова цикла полиномиально сводится к задаче коммивояжера. Для сведения задачи достаточно положить расстояние между городами Рассмотрим свойства полиномиальной сводимости. Лемма 1. Если Доказательство. Пусть
Программа распознавания языка Оценим временную сложность этой программы. Так как Лемма 2. Если Доказательство аналогично, выполнить самостоятельно. Определение. Язык L называется NP -полным, если Аналогично определяются NP -полные задачи. Лемма 3. Если Доказательство. Так как Лемма 3 даёт рецепт доказательства NP -полноты задачи P. Для этого нужно показать, что: 1) 2) Некоторая NP -полная задача Для того чтобы доказывать NP -полноту с помощью полиномиальной сводимости нужно доказать существование хотя бы одной NP -полной задачи. Это сделал в 1971 году С. Кук, а такой задачей явилась задача “выполни-мость”. Задача “выполнимость”. Задано множество логических переменных Эквивалентная формулировка данной задачи: “Является ли выполнимой формула, равная конъюнкции всех элементарных дизъюнкций множества С над множеством высказывательных переменных X?” Теорема Кука. Задача “выполнимость” является NP -полной. Рассмотрим основную идею доказательства теоремы. Покажем, что произвольную задачу P из NP можно свести к задаче “выполнимость” за полиномиальное время. Так как Пусть Обозначим: t – момент времени (номер шага программы) k – номер состояния машины j – номер просматриваемой ячейки l – номер символа алфавита G При построении дизъюнкций будут использоваться предикаты:
При фиксированных значениях предметных переменных они являются высказываниями и могут трактоваться как высказывательные переменные, принимающие различные значения в зависимости от значений параметров. Обозначим множество этих переменных через U, Выпишем теперь требуемые группы дизъюнкций и оценим количество дизъюнкций в каждой группе. 1. Группа дизъюнкций a) b) c) d) e) Общее число этих дизъюнкций равно 2. Группа a) b) Число таких дизъюнкций равно 3. Группа a) b) Количество дизъюнкций группы равно 4. Группа a) b) Количество дизъюнкций группы равно 5. Группа a) b) c) Общее число этих дизъюнкций равно Кроме того, если в момент t ячейка j не просматривается, то её содержимое не меняется. Это описывается высказыванием d) Количество дизъюнкций d) равно 6. Группа Таким образом, если Осталось показать, что для любого фиксированного языка L индивидуальная задача “выполнимость”
Дата добавления: 2014-01-20; Просмотров: 892; Нарушение авторских прав?; Мы поможем в написании вашей работы! |