The Examiner's Problem (generazione uniforme di istanze / risposte SAT)


11

L'assistente di insegnamento di un corso è riuscito a scrivere un programma che (deterministicamente) genera difficili domande d'esame. Ora, vorrebbe scrivere un programma che generi le risposte corrispondenti. Il problema dell'esaminatore chiede se ciò sia sempre possibile; la congettura di Examiner afferma che, assumendo, , è non è : fino a venire con problemi è più facile che fino a venire con le loro soluzioni.PNP

Più formalmente, sia una macchina di Turing deterministica che, sull'ingresso , genera in tempo polinomiale una formula booleana di dimensione . Vorrei sapere se, per tutti questi , esiste una Turing Machine deterministica a tempo polinomiale che, sull'ingresso , genera " " se ha un compito soddisfacente e " "altrimenti.1 n n M M 1 n 1 M ( 1 n ) 0M1nnMM1n1M(1n)0

Supponendo , questa domanda è già stata posta o risolta? In caso di mancata risposta, quali tipi di ipotesi aggiuntive ( ad es. Funzioni a senso unico?) Potrebbero influire sul risultato? Salvo quanto sopra, la mia "congettura" è che la "risposta" TM non esiste sempre, ma qual è il tuo intuito?PNP

Grazie!


Vorrei assicurarmi che i quantificatori siano corretti. Stai chiedendo se "per tutte le , esiste una , tale che possa risolvere efficacemente l'output di " è vero? M M MMMMM
Tyson Williams,

@TysonWilliams: Sì, ho modificato leggermente il testo per cercare di chiarirlo. La tua affermazione dovrebbe essere, penso, equivalente alla mia!
usul

1
Come sottolinea Emanuele, questo probabilmente non è ciò che stai realmente cercando, probabilmente vorrai generare coppie istanza-soluzione in cui la risoluzione dell'istanza è "difficile". Forse correlato a ciò che stai cercando: 1. La risposta di David qui e 2. la sezione 6 di Stephen A. Cook e David G. Mitchell, " Trovare istanze difficili del problema di soddisfazione: un sondaggio ", 1997
Kaveh

Risposte:


12

La domanda che stai ponendo equivale a NP unario = P unario, che a sua volta equivale a NE = E, per riempimento.

Dal titolo, forse intendevi chiedere se è possibile generare coppie input / output in modo tale che la distribuzione sugli input sia "difficile". La possibilità di farlo si trova da qualche parte tra P NP ed esistono funzioni a senso unico.

Nei modelli computazionali limitati, è noto che ciò è possibile. Ad esempio, è possibile generare coppie input / output per le funzioni di parità o maggioranza in AC o inferiore. Vedi La complessità delle distribuzioni .0


1
Puoi spiegare perché è equivalente? ... Per "uniforme", intendo "modello uniforme di calcolo" - se la domanda per i circuiti, la risposta sarebbe banalmente : ogni uno o uno zero, a seconda che è soddisfacente o no. M nMnMn
usul

4
Ogni fornisce un linguaggio di conteggio in NP: . Quindi se unario-NP è uguale a unario-P, allora è la macchina che decide . Nella direzione opposta, prendi qualsiasi linguaggio di conteggio in NP e prendi come macchina che lo riduce a SAT. Se esiste, allora anche il linguaggio di conteggio è in P, quindi unario P = unario NP. Per la seconda equivalenza puoi controllare Hartmanis et al. (ma una direzione è molto semplice) dl.acm.org/citation.cfm?id=808769L M = { 1 n : M ( 1 n )  è soddisfacente. } M ' L M M M 'MLM={1n:M(1n) is satisfiable.}MLMMM
Nikolov

4

Domanda: Lascia che generi formule. Fa appartengono a ? { M ( 1 n ) n NM ( 1 n ) S A T } PMPF{M(1n)nNM(1n)SAT}P

succinctSATE Sì:

L'assunto sulla generazione delle formule in tempo polinomiale da significa che la formula può essere data in modo succinto . Volete decidere la loro soddisfacibilità nel tempo .n O ( 1 )1nnO(1)

