Esiste un algoritmo temporale polinomiale per determinare se l'intervallo di un insieme di matrici contiene una matrice di permutazione?


30

Vorrei trovare un algoritmo temporale polinomiale che determina se l'intervallo di un determinato set di matrici contiene una matrice di permutazione.

Se qualcuno sa se questo problema è di una diversa classe di complessità, sarebbe altrettanto utile.


EDIT: Ho taggato questa domanda con Linear Programming, perché ho il forte sospetto che se esistesse una soluzione del genere, sarebbe una specie di algoritmo di programmazione lineare. La ragione per cui credo che ciò avvenga perché i punti estremi del politipo di Birkhoff sono proprio le matrici di permutazione. Se poi potessi trovare una funzione oggettiva che è massimizzata o minimizzata solo sui vertici del politipo di Birkhoff, potresti vincolare la tua funzione all'intersezione del politopo e il tuo sottospazio vettoriale, quindi massimizzalo in tempo polinomiale. Se questo valore fosse una matrice di permutazione, sapresti che l'insieme conteneva una permutazione. Questi sono i miei pensieri sull'argomento.


EDIT 2: Dopo qualche altro pensiero, mi sembra che le matrici di permutazione siano precisamente gli elementi del Birkhoff Polytope con norma euclidea n , consideriamo il polytope Birkhoff come lo scafo convesso dellematrici di permutazionen×n. Forse potrebbe anche essere significativo.


EDIT 3: ho aggiunto il tag di programmazione semidefinito, perché dopo il mio commento precedente, sto iniziando a pensare che una soluzione di programmazione semidefinita potrebbe essere possibile poiché ora è un algoritmo di ottimizzazione quadratica a vincolo lineare.


2
Che tipo di voci dovrebbero avere le matrici di input?

Le voci potrebbero essere in qualsiasi campo, c'è una certa libertà su come impostare le matrici; tuttavia, si desidera un campo sufficientemente grande (quindi un campo della caratteristica 2 non sarebbe utile ad esempio).
Nick,

Può spiegare qual è la durata di una serie di matrici?
Mohammad Al-Turkistany,

Mohammad: Penso che sia una combinazione lineare di set di matrici.
Vivek Bagaria,

4
@DavidRicherby Penso che la confusione di Mohammad derivi dal fatto che di solito pensiamo alle matrici come a rappresentare mappe lineari e l'intervallo di mappe lineari viene talvolta usato come un altro termine per il suo intervallo. Ma non ha senso qui, quindi immagino che dovremmo pensare alle matrici come elementi di uno spazio vettoriale
Sasho Nikolov,

Risposte:


5

Teorema. Il problema nel post è NP-difficile, per riduzione dal sottoinsieme-somma.

Naturalmente ne consegue che è improbabile che il problema abbia un algoritmo poly-time come richiesto dall'op.


Ecco l'intuizione. Il problema nel post è

  • Esiste una matrice di permutazione nell'intervallo di una data serie di matrici?

Questo è essenzialmente lo stesso di

  • Esiste una matrice di permutazione che (pensando alla matrice come un vettore) soddisfa alcuni vincoli lineari?

Questo a sua volta è lo stesso di

  • Esiste una corrispondenza perfetta (in un grafico bipartito completo) il cui vettore di incidenza soddisfa alcuni vincoli lineari?

Ridurre la somma dei sottoinsiemi a quest'ultimo problema è un esercizio standard.

Ecco la prova dettagliata.


Definire il seguente problema intermedio:

Matching-Somma:

input: grafico completo bipartito con pesi dei bordi interi non negativi e bersaglio intero non negativo TG=(U,V,E)T .

Uscita: fa contiene una perfetta corrispondenza di peso esattamente T ?GT


Lemma 1 . Il poli-tempo sottoinsieme-somma si riduce a somma corrispondente.

Dimostrare che questo è un normale esercizio di compiti a casa. La prova è alla fine.

Lemma 2. Il poli-tempo di somma-somma si riduce al problema nel post.

