Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_SAOD_5_shrift_1.doc
Скачиваний:
8
Добавлен:
23.09.2019
Размер:
2.1 Mб
Скачать

71. Изучение np-полных задач связано с так называемым вопросом р≠np. Этот вопрос был поставлен в 1971 году и является сейчас одной из наиболее интересных и сложных проблем теории вычислений.

Р-полиномиальная сложность. Свойства: -они все практически разрешимы; -объем задачи класса Р не зависит от выбора конкретной модели вычислений; -класс полиномиальноразрешимой задачи обладает естественными свойствами замкнутости. В теории NP-полноты рассматриваются только задачи разрешения —задачи, в которых требуется дать ответ «да» или «нет» на некоторый вопрос. Для отнесения задачи к тому или иному свойству используется задача распознавания свойств. Часто встречаются задачи оптимизации (optimization problems), в которых требуется минимизировать или максимизировать значение некоторой величины. Прежде чем ставить вопрос о NP-полноте таких задач, их следует преобразовать в задачу разрешения. Обычно в качестве такой задачи разрешения рассматривают задачу проверки, является ли некоторое число верхней (или нижней) границей для оптимизируемой величины. Задачи, для которых нет полиномиальных алгоритмов называются экспоненциальными. Строковая задача называется полиномиальной (polynomial-time solvable), если существует константа k и алгоритм, решающий эту задачу за время О (nk). Сложностным классом (complexity class) Р называется множество всех строковых задач разрешения, которые могут быть решены за полиномиальное время. Недетерминированный полиномиальный алгоритм имеет двухшаговый подход: 1. имеется недет. алг. генерирующий решения такой задачи (угадывание решений). 2. проверяется предложенное решение как решение исходной задачи. Каждый из этих двух шагов имеет полиномиалное решение. Проблема в том, что мы не знаем сколько шагов надо сделать. Класс NP входит в NP полные задачи. NPC – полные задачи, не решаемые задачи, нет точного ответа. NPI – класс задач, имеющий сложность между P и NP. CO-NP – класс NP с противоположным ответом. Св-ва класса NP задач: -никакую NP полную задачу нельзя решить никаким известным полиномиальным алгоритмом; -если существует полиномиальный алгоритм для какой-нибудь NP полной задачи, то существует полин.алг. для всех NP полных задач. Фундамент NP полных задач заложен в работах С.Кука. Наиболее важное положение этой теории: Сводимость за пол. время, т.е. если одна задача сводится за пол. время к другой, то любой полин. алг. решения второй задачи может быть превращен в полин. алг. решения первой. В качестве распределения на классы он предложил задачу распознавания, которая решается за полиномиальное время на недетерминированном устройстве. Для доказательства NP полноты используется 6 ключевых NP полных задач: выполнимость; трехмерное сочетание; вершинное покрытие; задача Тлика; Гамильтонов цикл; разбиение. 2 категории подхода к решению NP полных задач: 1. Подходы, в котором делаются попытки максимального сокращения переборов (метод ветвей и границ, метод неявного перебора). Формируется дерево поиска и мощные оценки, позв-щие отбросить бесперспективные решения (метод динам. прогр-ния, отсечения, Лагранжа). 2. Применяется к оптимизационным задачам. Главный прием – снижение требования. Вместо оптимального ищется хорошее решение. Первый алгоритм наилучший из подходящих.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]