Vertex Cover applicazioni nel mondo reale


22

Quali applicazioni ha il Vertex Cover Problem nel mondo reale?

Quale settore o progetti di ricerca utilizzano software effettivamente implementati basati su risultati teorici per il problema della copertura dei vertici? In particolare, c'è uno dei seguenti risultati teorici implementati nel software utilizzato?

  • Algoritmi di approssimazione per Vertex Cover
  • Algoritmi a tempo esponenziale per Vertex Cover
  • Algoritmi tracciabili a parametri fissi per Vertex Cover
  • Algoritmi di kernel per Vertex Cover

6
uno dei buoni esempi è su wiki in condizioni di gara: en.wikipedia.org/wiki/Vertex_cover#Examples Anche come motivazione la gente fa un esempio di monitoraggio. Ad ogni vertice della soluzione, manteniamo un monitor. Personalmente penso che cercare su Google questa risposta sia un'opzione migliore che chiederla qui.
singhsumit,

5
Perché pensi che la copertura dei vertici abbia applicazioni nel mondo reale?
Jukka Suomela,

3
Immagino che la risposta sia che le copertine dei vertici non hanno applicazioni significative. Ma le persone le studiano perché le copertine dei vertici sono un semplice caso speciale del problema delle copertine. Le copertine dei set hanno applicazioni. E non puoi davvero capire la complessità computazionale del problema della copertina del set se non capisci prima i casi speciali semplici (e non così semplici) come le copertine dei vertici, le copertine dei bordi, i set dominanti, ecc.
Jukka Suomela

3
Come notato in en.wikipedia.org/wiki/Vertex_cover#Properties i vertici che non si trovano in una più piccola copertura di vertici formano un set indipendente più grande, quindi questi sono essenzialmente lo stesso problema. Esistono molte applicazioni del problema del set indipendente nel mondo reale, ad esempio perché ogni problema di soddisfazione dei vincoli può essere direttamente ridotto ad esso.
András Salamon,

5
@ András: questo è un buon punto, ma la corrispondenza vale solo per la più piccola copertina del vertice e il più grande set indipendente. Dal punto di vista degli algoritmi esatti, questi sono essenzialmente lo stesso problema, ma se siamo interessati ad algoritmi efficienti, di solito ci accontentiamo di un qualche tipo di approssimazione. E poi si scopre che il problema di copertura del vertice ha proprietà uniche che non sono condivise con il problema del set indipendente. Il mio esempio preferito viene dal calcolo distribuito: le piccole copertine dei vertici non richiedono la rottura della simmetria, grandi set indipendenti lo richiedono.
Jukka Suomela,

Risposte:


13

Alcuni problemi nell'area della biologia computazionale sembrano adatti ad applicazioni pratiche che non sono artificiali - o almeno non così artificiali come i problemi menzionati da Jukka Suomela.

Ad esempio, le persone spesso menzionano il lavoro di F. Abu-Khzam, R. Collins, M. Fellows, M. Langston, W. Suters C. Symons, algoritmi di Kernelization per il Vertex Cover Problem: Theory and Experiments , Proceedings of the 6th Workshop su Algorithm Engineering and Experiments (ALENEX), ACM / SIAM, Proc. Matematica applicata 115, 2004.

Come affermano gli autori, "Una delle applicazioni a cui abbiamo applicato i nostri metodi prevede la ricerca di alberi filogenetici basati su informazioni sul dominio delle proteine, ..." (sezione 8 del documento sopra).

Un sottoinsieme degli autori ha articoli simili su questo argomento, vedi, ad esempio, Faisal N. Abu-Khzam, Michael A. Langston, Pushkar Shanbhag e Christopher T. Symons, Algoritmi paralleli scalabili per problemi FPT , Algorithmica, Volume 45, Numero 3 , 269-284.

Non sono sicuro se le istanze utilizzate negli esperimenti fossero istanze del mondo reale o artificiali, ma spero che i due riferimenti ti diano un buon punto di partenza.


4
"almeno non artificiale come i problemi menzionati da Jukka Suomela" - e ho cercato di fare attenzione a non menzionare alcun problema qui!
Jukka Suomela,

9

Un esempio potrebbe essere che i bordi del grafico rappresentino strade mentre i vertici rappresentano l'incrocio. Il compito è posizionare le telecamere di sicurezza all'incrocio in modo da farti vedere l'intera città, ma è preferibile utilizzare il minor numero possibile di telecamere per risparmiare denaro.


21
Il problema con esempi come questo è che tendono ad essere esempi di giocattoli. Possono essere usati per illustrare la definizione, ma non credo sia possibile trovare riferimenti ad esempi del mondo reale in cui le persone hanno effettivamente scelto le posizioni delle telecamere di sicurezza trovando una copertura minima del vertice. Problemi del mondo reale come questo tendono ad avere vincoli aggiuntivi, molti dei quali non sono nemmeno ben definiti, e le soluzioni tendono ad essere avide e incrementali (installa prima un paio di telecamere di sicurezza nelle posizioni più critiche, quindi aggiungi altre quando avremo più fondi).
Jukka Suomela,

Ritirerei un po 'indietro l'obiezione di Jukka. È prezioso distillare un problema nella parte centrale che è computazionalmente o concettualmente impegnativo. Nonostante tutti gli ulteriori vincoli del mondo reale, penso che la principale difficoltà computazionale nella selezione delle telecamere per coprire uno spazio nel mondo reale sia essenzialmente un problema di copertura dei vertici. Ovviamente in questo caso un algoritmo di approssimazione va benissimo; non è necessario trovare la migliore copertura dei vertici. E in questo caso i grafici saranno abbastanza semplici, forse planari per esempio.
6005,

8

Puoi anche dare un'occhiata a http://www.dharwadker.org/pirzada/applications/ . Riguarda le applicazioni della teoria dei grafi. Indica anche alcune applicazioni per la copertura dei vertici, come nella biochimica e nella risoluzione del problema dell'assemblaggio SNP o in un problema di sicurezza della rete di computer.


1

Per me è stato in qualche modo sorprendente che la copertura minima del vertice sia un sottoproblema dell'algoritmo ungherese , vale a dire quando si determina un insieme minimo di linee orizzontali o verticali che coprono tutti gli zeri generati sottraendo i minimi di riga e colonna.

Ciò equivale a trovare una copertura minima del vertice in un grafico bipartito che, anche sorprendentemente, può essere risolto in tempi polinomiali ben descritti qui


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.