Методы Оптимизации, Теормин
Материал из eSyr's wiki.
м (→Класс co-NP. Пример задачи, допускающей хорошую характеризацию. Доказательство утверждения о взаимоотношении классов NPC и co-NP.) |
(→Класс co-NP. Пример задачи, допускающей хорошую характеризацию. Доказательство утверждения о взаимоотношении классов NPC и co-NP.) |
||
Строка 70: | Строка 70: | ||
* пример такой задачи -- это задача определения простоты числа. | * пример такой задачи -- это задача определения простоты числа. | ||
* <math>P \subseteq \text{NP} \cap \text{co-NP}</math> | * <math>P \subseteq \text{NP} \cap \text{co-NP}</math> | ||
+ | |||
+ | Массовая задача <math>\Pi'</math> с кодировкой <math>e'</math> ''' полиномиально сводится ''' к задаче <math>\Pi</math> с кодировкой <math>e</math>, если любая индивидуальная задача <math>I' \in \Pi'</math> может быть сведена за полиномиальное от её длины время к некоторой задаче <math>I \in \Pi</math> с сохранением ответа. | ||
+ | |||
+ | Массовая задача <math>\Pi</math> называется '''NP-полной (универсальной)''', если | ||
+ | * принадлежит классу NP: <math>\Pi \in \text{NP}</math> | ||
+ | * любая задача из NP полиномиально сводится к <math>\Pi</math>: <math>\forall \Pi' \in \text{NP} ~~~ \Pi' \propto \Pi</math> | ||
+ | |||
+ | Класс '''NPC (NP-complete)''' -- множество всех NP-полных задач. | ||
=== Критерий NP-полноты. Д-во NP-полноты задачи ЦЛН === | === Критерий NP-полноты. Д-во NP-полноты задачи ЦЛН === |
Версия 15:30, 7 июня 2009
Введение в теорию сложности
Индивидуальная и массовая задачи, кодировка задачи, алгоритм решения массовой задачи, временная сложность алгоритма.
Массовая задача Π:
- список свободных параметров;
- формулировка свойств, которым должно удовлетворять решение задачи.
Π есть множество индивидуальных задач . Индивидуальная задача получается, если всем параметрам присвоить конкретные значения.
Пусть E - конечный алфавит, а E* - множество слов в этом алфавите. Отображение e: называется кодировкой задачи П.
Алгоритм A решает массовую задачу Π, если для любой индивидуальной задачи :
- A применим к I, то есть останавливается за конечное число шагов
- A дает решение I
Кодировка задачи P -- такое отобраение , обладающее следующими свойствами:
- Возможность однозначно декодировать, то есть у двух различных ИЗ не может быть одинаковых кодировок.
- e,e − 1 -- полиномиально вычислимы
- Кодировка не избыточна, то есть для любой другой кодировки e1, удовлетворяющей 1 и 2 условиям справедливо:
Язык массовой задачи -- это множество правильных слов, то есть слов, соответствующих ИЗ, имеющим положительный ответ(подразумевается задача распознавания):
Язык алгоритма -- множество слов, принимаемых A, то есть таких, на которых алгоритм останавливается в состоянии qY, что соответсвует "да":
Алгоритм A решает массовую задачу Π, с кодировкой e, если L(e,Π) = L(A)
tA(s) -- число шагов алгоритма A для входа .
Временная сложность .
Задачи распознавания свойств. Классы P и NP.
Задача распознавания свойств -- массовая задача, предполагающая ответ "да" или "нет", в качестве своего решения.
- D(Π) -- множество всех возможных значений параметров массовой задачи.
- Y(Π) -- множество всех индивидуальных задач, ответом на которые является "да".
Класс полиномиально разрешимых задач (P) -- это такие задачи, временной сложность алгоритма решения которых ограниченна полиномом:
- такой, что A решает массовую задачу Π с кодировкой e
- -- полином такой, что
Примеры неполиномиальных задач:
- алгоритмически неразрешимые задачи: такая, что A не применим к I, например,
- 10-я проблема Гильберта: по данному многочлену g с целыми коэффициентами выяснить, имеет ли уравнение g = 0 целочисленное решение
- задачи, для которых длина записи выхода превышает любой наперед заданный полином от длины входа
- найти все маршруты в задаче коммивояжёра
Класс недетерменированно полиномиальных задач (NP) -- это такие задачи, для которых существует алгоритм решения на недерменированной машине Тьюринга:
- для НДМТ такой, что решает массовую задачу Π с кодировкой e
- -- полином такой, что
Теорема об экспоненциальной временной оценке для задач из класса NP.
Для любой существует ДМТ A, решающая ее с не более чем экспоненциальной временной сложностью: .
Класс co-NP. Пример задачи, допускающей хорошую характеризацию. Доказательство утверждения о взаимоотношении классов NPC и co-NP.
Дополнительная задача к массовой задаче Π -- задача, получаемая из Π путем введения альтернативного вопроса. То есть если в Π спрашиваем "верно ли x", то в спрашиваем "верно ли, что "
Класс co-P --
- co-P = P.
Класс co-NP -- .
- co-NP = NP пока не удалось ни доказать, ни опровергнуть.
Массовая задача Π допускает хорошую характеристику, если
- пример такой задачи -- это задача определения простоты числа.
Массовая задача Π' с кодировкой e' полиномиально сводится к задаче Π с кодировкой e, если любая индивидуальная задача может быть сведена за полиномиальное от её длины время к некоторой задаче с сохранением ответа.
Массовая задача Π называется NP-полной (универсальной), если
- принадлежит классу NP:
- любая задача из NP полиномиально сводится к Π:
Класс NPC (NP-complete) -- множество всех NP-полных задач.