Dato un grafo non orientato G=(V,E), un sottoinsieme V’ non proprio di V è detto vertex cover per G se per ogni arco di G almeno uno dei vertici ad esso incidenti appartiene a V’.
Formalmente, tale proprietà di V’ è espressa come segue.
Definizione. V’ è un vertex cover per il grafo G=(V,E) se per ogni arco [i,j] in E, almeno una delle seguenti condizioni è verificata:
Dato un grafo non orientato G=(V,E), il Problema del Vertex Cover Minimo (VC) consiste nel trovare un vertex cover per G di cardinalità minima.
VC è un problema “difficile” dal punto di vista computazionale.
Studieremo in quanto segue la sua descrizione logico-matematica ed un algoritmo 2-approssimato di tipo random.
Introducendo le seguenti variabili di decisione
si ottiene la seguente formulazione matematica per il Problema del Vertex Cover Minimo di G:
Come già sottolineato, il Problema del Vertex Cover Minimo di un grafo G è un problema “difficile”, per cui a tutt’oggi un qualunque algoritmo esatto per esso ha complessità computazionale superpolinomiale.
Tuttavia , è possibile individuare una soluzione approssimata in tempo polinomiale.
In quanto segue verrà descritto un algoritmo polinomiale di approssimazione che, preso in input un grafo non orientato G=(V,E), trova con complessità un vertex cover V’ per G di taglia al più due volte la taglia di un vertex cover ottimo V*, ossia
2-approx-vc: un algoritmo polinomiale di approssimazione per il Problema del Vertex Cover Minimo di un grafo.
Teorema. L’insieme V’ restituito in output da 2-approx-vc è un vertex cover per G tale che
Dimostrazione. V’ restituito in output è un vertex cover per G per costruzione.
Indichiamo con A l’insieme degli archi selezionati a caso da E’ (linea 3).
Per ogni arco [i,j] in A, i e j sono aggiunti a V’ (linea 4), per cui si ha che |V’|=2|A|.
Inoltre, vengono rimossi da E’ tutti gli archi incidenti in almeno uno fra i vertici i e j (linea 5), per cui due archi in A non possono essere adiacenti. Conseguenza di quest’ultima osservazione è che
da cui la tesi.
Esempio 1. Si applichi 2-approx-vc per trovare un vertex cover approssimato per il grafo riportato in Figura (a).
Inizialmente, E’:=E.
I it.: supponiamo di scegliere da E’ l’arco [1,2].
V’={1,2}, mentre E’={[4,3]}.
II it.: l’unico arco che può essere selezionato da E’ è [4,3].
V’= {1,2,3,4}=V, mentre E’ diventa un ins. vuoto –> STOP.
Nota: |V’|=2 |V*|.
Se applicassimo 2-approx-vc per trovare un vertex cover approssimato per il grafo riportato in Figura (b) e alla I it. l’algoritmo scegliesse ancora una volta l’arco [1,2], allora il vertex cover V’={1,2} restituito in output sarebbe un vertex cover ottimo.
Esempio. Si applichi 2-approx-vc per trovare un vertex cover approssimato per il grafo riportato in Figura.
Inizialmente, E’:=E.
I it.: supponiamo di scegliere da E’ l’arco [1,2].
V’={1,2}, mentre E’ diventa un insieme vuoto –> STOP.
1. Presentazione del Corso ed Introduzione alla Programmazione Mat...
2. Introduzione ai Problemi di PL
6. Algoritmo del Simplesso Revisionato
7. Algoritmo del Simplesso Tabellare
10. Soluzione di Problemi di PL tramite Algoritmo del Simplesso
11. Problemi di Programmazione Lineare Intera
12. PLI con matrice dei vincoli unimodulare
13. Problemi di PLI: Branch & Bound
14. Il Problema dello Zaino 0/1 e il Problema dello Zaino Frazionar...
15. Il Problema dello Zaino 0/1: un algoritmo B&B
16. Il Problema dello Zaino 0/1: un algoritmo di Programmazione Din...
17. Richiami di Teoria dei Grafi: definizioni e notazioni
18. Il Problema del Vertex Cover Minimo di un Grafo
19. Il Problema dell'Albero di Copertura Minimo (MST)
20. Il Problema dell'Albero di Copertura Minimo (MST): esempio
D. Bertsimas e J.N. Tsitsiklis, Introduction to Linear Optimization, Belmont - Massachusetts (USA), Dynamic Ideas and Athena Scientific, 2008.
M. Fischetti, Lezioni di Ricerca Operativa, Padova, Edizioni Libreria Progetto Padova, 1999.
S. Martello, Fondamenti di Ricerca Operativa L-A, Bologna, Società Editrice Esculapio, 2004.
S. Martello, Ricerca Operativa LS, Bologna, Società Editrice Esculapio, 2004.
Dispense del Corso di Ricerca Operativa presso l'Università degli Studi di Pisa.
Dispense ed Appunti del Corso prodotte da Paola Festa.