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)i ≤ n (dove l'indice i +2 viene interpretato come modulo n ). Per 0≤ j ≤ m , definire S j = { P E Q j : E ∈ C ∪ {{ 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 D ⊆ C è una copertina di [ m ], possiamo costruire una copertura T ⊆ S di dimensioni (| D | +1) ( m +1) di T = { P E Q j : E ∈ S ∪ {{ m +1}}, 0≤ j ≤ m }.

D'altra parte, lascia che T ⊆ S 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, T ∩ S 0 copre questi blocchi. Inoltre, T ∩ S 0 contiene P { m +1} poiché altrimenti non verrebbe coperto l'inserimento (2 m +1, 2 m +2). Osservare che ( T ∩ S 0 ) ∖ { P { m +1}} Corrisponde ad una copertura set in C . Pertanto, | T ∩ S 0 | ≥ k +1. Allo stesso modo, per qualsiasi 0≤ j ≤ m , | T ∩ S 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.