Imposta la copertina per le matrici di permutazione


16

Dato un insieme S di matrici di permutazione nxn (che è solo una piccola frazione delle matrici di permutazione n! Possibili), come possiamo trovare sottoinsiemi di dimensioni minime T di S in modo tale che l'aggiunta delle matrici di T abbia almeno 1 in ogni posizione?

Sono interessato a questo problema in cui S è un piccolo sottogruppo di S_n. Mi chiedo se sia possibile trovare (e implementare!) Algoritmi di approssimazione che sono molto più veloci degli algoritmi avidi (eseguire molte volte fino a quando non è diventato "fortunato", che è una procedura molto lenta, ma ha comunque dato dei limiti quasi ottimali in piccoli casi) o se l'inapprossimabilità garantisce che non posso.

Alcuni semplici fatti su questo problema: un gruppo ciclico di matrici di permutazione di lunghezza n risolve questo problema, ovviamente in modo ottimale. (Sono necessarie almeno n matrici perché ogni matrice di permutazione ne ha n e ne occorrono n ^ 2.)

I set S di cui sono interessato non contengono un gruppo n-ciclico.

Questo problema è un caso molto particolare di set cover. Infatti, se lasciamo che X sia l'insieme (1,2, ... n) * (1,2, ... n), con n ^ 2 elementi, allora ogni matrice di permutazione corrisponde a un sottoinsieme di dimensioni n, e I sto cercando il più piccolo sottocollection di questi sottoinsiemi che coprono X. Set cover stesso non è un buon modo per esaminare questo problema, perché l'approssimazione del problema generale di set cover.

L'unico motivo per cui questo problema non è troppo lento usando l'approccio avido è perché la simmetria nel gruppo di permutazione aiuta ad eliminare molta ridondanza. In particolare, se S è un sottogruppo e T è un piccolo sottoinsieme che è un set di copertura minimo, allora gli insiemi sT (moltiplicare T per qualsiasi elemento del gruppo s) sono ancora in S e sono ancora un set di copertura (ovviamente della stessa dimensione, quindi ancora minimo.) Nel caso ti stavi chiedendo, il caso di successo ha n ~ 30 e | S | ~ 1000, con risultati avidi fortunati con | T | ~ 37. I casi con n ~ 50 hanno dei limiti molto bassi che richiedono molto tempo per essere raggiunti.

Per riassumere, mi chiedo se ci sono approcci di approssimazione a questo problema o se è ancora abbastanza generale da rientrare in un teorema di inapprossimabilità, come nel caso del problema generale della copertura dell'insieme. Quali algoritmi vengono utilizzati per approssimare in pratica i problemi correlati? Sembra che ci possa essere qualcosa di possibile poiché i sottoinsiemi hanno tutte le stesse dimensioni e ogni elemento appare alla stessa piccola frequenza 1 / n.

-B


intendi davvero aggiungere? Suppongo che intendi invece una sorta di "unione", o davvero un ORing? perché altrimenti potresti finire con un 2 in una voce.
Suresh Venkat,

L'unione funziona bene. Se aggiungo, allora devo ottenere 'almeno' 1 in ogni voce. Il motivo per cui lo immagino come aggiunta è perché in realtà sono un matematico, e c'è ancora un significato matematico nell'aggiungere elementi di gruppo (che non dipende dal gruppo rappresentato come matrici di permutazione) ma non nell'unione delle matrici.
Brayden Ware,

Ma non esiste alcun modo utile per affermare questa condizione senza le matrici di permutazione, quindi sentiti libero di pensare all'unione. 2s (e dio vietano 3s o più) servirebbe solo come marker del fatto che non siamo nella soluzione onirica di esattamente n matrici aggiungendo alla matrice all 1s, il numero di 2s e superiore misurando quante matrici extra abbiamo usato. (Ogni matrice aggiuntiva aggiunge n alla somma totale alla fine.)
Brayden Ware,

Risposte:


10

Ecco un'analisi quasi rigorosa di approssimabilità per il caso in cui S non è richiesto di essere un sottogruppo del gruppo simmetrico.

Questo problema è un caso speciale di Set Cover e esiste un semplice algoritmo di approssimazione avido [Joh74]. Se denotiamo il k ° numero armonico come H k = ∑ i = 1 k 1 / i , l'algoritmo avido raggiunge un rapporto di approssimazione H n = ln n + Θ (1). (Esiste un algoritmo [DF97] che risulta in un rapporto di approssimazione leggermente migliore H n −1/2.) ( Modifica : la Revisione 2 e precedenti hanno dichiarato che il rapporto di approssimazione dell'algoritmo goloso è peggiore del valore corretto.)

Inoltre, questo è quasi ottimale nel senso seguente:

Teorema . Imposta copertura per matrici di permutazione non può essere approssimato in un rapporto di approssimazione (1− ε ) ln n per qualsiasi costante 0 < ε <1 a meno che NP ⊆ DTIME ( n O (log log n ) ).

Ecco uno schizzo di una prova. Scriviamo [ n ] = {1,…, n }. Costruiremo una riduzione da Set Cover:

Imposta
istanza di copertina : un numero intero positivo me una raccolta C di sottoinsiemi di [ m ].
Soluzione : un sottoinsieme D di C tale che l'unione degli insiemi in D sia uguale a [ m ].
Obiettivo : Ridurre a icona | D |.

È un famoso risultato di Feige [Fei98] che Set Cover non può essere approssimato in un rapporto di approssimazione (1− ε ) ln m per qualsiasi costante 0 < ε <1 a meno che NP ⊆ DTIME ( n O (log log n ) ).

Sia ( m , C ) un'istanza di Set Cover. Costruiremo un'istanza ( n , S ) di Set Cover per matrici di permutazione.

(0110)(1001)in (dove l'indice i +2 viene interpretato come modulo n ). Per 0≤ jm , definire S j = { P E Q j : EC ∪ {{ m +1}}} e S = S 0 ∪… ∪ S m .

Rivendica . Lasciare che k sia la dimensione della copertura minima [ m ] in C . Quindi la dimensione della copertura minima in S è uguale a ( k +1) ( m +1).

Schizzo di prova . Se DC è una copertina di [ m ], possiamo costruire una copertura TS di dimensioni (| D | +1) ( m +1) di T = { P E Q j : ES ∪ {{ m +1}}, 0≤ jm }.

D'altra parte, lascia che TS sia una copertura. Si noti che tutte le matrici in S 0 sono diagonali a blocchi con blocchi di dimensioni 2 × 2 e le altre matrici in S hanno 0 in questi blocchi. Pertanto, TS 0 copre questi blocchi. Inoltre, TS 0 contiene P { m +1} poiché altrimenti non verrebbe coperto l'inserimento (2 m +1, 2 m +2). Osservare che ( TS 0 ) ∖ { P { m +1}} Corrisponde ad una copertura set in C . Pertanto, | TS 0 | ≥ k +1. Allo stesso modo, per qualsiasi 0≤ jm , | TS j | ≥ k +1. Pertanto, | T | ≥ ( k +1) ( m +1). Schizzo di fine prova .

Secondo la rivendicazione, la riduzione costruita sopra conserva il rapporto di approssimazione. In particolare, stabilisce il teorema.

Riferimenti

[DF97] Rong-Chii Duh e Martin Fürer. Approssimazione della copertura k -set mediante ottimizzazione semi-locale. In Atti del ventinovesimo simposio annuale ACM sulla teoria dell'informatica (STOC) , pagg. 256–264, maggio 1997. http://dx.doi.org/10.1145/258533.258599

[Fei98] Uriel Feige. Una soglia di ln n per la copertura approssimativa del set. Journal of the ACM , 45 (4): 634–652, luglio 1998. http://dx.doi.org/10.1145/285055.285059

[Joh74] David S. Johnson. Algoritmi di approssimazione per problemi combinatori. Journal of Computer and System Sciences , 9 (3): 256–278, dicembre 1974. http://dx.doi.org/10.1016/S0022-0000(74)80044-9


3
Tsuyoshi, le tue risposte ultimamente sono state piuttosto impressionanti. Un giorno, una delle tue prove su questo sito sarà citata come Ito Lemma. :-)
Aaron Sterling

@Aaron: grazie per il tuo gentile commento. Si noti che la cosa più difficile nella domanda, vale a dire la restrizione al caso di un sottogruppo, è totalmente ignorata in questa risposta. È tempo di pensare!
Tsuyoshi Ito,

3
@Aaron: Non so se lo hai detto intenzionalmente, ma il lemma di Ito è preso ( en.wikipedia.org/wiki/Ito_lemma ).
Robin Kothari,

11

Durante la colazione a Bruxelles abbiamo dimostrato che questo problema è NP-Hard con una riduzione abbastanza breve da 3SAT. La nostra prova non porta a un risultato di inapprossimabilità (ancora). Ci penseremo di più.

All'incirca, trasformi un'istanza 3-SAT (con n variabili e clausole c) in una serie di permutazioni strutturate come segue:

1 ... n per la numerazione delle n variabili n + 1 utilizzate dal gadget variabile n + 2, n + 3 che rappresenta la prima clausola ... n + 2j, n + 2j + 1 che rappresenta la jth clausola n + 2c + 2 utilizzato dal garbage collector

la variabile xi è rappresentata dalla permutazione 1, ..., i-1, n + 1, i + 1, ..., n, i, ... e scambio n + 2j + 1, n + 2j per ogni clausola dove j dove appare xi; e la permutazione 1, ..., i-1, n + 1, i + 1, ..., n, i, ... e lo scambio n + 2j + 1, n + 2j per ogni clausola in cui j dove - appare xi.

Quindi utilizziamo il Garbage Collector per posizionare ciascun numero in una posizione in cui non potrebbe apparire diversamente. Per posizionare x in posizione y, mettiamo y in posizione n + 2c + 2 e n + 2c + 2 in posizione x. Avremo esattamente n + 2c-1 tali garbage collector per ogni variabile e 2 (n + 2c-1) per ogni clausola. Il 3SAT è soddisfacente se possiamo scegliere esattamente una delle 2 permutazioni per ogni variabile, se la copertura del set di permutazione ha una soluzione di dimensione n + (n + 2c-1) (n + 2c).

Probabilmente mancano alcuni dettagli minori per le piccole istanze.

Stefan.

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.