П=Нп? Важнейшая Нерешенная Проблема Теоретической Информатики.

Эта проблема была сформулирована в 1971 году и до сих пор остается нерешенной.

Для доказательства утверждения P=NP или для доказательства его опровержения Математический институт Клея Была вручена премия в размере 1 миллиона долларов США.

Если окажется, что P=NP, то это позволит быстро и эффективно решить многие неразрешимые в настоящее время проблемы.

Так в чем же суть проблемы? Понятия классов сложности P и NP изучаются в теории сложности вычислений.

К классу п ( п Полиномиальное время относится к простым задачам, которые можно решить за полиномиальное время относительно длины входных данных.

Примером такой задачи может быть сортировка массива .

В зависимости от выбранного алгоритма сортировки для массива длины n количество выполняемых операций будет от O(n*log(n)) до O(n 2 ).

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

К классу Н.

П.

( Н детерминированный п полиномиальное время) относятся к задачам, для которых проверка решения можно выполнить за полиномиальное время.

Обратите внимание, что это всего лишь проверка.

уже найден решения.

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

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

Он формулируется следующим образом: «есть ли в данном множестве целых чисел хотя бы одно непустое подмножество, сумма элементов которого равна нулюЭ» Например, пусть нам дан набор {5, -2, 17, 10, -4, -8}.

Для него ответ на поставленный вопрос таков: « Да ", так как искомое подмножество существует: -2+10-8=0. Легко убедиться, что решение проверяется быстро (нужно только просуммировать элементы найденного подмножества).

Но поиск решения требует экспоненциального времени , так как необходимо проверить все возможно подмножества.

Количество возможных комбинаций — 2. н для ввода длины n. Это делает решение задачи нецелесообразным для больших значений n. Итак, мы возвращаемся непосредственно к проблеме P=NP. Положительный ответ будет означать, что алгоритмы NP можно выполнять за полиномиальное время.

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

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

Вот список некоторых известных NP-полных задач:

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

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

известные NP-полные проблемы .

Но только строгое математическое доказательство окончательно положит конец спору.

Теги: #теоретическая информатика #теоретическая информатика #теоретическая информатика #теория алгоритмов #классы сложности #задачи тысячелетия #развлекательные задачи

Вместе с данным постом часто просматривают: