
MLTA_dlya_vsekh (1) / Электронные лекции 2013 / лекция 5
.pdf1
МАТЕМАТИЧЕСКАЯ ЛОГИКА
И ТЕОРИЯ АЛГОРИТМОВ
Бригаднов Игорь Альбертович
доктор физико-математических наук, профессор
2
Лекция 5
ЭФФЕКТИВНОСТЬ АЛГОРИТМОВ
5.1. Переборные задачи и сложность
вычислений
Задача распознавания – это множество Zп
всевозможных индивидуальных задач и подмножество
Zп.да Zп задач с ответом “да”.
3
Задача распознавания называется переборной,
если каждая индивидуальная задача Z формулируется следующим образом: существует ли такой объект y,
что выполняется свойство, выражаемое предикатом R(z,y)?
При этом проверка истинности R(z,y) имеет
полиномиальную сложность.
4
Для представления исходных данных используется алфавит и некоторый способ кодирования , причем длина кода исходных данных задачи Z равна l(z).
Введем обозначение * для множества всевозможных цепочек символов (слов) в алфавите .
Любое подмножество множества * цепочек называется языком над алфавитом . Множество текстов задачи с ответом из множества Zп.да при выбранном способе кодирования будем рассматривать как язык L( , ).
5
Сложность вычислений на машине Тьюринга
Рассмотрим детерминированную машину Тьюринга
(ДМТ) M, вычисляющую рекурсивную функцию fM: * *,
где * и * - множество всевозможных цепочек над алфавитами и соответственно. При начальной конфигурации q1 , где *, машина, если когда-либо остановится, завершит работу в конфигурации q0 , где
= fM( ) *.
6
Число тактов работы для получения =fM( )
называется временнóй сложностью машины M и
обозначается через tM( ). Если значение fM( ) не определено, то временная сложность tM( ) также не определена. Активной зоной машины M при работе с входом называют множество всех ячеек ленты,
участвующих в вычислении =fM( ). Длина активной зоны обозначается через sM( ).

7
Теорема 5.1. Если ленточный алфавит машины M
содержит k символов, а алфавит состояний головки
- r символов, то для сложности вычислений
справедливы оценки:
sM( ) +tM( ),
tM rsM2 ksM ,
где - длина цепочки .
8
5.2. Классы задач P и NP
Детерминированная машина M называется
полиномиальной, если существует полином P(n) такой,
что для всех n N, TM p(n).
Класс P-языков определяется следующим образом:
|
существует полиномиальнаямашина M, |
|
P L |
для которой L LM |
|
|
. |
Задача распознавания при выбранном способе
кодирования принадлежит классу P, если L( , ) P.
9
Недетерминированные вычисления
Рассмотрим недетерминированную машину Тьюринга (НДМТ) Mу, которая для любой формулировки Z Z задачи распознавания выдает следующий результат:
- если Z ZП.да, то машина угадывает значение y,
удовлетворяющее R(z,y) и записывает код y на ленту рядом с Z;
- если Z ZП.да, машина Mу сообщает об этом.
10
Заметим, что машина Mу не читает ленту, а только угадывает ответ и пишет его на ленту.
Детерминированная машина Mпр по входу (z,y)
проверяет истинность R(z,y).
Класс NP - это все задачи распознавания, которые
(при разумном кодировании) могут быть решены недетерминированным алгоритмом (N - nondeterministic) за полиномиальное время (P).