Чи є SAT безтекстовою мовою?


12

Я розглядаю мову всіх задовольняючих пропозиційних логічних формул, SAT (щоб переконатися, що в цьому є кінцевий алфавіт, ми би кодували пропозиції пропозицій якимись підходящими способами [редагувати: у відповідях зазначалося, що відповідь на запитання може бути недостатньо надійним різні кодування, тому потрібно бути більш конкретними - див. мої висновки нижче] ). Моє просте запитання

Чи є SAT безтекстовою мовою?

Перша моя здогадка полягала в тому, що відповідь сьогодні (на початку 2017 року) має бути «Ніхто не знає, оскільки це стосується невирішених питань теорії складності». Однак це насправді не вірно (див. Відповідь нижче), хоча і не зовсім помилкове. Ось короткий підсумок речей, які ми знаємо (починаючи з очевидних речей).

  1. SAT не є регулярним (тому що навіть синтаксис логіки пропозицій не є регулярним, через відповідні дужки)
  2. SAT є контекстно-залежним (для нього не важко дати LBA)
  3. SAT є NP-завершеним (Cook / Levin), і, зокрема, вирішують недетерміновані ТМ у поліноміальний час.
  4. SAT також можна розпізнати за допомогою односторонніх недетермінованих стекових автоматів (1-NSA) (див. Раунд WC, Складність розпізнавання в мовах проміжного рівня , Теорія комутації та автоматики, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
  5. Проблема слів для без контекстних мов має власний клас складності CFL (див. Https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )
  6. , де LOGCFL - клас проблем журналу просторів, зведений до CFL (див.Https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). Відомо, що NLLOGCFL .CFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. NLNPNL=NPNC1PHNPLOGCFLLOGCFL

Однак цей останній момент все ще залишає можливість того, що SAT, як відомо, не міститься в . Взагалі, я не міг багато дізнатися про зв’язок до ієрархії що може допомогти з’ясувати епістемічний статус мого питання.CFLCFLNC

Зауваження (побачивши деякі початкові відповіді): Я не сподіваюся, що формула буде в сполучній нормальній формі (це не змінить суті відповіді, і зазвичай аргументи все ще застосовуються, оскільки CNF - це також формула. Але стверджують, що версія проблеми постійної кількості змінних є регулярною помилкою, оскільки потрібні дужки для синтаксису.)

Висновок: Всупереч моїй натхненній теорії складності, можна прямо показати, що SAT не є контекстним. Тому ситуація така:

  1. Відомо, що SAT не є контекстним (іншими словами: SAT не знаходиться в ), при припущенні, що використовується "пряме" кодування формул, де пропоновані змінні ідентифікуються двійковими числами (і деякі додаткові символи використовуються для операторів та роздільників).CFL
  2. Невідомо, чи є SAT в , але "більшість експертів вважають", що це не так, оскільки це означатиме . Це також означає, що невідомо, чи інші "розумні" кодування SAT без контексту (якщо припустити, що ми вважатимемо простір журналів прийнятним зусиллям кодування для важкої проблеми з NP).P = NPLOGCFLP=NP

Зауважте, що ці два пункти не означають . Це можна показати безпосередньо, показавши, що в (отже, у ) є мови, які не є контекстними (наприклад, ).L LOGCFL a n b n c nCFLLOGCFLLLOGCFLanbncn


Якби це було, то P = NP.
Райан

1
Якби SAT не було контекстним, тоді динамічне програмування (алгоритм CYK) дало б поліноміальний часовий алгоритм для тестування членства в SAT, даючи P = NP. Навіть P = NP не означатиме, що SAT не містять контексту. Таке кодування змінних здається, що воно може бути важливішим, ніж ви йому даруєте. Я не опрацював деталі, але якщо ви додали одиничні чи двійкові "підписки" до змінних, я думаю, у вас виникнуть проблеми з розрізненням (x і y) від (x, а не x) для досить великих індексів.
AdamF

Ви повинні бути точними щодо представлення, перш ніж вимагати висновки P = NP. Наприклад, факторинг числа N є многочленним часом у N (цікаве питання стосується кількості бітів, необхідних для запису N у двійковій чи про log N).
Aryeh

Мені було відомо про висновок P = NP, і тому відповідь не очікувала "так" (вибачте за те, що я була трохи провокаційною в тому, як я це фразував ;-). Мені все ще було цікаво, чи це насправді відомо чи просто щось, у що «більшість експертів вірить» (відповіді зараз чітко вказують на те, що колишня правда; я виберу її вчасно).
мак

Відповіді:


7

Просто альтернативне доказ із використанням суміші добре відомих результатів.

Припустимо, що:

  • змінні виражаються регулярним виразомd=(+|)1(0|1)
  • і що ( звичайна ) мова (над використовується для представлення формул CNF, є: ; лише зауважте, що захоплює всі дійсні формули CNF аж до змінного перейменування.Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

Наприклад, записується як: ( оператор має перевагу над ) .φ=(x1x2)x3sφ=+1+1011S

Припустимо, що відповідна формула є задоволеною - CF.L={sφSφ}

Якщо ми перетинаємо його із звичайною мовою: ми все одно отримаємо мову CF. Ми також можемо застосувати гомоморфізм: , а мова залишається CF.R={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

Але мова, яку ми отримуємо, є: , тому що якщо то формула "source" є що є незадовільним (аналогічно, якщо ). Але є добре відомою мовою, що не стосується CF ПротиріччяL={1a1b1cab,ac}a=b+xaxaxba=cL


Я прийняв цю відповідь зараз, оскільки існує ще відкрите питання щодо іншого підходу (див. Коментарі), і мені подобається дещо більш базовий аргумент. Можливо, було б непогано підкреслити, що аргумент є специфічним для обраного кодування, і насправді невідомо, чи можна було б знайти інше просте (кодування журналу) кодування, яке веде до безконтекстної мови.
мак

1
@mak: Я підозрюю, що будь-яке інше "розумне" кодування SAT може бути доведено як не CF із подібною методикою. Можливо, ще одним цікавим напрямком було б вивчення, якщо ми можемо застосувати якусь діагоналізацію, щоб отримати більш загальне підтвердження: формула SAT кодує обчислення, що імітують автоматизацію натискання на заданий вхід, і це задоволення, якщо і лише якщо воно не робить ' t приймати це. Але це лише нечітка ідея ...
Marzio De Biasi

Перевірка наявності рядка звичайною мовою є в P. Припустимо, SAT був у Рег. Тоді NP = coNP. Нехай L буде в Рег. Розглянемо формулу, що відповідає дійсності, якщо її немає в Л. Вона знаходиться в NP, тому вона може бути виражена як формула SAT. Це в мові, якщо це не так.
Каве

5

Якщо кількість змінних є кінцевим, то і кількість задоволених сполучників, тож ваша мова SAT є кінцевою (і, отже, регулярною). [Редагувати: ця претензія передбачає форму CNFSAT.]

В іншому випадку погодимось кодувати такі формули, як за допомогою . Ми використаємо лему Огдена, щоб довести, що мова всіх задоволених сполучників не є контекстною.(x17¬x21)(x1x2x3)(17+~21)(1+2+3)

Нехай - константа "маркування" в леммі Огдена, і розглянемо sat-формулу , перший пункт якої складається з - тобто кодування , де - десяткове число, що складається з ті. Ми відзначаємо они , а потім вимагаємо , щоб усі відкачування з відповідного розкладання (див укладення леми Огден) також може бути здійсненні. Але ми можемо легко заблокувати це, вимагаючи, щоб жодне застереження, що містить , де - послідовність на , коротшеw ( 1 p ) ( x N ) N p p 1 p w x q q 1 p w x q wpw(1p)(xN)Npp1pwxqq1p, бути задоволеними - наприклад, гарантуючи, що в кожному іншому пункті є заперечення кожного такого . Це означає, що не дає властивості "негативної прокачки", і ми робимо висновок, що мова не є контекстною. [Примітка: я ігнорував тривіальні випадки, коли накачування створює неправильно сформовані струни.]wxqw


Примітка. В моєму твердженні, що мова для кінцевої кількості змінних мова є кінцевою, я неявно забороняю повторювати змінну в рамках або в пункті без обмежень багато разів
Aryeh

... Але я вважаю, що мова все ще є регулярною, тому що можна взяти скінчену колекцію "по суті чітко виражених" (тобто без тривіальних повторів) формул, а потім допускає різні повторення.
Ар'є

Претензія з регулярністю працює лише для CNFSAT (я додав уточнення до свого запитання).
мак

4
Навіть при довільних формулах, що не належать до CNF, у кінцево багато змінних, задоволеність (і будь-яка мова, яка не може виділити дві логічно еквівалентні формули для цього питання), легко сприймається без контексту. Однак я не бачу актуальності цього. Задовільність формул у кінцево багатьох варіантах є тривіальною проблемою, яка не має нічого спільного зі складністю SAT.
Еміль Єржабек

1
Гаразд, я бачу проблему - я неявно припускав, щоможе бути обмежений по довжині (як у класичній накачаній лемі), при цьому також можна вказати щось про його розташування в рядку. Я думаю, що аргумент можна виправити, повторивши відкачування леми з нуля. Ми зробимо цю першу змінну дійсно довгою послідовністю 1-х - досить довгою, що деяке під-дерево, що генерує суміжну підрядку цих 1-х, повинно бути достатньо глибоким, щоб застосувати принцип підгона. |xyz|
Aryeh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.