Проблема вирішення того, чи має на увазі монотонний КНФ одноманітний ДНФ


14

Розглянемо наступну проблему рішення

Вхід : Монотонна CNF Φ і монотонна DNF Ψ .

Запитання : Чи є ΦΨ тавтологія?

Безумовно ви можете вирішити цю проблему в O(2npoly(l)) -time, де n є число змінних в ΦΨ і l довжина вхідних даних. З іншого боку, ця проблема є спільною для NNP. Крім того, скорочення , яке встановлює CONP-повноту також показує , що, якщо СЕТ не виходить з ладу, немає ніякого O(2(1/2ε)npoly(l))-алгоритм часу для цієї проблеми (це справедливо для будь-якого позитивного ε ). Ось це зменшення. Нехай A - (немонотонна) CNF, а x - її змінна. Замініть кожне позитивне виникнення x на y і кожне негативне виникнення x на z . Зробіть те саме для кожної змінної. Нехай отриманий монотонний CNF буде Φ . Неважко помітити, що A є задоволеним iff Φyz - це не тавтологія. Це зменшення збільшує кількість змінних в 2 рази, що означає 2n/2 (На основі SETH) нижня межа, згадана вище.

Отже, існує розрив між 2n/2 і 2n часом. Моє запитання: чи відомий якийсь кращий алгоритм чи краще зменшення від SETH?

