Методы Оптимизации, Теормин
Материал из eSyr's wiki.
м (→Индивидуальная и массовая задачи, кодировка задачи, алгоритм решения массовой задачи, временная сложность алгоритма.) |
м (→Задачи распознавания свойств. Классы P и NP.) |
||
Строка 30: | Строка 30: | ||
'''Временная сложность''' <math>T_{A}(n) = max \{t_{A}(s)\}, s \in \Sigma^*, |s| < n </math>. | '''Временная сложность''' <math>T_{A}(n) = max \{t_{A}(s)\}, s \in \Sigma^*, |s| < n </math>. | ||
- | == Задачи распознавания свойств. Классы P и NP.== | + | === Задачи распознавания свойств. Классы P и NP.=== |
- | '''Задача | + | '''Задача распознавания свойств''' -- массовая задача, предполагающая ответ "да" или "нет", в качестве своего решения. |
- | + | * <math>D(\Pi)</math> -- множество всех возможных значений параметров массовой задачи. | |
- | + | * <math>Y(\Pi)</math> -- множество всех индивидуальных задач, ответом на которые является "да". | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
'''Класс полиномиально разрешимых задач''' | '''Класс полиномиально разрешимых задач''' |
Версия 14:22, 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(Π) -- множество всех индивидуальных задач, ответом на которые является "да".
Класс полиномиально разрешимых задач
Это такие задачи, временной сложность алгоритма решения которых ограниченна полиномом.
Например, к таким задачам отосится задача распознавания четности числа.
Теорема об экспоненциальной временной оценке для задач из класса NP.
Для любой П из NP существует ДМТ A, решающая ее с не более чем экспоненциальной временной сложностью: TA(n) < = 2p(n).
Класс co-NP. Пример задачи, допускающей хорошую характеризацию. Доказательство утверждения о взаимоотношении классов NPC и co-NP.
Задачи, допускающие хорошую характеристику -- это хадачи, входящие в класс: пересечение NP и co-Np
Пример такой задачи -- это задача определения простоты числа.