Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MLTA_shpory2.doc
Скачиваний:
101
Добавлен:
23.12.2018
Размер:
2.34 Mб
Скачать

70. Недетерминированная машина Тьюринга (нмт).

НМТ -машина Тьюринга, функция перехода которой представляет собой недетерминированный конечный автомат.

Конечный автомат — в теории алгоритмов математическая абстракция, позволяющая описывать пути изменения состояния объекта в зависимости от его текущего состояния и входных данных, при условии что общее возможное количество состояний конечно.

Обычная машина Тьюринга имеет функцию перехода, которая по комбинации текущего состояния и символа на ленте определяет три вещи: символ, который будет записан на ленте, направление смещения головки по ленте и новое состояние конечного автомата. Например, X на ленте в состоянии 3 однозначно определяет переход в состояние 4, запись на ленту символа Y и перемещение головки на одну позицию влево.

В случае недетерминированной машины Тьюринга, комбинация текущего состояния автомата и символа на ленте может допускать несколько переходов. Например, X на ленте и состояние 3 допускает как состояние 4 с записью на ленту символа Y и смещением головки вправо, так и состояние 5 с записью на ленту символа Z и смещением головки влево.

То есть в отличие от ДМТ, которая имеет единственный «путь вычислений», НМТ имеет «дерево вычислений».

82 Полиномиальная сводимость и np-полнота. Np-полные задачи. Примеры np-полных задач. Теорема Кука. Примеры практически значимых np-полных задач.

Неконструктивность процесса получения решения в определении класса NP привела к попыткам описать этот процесс с помощью «недетерминированной конструктивности» — псевдо-машины, названной недетерминированной машиной Тьюринга (НДТМ), которая фигурирует в большинстве изложений NP-теории.

2 эквивалентных варианта описания НДТМ.

Первый вариант: НДТМ порождает дерево всех возможных слов в алфавите решения, ограниченных полиномом от длины п входного слова, причем просматривает параллельно каждую ветвь дерева и с полиномиальной сложностью проверяет, не является ли слово на этой ветви решением. Как только решение найдено, вычисление останавливается.

Второй вариант содержит недетерминированный модуль, угадывающий решение за полиномиальное время, и детерминированный блок проверки решения. Предполагается, опять-таки, что все угадывания происходят параллельно.

Поэтому определение класса NP с помощью НДТМ выглядит так: задача принадлежит классу NP, если существует НДТМ, которая вычисляет его за полиномиальное время.

Язык L1 полиномиально сводим к языку L2 (обозначение L1 µ L2), если существует функция f, удовлетворяющая двум условиям:

f имеет полиномиальную сложность;

— для любого a a Î L1, если и только если f(a)ÎL2.

Функция f — это функция, преобразующая условия задачи в коде L1 в условия задачи (быть может, содержательно другой) в коде L2.

Теорема 20 (Кук). Задача выполнимости конъюнктивной нормальной формы (КНФ) является NP-полной.

Примеры: 3-выполнимость — выполнимость для КНФ, к которой каждая дизъюнкция содержит ровно 3 литерала (литерал — это либо переменная, либо переменная с отрицанием).

Вершинное покрытие — имеется ли в графе G(V, E) вершинное покрытие не более чем из k элементов, т. е. такое V¢ Í V, что |V¢| < k и хотя бы один конец любого ребра принадлежит V¢?

Клика — верно ли, что граф содержит клику мощности ³ k?

Гамильтонов цикл.

k-раскрашиваемостъ — можно ли раскрасить граф G(V, E) в k цветов, где k <|V|?

Изоморфизм подграфу — изоморфен ли граф G1 какому-нибудь подграфу графа G2?

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