NP-полнота Основные NP-полные задачи. Задача «Независимое множество» Условие. Задан граф G=(V,E) и целое число k. Вопрос. Существует ли независимое множество.

Презентация:



Advertisements
Похожие презентации
NP-полнота Теорема Кука. Полиномиальная сводимость Пусть Π 1 =(X 1,Y 1 ) и Π 2 =(X 2,Y 2 ) задачи распознавания. Будем говорить, что Π 1 полиномиально.
Advertisements

NP-полные задачи. Сложность задач Задачи формулируем как множества языков, распознаваемых МТ. То есть, на вход МТ подаётся «вопрос» и она отвечает «да»
Графы Лекция 2. Графы Неориентированным графом (графом) называется тройка (V, E, ), где V и E конечные множества и {X V : | X | = 2}. Ориентированным.
Комбинаторные алгоритмы Задача о покрытии. Задача о покрытии множествами Дано: Совокупность U из n элементов, и набор подмножеств U, S = {S 1,…, S k },
Класс NP и NP-полные задачи. NP-полнота задачи выполнимости Задача выполнимости булевой функции: Вход: булева функция, заданная формулой Требуется определить,
1 Комбинаторные алгоритмы Задача о k-центрах. 2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для.
Фактор-критические графы Лекция 9. Необходимость Необходимое условие для графа иметь совершенное паросочетание – это четное число вершин в каждой компоненте.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
Остовные деревья Лекция 4. Задача «Минимальное остовное дерево» Дано: Граф G, веса c: E(G) R. Найти остовное дерево в G наименьшего веса или определить,
Линейное программирование Задача теории расписаний.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
M-чередующаяся декомпозиция Лекция 10. Нечетная декомпозиция Теорема 9.7 (Lovász [1972] ) Граф является фактор-критическим тогда и только тогда, когда.
1 Приближенные алгоритмы Комбинаторные алгоритмы.
Паросочетания в двудольных графах Лекция 8. Паросочетание Паросочетанием в графе G называется множество попарно несмежных ребер.
Матроиды Лекция 12. Введение Даны система множеств (E, F ), то есть конечное множество E, F 2 E и стоимостная функция c : F R, найти элемент из F, стоимость.
Задачи раскраски графов А.В.Пяткин. Вершинная раскраска Раскрасить вершины графа в минимальное число цветов так, чтобы смежные вершины получали бы разные.
Определение функции n переменных. Геометрическая интерпретация в случае задания функции двух переменных. Задание функций. Классификация множеств пространства.
ГЛАВА II ТЕОРИЯ БЕСКОНЕЧНЫХ МНОЖЕСТВ §1. Счетные множества. Примеры. Минимальность счетной мощности Определение 1. Множества А и В называются равномощными.
Теория графов. Теория графов – обширный самостоятельный раздел дискретной математики. Используется при проектировании компьютерных сетей, трубопроводов,
V-множество вершин, E- множество ребер Граф - G(V, Е). Л. Эйлер 1736 г. G(V, Е, f) V,E – множества, отображение инциденции f: Е V&V множества Е в V&V Основы.
Транксрипт:

NP-полнота Основные NP-полные задачи

Задача «Независимое множество» Условие. Задан граф G=(V,E) и целое число k. Вопрос. Существует ли независимое множество на k вершинах? Независимым множеством называется такое подмножество вершин V V, что любые две его вершины не соединены ребром в G.

Независимое множество Теорема 3.1 (Karp 1972) Задача «Независимое множество» является NP-полной.

Идея доказательства «Выполнимость» «Независимое множество» «Выполнимость»: –множество переменных X, –набор дизъюнкций Z ={Z 1,…,Z m } c Z i ={λ i1,…, λ ik i } (i = 1,…,m), где λ ij литералы на X. Построим граф G, такой что G имеет независимое множество размера m тогда и только тогда, когда существует набор значений истинности, при котором выполнены все m дизъюнкций.

Сведение Z i : клика на k i вершинах (вершина соответствует литералу в дизъюнкции) Вершины разных клик связаны между собой ребром, если они соответствуют литералу и его отрицанию.

Пример

Доказательство Пусть в G есть независимое множество размера m. Тогда, оно содержит по одному элементу в каждой клике и не содержит двух вершин, соответствующих литералу и его отрицанию. То есть, эти вершины определяют по литералу в каждой дизъюнкции. Положим каждому такому литералу значение true и дополним до набора значений истинности, который выполняет все дизъюнкции.

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

Задача «Вершинное покрытие» Условие. Задан граф G и целое число k. Вопрос. Существует ли вершинное покрытие мощности k? Вершинное покрытие это множество вершин V V такое, что каждое ребро имеет граничную точку в V.

Задача «Клика» Условие. Задан граф G и целое число k. Вопрос. Существует ли клика мощности k? Кликой называется такое подмножество вершин V V, что любые две его вершины соединены ребром в G.

Вершинное покрытие и клика Теорема 3.2 (Karp 1972) Задача «Вершинное покрытие» и задача «Клика» являются NP-полными.

Задача «Гамильтонов цикл» Условие. Задан граф G. Вопрос. Существует ли в G гамильтонов цикл?

Гамильтонов цикл Теорема 3.3 (Karp 1972) Задача «Гамильтонов цикл» является NP-полной.

Идея доказательства «Вершинное покрытие» «Гамильтонов цикл» «Вершинное покрытие»: G = (V,E), k 0, целое. Построим граф G = (V,E), такой что G имеет гамильтонов цикл тогда и только тогда, когда в G есть вершинное покрытие H, состоящее из не более чем k элементов. Пусть |E| = m.

Построение графа G |V| = 12m+k Каждому ребру (v i, v j ) в исходном графе соответствует 12 вершин u ij1, u ij2, u ij3, u ij4, u ij5, u ij6, u ji1, u ji2, u ji3, u ji4, u ji5, u ji6. k дополнительных вершин a 1, a 2,…, a k.

Компонента (v i, v j ) u ij1 u ij2 u ij3 u ij4 u ij5 u ij6 u ji1 u ji2 u ji3 u ji4 u ji5 u ji6 v i H, v j H v i H, v j H v i H, v j H

Компонента v i Пусть r степень вершины v i. Упорядочим произвольным образом ребра, инцидентные v i : (v i, v j 1 ), (v i, v j 2 ),…, (v i, v j r ). Все компоненты, соответствующие ребрам, инцидентным v i, соединяются вместе следующими ребрами:

Компонента вершины u ij 1 1 u ij 1 6 u ij 2 1 u ij 2 6 u ij r 1 u ij r 6 u ij 3 1 u ij 3 6

Дополнительные вершины в G Дополнительная вершина a l соединена с первой и последней вершиной компоненты v i. Пусть r степень вершины v i.

Компонента вершины u ij 1 1 u ij 1 6 u ij 2 1 u ij 2 6 u ij r 1 u ij r 6 u ij 3 1 u ij 3 6