Обчислення будь-якої інформації про Max-3SAT


26

Для формули 3CNF нехай буде максимальне число задоволених положень в будь-якому присвоєння . Відомо, що Max-3SAT важко наблизити (залежно від P ≠ NP), тобто немає політайм-алгоритму, вхід якого є формулою 3CNF , а вихід якого є числом таким, що знаходиться в межах a мультиплікативний коефіцієнт від , де - абсолютна позитивна константа.C M ( C ) CCM(C)CCCMMM(C)M(C)1+c1+cMMc>0c>0

Я вважаю, що також NP-важко обчислити для будь-якого постійного модуля . Цікаво, чи справедливо наступне загальне узагальнення цих двох фактів: Не існує політомічного алгоритму, вхідним сигналом якого є формула 3CNF з застереженнями, а рядок рекомендаційних бітів, а вихід якого . Тут - абсолютна константа. Простими словами, не існує алгоритму, який обчислює бітів інформації .M ( C ) mod p p C N log 2 N - BM(C)modppCNlog2NBM(C)M(C)BBBBM(C)M(C)

Прошу вибачення, якщо на питання є відома відповідь, бо я не теоретик складності за фоном.


1
Зазвичай "порада" може залежати лише від тривалості введення. Я вважаю, що ваш намір полягає в тому, що “порада” тут може залежати від самого вкладу. Я не знаю стандартної термінології для цього поняття.
Tsuyoshi Ito

9
Це дуже цікаве питання. Щоб підтвердити, що M ( C ) mod pM(C)modp справді важко обчислити, можна відзначити, що доказ теореми Кука дає m-m змінну формулу F,F яка є задоволеною або такою, що M ( F ) = m - 1M(F)=m1 .
Лука Тревісан

16
Питання можна перезапустити наступним чином: чи може існувати поліноміальний алгоритм часу, який, даючи формулою 3CNF FF з mm змінними, виводить список m / 2 Bm/2B чисел таким чином, що одне з цих чисел є M ( F )M(F) ?
Лука Тревісан

2
так, mm повинна була бути кількість пунктів у коментарі вище.
Лука Тревісан

9
це рівнозначно, тому що якщо у вас є алгоритм, як описано в публікації, ви можете запустити алгоритм на кожному з 2 журналів 2 м - B = m / 2 B можливий рядок поради, отримати стільки (або менше, якщо будуть зіткнення) відповіді, і одна з них правильна. Якщо у вас є алгоритм, як у моєму коментарі вище, журнал 2 м - біт порад B достатній, щоб вказати, що правильна відповідь - i -й найбільший з результатів алгоритму, для деяких i . 2log2mB=m/2Blog2mBii
Лука Тревісан

Відповіді:


14

Ось аргумент, що якби ви могли розв’язати Max 3SAT на екземплярі m-clause, даючи постійну кількість бітів порад, тоді поліномальна ієрархія руйнується.

Виправіть NP-повну задачу L. З теореми Кука ми знаємо перетворення f () входів x для L у формули 3SAT f (x), так що

1) якщо x L, тоді M ( f ( x ) ) = mx LМ( f( x ) ) = m

2) якщо x L, тоді M ( f ( x ) ) = m - 1x LМ( f(x))=m1

де m - кількість пропозицій у f ( x ) .mf(x)

У нас також є теорема Кадіна, яка говорить про те, що якщо задано k входи x 1 , , x k NP-повної задачі, у вас є алгоритм багаточленного часу, який робить k - 1 запитів до оракула NP і визначає правильна відповідь на k NP задачі x i? L , тоді поліномальна ієрархія руйнується.kx1,,xkk1kxi?L

Припустимо, у нас є алгоритм, який розв'язує Max SAT на входах m-clause, надаючи k біт поради. Результатом Хастада ми скористаємося для побудови алгоритму, як у приміщенні теореми Кадіна.

