Псевдополиномиальное преобразование
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В теории сложности вычислений псевдополиномиальное преобразование — это функция, которая отображает экземпляры одной сильно NP-полной задачи в другую и вычислима за псевдополиномиальное время . [1]
Определения
[ редактировать ]Максимальный числовой параметр
[ редактировать ]Некоторые вычислительные задачи параметризуются числами, величина которых экспоненциально превышает размер входных данных. Например, проблему проверки того, является ли число n простым, можно решить, просто проверив возможные множители от 2 до в делений, поэтому экспоненциально больше, чем входной размер . Предположим, что это кодировка вычислительной задачи над алфавитом , затем
это функция, которая отображает , являющийся кодировкой экземпляра проблемы , к максимальному численному параметру .
Псевдополиномиальное преобразование
[ редактировать ]Предположим, что и проблемы с решением, и их кодировки соответственно и алфавиты.
Псевдополиномиальное преобразование из к это функция такой, что
- может быть вычислено за полиномиальное время от двух переменных и
Интуитивно, (1) позволяет рассуждать о случаях с точки зрения случаев (и обратно), (2) гарантирует, что решение используя преобразование и псевдополиномиальный решатель для является псевдополиномиальным, (3) обеспечивает, что растет достаточно быстро, так что должен иметь псевдополиномиальный решатель, и (4) требует, чтобы подзадача что свидетельствует о ее сильной NP-полноте (т. е. все экземпляры имеют числовые параметры, ограниченные полиномом по размеру входных данных, а подзадача сама является NP-полной), отображается в подзадачу экземпляры которого также имеют числовые параметры, ограниченные полиномом входного размера.
Доказательство сильной NP-полноты
[ редактировать ]Следующая лемма позволяет вывести сильную NP-полноту из существования преобразования:
- Если является сильно NP-полной задачей решения, является проблемой решения в NP, и существует псевдополиномиальное преобразование из к , затем сильно NP-полна
Доказательство леммы
[ редактировать ]Предположим, что представляет собой сильно NP-полную задачу принятия решений, кодируемую над алфавит и - это проблема принятия решений в NP, закодированная над алфавит.
Позволять быть псевдополиномиальным преобразованием из к с , как указано в определении.
По определению сильной NP-полноты существует полином такой, что является NP-полной.
Для и любой есть
Поэтому,
С является NP-полной и вычислимо за полиномиальное время, является NP-полной.
Отсюда и из определения сильной NP-полноты следует, что сильно NP-полна.
Ссылки
[ редактировать ]- ^ Гэри, MR ; Джонсон, Д.С. (1979). Виктор Клее (ред.). Компьютеры и трудноразрешимые проблемы: Руководство по теории NP-полноты . Серия книг по математическим наукам. Сан-Франциско, Калифорния: WH Freeman and Co., стр. 101–102 . ISBN 978-0-7167-1045-5 . МР 0519066 .