Set massimo disgiunto: qual è l'effettivo fattore di approssimazione dell'algoritmo goloso?


21

Considera il problema di trovare un set massimo disgiunto - un set massimo di forme geometriche non sovrapposte, da una determinata collezione di candidati. Questo è un problema NP completo, ma in molti casi il seguente algoritmo avido produce un'approssimazione a fattore costante:

  • Per ogni forma candidata x , calcola il suo numero di intersezione disgiunta = il maggior numero di forme disgiunte che intersecano x .DIN(x)
  • Seleziona una forma candidata con un DIN più piccolo ( ). Rimuovilo e tutte le forme che interseca.argminxDIN(x)
  • Continuare fino a quando non rimangono più candidati.

Ad esempio, considera la figura seguente dalla pagina di Wikipedia:

inserisci qui la descrizione dell'immagine

Il disco verde interseca altri 5 dischi, ma la sua DIN è 3 (i 3 dischi rossi sono disgiunti). I dischi rossi più in alto e più in basso intersecano altri 2 dischi, ma si intersecano essi stessi, quindi il loro DIN è 1. I dischi gialli hanno un DIN di 2. L'algoritmo greedy seleziona quindi il disco rosso più in alto o più in basso.

Se il minimo DIN può essere limitato da una costante, l'algoritmo greedy è un'approssimazione polinomiale a fattore costante.

Ad esempio, se tutte le forme candidate sono dischi di unità, Marathe et al (1995) mostrano che esiste sempre un disco con una DIN di massimo 3: il disco più a sinistra (il disco con la coordinata x più piccola) si interseca al massimo con altri 3 dischi disgiunti . Pertanto l'algoritmo greedy produce un'approssimazione di 3 perché ottiene 1 disco per ciascuno (al massimo) 3 dischi nella soluzione ottimale.

Allo stesso modo, se tutte le forme candidate sono dischi di dimensioni arbitrarie, l'algoritmo greedy produce un'approssimazione di 5, poiché il disco più piccolo si interseca al massimo con altri 5 dischi disgiunti, ovvero il minimo DIN è al massimo 5.

Fin qui tutto bene, ma questi fattori di 3 e 5 sono stretti? Non sono sicuro.

Considera la figura sopra. Selezionando il disco più a sinistra (verde) troverai un set disgiunto di dimensione 1, che è in effetti un'approssimazione 3 al set massimo disgiunto di dimensione 3 (rosso), ma l'algoritmo avido non selezionerà il disco verde - selezionerà il disco rosso superiore / inferiore, il cui DIN è 1. In questo caso l'algoritmo avido troverà la soluzione ottimale.

Non sono riuscito a trovare un contro-esempio per il generale , in cui l'algoritmo avido trova un set disgiunto con dischi di unità mentre il set disgiunto massimo ha . In realtà, non sono nemmeno riuscito a costruire un contro-esempio generale in cui il minimo DIN è effettivamente 3. Il migliore che potrei trovare è il seguente, in cui ogni disco dell'unità si interseca al massimo con altri 2 dischi disgiunti (ovvero il minimo DIN è 2). Ma anche qui, l'algoritmo avido trova la soluzione ottimale anziché un'approssimazione 2:nn3n

inserisci qui la descrizione dell'immagine

Le mie domande sono:

  • Qual è l' attuale DIN max min nelle raccolte di unità-dischi? Dischi di dimensioni arbitrarie?
  • Qual è il reale fattore di approssimazione dell'algoritmo greedy per le raccolte di unità-dischi? Per dischi di dimensioni arbitrarie? (questo fattore è al massimo grande quanto il DIN min massimo, ma può essere più piccolo).

AGGIORNAMENTO: per ogni k-tupla di forme, , definire = il maggior numero di forme disgiunte intersecate dalla loro unione . Definire come DIN minimo di tutte le k-tuple di forme disgiunte.x1,...,xkDIN(x1,...,xk)x1...xkminDINk

Ad esempio, nella risposta di Yury di seguito, , perché ogni cerchio interseca altri 3 cerchi. , perché è possibile selezionare 2 cerchi disgiunti, uno dal cerchio esterno e uno dal cerchio interno, che insieme intersecano solo altri 4 cerchi. Per ogni , .minDIN1=3minDIN2=4kminDINkk+2

PENSO che il rapporto di approssimazione dell'algoritmo avido possa essere limitato da , perché, per ogni forma nella soluzione ottimale, abbiamo almeno forme nell'output dell'algoritmo. È corretto?minDINkkminDINkk

EDIT: sto leggendo il libro eccellente Problemi di ricerca in geometria discreta . Mentre non ho trovato questo problema esatto, ho trovato un problema che sembra correlato. Nella sezione "2.5 Imballaggi sottili con molti vicini", ci sono esempi di imballaggi circolari in cui ogni cerchio tocca 5 altri cerchi. Mi chiedo se un tale imballaggio possa produrre una configurazione di cerchi con DIN = 5.


Potrebbe essere interessante notare che il calcolo della DIN può essere difficile quanto il calcolo di un set indipendente massimo. Ad esempio, nel caso dei grafici a disco (anziché dei grafici a disco dell'unità) si potrebbe aggiungere un disco grande che interseca tutti gli altri oggetti nella disposizione; calcolare il suo DIN corrisponde al calcolo di un set indipendente massimo nella disposizione originale.
Bart Jansen,

2
@BartJansen Vero, ma l'algoritmo avido in realtà non ha bisogno di calcolare il DIN per ogni forma - ha solo bisogno di una forma con il minimo DIN. Poiché il minimo DIN è al massimo 5 (nel caso di dischi di dimensioni arbitrarie), deve solo controllare tutti i sottoinsiemi con al massimo 6 dischi e vedere se uno di essi è indipendente. Questo può essere fatto nel tempo per ogni forma. O(n6)
Erel Segal-Halevi,

Per la tua ultima domanda: sì, è corretto.
domotorp,

Risposte:


19

Qual è l'attuale DIN minimo massimo nelle raccolte di unità-dischi?

Sono 3.inserisci qui la descrizione dell'immagine


Ci sono 32 dischi di unità qui, disposti in 2 livelli di 16. Ogni disco interseca 3 dischi disgiunti - 2 sul proprio livello e 1 sull'altro livello. Ma l'algoritmo avido troverà comunque una soluzione ottimale, con 16 dischi.
Erel Segal-Halevi,

Sì, questo risponde solo a 1/4 della domanda :-)
Yury il
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.