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

25. Недерминированная машина Тьюринга (нт). Взаимосвязь классов р и np.

Определим класс NP в терминах недетерминированной машины Тьюринга.

Определение 1. Недетерминированная машина Тьюринга НТ – это машина Тьюринга с дополнительным угадывающим модулем (УМ) или оракулом, который способен записывать на ленту слова из внешнего алфавита А и разделяющий символ *. При этом алфавит внутренних состояний НТ содержит буквы qy, qn – соответствие ответам «да» и «нет».

НТ осуществляет работу в 2 этапа:

Стадия 1угадывание. На ленте машины записано слово a(I) в алфавите А, т.е. код задачи I, начиная с некоторой ячейки с номером 1 слева направо. Левее – в ячейке с номером 0 — записана разделяющая *.

a(I)

-2 -1 0 1

,

*

*

c(I)

Угадывающий модуль, просматривая ячейку за ячейкой слово a(I), идет влево от разделительной ячейки и по одному символу за такт записывает слово c(I). Если угадывающий модуль останавливается, то происходит переход ко второй стадии работы НТ. При этом имеем конфигурацию: c(I)*q1a(I). (1)

Стадия 2 — решение. На этой стадии НТ работает, как обычная машина Тьюринга с начальной конфигурацией (1). Если машина через конечное число шагов придет в состояние qy, то говорят, что она принимает конфигурацию (1).

Определение 2. Говорят, что недетерминированная машина Тьюринга НТ принимает слово a(I), если существует слово c(I) такое, что конфигурация c(I)*q1a(I) принимается НТ.

Определим время работы НТ: , если a(I) принимается, где t1(I) — время работы на стадии 1, т.е. t1(I)=|c(I)|, t2(I) — время работы на стадии 2, т.е. t2(I)=tT(c(I)* a(I)), где T — соответствующая (обычная) машина Тьюринга.

Определим время работы НТ как функцию натурального аргумента

Определение 3. Говорят, что недетерминированная машина Тьюринга НТ решает массовую задачу П за полиномиальное время, если tHT(n)=O(p(n)) для некоторого полинома р. Другими словами, недетерминированная машина Тьюринга НТ решает массовую задачу П за полиномиальное время, если время её работы ограничено сверху полиномом от длины входа.

Определение 4. Класс задач NP – это множество задач, для которых существует недетерминированная машина Тьюринга НТ, принимающая за полиномиальное время те и только те слова, которые соответствуют индивидуальным задачам с ответом «да».

Очевидно, что PÍNP.

Теорема. Если задача П NP, то существует полином р(n) такой, что П может быть решена с помощью детерминированного алгоритма со сложностью О(2р(n)), где n – размер задачи П.

26. Ещё один подход к определению класса np. Примеры недетерминированных алгоритмов. О проблеме p¹np.

Определим NP как класс всех задач, которые можно решить недетерминированными алгоритмами, работающими в течение полиномиального времени, т.е. недетерминированными алгоритмами, в которых всегда есть путь успешного вычисления за время, полиномиальное относительно длины входной строки; очевидно P Í NP. Поскольку путей вычисления может быть экспоненциально много, вероятно, что алгоритмы, допустимые в этом случае, намного сильнее, чем детерминированные алгоритмы, допустимые для задач из P. Например, задача входит в NP, если она может быть решена недетерминированным алгоритмом поиска с возвращением (алгоритм 26.1), в котором

1) для всех k операций «вычислить Sk» и проверки «Верно ли, что Sk ¹ Æ?» и «Является ли (a1, a2, … , ak) решением?» можно сделать за полиномиальное время относительно длины входной строки,

2) длина каждого пути вычисления ограничена полиномом относительно длины входной строки.

k¬ 0

вычислить Si

while Sk ¹ Æ do

[ не приводит к решению]

неудача

Алгоритм 26.1.Недетерминированный общий алгоритм поиска с возвращением для определения, имеет ли задача решение.

S ¬ {1, 2, … , n} a1 ¬ выбор (S) S ¬ S-{a1} k¬1 cost ¬ 0

while S ¹ Æ do

cost¬cost +

if cost £ then успех

else неудача

Алгоритм 26.2. Полиномиально ограниченный недетерминированный алгоритм для определения, имеет ли задача коммивояжера с n городами ( представленная матрицей расстояний между городами n-го порядка)решение стоимости не больше b.

Очевидно, что имеет место включение P Í NP. Вопрос о строгости этого включения, то есть «верно ли, что P¹NP?» остаётся центральной нерешённой проблемой в теории сложности вычислений уже более 30 лет. Хотя общественное мнение склоняется к тому, что классы различны и полезность многих алгоритмов основывается на этой гипотезе, строгость включения до сих пор не доказана. Имеется некоторая (частичная) аналогия между качественной теорией алгоритмов и теорией сложности. Классы P и NP соответствуют классам разрешимых и перечислимых множеств и гипотеза о несовпадении классов P и NP есть аналог известной теоремы о существовании перечислимого неразрешимого множества.

Для того чтобы продемонстрировать силу полиномиально ограниченных недетерминированных алгоритмов и, следовательно, широту класса NP, мы покажем, что некоторый вариант задачи коммивояжера входит в NP. Если задана n´n матрица С расстояний между городами в задаче коммивояжера с n городами, то легко видеть, что алгоритм 22.1 можно модифицировать и получить полиномиально ограниченный недетерминированный алгоритм для определения, существует ли для любой границы b какой – либо маршрут стоимости не больше b; таким алгоритмом является алгоритм 26.2.

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