Max-cut con bordi a peso negativo


35

G=(V,E,w)w:ER

argmaxSV(u,v)E:uS,vSw(u,v)
w(e)0eE
  1. Scegliere un sottoinsieme casuale di vertici .S
  2. Scegli un ordine sui vertici e posiziona avidamente ogni vertice in o per massimizzare i bordi tagliati finoravSS¯
  3. Apporta miglioramenti locali: se in è presente un vertice che può essere spostato in per aumentare il taglio (o viceversa), esegui lo spostamento.SS¯

L'analisi standard di tutti questi algoritmi mostra in realtà che il taglio risultante è almeno pari a , che è un limite superiore di il peso del taglio massimo se non è negativo - ma se alcuni bordi possono avere un peso negativo, non lo è!12eEw(e)1/2w

Ad esempio, l'algoritmo 1 (scegli un sottoinsieme casuale di vertici) può chiaramente fallire su grafici con pesi di bordo negativi.

La mia domanda è:

Esiste un semplice algoritmo combinatorio che ottiene un'approssimazione O (1) al problema del taglio massimo su grafici che possono avere pesi ai bordi negativi?

Per evitare il possibile problema appiccicoso del valore max-cut che assume il valore , consentirò che , e / o essere soddisfatto degli algoritmi che comportano un piccolo errore additivo oltre a un'approssimazione del fattore moltiplicativo.0eEw(e)>0


1
La condizione "semplice combinatoria" è essenziale qui?
Hsien-Chih Chang 張顯 之

Sono molto interessato a un semplice algoritmo combinatorio come le 2 approssimazioni per il caso di peso positivo. Si noti che sto chiedendo un'approssimazione O (1), quindi mi aspetto che se un algoritmo può raggiungere questo obiettivo, dovrebbe essere possibile con uno semplice. Ma sarei anche interessato a quali garanzie di prestazione sono per gli algoritmi SDP su grafici con pesi ai bordi negativi o l'evidenza che non esiste un algoritmo di approssimazione a fattore costante se . PNP
Aaron Roth,

Risposte:


28

Ecco il mio primo tentativo di litigare. Era sbagliato, ma l'ho corretto dopo "EDIT:"

Se potessi risolvere in modo efficiente il problema del taglio massimo con pesi dei bordi negativi, non potresti usarlo per risolvere il problema del taglio massimo con pesi dei bordi positivi? Inizia con un problema di taglio massimo che vuoi risolvere la cui soluzione ottimale è . Ora, metti un grande bordo di peso negativo (con peso ) tra e . La soluzione ottimale del nuovo problema è , quindi il nostro ipotetico algoritmo di approssimazione ti fornirà una soluzione con taglio massimo il cui valore è al massimo peggiore di ottimale. Nel grafico originale, il taglio massimo è ancora al massimo peggiore di quello ottimale. Se si sceglie vicino a- un u v b - a ( b - a ) / 2 ( b - a ) / 2, un b 16 / 17bauvba(ba)/2(ba)/2ab, ciò viola il risultato di inapprossimabilità che se P NP non è possibile approssimare il taglio massimo a un fattore migliore di . 16/17

MODIFICARE:

L'algoritmo sopra non funziona perché non è possibile garantire che e siano sui lati opposti del taglio nel nuovo grafico, anche se erano originariamente. Posso risolvere questo come segue, però.vuv

Supponiamo che abbiamo un algoritmo di approssimazione che ci darà un taglio entro un fattore 2 di OPT purché la somma di tutti i pesi del bordo sia positiva.

Come sopra, inizia con un grafico con tutti i pesi non negativi sui bordi. Troveremo un grafico modificato con alcuni pesi negativi tali che se possiamo approssimare il taglio massimo di entro un fattore 2, possiamo approssimare molto bene il taglio massimo diG G GGGGG