Dato possiamo trovare un nel tempo polinomiale in. Quindi può essere dichiarato in modo succinto in bit usando e . Possiamo usare il nostro algoritmo in per decidere in tempo .n | φ | φ lg n + O ( 1 ) M n s u c c i n t S A T E 2 O ( lg n ) = n O ( 1 )φ=M(1n)n|φ|φlgn+O(1)MnsuccintSATE2O(lgn)=nO(1)

Sì :succinctSATE

Consenti a st di dare un circuito in unario , calcola la stringa codificata in modo succinto da e restituisce il risultato se è una formula e altrimenti. C M C MPFCMC

Supponiamo che appartenga a . Per risolvere scriviamo la formula succinta data in unario e quindi usiamo il nostro presupposto per risolverlo.P s u c c i n c t S A T{M(1n)nNM(1n)SAT}PsuccinctSAT

Domanda: possiamo generare in coppie istanza-soluzione polinomiale-tempo per tale che l'istanza sia difficile?SAT

Dobbiamo chiarire cosa intendiamo per istanza che è difficile dato che qualsiasi istanza da sola è (teoricamente) facile in quanto può essere risolta dall'algoritmo che dice sempre sì o dall'algoritmo che dice sempre no. Mi sembra che tu abbia cercato di aggirare questo problema imponendo l'uniformità. Pensando in termini crittografici, senza alcune informazioni che non vengono rivelate all'avversario, non ha senso nascondere il resto del calcolo poiché l'avversario può simulare il protocollo.

Supponiamo che abbiamo un algoritmo tempo polinomiale che genera coppie istanza-soluzione. L'avversario può usare lo stesso algoritmo per trovare la risposta se conosce e trovare non è difficile dalla formula. Il modo più ragionevole è usare una chiave segreta scelta casualmente per aggirare questo problema e rilassare la condizione di durezza per essere probabilistica: nessun algoritmo del tempo polinomiale può trovare una soluzione con alta probabilità (senza conoscere la chiave segreta).nnn

Esiste un algoritmo (deterministico) efficiente che, dato un scelto casualmente , genera una coppia di istanze SAT e la sua risposta tale che nessuna efficienza (probabilistica / non uniforme) l'algoritmo avversario può risolvere correttamente le istanze SAT generate da con probabilità non trascurabile?k { 0 , 1 } n φ k w k D AA
k{0,1}n
φkwk
D
A

O più formalmente,

Esiste tale che per tutto , tale che per tutti e P r k { 0 , 1 } n { D ( A ( k ) 1 ) = S A T ( A ( K ) 1 ) } < 1 D P / p o l y S A T ( A ( k ) 1 ) = A ( k ) 2 kAPFDP/polySAT(A(k)1)=A(k)2k

Prk{0,1}n{D(A(k)1)=SAT(A(K)1)}<1poly(n)

È facile vedere che una tale funzione può essere trasformata in una funzione unidirezionale come se fosse facile trovare da φ k, quindi possiamo trovare la risposta calcolando A ( k ) 2 .kφkA(k)2

D'altra parte, sia una funzione unidirezionale. Possiamo esprimere f ( x ) = y come un circuito di dimensioni polinomiali poiché f è calcolabile in tempo polinomiale (e possiamo trasformarlo in una formula introducendo nuove variabili per tutte le porte e applicando localmente la condizione per la correttezza del calcolo come nella traduzione di Tsien). Consideriamo y come parametro e denotiamo la formula risultante come φ f , y ( x ) . Possiamo chiedere se esiste una x che soddisfa φ f , y ( x )ff(x)=yfyφf,y(x)xφf,y(x). Qualsiasi algoritmo del tempo polinomiale che risolve questi casi con probabilità non trascurabile interromperà la funzione a senso unico f . Tuttavia, questo utilizza il fatto che l'avversario deve trovare un testimone non solo il fatto che la formula sia soddisfacente o meno (ma penso che possiamo aggirare questo problema usando l'hard-bit di f ).SATff

Vedi anche i capitoli 29 e 30 del libro di Jan Krajicek "Forcing with Random Variables", 2011 sui generatori di complessità di prova .


M
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.