Problem egzaminatora (jednolite generowanie instancji / odpowiedzi decyzji SAT)

11

Asystentowi kursu udało się napisać program, który (deterministycznie) generuje trudne pytania egzaminacyjne. Teraz chciałaby napisać program, który generuje odpowiednie odpowiedzi. Problem egzaminatora pyta, czy jest to zawsze możliwe; przez egzaminatora Hipoteza stwierdza, że zakładając, P.N.P. , to nie : wymyślanie problemów jest łatwiejsze niż wymyślanie swoich rozwiązań.

Bardziej formalnie, niech M. będzie deterministyczną Maszyną Turinga, która na wejściu 1n generuje w czasie wielomianowym logiczną formułę wielkości n . Chciałbym wiedzieć, czy dla wszystkich takich M. istnieje deterministyczna wielomianowa maszyna Turinga M. która na wejściu 1n wyprowadza „ 1 ”, jeśli M.(1n) ma zadowalające przypisanie, a „ 0 ” w przeciwnym razie .

Zakładając , czy to pytanie zostało już zadane lub na które udzielono odpowiedzi? Jeśli nie zostanie udzielona odpowiedź, jakie dodatkowe założenia ( np. Funkcje jednokierunkowe?) Mogą wpłynąć na wynik? Z wyjątkiem któregokolwiek z powyższych, moja „hipoteza” jest taka, że ​​TM odpowiadająca nie zawsze istnieje, ale jaka jest twoja intuicja?P.N.P.

Dzięki!

usul
źródło
Pozwól mi upewnić się, że mam poprawne kwantyfikatory. Czy pytasz, czy „dla wszystkich istnieje M ' , tak że M może skutecznie rozwiązać wynik M ” jest prawdą? M.M.M.M.
Tyson Williams
@TysonWilliams: Tak, nieznacznie zmodyfikowałem sformułowanie, aby to wyjaśnić. Myślę, że twoje oświadczenie powinno być równoważne z moim!
usul
1
Jak zauważa Emanuele, prawdopodobnie nie jest to tak naprawdę to, czego prawdopodobnie szukasz, prawdopodobnie chcesz wygenerować pary instancji i rozwiązania, w których rozwiązanie instancji jest „trudne”. Być może związane z tym, czego szukasz: 1. Odpowiedź Davida tutaj i 2. sekcja 6 Stephena A. Cooka i Davida G. Mitchella, „ Znalezienie trudnych przypadków problemu satysfakcji: ankieta ”, 1997
Kaveh

Odpowiedzi:

12

Pytanie, które zadajesz, jest równoważne jednemu NP = unarnemu P, który z kolei jest równoważny NE = E, poprzez wypełnienie.

Z tytułu może chciałeś zapytać, czy można wygenerować pary wejścia / wyjścia, tak że rozkład na wejściach jest „trudny”. Możliwość zrobienia tego leży gdzieś pomiędzy P NP a funkcjami jednokierunkowymi.

W ograniczonych modelach obliczeniowych wiadomo, że jest to możliwe. Np. Można wygenerować pary wejścia / wyjścia dla funkcji parzystości lub większości w AC 0 lub niższej. Zobacz Złożoność dystrybucji .0

Manu
źródło
1
Czy możesz wyjaśnić, dlaczego jest to równoważne? ... Przez „mundurze”, to znaczy „jednolitego modelu obliczeń” - jeśli poprosiliśmy pytanie do obwodów, odpowiedź byłaby trywialnie tak : każdy by zakodować albo jeden lub zero, w zależności od tego, czy M n jest zadowalające lub nie. MnMn
usul
4
Każde podaje język tally w NP: L M = { 1 n : M ( 1 n )  jest zadowalające. } . Więc jeśli jednoskładnikowa-NP jest równe jednoargumentowego-P, a następnie M " to maszyna, która decyduje L M . W przeciwnym kierunku, weź dowolny język sumowania w NP i weź M jako maszynę, która redukuje go do SAT. Jeśli istnieje M ' , wówczas język tally jest również w P, więc unary P = unary NP. W przypadku drugiej równoważności można sprawdzić Hartmanis i in. (ale jeden kierunek jest bardzo łatwy) dl.acm.org/citation.cfm?id=808769MLM={1n:M(1n) is satisfiable.}MLMMM
Sasho Nikolov
4

Pytanie: Niech wygeneruje formuły. Czy { M ( 1 n ) n NM ( 1 n ) S A T } należy do P ?M.P.fa{M.(1n)nN.M.(1n)S.ZAT.}P.

succinctSATE Tak:

Założenie dotyczące generowania wzorów w czasie wielomianowym od oznacza, że ​​wzór można podać zwięźle . Chcesz zdecydować o ich spełnieniu w czasie n O ( 1 ) .1nnO(1)

