Ось аргумент, що якби ви могли розв’язати 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))=m−1
де m - кількість пропозицій у f ( x ) .mf(x)
У нас також є теорема Кадіна, яка говорить про те, що якщо задано k входи x 1 , … , x k NP-повної задачі, у вас є алгоритм багаточленного часу, який робить ≤ k - 1 запитів до оракула NP і визначає правильна відповідь на k NP задачі x i ∈ ? L , тоді поліномальна ієрархія руйнується.kx1,…,xk≤k−1kxi∈?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 1 ∈ L і M ( F 1 ) = m - 2M(F1)=m−1x1∈LM(F1)=m−2 іншому випадку
2) M ( F 2 ) = m ⋅ ( m - 1 ), якщо x 2 ∈ L і M ( F 2 ) = m ⋅ ( m - 2 )M(F2) = m ⋅ ( m - 1)x2∈ LM(F2)=m⋅(m−2) іншому випадку
...
k) M ( F K ) = m K - 1 ⋅ ( m - 1 ), якщо x K ∈ L і M ( F K ) = m K - 1 ⋅ ( m - 2 ) інакшеM(FK)=mK−1⋅(m−1)xK∈LM(FK)=mK−1⋅(m−2)
Тепер візьмемо об'єднання формул, які були побудовані більше непересічних множин змінних, і назвати його 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 ) k ⋅ m замість m k , так що можна натиснути k на log m , а кількість порад бітів для log log m . Зрозуміти, що трапляється, коли вам дають журнал m - O ( 1 ) поради, здається, справді важко.FO(1)k⋅mmkklogmloglogmlogm−O(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