Я рассматриваю язык всех выполнимых логических формул высказываний, SAT (чтобы гарантировать, что у этого есть конечный алфавит, мы бы закодировали пропозициональные буквы некоторым подходящим способом [править: ответы указали, что ответ на вопрос, возможно, не является устойчивым при различные кодировки, поэтому нужно быть более конкретным - см. мои выводы ниже] ). Мой простой вопрос
Является ли SAT контекстно-свободным языком?
Мое первое предположение состояло в том, что сегодняшний (в начале 2017 года) ответ должен быть «Никто не знает, поскольку это относится к нерешенным вопросам в теории сложности». Однако это не совсем так (см. Ответ ниже), хотя и не полностью ложно. Вот краткое изложение того, что мы знаем (начиная с некоторых очевидных вещей).
- SAT не является регулярным (потому что даже синтаксис логики высказываний не является регулярным из-за совпадения скобок)
- SAT является контекстно-зависимым (для него нетрудно дать LBA)
- SAT является NP-полной (Кук / Левин) и, в частности, определяется недетерминированными ТМ за полиномиальное время.
- SAT также может распознаваться однонаправленными недетерминированными стековыми автоматами (1-NSA) (см. Раунды WC, Сложность распознавания в языках среднего уровня , Теория коммутации и автоматов, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
- Слово проблема для контекстно-свободных языков имеет свой собственный класс сложности (см. Https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )
- , где LOGCFL - класс пространства журнала проблем, сводимый к CFL (см.Https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). Известно, что NL ⊆ LOGCFL .
- NC 1 ⊊ PHLOGCFL LOGCFL
Однако этот последний пункт все еще оставляет возможность того, что SAT, как известно, не находится в . В общем, я не мог найти много информации об отношении к иерархии которая могла бы помочь прояснить эпистемологический статус моего вопроса.CFL NC
Замечание (после просмотра некоторых первоначальных ответов): я не ожидаю, что формула будет в соединительной нормальной форме (это не будет иметь значения для сути ответа, и обычно аргументы все еще применимы, поскольку CNF также является формулой. Но утверждают, что версия проблемы с постоянным числом переменных является обычной ошибкой, поскольку для синтаксиса нужны скобки.).
Вывод: вопреки моему предположению, основанному на теории сложности, можно прямо показать, что SAT не является контекстно-свободным. Таким образом, ситуация такова:
- Известно, что SAT не является контекстно-свободным (другими словами: SAT не находится в ), при условии, что используется «прямое» кодирование формул, где пропозициональные переменные идентифицируются двоичными числами (и некоторые другие символы используются для операторов и разделителей).
- Не известно, находится ли SAT в , но «большинство экспертов думают», что это не так, поскольку это подразумевает . Это также означает, что неизвестно, являются ли другие «разумные» кодировки SAT контекстно-свободными (при условии, что мы считаем логическое пространство приемлемым усилием кодирования для NP-трудной задачи).P = NP
Обратите внимание, что эти две точки не подразумевают . Это можно показать непосредственно, показав, что в есть языки (следовательно, в ), которые не являются контекстно-свободными (например, ).L LOGCFL a n b n c n