Dany możemy znaleźć nw czasie wielomianowym w | φ | . Następnie φ można podać zwięźle wbitach lg n + O ( 1 ) przy użyciu M i n . Można używamy S U c c i n t S T algorytm E zdecydować, to w czasie 2 O ( lg n ) = N Oφ=M.(1n)n|φ|φlgn+O(1)M.nsudodojantS.ZAT.mi .2)O(lgn)=nO(1)

tak :sudodojandotS.ZAT.mi

Niech st biorąc pod uwagę obwód C w jedności , M oblicza ciąg zwięźle zakodowany przez C i zwraca wynik, jeśli jest to wzór, a ⊥ w przeciwnym razie.M.P.fadoM.do

Załóżmy, że należą do P . Aby rozwiązać s U c c i n c t S A T opisali danej formuły w zwięzły jednoargumentowy a następnie korzystając z założenia do rozwiązania.{M.(1n)nN.M.(1n)S.ZAT.}P.sudodojandotS.ZAT.

Pytanie: Czy możemy wygenerować w parach instancji rozwiązanie czas wielomianowe dla tak, że instancja jest trudna?S.ZAT.

Musimy wyjaśnić, co rozumiemy przez to, że instancja jest trudna, ponieważ każda instancja sama w sobie jest (teoretycznie) łatwa, ponieważ można ją rozwiązać za pomocą algorytmu, który zawsze mówi tak, lub algorytmu, który zawsze mówi nie. Wydaje mi się, że próbowałeś obejść ten problem, nakładając jednolitość. Myśląc kryptograficznie, bez pewnych informacji, które nie zostaną ujawnione przeciwnikowi, nie ma sensu ukrywać reszty obliczeń, ponieważ przeciwnik może symulować protokół.

Załóżmy, że mamy algorytm czasu wielomianowego, który generuje pary instancja-rozwiązanie. Przeciwnik może użyć tego samego algorytmu, aby znaleźć odpowiedź, jeśli zna a znalezienie n nie jest trudne ze wzoru. Bardziej rozsądnym sposobem jest użycie losowo wybranego tajnego klucza, aby obejść ten problem i rozluźnić warunek twardości, aby być probabilistycznym: żaden algorytm wielomianowy nie może znaleźć rozwiązania z dużym prawdopodobieństwem (bez znajomości tajnego klucza).nn

Czy jest skuteczny (deterministyczny) algorytm taki sposób, że dana losowo wybiera k { 0 , 1 } n , generuje parę Instancje SAT cp k i jego odpowiedź wag K , tak że nie jest efektywny (probabilistyczny / niejednorodny) algorytm przeciwnik D potrafi poprawnie rozwiązać wystąpienia SAT wygenerowane przez A z nieistotnym prawdopodobieństwem?ZA
k{0,1}n
φkwk
re
ZA

Lub bardziej formalnie

Czy istnieje taki, że dla wszystkich D PZAP.fa , taki, że SAT(A(k ) 1 )=A(k ) 2 dla wszystkichki P r k { 0 , 1 } n {D(A(k ) 1 )=SATreP./polyS.ZAT.(ZA(k)1)=ZA(k)2)k

P.rk{0,1}n{re(ZA(k)1)=S.ZAT.(ZA(K.)1)}<1poly(n)

Łatwo zauważyć, że taką funkcję można przekształcić w funkcję jednokierunkową, tak jakby łatwo było znaleźć z φ k, wówczas możemy znaleźć odpowiedź, obliczając A ( k ) 2 .kφkZA(k)2)

Z drugiej strony, niech będzie funkcją jednokierunkową. Możemy wyrazić f ( x ) = y jako obwód wielkości wielomianowej, ponieważ f można obliczać w czasie wielomianowym (i możemy przekształcić go w formułę wprowadzając nowe zmienne dla wszystkich bramek i lokalnie egzekwując warunek poprawności obliczeń jak w tłumaczeniu Tsiena). Rozważmy y jako parametr i oznaczmy wynikową formułę jako φ f , y ( x ) . Możemy zapytać, czy jest jakieś x, które spełnia φ f , y ( x )fafa(x)=yfayφfa,y(x)xφfa,y(x). Każdy algorytm wielomianowy rozwiązujący te instancje z prawdopodobieństwem nieistotnym zniszczy funkcję jednokierunkową f . Wykorzystuje to jednak fakt, że przeciwnik musi znaleźć świadka, a nie tylko fakt, że formuła jest zadowalająca lub nie (ale myślę, że możemy poradzić sobie z tym problemem, używając twardego f ).S.ZAT.fafa

Zobacz także rozdziały 29 i 30 książki Jana Krajicka „Forcing with Random Variables”, 2011 na temat generatorów złożoności dowodu .

Kaveh
źródło
M.