Domanda: Lascia che generi formule. Fa appartengono a ? { M ( 1 n ) ∣ n ∈ N ∧ M ( 1 n ) ∈ S A T } PM∈PF{M(1n)∣n∈N∧M(1n)∈SAT}P
succinctSAT∈E⟹ 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ì :⟹succinctSAT∈E
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 ⊥M∈PFCMC⊥
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)∣n∈N∧M(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 kA∈PFD∈P/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 .