Вычислительная сложность Классы сложности P и NP. Сергей Казаков, аспирант каф. КТ, НИУ ИТМО.

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



Advertisements
Похожие презентации
Классификация задач по классам сложности Классификация задач по классам сложности – (P-сложные, NP-сложные, экспоненциально сложные и др.).P-сложныеNP-сложные.
Advertisements

NP-полные задачи. Сложность задач Задачи формулируем как множества языков, распознаваемых МТ. То есть, на вход МТ подаётся «вопрос» и она отвечает «да»
Анализ трудоёмкости алгоритмов Анализ трудоёмкости алгоритмов позволяет найти оптимальный алгоритм для решения данной задачи. трудоемкость алгоритма количество.
NP-полнота Теорема Кука. Полиномиальная сводимость Пусть Π 1 =(X 1,Y 1 ) и Π 2 =(X 2,Y 2 ) задачи распознавания. Будем говорить, что Π 1 полиномиально.
ВЫПОЛНИЛ: УЧЕНИК 11 КЛАССА «А» ЛОБЖА АРТЕМ ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ: ОУ СОШ 51 Образовательное учреждение: г. Комсомольск – на – Амуре, 2012 год.
1 Комбинаторные алгоритмы Локальный поиск. 2 Простейшая задача o размещениях Дано: Полный граф G = (F D, E), стоимости вершин f: F Q + и ребер c: E Q.
Основные понятия теории NP-полноты P NP?. Задачи распознавания свойств Класс задач распознавания свойств (ЗРС) – множество проблем, решением которых является.
NP-полнота Основные NP-полные задачи. Задача «Независимое множество» Условие. Задан граф G=(V,E) и целое число k. Вопрос. Существует ли независимое множество.
Матроиды Лекция 12. Введение Даны система множеств (E, F ), то есть конечное множество E, F 2 E и стоимостная функция c : F R, найти элемент из F, стоимость.
1 Приближенные алгоритмы Комбинаторные алгоритмы.
V-множество вершин, E- множество ребер Граф - G(V, Е). Л. Эйлер 1736 г. G(V, Е, f) V,E – множества, отображение инциденции f: Е V&V множества Е в V&V Основы.
Автоматизированное формирование тестов при характеризации цифровых ячеек с использованием веб - доступа Лялинский Алексей Анатольевич ИППМ РАН Лялинский.
ЛЕКЦИЯ 13. Курс: Проектирование систем: Структурный подход Каф. Коммуникационные и системы, Факультет радиотехники и кибернетики Московский физико-технический.
1 Лектор: Кононов Александр Вениаминович НГУ, ауд. 313 четверг 16:00 Приближенные алгоритмы.
Домашнее задание «Применение графа» ВСПОМНИМ… Граф Простейшая модель системы.Отображает элементарный состав системы и структуру связей Сеть Граф с возможностью.
Структуры и алгоритмы компьютерной обработки данных Петухин Вячеслав Алексеевич 1 семестр, 17 часов лекций, 17 часов лабораторных.
Линейное программирование Задача о покрытии. Задача «Покрытие» Дано: Совокупность U из n элементов, и набор подмножеств U, Ω = {S 1,…, S k }, и веса(стоимости)
Линейное программирование Задача теории расписаний.
Решение задач с помощью графов. Кенигсбергские мосты Можно ли обойти все Кенигсбергские мосты, проходя только один раз через каждый из этих мостов?
Графы Лекция 2. Графы Неориентированным графом (графом) называется тройка (V, E, ), где V и E конечные множества и {X V : | X | = 2}. Ориентированным.
Транксрипт:

Вычислительная сложность Классы сложности P и NP. Сергей Казаков, аспирант каф. КТ, НИУ ИТМО

Как все начиналось… Начало 1960-х годов Alan Cobham, 1964 Jack Edmonds, 1965 Они ввели сложностные классы 2

Разрешимые и неразрешимые задачи Проблема останова – неразрешимая задача Доказательство – от противного. 3

Сложностный класс P Класс P класс задач, разрешимых на детерминированной машине Тьюринга за полиномиальное время 4

Класс P. Примеры-1 Посчитать сумму чисел Посчитать произведение чисел Проверка простоты числа Сортировка массива Определение связности графа Эйлеров путь/цикл 5

Эйлеров путь/цикл in P Путь, проходящий по всем ребрам графа, и при этом только по одному разу Граф Кёнигсбергских мостов: Эйлер (1735 год): цикл существует граф связный и все вершины четной степени 6

Эйлеров путь 7

Эйлеров цикл procedure find_all_cycles (v): 1. пока есть цикл, проходящий через v 1. находим его 2. добавляем все вершины цикла к ответу 3. удаляем цикл из графа 2. идем по вершинам из ответа и для каждой рекурсивно вызываем себя find_all_cycles(nv) Working Time – O(M), M – число ребер 8

Сложностный класс NP Класс NP класс задач, у которых есть сертификат решения, который можно быстро (за полином) проверить на машине Тьюринга. Класс NP класс задач, которые можно быстро решить (за полином) на недетерминированной машине Тьюринга. 9

Класс NP. Примеры-1 Задача выполнимости булевых форму (SAT) Определение наличия в графе гамильтонова цикла Задача о коммивояжёре Задача поиска вершинного покрытия графа 10

Гамильтонов путь/цикл Гамильтонов путь путь в графе, содержащий каждую вершину графа ровно один раз Гамильтонов цикл – гамильтонов путь, начальная и конечная вершина которого совпадают 11

Гамильтонов путь/цикл 12

Задача коммивояжёра Задача коммивояжёра (англ. Travelling salesman problem, TSP) 13

NP-трудные и NP-полные задачи Сведение по Карпу: P1 сводится к P2 f: (p P1 f(p) P2) NP-трудность: P1 – NP-трудная задача, если P2 NP, P2 сводится к P1 NP-полная задача: из NP и NP-трудная 14

Соотношения P и NP 15

NP-трудные и NP-полные задачи Стивен Кук (1971 год): термин «NP-полная задача» задача SAT была первой задачей, для которой доказывалось это свойство. Определение наличия в графе гамильтонова цикла – NP-полная Задача о коммивояжёре – с оптимизацией – NP-трудная не длиннее k – NP-полная 16

Приближенные решения Многие задачи, представляющие практический интерес – NP-полные Для них маловероятно найти точный алгоритм с полиномиальным временем работы При небольшом объеме входных данных может подойти алгоритм, время работы которого выражается показательной функцией Иногда удается выделить важные частные случаи, разрешимые в течение полиномиального времени 17

Приближенные решения Можно найти в течение полиномиального времени решение, близкое к оптимальному. Алгоритм, возвращающий решения, близкие к оптимальным, называется приближенным алгоритмом. 18

Методы решения NP-полных задач Приближенные и эвристические методы – применение эвристик для выбора элементов решения. Псевдо полиномиальные алгоритмы – подкласс динамического программирования. Метод локальных улучшений – поиск более оптимального решения в окрестности некоторого текущего решения. Метод ветвей и границ - отбрасывание заведомо неоптимальных решений целыми классами в соответствии с некоторой оценкой. Метод случайного поиска – представление выбора последовательностью случайных выборов. 19

Спасибо за внимание! Вопросы? 20