Fammi vedere se posso chiarire questo, ad alto livello. Supponiamo che l'istanza UG sia un grafico bipartito , biiezioni { π e } e ∈ E , dove π e : Σ → Σ e | Σ | = m . Volete costruire un nuovo grafico H in modo che se l'istanza UG sia soddisfacente 1 - δ , allora H abbia un taglio ampio e se l'istanza UG non sia nemmeno δ- soddisfacente, alloraG=(V∪W,E){πe}e∈Eπe:Σ→Σ|Σ|=mH1−δHδ ha solo tagli molto piccoli.H
Il grafico contiene, per ciascun vertice in W , una nuvola di 2 m punti, ciascuno etichettato da alcuni x ∈ { - 1 , 1 } Σ . L'intenzione è che si dovrebbe essere in grado di interpretare un lungo codice di codifica delle etichette di W come un taglio di H . Ricordiamo che per codificare alcuni σ ∈ Σ con il codice lungo, si utilizza una funzione booleana f : { - 1 , 1 } Σ → { - 1 , 1 }HW2mx∈{−1,1}ΣWHσ∈Σf:{−1,1}Σ→{−1,1}; in particolare è la funzione dittatore . Produciamo un taglio S ∪ T (cioè la bi-partizione dei vertici) dalla codifica del codice lungo come segue. Se w ∈ W ha un'etichetta codificata dalla funzione booleana f , vai sulla nuvola di vertici in H corrispondente a w e inserisci in S tutti i vertici nella nuvola che sono etichettati da una x per cui f ( x ) = 1 . Tutti gli altri vanno a Tf(x)=xσS∪Tw∈WfHwSxf(x)=1T. Si può fare questo a ritroso per assegnare le funzioni booleane a tutti sulla base di un taglio di H .w∈WH
Affinché la riduzione funzioni, devi essere in grado di dire solo osservando il valore di un taglio S∪T se le funzioni booleane corrispondenti al taglio sono vicine a un lungo codice che codifica alcune assegnazioni di etichette a che soddisfa un sacco di vincoli ug di G . Quindi la domanda è quali informazioni possiamo ottenere dal valore di un taglio S ∪ T . Considerare ogni due vertici una con etichetta x nella nube corrispondenti a w e b con etichetta y nella nube corrispondente a w 'WGS∪Taxwbyw′(nella riduzione guardiamo solo , w ′ in nuvole diverse). Abbiamo detto che il taglio può essere utilizzato per le funzioni booleane Derive f w e f w ' . Ora se c'è un bordo ( a , b ) in H , allora ( a , b ) viene tagliato se e solo se f w ( x ) ≠ f w ′ ( y )ww′fwfw′(a,b)H(a,b)fw(x)≠fw′(y). Pertanto, usare solo il valore di un taglio per dire se le funzioni booleane che induce sono "buone" è lo stesso di avere un test che, date le funzioni booleane , chiede solo quale frazione di un elenco specificato di coppie ( ( w , x ) , ( w ′ , y ) ) abbiamo f w ( x ) ≠ f w ′ ( y ) .{fw}w∈W((w,x),(w′,y))fw(x)≠fw′(y)
In altre parole, ogni volta che Ryan dice nelle note "test if ", ciò che realmente intende è "in H , aggiungi un bordo tra il vertice nella nuvola di w etichettato da x e il vertice nella nuvola di w ′ etichettato da y ". Vale a dire per ogni v ∈ V , ogni due dei suoi vicini w , w ′ e ogni x , y ∈ { - 1 , 1 }fw(x)≠fw′(y)Hwxw′yv∈Vw,w′ , includere il bordo tra il vertice nella nube di w etichettati da x ∘ ¸ v , w e il vertice nella nube di w ' etichettati da y ∘ ¸ v , w ' , e assegnare il peso bordo ( ( 1 - ρ ) / 2 ) d ( ( 1 + ρ ) / 2 ) n - d dove d è la distanza di Hamming tra xx,y∈{−1,1}nwx∘πv,ww′y∘πv,w′((1−ρ)/2)d((1+ρ)/2)n−ddxe . In questo modo il valore di un taglio diviso per il peso totale del bordo è esattamente uguale alla probabilità di successo del test.y