Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
answers.docx
Скачиваний:
15
Добавлен:
29.07.2019
Размер:
47 Кб
Скачать
☆
  1. Приближенные и эвристические алгоритмы

Эвристический алгоритм — это алгоритм решения задачи, правильность которого для всех возможных случаев не доказана, но про который известно, что он даёт достаточно хорошее решение в большинстве случаев.

В действительности может быть доказано, что эвристический алгоритм формально неверен.

Его всё равно можно применять, если при этом он даёт неверный результат только в отдельных, достаточно редких и хорошо выделяемых случаях, или же даёт неточный, но всё же приемлемый результат.

  1. Теория сложности вычислений: основные понятия

Теория сложности вычислений является разделом теории вычислений, изучающим стоимость работы, требуемой для решения вычислительной проблемы.

Время определяется количеством элементарных шагов, необходимых для решения проблемы, тогда как пространство определяется объёмом памяти.

Таким образом, в этой области предпринимается попытка ответить на центральный вопрос разработки алгоритмов: «как изменится время исполнения и объём занятой памяти в зависимости от размера входа и выхода?».

Существует временная и пространственная сложность.

  1. Полиномиальная сводимость задач

Алгоритмическая задача P1 полиномиальносводится к задаче P2, если существует полиномиальный алгоритм для решения задачи P1, возможно которая вызывает в своей работе процедуру, рещающую задачу P2.

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

Недетерменированная машина Тьюринга – это набор, состоящий из числа лент, алфавита ленты, множества состояний и произвольного отношения.

Если существует ходя бы один способ решения задачи, то на выходе выдаётся – 1.

  1. NP-задачи. Полиномиально проверяемые задачи

Класс NP содержит задачи, которые недетерминированная машина Тьюринга в состоянии решить за полиномиальное количество времени.

Следует заметить, что недетерминированная машина Тьюринга является лишь абстрактной моделью, в то время как современные компьютеры соответствуют детерминированной машине Тьюринга с ограниченной памятью.

Таким образом, класс NP включает в себя класс P, а также некоторые проблемы, для решения которых известны лишь алгоритмы, экспоненциально зависящие от размера входа.

В класс NP входят многие знаменитые проблемы, такие как задача коммивояжёра, задача выполнимости булевых формул, факторизация и др.

  1. NP-трудные и NP-полные задачи

NP-полная задача — задача из класса NP, к которой можно свести любую другую задачу из класса NP за полиномиальное время.

Таким образом, NP-полные задачи образуют в некотором смысле подмножество «самых сложных» задач в классе NP; и если длякакой-то из них будет найден «быстрый» алгоритм решения, то и любая другая задача из класса NP может быть решена так же «быстро».

Задача называется NP-трудной, если любая зачача из класса NPсводится к ней.

  1. Теорема Кука: формулировка и значение

Теорема Кука — Левина утверждает, что за­да­ча о вы­пол­ни­мо­сти булевой формулы в КНФ  яв­ля­ет­ся NP-пол­ной.

После появления результатов Кука была доказана NP-полнота для множества других задач.

  1. Теорема Кука: доказательство

В доказательстве теоремы Кука каждая задача из класса NP в явном виде сводится к КНФ.

При доказательстве пользуются следующими правилами:

Задача принадлежит классу NP, если:

  1. решением задачи является один из двух ответов: «да» или «нет» (задача распознавания свойств);

  2. требуемый ответ может быть получен на недетерминированном вычислительном устройстве за полиномиальное время.

  1. Задача «3-Выполнимость»: доказательство NP-полноты

Дана КНФ. Существует ли набор переменных, для которых КНФ принимает значение true?

Задача 3SATявляется частным случаем задачи Sat(isfiability). Ограничение – все дизъюнкции имеют три терма.

  1. Задача о вершинном покрытии: доказательство NP-полноты

Вершинное покрытие для неориентированного графа это множество его вершин S, такое что, у каждого ребра графа хотя бы один из концов входит в S.

Задача о вершинном покрытии требует указать минимально возможный размер k вершинного покрытия для заданного графа.

На входе: Граф G.

Результат: k - размер наименьшего вершинного покрытия S графа G.

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

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