Jump to content

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

В теории вычислительной сложности функциональная задача — это вычислительная задача , в которой для каждого входного сигнала ожидается один выходной результат ( полной функции ), но выходной результат более сложен, чем у задачи решения . В случае функциональных проблем выходными данными являются не просто «да» или «нет».

Формальное определение [ править ]

Функциональная проблема определяется соотношением над строками произвольного алфавита :

Алгоритм решает если для каждого входа такой, что существует удовлетворяющий , алгоритм выдает один такой , а если таких нет , он отклоняет.

Задаче функции обещания разрешено делать что угодно (поэтому она не может завершиться), если нет такой задачи. существует.

Примеры [ править ]

Хорошо известная функциональная проблема представляет собой Функциональную Булеву задачу выполнимости, FSAT сокращенно . Проблему, тесно связанную с проблемой решения SAT , можно сформулировать следующим образом:

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

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

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

Связь с другими классами сложности [ править ]

Рассмотрим задачу произвольного решения в классе НП . По определению NP , каждый экземпляр проблемы на что получен ответ «да», имеет сертификат полиномиального размера что служит доказательством ответа «да». Таким образом, множество этих кортежей образует отношение, представляющее функциональную задачу «при условии в , найти сертификат для ". Эта функциональная задача называется вариантом функциональным ; он принадлежит к классу FNP .

FNP можно рассматривать как аналог NP функционального класса , в котором решения проблем FNP могут быть эффективно (т. е. за полиномиальное время с точки зрения длины входных данных) проверены , но не обязательно эффективно найдены . Напротив, класс FP , который можно рассматривать как аналог функционального класса P , состоит из функциональных задач, решения которых можно найти за полиномиальное время.

Самосократимость [ править ]

Обратите внимание, что проблема FSAT, представленная выше, может быть решена, используя только полиномиальное число вызовов подпрограммы, которая решает проблему SAT : Алгоритм может сначала спросить, соответствует ли формула является удовлетворительным. После этого алгоритм может исправить переменную выберите TRUE и спросите еще раз. Если полученная формула по-прежнему выполнима, алгоритм сохраняет зафиксировано в TRUE и продолжает исправлять , в противном случае он решает, что должно быть ЛОЖЬ и продолжается. Таким образом, FSAT разрешима за полиномиальное время с использованием оракула, решающего SAT . В общем, проблема в NP называется самосократимой , если ее функциональный вариант может быть решен за полиномиальное время с помощью оракула, решающего исходную задачу. Любая NP-полная задача саморедуцируема. Предполагается, что [ кем? ] что проблема факторизации целых чисел не является самосократимой, поскольку решение о том, является ли целое число простым, находится в P (легко), [1] в то время как задача целочисленной факторизации считается сложной для классического компьютера.Существует несколько (немного отличающихся) понятий самосократимости. [2] [3] [4]

Сокращения и полные задачи [ править ]

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

  • Если имеет -решение, то имеет -решение.

Следовательно, можно определить FNP-полные задачи, аналогичные NP-полной задаче:

Проблема является FNP-полной , если каждую задачу из FNP можно свести к . Класс сложности FNP-полных задач обозначается FNP-C или FNPC . Следовательно, задача FSAT также является FNP-полной задачей и справедливо равенство тогда и только тогда, когда .

Всего проблем с функциями [ править ]

Отношение используемый для определения функциональных проблем, имеет тот недостаток, что он является неполным: не каждый ввод имеет аналог такой, что . Поэтому вопрос о вычислимости доказательств не отделен от вопроса об их существовании. Чтобы преодолеть эту проблему, удобно рассмотреть ограничение функциональных задач на полные отношения, в результате чего класс TFNP становится подклассом FNP . Этот класс содержит такие задачи, как вычисление чистого равновесия Нэша в некоторых стратегических играх, где гарантированно существует решение. Кроме того, если TFNP содержит какую-либо FNP-полную задачу, отсюда следует, что .

См. также [ править ]

Ссылки [ править ]

  1. ^ Агравал, Маниндра; Каял, Нирадж; Саксена, Нитин (2004). «ПРАЙМС находится в P» (PDF) . Анналы математики . 160 (2): 781–793. дои : 10.4007/анналы.2004.160.781 . JSTOR   3597229 .
  2. ^ Ко, К. (1983). «О самосократимости и слабой P-селективности». Журнал компьютерных и системных наук . 26 (2): 209–221.
  3. ^ Шнорр, К. (1976). «Оптимальные алгоритмы для самоприводимых задач». В С. Майклсоне и Р. Милнере, редакторах, Труды 3-го Международного коллоквиума по автоматам, языкам и программированию : 322–337.
  4. ^ Селман, А. (1988). «Натуральные самосократимые множества». SIAM Journal по вычислительной технике . 17 (5): 989–996.
  • Рэймонд Гринлоу, Х. Джеймс Гувер, Основы теории вычислений: принципы и практика , Морган Кауфманн, 1998, ISBN   1-55860-474-X , стр. 45-51
  • Элейн Рич , Автоматы, вычислимость и сложность: теория и приложения , Прентис Холл, 2008, ISBN   0-13-228806-0 , раздел 28.10 «Задачи классов FP и FNP», стр. 689–694.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 278894a4a66a4c04b1b4941ff19f1807__1714435560
URL1:https://arc.ask3.ru/arc/aa/27/07/278894a4a66a4c04b1b4941ff19f1807.html
Заголовок, (Title) документа по адресу, URL1:
Function problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)