Проблема решения - Decision problem

А проблема решения имеет только два возможных выхода (да или же нет) на любом входе.

В теория вычислимости и теория сложности вычислений, а проблема решения это проблема, которую можно представить как да-нет вопрос входных значений. Пример проблемы принятия решения - решить, является ли данное натуральное число основной. Другая проблема - "учитывая два числа Икс и у, делает Икс равномерно разделить у? ". Ответ будет либо" да ", либо" нет "в зависимости от значений Икс и у. Метод решения задачи решения, представленный в виде алгоритм, называется процедура принятия решения для этой проблемы. Процедура решения проблемы решения "с учетом двух чисел Икс и у, делает Икс равномерно разделить у? "даст шаги для определения того, Икс равномерно делит у. Один из таких алгоритмов длинное деление. Если остаток равен нулю, ответ - «да», иначе - «нет». Проблема решения, которую можно решить с помощью алгоритма, называется разрешимый.

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

Область вычислительной сложности подразделяет разрешимый решение проблем в зависимости от того, насколько они трудны для решения. "Сложный" в этом смысле описывается с точки зрения вычислительные ресурсы необходим наиболее эффективный алгоритм для конкретной задачи. Поле теория рекурсии Между тем, классифицирует неразрешимый решение проблем Степень Тьюринга, который является мерой невычислимости, присущей любому решению.

Определение

А проблема решения вопрос типа "да" или "нет" бесконечный набор входов. Традиционно проблема решения определяется как набор возможных входов вместе с набором входов, для которых ответ да.[1]

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

Используя такую ​​кодировку, как Гёделевская нумерация, любая строка может быть закодирована как натуральное число, с помощью которого проблема решения может быть определена как подмножество натуральных чисел.

Примеры

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

Разрешимость

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

В проблема остановки это важная неразрешимая проблема решения; дополнительные примеры см. список неразрешимых проблем.

Полные проблемы

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

Функциональные проблемы

Проблемы с решением тесно связаны с функциональные проблемы, на которые могут быть ответы более сложные, чем просто «да» или «нет». Соответствующей функциональной задаче «даны два числа Икс и у, что Икс деленное на у?".

А функциональная проблема состоит из частичная функция ж; неформальная «проблема» состоит в том, чтобы вычислить значения ж на входах, для которых он определен.

Каждую функциональную проблему можно превратить в проблему решения; проблема решения - это просто график связанной функции. (График функции ж - множество пар (Икс,у) такие, что ж(Икс) = у.) Если бы эта проблема решения была эффективно решена, то функциональная проблема была бы также. Однако это сокращение не учитывает вычислительную сложность. Например, график функции может быть разрешим за полиномиальное время (в этом случае время выполнения вычисляется как функция пары (Икс,у)), когда функция не вычислима в полиномиальное время (в этом случае время работы вычисляется как функция Икс один). Функция ж(Икс) = 2Икс имеет это свойство.

Каждую проблему решения можно преобразовать в функциональную задачу вычисления характеристическая функция набора, связанного с проблемой решения. Если эта функция вычислима, то соответствующая проблема принятия решения разрешима. Однако это сокращение является более либеральным, чем стандартное уменьшение вычислительной сложности (иногда называемое полиномиальным сокращением многих единиц); например, сложность характеристических функций НП-полный проблема и ее совместно NP-полный дополнять в точности то же самое, даже несмотря на то, что лежащие в основе проблемы принятия решений могут не считаться эквивалентными в некоторых типичных моделях вычислений.

Проблемы оптимизации

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

Существуют стандартные методы преобразования задач функции и оптимизации в задачи решения. Например, в задаче коммивояжера задача оптимизации состоит в том, чтобы создать тур с минимальным весом. Соответствующая проблема решения: для каждого N, чтобы решить, есть ли на графике тур с весом меньше N. Повторно отвечая на задачу решения, можно найти минимальный вес тура.

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

Смотрите также

Рекомендации

  • Козен, округ Колумбия (2012), Автоматы и вычислимость, Springer.
  • Хартли Роджерс младший., Теория рекурсивных функций и эффективной вычислимости, MIT Press, ISBN  0-262-68052-1 (мягкая обложка), ISBN  0-07-053522-1
  • Сипсер, М. (1996), Введение в теорию вычислений, PWS Publishing Co.
  • Роберт И. Соаре (1987), Рекурсивно перечислимые множества и степени, Springer-Verlag, ISBN  0-387-15299-7
  • Даниэль Кренинг И Офер Стрихман, Процедуры принятия решений, Спрингер, ISBN  978-3-540-74104-6
  • Аарон Брэдли и Зохар Манна, Расчет вычислений, Спрингер, ISBN  978-3-540-74112-1