Scegli due vertici e e spera che siano sui lati opposti del taglio massimo. (Puoi ripeterlo per tutte le possibili per assicurarti che un tentativo funzioni.) Ora, metti un grande peso negativo su tutti i bordi e per e a grande peso positivo sul bordo . Supponiamo che il taglio ottimale abbia peso .v v - d ( u , x ) ( v , x ) x u , v a ( u , v ) O P Tuvvd(u,x)(v,x)xu,va(u,v)OPT

Un taglio con valore in , dove i vertici e sono sullo stesso lato del taglio, ora ha valore a dove è il numero di vertici sull'altro lato del taglio. Un taglio con sui lati opposti con valore originale ora ha valore . Pertanto, se si sceglie abbastanza grande, possiamo costringere tutti i tagli con e sullo stesso lato di avere un valore negativo, quindi se c'è qualche taglio con valore positivo, allora il taglio ottimale in avrà eG u v c - 2 d m m ( u , v ) c c + a - ( n - 2 ) d d u v G u v ( a - ( n - 2 ) d ) u vcGuvc2dmm(u,v)cc+a(n2)dduvGuvsui lati opposti. Si noti che stiamo aggiungendo un peso fisso a qualsiasi taglio con e sui lati opposti.(a(n2)d)uv

Sia . Scegli così che (lo giustificeremo più avanti). Un taglio con peso in avente e sui lati opposti ora diventa un taglio con peso . Ciò significa che il taglio ottimale in ha un peso di . Il nostro nuovo algoritmo trova un taglio in con un peso di almeno . Ciò si traduce in un taglio nel grafico originale con peso di almeno (poiché tutti i tagli in con peso positivo separatoa f - 0,98 O P T c G u v c - 0,98 O P T G 0,02 O P T G 0,01 O P T G 0,99 O P T G u vf=(a(n2)d)af0.98OPTcGuvc0.98OPTG0.02OPTG0.01OPTG0.99OPTGu e ), che è migliore del risultato di inapprossimabilità.v

Non c'è nessun problema con la scelta grande abbastanza per fare qualsiasi taglio con e sullo stesso lato negativo, dal momento che possiamo scegliere grande come vogliamo. Ma come abbiamo scelto così che quando non conoscevamo ? Siamo in grado di approssimare davvero bene ... se lasciamo essere la somma dei pesi bordo di , sappiamo . Quindi abbiamo un intervallo di valori abbastanza ristretto per e possiamo iterare su prendendo tutti i valori tra eu v d a f - .99 O P T O P T O P T T G 1duvdaf.99OPTOPTOPTTGff-.49T-.99T0.005Tf-0.98OPT12TOPTTff.49T.99Tad intervalli di . Per uno di questi intervalli, abbiamo la garanzia che , e quindi una di queste iterazioni è garantita per restituire un buon taglio.0.005Tf0.98OPT

Infine, dobbiamo verificare che il nuovo grafico abbia pesi dei bordi la cui somma è positiva. Abbiamo iniziato con un grafico i cui pesi dei bordi avevano la somma e abbiamo aggiunto alla somma dei pesi dei bordi. Da , siamo a posto f - .99 T f - .49 TTf.99Tf.49T


1
Ma quali sono i tuoi e ? La solita formulazione del problema del taglio massimo non ha "nodi speciali" che devono essere separati. vuv
Jukka Suomela,

3
Ciao Ian - Non penso che funzioni però. Perché le ci devono necessariamente esistere qualsiasi e che sono separate dal taglio max nel grafico originale, e rimangono separati dal max-taglio dopo l'aggiunta di un bordo pesante negativa tra loro? Consideriamo ad esempio il grafico completo: l'aggiunta di un singolo bordo arbitrariamente negativo ovunque non modifica affatto il valore di taglio. vuv
Aaron Roth,