Лише два зауваження, здавалося б, пов'язані з проблемою:

  • зворотна проблема того, чи має на увазі монотонний ДНФ монотонний ФНП, тривіально вирішуваний у поліномний час.

  • Цікаво, що проблема вирішення того, чи Φ і Ψ обчислити одну і ту ж функцію, може бути вирішена в квазіполіномічний час завдяки Фредмену і Хачіяну (Про складність дуалізації монотонних диз'юнктивних нормальних форм, Журнал алгоритмів 21 (1996), № 3). , с. 618–628, doi: 10.1006 / jagm.1996.0062 )

Відповіді:


6

Якщо припустити SETH, задача не вирішена в часі для будь-якого ϵ > 0 .O(2(1ϵ)npoly(l))ϵ>0


По-перше, дозвольте мені показати, що це справедливо для більш загальної проблеми, де і Ψ можуть бути довільними монотонними формулами. У цьому випадку відбувається скорочення багатократного ctt від TAUT до проблеми, яка зберігає кількість змінних. Нехай T n t ( x 0 , , x n - 1 ) позначає порогову функцію T n t ( x 0 , , x n - 1 ) = 1ΦΨTtn(x0,,xn1) Використовуючи сортувальну мережу Ajtai – Komlós – Szemerédi,T n t можна записати за допомогою монотонної формули поліноміального розміру, сконструйованої за часомpoly(n).

Ttn(x0,,xn1)=1|{i<n:xi=1}|t.
Ttnpoly(n)

Враховуючи булеву формулу , ми можемо використовувати правила Де Моргана, щоб записати її у формі ϕ ( x 0 , , x n - 1 , ¬ x 0 , , ¬ x n - 1 ) , де ϕ монотонно. Тоді ϕ ( x 0 , , x n -ϕ(x0,,xn1)

ϕ(x0,,xn1,¬x0,,¬xn1),
ϕє тавтологією тоді і тільки тоді, коли монотонні наслідки T n t ( x 0 ,..., x n - 1 ) ϕ ( x 0 ,, x n - 1 , N 0 ,, N n - 1 ) справедливі для кожногоtn, де N i = T n - 1 t (ϕ(x0,,xn1)
Ttn(x0,,xn1)ϕ(x0,,xn1,N0,,Nn1)
tn
Ni=Ttn1(x0,,xi1,xi+1,,xn1).

Для імплікації зліва направо нехай - завдання, що задовольняє T n t , тобто, щонайменше, t . Існує e e з точно t . Тоді e N i¬ x i , таким чином e ϕ означає e eTtnteeteNi¬xieϕ . Оскільки це монотонна формула, ми також маємо e ϕ ( x 0 , , x n - 1 , N 0 , , N n - 1 ) . Право-вліво імплікація схожа.eϕ(x0,,xn1,N0,,Nn1)eϕ(x0,,xn1,N0,,Nn1)


Тепер дозвольте повернутися до початкової проблеми. Я покажу наступне: якщо задача вирішується за час , то для будь-якого k , k -DNF-TAUT (або подвійно, k -SAT) вирішується за час 2 δ n + О ( 2δnpoly(l)kkk. Це означає, щоδ1,якщо SETH виконується.2δn+O(knlogn)poly(l)δ1

Отже, припустимо, що нам задано -DNF ϕ = i < l ( j A i x jj B i ¬ x j ) , де | А я | + | Б i | k для кожного i . Ми розділимо n змінних на n = n / b блоків розміром b k

ϕ=i<l(jAixjjBi¬xj),
|Ai|+|Bi|kinn=n/bbk1nlognϕ
()u<nTtub(xbu,,xb(u+1)1)i<l(jAixjjBiNj)
nt0,,tn1[0,b]j=bu+j0j<b
Nj=Ttub1(xbu,,xbu+j1,xbu+j+1,,xb(u+1)1).
We can write Ttb as a monotone CNF of size O(2b), hence the LHS of () is a monotone CNF of size O(n2b). On the right-hand side, we may write Nj as a monotone DNF of size O(2b). Thus, using distributivity, each disjunct of the RHS can be written as a monotone DNF of size O(2kb), and the whole RHS is a DNF of size O(l2kb). It follows that () is an instance of our problem of size O(l2O(kb)) in n variables. By assumption, we may check its validity in time O(2δn+O(kb)lO(1)). We repeat this check for all bn choices of t, thus the total time is
O((b+1)n/b2δn+O(kb)lO(1))=O(2δn+O(knlogn)lO(1))
as claimed.

We get a tighter connection with the (S)ETH by considering the bounded-width version of the problem: for any k3, let k-MonImp denote the restriction of the problem where Φ is a k-CNF, and Ψ is a k-DNF. The (S)ETH concerns the constants

sk=inf{δ:k-SATDTIME(2δn)},s=sup{sk:k3}.
Likewise, let us define
sk=inf{δ:k-MonImpDTIME(2δn)},s=sup{sk:k3}.
Clearly,
s3s4s1
as in the SAT case. We also have
sksk,
and the double-variable reduction in the question shows
sk2sk.
Now, if we apply the construction above with constant block-size b, we obtain
sksbk+log(b+1)b,
hence
s=s.
In particular, SETH is equivalent to s=1, and ETH is equivalent to sk>0 for all k3.

Thank you for your answer! I'm curious whether it is possible to make Φ and Ψ constant-depth in this construction? Namely, I'm not aware whether subexponential-size constant-depth monotone Boolean formulas (or even non-monotone circuits) are known for Tkn (in particular for Majority)? Of course there is a 2nΩ(1/d) lower bound for depth-d, but, say, 2n size would be OK.
Sasha Kozachinskiy

Tkn, and in general anything computable by polynomial-size formulas (i.e., in NC^1), has depth-d circuits of size 2nO(1/d). See e.g. cstheory.stackexchange.com/q/14700 . I will have to think if you can make them monotone, but it sounds plausible.
Emil Jeřábek 3.0

OK. First, the generic construction works fine in the monotone setting: if a function has poly-size monotone formulas, it has depth-d monotone circuits of size 2nO(1/d)poly(n) for any d2. Second, for Tkn specifically, it is easy to construct monotone depth-3 circuits of size 2O(nlogn) by splitting the input into blocks of size Θ(nlogn).
Emil Jeřábek 3.0

Actually, pushing this idea a little bit more, it does provide an answer to the original question: assuming SETH, the lower bound holds already for Φ monotone CNF and Ψ monotone DNF. I will write it up later.
Emil Jeřábek 3.0

I would guess that you can divide all the variables into about n blocks x1,xn and then write Tk1n(x1)Tknn(xn)ϕ for every k1++knn. You can use 2n-size CNF for every threshold function. But then on a right hand side you will have not DNF but a depth-3 formula...
Sasha Kozachinskiy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.