Почати з K = 2 K + 1 входів х 1 , ... , х K до задачі L . Застосуйте теорему Кука до кожної з них. Після деякої нормалізації (що може бути зроблено шляхом присвоєння ваги пунктам або дублювання їх, якщо ми не хочемо використовувати ваги), ми побудуємо K формули F 1 , , F K де для певного m :K=2k+1x1,,xKLKF1,,FKm

1) M ( F 1 ) = m - 1, якщо x 1L і M ( F 1 ) = m - 2M(F1)=m1x1LM(F1)=m2 іншому випадку

2) M ( F 2 ) = m ( m - 1 ), якщо x 2L і M ( F 2 ) = m ( m - 2 )M(F2) = m ( m - 1)x2LM(F2)=m(m2) іншому випадку

...

k) M ( F K ) = m K - 1( m - 1 ), якщо x KL і M ( F K ) = m K - 1( m - 2 ) інакшеM(FK)=mK1(m1)xKLM(FK)=mK1(m2)

Тепер візьмемо об'єднання формул, які були побудовані більше непересічних множин змінних, і назвати його F . Отже, у нас є M ( F ) = M ( F 1 ) + + M ( F k ) , і ми можемо "прочитати" відповідь на K задачі x i? Л , дивлячись на база - м поданні M ( F ) . Якщо ми можемо обчислити M ( F ), заданий kFM(F)=M(F1)++M(Fk)Kxi?LmM(F)M(F)kпоради, це означає, що ми можемо знайти значення 2 k таким, що одне з них M ( F ) . Потім ми можемо неадаптивно запитати NP-оракул, чи буде M ( F ) n i для кожного із заданих значень n 1 , , n 2 k, які ми створили. Таким чином, нам вдалося вирішити 2 k + 1 випадки NP-повних завдань, зробивши 2 k2kM(F)M(F)nin1,,n2k2k+12k неадаптивні запити до NP-оракула, що означає, що поліноміальна ієрархія руйнується.

Використовуючи теорему Хастада замість теореми Кука, можна висунути розмір F до O ( 1 ) km замість m k , так що можна натиснути k на log m , а кількість порад бітів для log log m . Зрозуміти, що трапляється, коли вам дають журнал m - O ( 1 ) поради, здається, справді важко.FO(1)kmmkklogmloglogmlogmO(1)


