- •1. Словарные функции.
- •Словарные функции.
- •2. Вычислимые функции. Мт.
- •3. Словарное предствление мт.
- •4. Массовые алгоритмические проблемы. Разрешимые и перечислимые множества.
- •5. Теорема Поста.
- •6. Проблема остановки. Теорема Тьюринга.
- •7. Проблема пустой ленты. Проблема зацикливания.
- •Проблема зацикливания.
- •8. Понятие массовой и индивидуальной задачи.
- •9. Понятие полиномиального алгоритма и труднорешаемой задачи
- •10. Понятие схемы кодирования.
- •11. Задачи распознавания. Переход от оптимизационной задачи к задаче распознавания
- •Np – полные задачи.
- •Задачи разновидности языка и кодирование.
- •Примеры. Массовая задача и изоморфизм подграфу.
- •12. Язык. Связь между задачами распознавания и языками. Задачи разновидности языка и кодирование.
- •Примеры. Массовая задача и изоморфизм подграфу.
- •13. Детерминированные мт и класс p.
- •14. Недетерминированное вычисление и класс np.
- •15. Взаимоотношения между класами p и np.
- •16. Полиномиальная сводимость.
- •17. Np-полные задачи.
- •18. Теорема Кука. 6 основных np-полных задач.
- •Доказательство результатов об np-полноте.
- •Шесть основных np-полных задач.
- •19. Методы док-ва np-полноты. Метод сужения. Некоторые методы доказательства np-полноты.
- •Сужение задачи.
- •20. Методы доказательства np-полноты. Метод локальной замены Некоторые методы доказательства np-полноты.
- •Локальная замена.
- •21. Методы доказательства np-полноты. Метод построения компонент. Некоторые методы доказательства np-полноты.
- •Метод построения компонент.
- •22. Анализ подзадач np-полной задачи. Применение теории np-полноты для анализа задач.
- •Анализ подзадач.
- •23. Сильная np-полнота.
- •24. Псевдополиномиальные алгоритмы.
- •25. Именная форма. Высказывания. Операции над высказываниями.
- •26. Основные логические законы. Логические тождества.
- •27. Правила обращения с кванторами.
- •28. Техника доказательств.
- •29. Операции над множествами и одноместными предикатами.
- •30. Булевы функции.
Доказательство результатов об np-полноте.
Опираясь на Лемму 3, доказательство NP-полноты любой задачи П состоит из следующих четырёх шагов:
1. Доказательство того, что ПNP.
2. Отыскание некоторой задачи П’NPC из имеющегося обширного списка NP-полных задач.
3. Построение функции f, сводящей П’ к П.
4. Доказательство того, что функция f осуществляет полиномиальное сведение.
Шесть основных np-полных задач.
3-ВЫПОЛНИМОСТЬ (3-ВЫП)
Условие: Дан набор дизъюнкций C={c1, c2, …, cm} на конечном множестве переменных U, причём |ci|=3 при .
Вопрос: Существует ли на U набор значений истинности, при котором выполняются все дизъюнкции из C?
ТРЁХМЕРНОЕ СОЧЕТАНИЕ (3-С)
Условие: Дано множество MXYZ, причём множества X, Y и Z и являются непересекающимися и имеют одинаковое число элементов q.
Вопрос: Верно ли, что M содержит 3-сочетание, т.е. некоторое подмножество M’M, такое, что |M’|=q и никакие два разных элемента M’ не имеют ни одной равной координаты?
ВЕРШИННОЕ ПОКРЫТИЕ (ВП)
Условие: Дан граф G=(V,E) и положительное целое число k, k|V|.
Вопрос: Имеется ли в графе G вершинное покрытие не более чем из k элементов, т.е. такое подмножество V’V, что |V’| k и для каждого ребра {u, v}E хотя бы одна из вершин u или v принадлежит V’ ?
КЛИКА
Условие: Заданы граф G=(V,E) и положительное целое число J|V|.
Вопрос: Имеется ли в графе G клика мощностью не менее чем J, т.е. такое подмножество V’V, что |V’|J и любые две вершины из V’ соединены ребром из E?
ГАМИЛЬТОНОВ ЦИКЛ (ГЦ)
Условие: Дан граф G=(V, E).
Вопрос: Верно ли, что граф G=(V,E) содержит гамильтонов цикл.
РАЗБИЕНИЕ
Условие: Заданы конечное множество A и «вес» s(a) N каждого aA.
Вопрос: Существует ли подмножество A’ множества А, такое, что.
19. Методы док-ва np-полноты. Метод сужения. Некоторые методы доказательства np-полноты.
Имеется несколько общих приёмов из большого количества подходов доказательства NP-полноты, которые широко используются. Эти приёмы:
а) Сужение задачи.
б) Локальная замена.
в) Построение компонент.
Сужение задачи.
Данный метод является самым простым и широко используемым. Если мы доказываем, что некоторая задача ПNP является NP-полной, то здесь пытаемся установить, что имеется некоторая известная NP-полная задача П’, которая является просто частным случаем П. Сущность метода заключается в том, чтобы указать дополнительное ограничение, которое требуется наложить на индивидуальные задачи из П, чтобы получилась в результате этого сужения задача из П’. При этом не требуется, чтобы возникающая новая задача была точной копией известной NP-полной задачи. Таким образом, метод сужения можно рассматривать просто как иной взгляд на задачу, а не стандартный способ доказательства.
ПРИМЕРЫ доказательства методом сужения:
МНОЖ ВЕРШ., РАЗ. КОНТ.
20. Методы доказательства np-полноты. Метод локальной замены Некоторые методы доказательства np-полноты.
Имеется несколько общих приёмов из большого количества подходов доказательства NP-полноты, которые широко используются. Эти приёмы:
а) Сужение задачи.
б) Локальная замена.
в) Построение компонент.