Решение проблемы CNF-SAT можно описать следующим образом:
Вход: булева формула в конъюнктивной нормальной форме.
Вопрос: существует ли присвоение переменной, которая удовлетворяет ?
Я рассматриваю несколько различных подходов к решению проблемы CNF-SAT с помощью недетерминированной двухленточной машины Тьюринга .
Я считаю, что есть NTM, который решает CNF-SAT в шагах.
Вопрос: существует ли NTM, который решает CNF-SAT за шагов?
Любые соответствующие ссылки приветствуются, даже если они обеспечивают недетерминированные подходы, приближенные к почти линейному времени.
time-complexity
sat
turing-machines
np
nondeterminism
Майкл Вехар
источник
источник
Ответы:
Это только расширенный комментарий. Несколько раз назад я спрашивал (сам :-), насколько быстрым может быть многолинейный NTM, который принимает (разумно закодированный) NP-полный язык. Я пришел с этой идеей:
3-SAT остается NP-полной, даже если переменные представлены в унарной форме. В частности, мы можем преобразовать предложение - предположим - произвольной формулы 3-SAT φ на n переменных и m предложений в последовательности символов над алфавитом Σ = { + , - , 1 } в которой каждое вхождение переменной представляется в унарном виде:(xi∨¬xj∨xk) φ n m Σ={+,−,1}
Например, можно преобразовать в:(x2∨−x3∨+4)
Таким образом, мы можем преобразовать формулу 3-SAT в эквивалентную строку U ( φ i ), объединяющую ее предложения. Язык L U = { U ( ф я ) | ф я ∈ 3 - S Т } является NP-полной.φi U(φi) LU= { U( φя) ∣ φя∈ 3 - SА Т}
Двухмоторная НТМ может решить, будет ли строка за время 2 | х | этим способом.x ∈ LU 2 | х |
Пример:
Время может быть сокращено до если мы добавим несколько избыточных символов к представлению предложения:| х |
( отмечает конец формулы)+++
Таким образом, вторая головка может вернуться в крайнюю левую ячейку, а первая сканирует часть . Используя ++ в качестве разделителя предложений и +++ в качестве маркера конца формулы, мы можем использовать то же представление для формул CNF с произвольным числом литералов в предложении.0я ++ +++
источник
Не совсем то, что вы ищете, но для 1-лентного NTM ответ кажется отрицательным: SAT не может быть решен 1-магнитофонным NTM в недетерминированное линейное время.
Согласно этой статье (теорема 4.1), класс регулярных языков - это в точности класс языков, распознаваемых одноленточным NTM за время o ( n log ( n ) ) . Таким образом, если бы существовал одноленточный NTM, решающий SAT во времени o ( n log ( n ) ) , то SAT (точнее, набор выполнимых формул в CNF) был бы регулярным языком, следовательно, разрешимым в детерминированном постоянном пространстве.р Eграмм o ( n log( н ) ) o ( n log( н ) )
источник