1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-24 19:24:19 +00:00
appunti-steffo/9 - Algoritmi distribuiti/2 - Algoritmi di approssimazione/2 - Approssimazione di vertex cover/approssimazione a 2 di minimal vertex cover standard.md

1.7 KiB

algoritmo di approssimazione di minimal vertex cover problem.

Funzionamento

[!Summary] Finchè ci sono arco di un grafo nel grafo:

  1. seleziona un arco di un grafo qualsiasi
  2. aggiungi i due nodo di un grafo che lo collegano al vertex cover
  3. rimuovi dal grafo tutti gli arco di un grafo adiacenti ai nodo di un grafo aggiunti

Gli arco di un grafo selezionati formano un abbinamento massimale.

algoritmo corretto

[!Success] Dato che l'algoritmo termina solo quando tutti gli arco di un grafo sono stati aggiunti, il risultato è sicuramente un vertex cover.

Si ha sicuramente terminazione, perchè ogni iterazione aggiunge almeno un arco di un grafo al vertex cover.

fattore di approssimazione

Il vertex cover soluzione ottima deve toccare tutti gli arco di un grafo, inclusi quelli selezionati dall'algoritmo.

Perchè ciò avvenga, almeno uno dei due nodo di un grafo che essi connettono devono essere selezionati dall'soluzione ottima.

Pertanto, il fattore di approssimazione è: \Huge 2

costo computazionale

Costo notazione O-grande
9 - Algoritmi distribuiti/1 - Problemi algoritmici/spazio ...
9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo O(Edges)

9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo

Nel caso peggiore, il numero di iterazioni effettuate è pari alla metà del numero degli arco di un grafo, cioè: \frac {Edges} {2}

In notazione asintotica: \Large O(Edges)