Відредаговано, щоб додати: Крентел ( Складність проблем оптимізації . J. Comput. Syst. Sci. 36 (3): 490-509 (1988) ) довів, що обчислення значення оптимуму задачі максимальної кліки є повним для F P N P [ O ( l o g n ) ] , клас функцій, що обчислюється в поліноміальний час з O ( l o g n ) запитами до NP oracle. Повнота знаходиться під "скороченням одного запиту", в якому функція f зводиться до функції g, якщо можна записати f ( x ) = rFPNP[O(logn)]O(logn) 1( g ( r 2 ( x ) ) для обчислюваних поліномів часу r 1 і r 2. Імовірно, те саме стосується Макса Кліка. Тепер, якби Макс Клік мав алгоритм багаточленного часу, який створює списокможливих значень m o ( 1 ) , це було б у F P N P [ o ( l o g n ) ]f(x)=r1(g(r2(x))r1r2mo(1)FPNP[o(logn)] , тому що ви можете використовувати двійковий пошук, щоб знайти оптимальну кількість запитів, що є журналом розміру списку.

Тепер, якщо у нас є F P N P [ O ( l o g n ) ] = F P N P [ o ( l o g n ) ], ми б точно мали P N P [ O ( l o g n ) ] = P N P [ o ( l o g n ) ]FPNP[O(logn)]=FPNP[o(logn)]PNP[O(logn)]=PNP[o(logn)], що є особливим випадком проблем вирішення, і, як відомо, за результатами Вагнера (поліпшення результату Кадіна, що стосується постійної кількості запитів), щоб зруйнувати ієрархію поліномів. Але я думаю, що може бути відомо, що F P N P [ O ( l o g n ) ] = F P N P [ o ( l o g n ) ]FPNP[O(logn)]=FPNP[o(logn)] насправді означатиме P = NP. Але в будь-якому випадку результатів Крентел та Кадін-Вагнера має бути достатньо, щоб дати ще одне підтвердження результату Енді Друкера. Тепер мені цікаво, чи це насправді той самий доказ, тобто якщо результат Fortnow-Van Melkebeek працює, явно чи неявно, через аргумент "моделювання NP-запитів із меншою кількістю запитів NP".

Хороший опитувальний документ, який пояснює, що відбувається з проблемами оптимізації та обмеженими класами запитів:

http://www.csee.umbc.edu/~chang/papers/bqabh/npfsat.pdf


8

I would like to state one reason why proving the NP-hardness of this problem is difficult.

In a comment on the question, Luca Trevisan gave a nice way to restate the problem: Is the following problem solvable in polynomial time for every constant k? Given a CNF formula C with m clauses, output at most m/k integers so that one of them is equal to M(C). Here k is related to B by k=2B.

However, let’s demand more. Namely, we consider the following problem: given a CNF formula C, output two integers so that one of them is equal to M(C). We denote this problem by Π. The problem Π is at least as difficult as the original problem, so if the original problem is NP-hard, Π must also be NP-hard.

Note that Π is a relation problem. One of the simplest kinds of reductions that can be used to reduce some problem L to a relation problem Π is a polynomial-time Levin reduction, which is a special case of a polynomial-time Turing reduction where the reduction calls the oracle for Π only once.

We claim that PΠ[1]=P. This obviously implies that NP⊈PΠ[1] unless P=NP, that is, Π is not NP-hard under polynomial-time Levin reducibility unless P=NP.

Proof. Let L∈PΠ[1], or in other words, there exists a Levin reduction from L to Π. This means that there exists a pair (f, g) of a polynomial-time computable function f: {0,1}*→{0,1}* which maps each instance x of the problem L to some CNF formula f(x) and a polynomial-time computable predicate g: {0,1}*×ℕ×ℕ→{0,1} such that g(x, i, j) = L(x) if either i or j is equal to M(f(x)). (Here L(x)=1 if x is a yes-instance of L and L(x)=0 if x is a no-instance.)

We construct a polynomial-time algorithm for L from this as follows. Let x be an input.

  1. Let C=f(x), and let m be the number of clauses in C.
  2. Find one i ∈ {0,…,m} such that the value g(x, i, j) is constant independent of j ∈ {0,…,m}.
  3. Output this constant g(x, i, 0).

In the step 2, such i always exists because i=M(f(x)) satisfies the condition. Moreover, this algorithm cannot output a wrong answer because g(x, i, M(f(x))) must be the correct answer. Therefore, this algorithm solves L correctly. QED.

If I am not mistaken, the same idea can be used to prove that PΠ[k(n)]⊆DTIME[nO(k(n))]. This implies that NP⊈PΠ[k] for any constant k unless P=NP and that NP⊈PΠ[polylog] unless NP⊆DTIME[2polylog]. However, this idea alone does not seem to rule out the possibility that Π is NP-hard under polynomial-time Turing reducibility.


1
Could you provide a link to Dana's answer?
Mohammad Al-Turkistany

@turkistany: She had deleted her answer after I posted the first revision of this answer. I have just removed a reference to it from this answer.
Tsuyoshi Ito

8

I believe that we can show:

Claim. There's a value 0<c<10<c<1 such that the following is true. Suppose there's a deterministic poly-time algorithm that, given an mm-clause 3-SAT instance ϕϕ, outputs a list SS of at most mcmc values, such that M(ϕ)SM(ϕ)S; then the polynomial hierarchy collapses.

The proof uses Fortnow and Santhanam's results on infeasibility of instance compression from their paper http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf

Specifically, by looking at their proof of Thm 3.1, I believe one can extract the following (I will re-check this soon):

"Theorem" [FS]. There are integers 0<d<d0<d<d such that the following is true. Suppose in deterministic poly-time, one can transform an OR of ndnd Boolean formulas (each of length nn, and on disjoint variable-sets) into an OR of ndnd formulas (again variable-disjoint and of length nn), preserving satisfiability/unsatisfiability of the OR. Then NPcoNP/polyNPcoNP/poly and the polynomial hierarchy collapses.

The proof of our claim will be a reduction from the OR-compression task mentioned in the above theorem[FS], to the problem of list-computing M(ϕ)M(ϕ). Suppose ψ1,,ψndψ1,,ψnd is a list of formulas whose OR we want to compress.

First step: define a polynomial-size circuit ΓΓ on input strings (v,y1,,ynd)(v,y1,,ynd). Here the string yiyi encodes an assignment to ψiψi, and v{0,1}dlogn+1v{0,1}dlogn+1 encodes a number between 00 and ndnd.

We have ΓΓ accept iff either v=0v=0, or ψv(yv)=1ψv(yv)=1.

Now let M(Γ)M(Γ) denote the maximum value vv, such that the restricted circuit Γ(v,,,)Γ(v,,,) is satisfiable. (This quantity is always at least 0).

Suppose we can efficiently produce a list SS of possible values for M(Γ)M(Γ). Then the claim is that in our list ψ1,,ψndψ1,,ψnd, we can throw away all ψiψi for which iSiS; the resulting list contains a satisfiable formula iff the original one did. I hope this is clear by inspection.

Conclusion: we can't reliably produce a list SS of ndnd possible values for M(Γ)M(Γ), unless the poly hierarchy collapses.

Second Step: We reduce from the problem of list-computing M(Γ)M(Γ) to that of list-computing M(ϕ)M(ϕ) for 3-SAT instances ϕϕ.

To do this, we first run Cook's reduction on ΓΓ to get a 3-SAT instance ϕ1ϕ1 of size m=poly(nd)m=poly(nd). ϕ1ϕ1 has the same variable-set as ΓΓ, along with some auxiliary variables. Most important for our purposes, ϕ1(v,)ϕ1(v,) is satisfiable iff Γ(v,)Γ(v,) is satisfiable.

We call ϕ1ϕ1 the `strong constraints'. We give each of these constraints weight 2m2m (by adding duplicate constraints).

Then we add a set of `weak constraints' ϕ2ϕ2 which add a preference for the index vv (defined in step 1) to be as high as possible. There is one constraint for each bit vtvt of vv, namely [vt=1][vt=1]. We let the tt-th most significant bit of vv have a constraint of weight m/2t1m/2t1. Since vv is of length dlogn+1dlogn+1, these weights can be made integral (we just need to pad to let mm be a power of 2).

Finally, let ϕ=ϕ1ϕ2ϕ=ϕ1ϕ2 be the output of our reduction.

To analyze ϕϕ, let (v,z)(v,z) be the variable-set of ϕϕ, with vv as before. First note that given any assignment to (v,z)(v,z), one can infer the value of vv from the quantity N(v,z)=N(v,z)= (total weight of ϕϕ-constraints satisfied by v,z).
This follows from the hierarchical design of the constraint-weights (similarly to a technique from Luca's answer). Similarly, the maximum achievable value M(ϕ) is achieved by a setting (v,z) that satisfies all strong constraints, and where (subject to this) v is as large as possible. This v is the largest index for which Γ(v,) is satisfiable, namely M(Γ). (Note, it is always possible, by setting v= all-0, to satisfy all strong constraints, since in that case Γ(v,) is satisfiable.)

It follows that, if we are given a list S of possible values of M(ϕ), we can derive a list of |S| possible values of M(Γ). Thus we can't have |S|nd unless the poly hierarchy collapses. This gives the Claim, since nd=mΩ(1).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.