В математике и информатике Entscheidungsproblem ( нем. «проблема принятия решений»; произносится [ɛntˈʃaɪ̯dʊŋspʁoˌbleːm] ) — это задача, поставленная Дэвидом Гильбертом и Вильгельмом Акерманом в 1928 году. [1] Она требует алгоритма , который рассматривает введенное утверждение и отвечает «да» или «нет» в зависимости от того, является ли оно универсально верным, т. е. верным в любой структуре . Невозможность такого алгоритма была доказана Алонзо Чёрчем и Аланом Тьюрингом в 1936 году.
Согласно теореме о полноте логики первого порядка , утверждение является общезначимым тогда и только тогда, когда оно может быть выведено с использованием логических правил и аксиом, поэтому Entscheidungsproblem можно также рассматривать как задачу поиска алгоритма для определения того, доказуемо ли данное утверждение с использованием правил логики .
В 1936 году Алонзо Чёрч и Алан Тьюринг опубликовали независимые статьи [2], показывающие, что общее решение Entscheidungsproblem невозможно , предполагая, что интуитивное понятие « эффективно вычислимого » охватывается функциями, вычислимыми машиной Тьюринга (или, что эквивалентно, функциями, выражаемыми в лямбда-исчислении ). Это предположение теперь известно как тезис Чёрча–Тьюринга .
Происхождение Entscheidungsproblem восходит к Готфриду Лейбницу , который в семнадцатом веке, после того как построил успешную механическую вычислительную машину , мечтал о создании машины, которая могла бы манипулировать символами, чтобы определять истинностные значения математических утверждений. [3] Он понял, что первым шагом должен быть чистый формальный язык , и большая часть его последующей работы была направлена на достижение этой цели. В 1928 году Давид Гильберт и Вильгельм Аккерман сформулировали вопрос в форме, описанной выше.
В продолжение своей «программы» Гильберт поставил три вопроса на международной конференции в 1928 году, третий из которых стал известен как « Проблема решения Гильберта ». [4] В 1929 году Моисей Шёнфинкель опубликовал одну статью о частных случаях проблемы принятия решений, подготовленную Полом Бернайсом . [5]
Еще в 1930 году Гильберт считал, что не существует неразрешимых проблем. [6]
Прежде чем ответить на этот вопрос, необходимо было формально определить понятие «алгоритм». Это было сделано Алонзо Чёрчем в 1935 году с концепцией «эффективной исчисляемости», основанной на его λ-исчислении , и Аланом Тьюрингом в следующем году с его концепцией машин Тьюринга . Тьюринг сразу понял, что это эквивалентные модели вычислений .
Отрицательный ответ на Entscheidungsproblem был дан Алонзо Чёрчем в 1935–36 годах ( теорема Чёрча ) и независимо вскоре после этого Аланом Тьюрингом в 1936 году ( доказательство Тьюринга ). Чёрч доказал, что не существует вычислимой функции , которая решает, эквивалентны ли два заданных выражения λ-исчисления или нет. Он в значительной степени опирался на более ранние работы Стивена Клини . Тьюринг свёл вопрос о существовании «алгоритма» или «общего метода», способного решить Entscheidungsproblem , к вопросу о существовании «общего метода», который решает, останавливается ли любая заданная машина Тьюринга или нет ( проблема остановки ). Если «алгоритм» понимать как метод, который может быть представлен как машина Тьюринга, и с ответом на последний вопрос отрицательным (в общем случае), вопрос о существовании алгоритма для Entscheidungsproblem также должен быть отрицательным (в общем случае). В своей статье 1936 года Тьюринг говорит: «Соответствуя каждой вычислительной машине „it“, мы строим формулу „Un(it)“ и показываем, что если существует общий метод для определения того, доказуемо ли „Un(it)“, то существует общий метод для определения того, печатает ли „it“ когда-либо 0».
На работы Чёрча и Тьюринга сильное влияние оказала ранняя работа Курта Гёделя над его теоремой о неполноте , особенно метод присвоения чисел ( нумерация Гёделя ) логическим формулам с целью сведения логики к арифметике.
Entscheidungsproblem связана с десятой проблемой Гильберта , которая требует алгоритма для определения того, имеют ли диофантовы уравнения решение. Отсутствие такого алгоритма, установленное работой Юрия Матиясевича , Джулии Робинсон , Мартина Дэвиса и Хилари Патнэма , с последней частью доказательства в 1970 году, также подразумевает отрицательный ответ на Entscheidungsproblem .
Используя теорему о дедукции , Entscheidungsproblem охватывает более общую проблему решения вопроса о том, следует ли данное предложение первого порядка из данного конечного набора предложений, но справедливость в теориях первого порядка с бесконечным числом аксиом не может быть напрямую сведена к Entscheidungsproblem. Такие более общие проблемы принятия решений представляют практический интерес. Некоторые теории первого порядка алгоритмически разрешимы ; примерами этого являются арифметика Пресбургера , вещественные замкнутые поля и статические системы типов многих языков программирования . С другой стороны, теория первого порядка натуральных чисел со сложением и умножением, выраженная аксиомами Пеано, не может быть решена с помощью алгоритма.
По умолчанию цитаты в разделе взяты из Pratt-Hartmann (2023). [7]
Классическая Entscheidungsproblem спрашивает, верна ли формула первого порядка во всех моделях. Финитная проблема спрашивает, верна ли она во всех конечных моделях. Теорема Трахтенброта показывает, что это также неразрешимо. [8] [7]
Некоторые обозначения: означает проблему принятия решения о существовании модели для набора логических формул . - та же проблема, но для конечных моделей. -Проблема для логического фрагмента называется разрешимой, если существует программа, которая может решить для каждого конечного набора логических формул во фрагменте, существует или нет.
Существует иерархия разрешимостей. Наверху находятся неразрешимые проблемы. Ниже находятся разрешимые проблемы. Кроме того, разрешимые проблемы можно разделить на иерархию сложности.
Аристотелевская логика рассматривает 4 вида предложений: «Все p есть q», «Все p не есть q», «Некоторые p есть q», «Некоторые p не есть q». Мы можем формализовать эти виды предложений как фрагмент логики первого порядка: где — атомарные предикаты, и . Учитывая конечный набор формул аристотелевской логики, NLOGSPACE -полно решить, что . Также NLOGSPACE-полно решить, что небольшое расширение (теорема 2.7): Реляционная логика расширяет аристотелевскую логику, допуская реляционный предикат. Например, «Все любят кого-то» можно записать как . В общем случае у нас есть 8 видов предложений: NLOGSPACE - полно решить, что (теорема 2.15). Реляционную логику можно расширить до 32 видов предложений, разрешив , но это расширение является EXPTIME -полным (теорема 2.24).
Фрагмент логики первого порядка, где есть только имена переменных, является NEXPTIME -полным (теорема 3.18). С , он является RE -полным для определения его , и co-RE-полным для определения (теорема 3.15), таким образом, неразрешимым.
Монадическое исчисление предикатов — это фрагмент, где каждая формула содержит только 1-арные предикаты и не содержит функциональных символов. Оно является NEXPTIME-полным (теорема 3.22).
Любая формула первого порядка имеет предваренную нормальную форму. Для каждого возможного префикса квантификатора к предваренной нормальной форме мы имеем фрагмент логики первого порядка. Например, класс Бернайса–Шенфинкеля , , является классом формул первого порядка с префиксом квантификатора , символами равенства и без символов функций .
Например, в статье Тьюринга 1936 года (стр. 263) отмечалось, что поскольку проблема остановки для каждой машины Тьюринга эквивалентна логической формуле первого порядка вида , то эта проблема неразрешима.
Точные границы известны, четко:
Бёргер и др. (2001) [11] описывают уровень вычислительной сложности для каждого возможного фрагмента с каждой возможной комбинацией префикса квантификатора, функциональной арности, предикатной арности и равенства/не равенства.
Наличие практических процедур принятия решений для классов логических формул представляет значительный интерес для верификации программ и схем. Чистые булевы логические формулы обычно решаются с использованием методов SAT-решения, основанных на алгоритме DPLL .
Для более общих задач принятия решений теорий первого порядка, формулы конъюнкции над линейной действительной или рациональной арифметикой могут быть решены с помощью симплекс-алгоритма , формулы в линейной целочисленной арифметике ( арифметика Пресбургера ) могут быть решены с помощью алгоритма Купера или теста Омега Уильяма Пью . Формулы с отрицаниями, конъюнкциями и дизъюнкциями объединяют трудности проверки выполнимости с трудностями принятия решений о конъюнкциях; в настоящее время они обычно решаются с помощью методов решения SMT , которые объединяют решение SAT с процедурами принятия решений для конъюнкций и методов распространения. Арифметика действительных полиномов, также известная как теория действительных замкнутых полей , разрешима; это теорема Тарского–Зейденберга , которая была реализована в компьютерах с помощью цилиндрического алгебраического разложения .