Prova di Lemma 2. Correggi un input di somma corrispondente: un grafico bipartito completo con pesi interi interi non negativi w : U × V N + e target T N + , dove U = { u 1 , , u n } e V = { v 1 , , v n } . Per ogni ioG=(U,V,E)w:U×VN+TN+U={u1,,un}V={v1,,vn} , definiscono M ( i j ) come matrice in R ( n + 1 ) × ( n + 1 ) dove M ( i j ) i j = T e M ( i j ) n + 1 , n + 1 = w ( ui,j{1,2,,n}M(ij)R(n+1)×(n+1)Mij(ij)=T e tutte le altre voci sono zero. La riduzione genera il seguente set di matrici: { M ( i j ) : i , j { 1 , , n } } . Questo definisce la riduzione.Mn+1,n+1(ij)=w(ui,vj)

{M(ij):i,j{1,,n}}.

Richiesta. L'intervallo di questo insieme di matrici è costituito da quelle matrici soddisfano i vincoli lineari M h , n + 1 = M n + 1 , h = 0 per tutti h n e il vincolo lineare MR(n+1)×(n+1)Mh,n+1=Mn+1,h=0hn

Σio=1nΣj=1nMiojw(uio,vj)=TMn+1,n+1.

( Prova della rivendicazione. Per ispezione ogni matrice nell'insieme soddisfa questi vincoli, quindi ogni combinazione lineare di quelle matrici lo fa. Al contrario, se M R ( n + 1 ) × ( n + 1 ) soddisfa i vincoli , allora M è uguale alla combinazione lineare M = n i = 1n j = 1 α i j M ( i jM(ioj)MR(n+1)×(n+1)M Delle matrici, dove α i j = M i j / M ( i j ) i j = M i j / T. Si noti in particolare che, con le varie definizioni e i vincoli lineari, M n + 1 , n + 1 = i j α i j w ( u i , v j ) = i j MM'=Σio=1nΣj=1nαiojM(ioj)αioj=Mioj/Mioj(ioj)=Mioj/T Questo dimostra l'affermazione.)

Mn+1,n+1=ijαijw(ui,vj)=ijMijw(ui,vj)/T=(TMn+1,n+1)/T=Mn+1,n+1.

Ora mostriamo che la riduzione è corretta. Cioè, il dato grafico ha una corrispondenza peso- T se e solo se l'insieme di matrici si estende su una matrice di permutazione.GT

( Solo se. ) Supponiamo prima di tutto il grafico dato M n + 1 , h = 0 per tutte le h n . Quindi abbia un peso- T corrispondente perfettamente a M . Sia M { 0 , 1 } ( n + 1 ) × ( n + 1 ) lamatrice di permutazione n × n corrispondente, con una riga e una colonna aggiuntive aggiunte in modo tale che M n + 1 , n + 1 = 1 e M h , n +GTMM{0,1}(n+1)×(n+1)n×nMn+1,n+1=1 n i = 1n j = 1 M i j w( u i , v j )è il peso di M , cioèT, e M n + 1 , n + 1 =1Mh,n+1=Mn+1,h=0hni=1nj=1nMijw(ui,vj)MTMn+1,n+1=1, Così i vincoli lineari nella stiva rivendicazione, e la durata di un dato insieme di matrici contiene la matrice di permutazione .M

( Se. ) Al contrario, si supponga che la campata contiene qualsiasi matrice di permutazione . Secondo la rivendicazione, l'unica voce diversa da zero nella riga n + 1 o nella colonna n + 1 è M n + 1 , n + 1 , quindi (poiché M è una matrice di permutazione) deve essere che M n + 1 , n + 1 = 1 . Quindi l'eliminazione dell'ultima riga e colonna fornisce una matrice di permutazione n × n . Sia M GMn+1n+1Mn+1,n+1MMn+1,n+1=1n×nM sia il perfetto abbinamento diG corrispondente a quella matrice di permutazione . Il peso di M ' è Σ n i = 1 Σ n j = 1 M i j w ( u i , v j ) , che (dal claim) è T M n + 1 , n + 1 = T . Quindi il grafico dato ha una corrispondenza peso- T , dimostrando Lemma 2. n×nMi=1nj=1nMijw(ui,vj)TMn+1,n+1=TT  

Ecco la prova ritardata di Lemma 1:

Dimostrazione di Lemma 1. Data l'istanza Somma-sottoinsieme , la riduzione genera l'istanza Somma-corrispondente ( G = ( U , V , E ) , T ) dove U = { u 1 , u 2 , , u 2 n } , V = { v 1 , v 2 ,(w,T)N+n×N+(G=(U,V,E),T)U={u1,u2,,u2n} , per ogni i { 1 , ... , n } , bordo ( u i , v i ) ha un peso w i , e tutti i bordi rimanenti hanno peso nullo.V={v1,v2,,v2n}i{1,,n}(ui,vi)wi

Per qualsiasi abbinamento perfetto con i pesi dei bordi che si sommano a , l'insieme S = { i : ( u i , v i ) M , i n } è una soluzione per l'istanza di somma sottoinsieme fornita (poiché questi sono i soli non- zero spigoli in M ).TS={i:(ui,vi)M,in}M

Viceversa, data una soluzione all'istanza di Somma-sottoinsieme, dire con i S w i = T , l'insieme dei bordi { ( u i , v i ) : i S } è una corrispondenza parziale con il peso T , che si estende facilmente alla corrispondenza perfetta peso- T aggiungendo, ad esempio, la seguente serie di bordi (peso zero):S{1,,n}iSwi=T{(ui,vi):iS}TT

{(ui+n,vi+n):iS}i{1,,n}S{(ui,vi+n),(ui+n,vi)}.

Ciò dimostra Lemma 1. Il teorema segue da Lemma 1 e 2.    


ps A parte questo, secondo questa risposta , la restrizione della somma dei corrispondenti alle istanze con pesi di bordo polinomialmente limitati è in P. Ma sono sicuro che la restrizione del problema nel post alle matrici con polinomialmente limitato (intero ) le voci rimangono NP difficili.


2
Sembra che prendi lo scafo convesso delle matrici piuttosto che la campata. L'intervallo delle matrici che hai descritto è l'intero spazio delle matrici. Oppure mi sfugge qualcosa?
Vanessa,

@Squark, hai ragione - ho frainteso "span". Grazie. Ho corretto la prova per usare la definizione corretta di span (come qualsiasi combinazione lineare delle matrici.)
Neal Young

Bello! Penso che sarebbe meglio moltiplicare la definizione di per w ( u i , v j ) , in modo da non dover dividere per qualcosa che potrebbe essere 0? Inoltre, sembra che la dimostrazione possa essere in qualche modo semplificata combinando le due riduzioni senza il problema intermedio. M(ij)w(ui,vj)
Vanessa,

Un buon punto per dividere per zero. Lo aggiusterò. Lascerò separate le due riduzioni, per me è più intuitivo in questo modo.
Neal Young,

3

Per quanto riguarda il problema di calcolare il diametro di un politopo presentato come intersezione di semispazi, il problema è NP-difficile in generale, e anche NP-difficile da approssimare all'interno di qualsiasi fattore costante, vedi il documento di Brieden e riferimenti in esso. Penso che per i politopi simmetrici centralmente, un SDP dia una approssimazione dovemè il numero di disuguaglianze che definiscono il politopo. Lo schizzo sotto la linea.O(logm)m

Nel tuo caso il birkhoff polytope non è simmetrico centralmente, ma lavorare con lo scafo convesso di P e - P è sufficiente per i tuoi scopi. Penso che questo polytope "simmetrico di Birkhoff" possa essere rappresentato come l'insieme di tutte le matrici quadrate M che soddisfano:PPPM

i,j:iMij=jMij=c

i,j:1Mij1

1c1

Se questa è una rappresentazione corretta (non sicuro), puoi semplicemente aggiungere i vincoli che limitano questo politopo al tuo sottospazio specifico. Non è difficile adattare l'SDP al di sotto della linea a questa rappresentazione, ma ho scelto di non esaminarlo per mantenere gestibile la notazione.

Non sono sicuro del diametro approssimativo per il tuo problema: probabilmente ti consente di decidere se il sottospazio dato è vicino a una matrice di permutazione o lontano da tutti, ma non ho elaborato i calcoli.


Consentitemi di concludere con uno schizzo dell'arrotondamento di SDP (che è una tariffa abbastanza standard). Sia un politipo simmetrico centralmente, dove A è m × n . Definire il programma vettoriale:P={x:bAxb}Am×n

α2=maxi=1nvi22

soggetto a:

1im:j=1nAijvj22bi2

vionPαP

αO(logm)diam(P)(vio)io=1nαXPαO(logm). L'algoritmo è solo una proiezione casuale: scegli una casualentridimensionale g dove ciascuno gioè un gaussiano standard. ImpostatoX~io=gTvio. Per proprietà standard dei gaussiani:

E X~22=α2
iom:E |(UNX~)io|2Bio2    E maxio=1m|(UNX~)io|BioClogm.
dove l'ultimo limite vale per abbastanza grande C (questo è un dato standard sul massimo di m variabili aleatorie subguassiane e possono essere provate usando il limite di Chernoff).

Le due equazioni implicano già che esiste un X tale che XP e X221Clogmα. Oppure, usando i limiti di concentrazione, puoi dimostrarlo con probabilità costante12ClogmX~P e X~212α.

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.