Jump to content

Псевдополиномиальное время

(Перенаправлено с «Псевдополиномиальный »)

В теории сложности вычислений числовой алгоритм работает за псевдополиномиальное время , если время его работы является полиномом от числового значения входных данных (наибольшего целого числа, присутствующего на входных данных), но не обязательно от длины входных данных (числа битов, необходимых для его представления), что справедливо для с полиномиальным временем . алгоритмов [1]

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

NP -полная задача с известными алгоритмами псевдополиномиального времени называется слабо NP-полной . NP -полная задача называется сильно NP-полной, если доказано, что ее нельзя решить с помощью алгоритма псевдополиномиального времени, если только P = NP . сильные/слабые виды NP-твердости Аналогично определяются .

Тестирование на примитивность

[ редактировать ]

Рассмотрим задачу проверки того, является ли число n простым , путем наивной проверки того, нет ли в делит равномерно. Этот подход может занять до делений, которое сублинейно по значению n, но экспоненциально по длине n (что примерно ). Например, число n, немного меньшее 10 000 000 000 , потребует примерно 100 000 делений, хотя длина n составляет всего 11 цифр. Более того, можно легко записать входные данные (скажем, 300-значное число), для которых этот алгоритм непрактичен. Поскольку сложность вычислений зависит от длины (закодированного) ввода, этот наивный алгоритм на самом деле является экспоненциальным. это Однако псевдополиномиальное время.

Сравните этот алгоритм с настоящим полиномиальным числовым алгоритмом — скажем, с простым алгоритмом сложения: сложение двух 9-значных чисел занимает около 9 простых шагов, и в целом алгоритм действительно линеен по длине входных данных. По сравнению с реальными добавляемыми числами (в миллиардах) алгоритм можно было бы назвать «псевдологарифмическим временем», хотя такой термин не является стандартным. Таким образом, сложение 300-значных чисел не является нецелесообразным. Точно так же деление в столбики является квадратичным: m -значное число можно разделить на n -значное число. шаги (см. обозначение Big O. )

В случае простоты оказывается, что существует другой алгоритм проверки того, является ли n простым (обнаружен в 2002 году), который работает во времени. .

Задача о рюкзаке

[ редактировать ]

В задаче о рюкзаке дано предметы с весом и ценность , а также максимальная грузоподъемность рюкзака . Цель состоит в том, чтобы решить следующую задачу оптимизации; неофициально, как лучше всего уместить предметы в рюкзак, чтобы максимизировать их ценность?

максимизировать
при условии и .

Решение этой проблемы NP-трудно , поэтому алгоритм с полиномиальным временем невозможен, если P = NP . Тем не менее, временной алгоритм возможен с использованием динамического программирования ; поскольку число только потребности бит для описания, этот алгоритм работает за псевдополиномиальное время.

Обобщение на нечисловые проблемы

[ редактировать ]

Хотя понятие псевдополиномиального времени используется почти исключительно для числовых задач, его можно обобщить: Функция m является псевдополиномиальной, если m ( n ) не больше, чем полиномиальная функция n размера задачи и дополнительного свойства входных данных k ( n ). (Предположительно, k выбрано как нечто, имеющее отношение к проблеме.) [ необходимы примеры ] Это делает задачи с числовым полиномом особым случаем, поскольку k принимается за числовое значение входных данных.

Различие между значением числа и его длиной связано с кодировкой: если числовые входные данные всегда кодируются в unary , тогда псевдополиномиальный будет совпадать с полиномиальным .

Сильная и слабая NP-трудность в сравнении с сильными и слабыми алгоритмами с полиномиальным временем

[ редактировать ]

Предполагая P ≠ NP, для вычислительных задач с целыми числами справедливы следующие условия: [2]

См. также

[ редактировать ]
  1. ^ Майкл Р. Гэри и Дэвид С. Джонсон . Компьютеры и трудноразрешимые проблемы: Руководство по теории NP-полноты . WH Freeman and Company, 1979.
  2. ^ Демейн, Эрик. «Алгоритмические нижние границы: развлечения с доказательствами твердости, лекция 2» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 06744272aa6553571a0f7eedfad5d27f__1701665820
URL1:https://arc.ask3.ru/arc/aa/06/7f/06744272aa6553571a0f7eedfad5d27f.html
Заголовок, (Title) документа по адресу, URL1:
Pseudo-polynomial time - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)