Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
28
Добавлен:
02.04.2015
Размер:
713.5 Кб
Скачать

1

МАТЕМАТИЧЕСКАЯ ЛОГИКА

И ТЕОРИЯ АЛГОРИТМОВ

Бригаднов Игорь Альбертович

доктор физико-математических наук, профессор

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).

Соседние файлы в папке Электронные лекции 2013