2
Un problema è che se aggiungi un bordo negativo tra ogni coppia di vertici, stai modificando il valore di tagli diversi con importi diversi. (Sottraiamo, diciamo, dal valore di cut ). Quindi abbiamo il problema che l'identità del taglio massimo nel grafico modificato non corrisponde necessariamente al taglio massimo nel grafico originale. S|S||S¯|aS
Aaron Roth,

1
@Peter: Nel paragrafo dopo quello che ho citato, scegli sufficientemente piccolo da rendere . Non puoi tranquillamente scegliere di essere sufficientemente grande in un paragrafo e sufficientemente piccolo nel prossimo! In particolare, non è possibile scegliere e per garantire che per tutti e che contemporaneamente abbiano . Questo perché per tutti implica che . f - 0,98 O P T a a d c + a - ( n - 2 ) d > c - d m 0 m n a - ( n - 2 ) d = f - 0,98 O P T c + a - ( n - 2 ) d > c -af0.98OPTaadc+a(n2)d>cdm0mna(n2)d=f0.98OPT0 m n f = a - ( n - 2 ) d > 0c+a(n2)d>cdm0mnf=a(n2)d>0
Warren Schudy,

2
@Warren, hai scelto abbastanza grande in modo che per tutti i tagli. Questo può essere fatto scegliendo sufficientemente grande. È quindi scegliere la giusta dimensione in modo che il taglio ottimale è appena al di sopra . Leggi gli ultimi due paragrafi della mia risposta. dd a 0cdm<0da0
Peter Shor,

11

Nell'articolo " Approximate Max Cut " di S. Har-Peled, l'ultima riga del documento menziona che la versione ponderata reale di max-cut è stata discussa in

Approssimazione della norma di taglio attraverso la disuguaglianza di grothendieck , Noga Alon e Assaf Naor, SIAM Journal on Computing, 2006.

È davvero un algoritmo SDP e mi sembra che il rapporto di approssimazione sia 0,56, anche se non sono sicuro che la riduzione discussa nel documento stia preservando il rapporto. Forse uno sguardo più approfondito sul foglio aiuterà!


il problema in Alon-Naor è simile ma non credo che ci sia un rapporto che preservi la riduzione. il loro problema è massimizzare dove e è una matrice . per max-cut e i suoi parenti stretti è fondamentale chex , y { ± 1 } n M n × n x = yxTMyx,y{±1}nMn×nx=y
Sasho Nikolov

@SashoNikolov: per la norma di taglio è irrilevante, fino a fattori costanti, sia che chiediamo o meno. x=y
david

@david Conosco questa riduzione, ma l'affermazione che è effettivamente vera è chedove tutti i massimi sono superiori a e è simmetrico con diagonale non negativa. Tuttavia, il problemapuò avere un valore molto diverso da (che è ciò di cui abbiamo bisogno per MaxCut). Ad esempio, considera , dove è la matrice all one. Puoi vedere è circa , mentre è . { - 1 , 1 } n M max x | x T M x | max x x T M x M = I - J J n × n max xmaxx|xTMx|maxx,yxTMy4maxx|xTMx|{1,1}nMmaxx|xTMx|maxxxTMxM=IJJn×n n / 2 max x | x T M x | n 2 -nmaxxxTMxn/2maxx|xTMx|n2n
Sasho Nikolov,

6

Il problema presenta un'approssimazione logaritmica mediante riduzione a un problema di programmazione quadratica.

Il problema MaxQP è il problema dell'approssimazione della forma quadratica per una matrice , dove maggiore di . MaxCut può essere scritto in questo modulo impostando dove è la matrice dell'identità e è la matrice dell'adiacenza. L' algoritmo MaxQP di Charikar e Wirth fornisce un'approssimazione per MaxQP purché abbia una diagonale non negativa. Quindi fintanto che , MaxCut con pesi negativi ha un'approssimazione logaritmica.n × n M x { ± 1 } n M = 1xTMxn×nMx{±1}nIAO(logn)Mwe0M=12n(we)I12AIAO(logn)Mwe0

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.