Puoi trovare una prestampa seguendo questo link http://eccc.hpi-web.de/report/2016/002/
MODIFICA (1/24) Su richiesta, ecco un breve riassunto, tratto dal documento stesso, ma che analizza molte cose. Supponiamo Merlin può rivelarsi Arthur che per una -variable aritmetica circuito C , il suo valore in tutti i punti in { 0 , 1 } k è un certo tabella 2 k elementi di campo, in tempo circa ( s + 2 k ) ⋅ d , dove s è la dimensione di C e d è il grado del polinomio calcolato da CkC{0,1}k2k(s+2k)⋅dsCdC. (Questa è una "breve prova non interattiva della valutazione in batch" --- valutazione di in molti incarichi.)C
Quindi Merlino può risolvere SAT per Arthur come segue. Dato un CNF F su n variabili e clausole m , Merlin e Arthur costruiscono prima un circuito aritmetico C su n / 2 variabili di grado al massimo m n , dimensioni circa m n ⋅ 2 n / 2 , che sommano tutte le assegnazioni a le prime n / 2 variabili del CNF F (aggiungendo 1 alla somma quando F è vero e 0#FnmCn/2mnmn⋅2n/2n/2F1F0 quando è falso). Usando il protocollo di valutazione batch, Merlin può quindi dimostrare che assumeC valori particolari su tutti i suoi 2 n / 2 incarichi booleani, in circa 2 n / 2 p o l y ( n , m ) tempo. Riassumendo tutti quei valori, si ottiene il numero degli incarichi SAT per F .2n/22n/22n/2poly(n,m)F
Ora diciamo ad alto livello come eseguire il protocollo di valutazione batch. Vogliamo che la dimostrazione sia una rappresentazione succinta del circuito che sia sia facile da valutare su tutti gli ingressi dati da 2 k , sia facile da verificare con casualità. Impostiamo la dimostrazione come un polinomio univariato Q ( x ) definito su un campo di estensione sufficientemente ampio del campo base K (di caratteristica almeno 2 n per la nostra applicazione), dove Q ( x ) ha grado circa 2 k ⋅ d , e Q `` abbozza '' la valutazione del grado-C2kQ(x)K2nQ(x)2k⋅dQ circuito aritmetico C su tutti i 2 k incarichi. Il polinomio Q soddisfa due condizioni contrastanti:dC2kQ
Il verificatore può utilizzare il disegno per produrre in modo efficiente la tabella di verità di C . In particolare, per alcuni α i esplicitamente conosciuti dall'estensione di K , vogliamo ( Q ( α 0 ) , Q ( α 1 ) , ... , Q ( α K ) ) = ( C ( a 1 ) , ... , C ( a 2 K ) ) , dove aQCαiK(Q(α0),Q(α1),…,Q(αK))=(C(a1),…,C(a2K))aiikC
QC2k2k+s
La costruzione di Qutilizza un trucco di interpolazione proveniente dalle prove olografiche, in cui le espressioni multivariate possono essere efficacemente `` espresse '' come espressioni univariate. Entrambi i due elementi utilizzano algoritmi veloci per la manipolazione di polinomi univariati.