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

51 lines
1.7 KiB
Markdown
Raw Normal View History

2023-12-19 01:19:27 +00:00
[[algoritmo di approssimazione]] di [[minimal vertex cover problem]].
2023-11-17 14:23:05 +00:00
## Funzionamento
> [!Summary]
> Finchè ci sono [[arco di un grafo|archi]] nel [[grafo]]:
> 1. seleziona un [[arco di un grafo|arco]] qualsiasi
> 2. aggiungi i due [[nodo di un grafo|nodi]] che lo collegano al [[vertex cover]]
> 3. rimuovi dal [[grafo]] tutti gli [[arco di un grafo|archi]] adiacenti ai [[nodo di un grafo|nodi]] aggiunti
2023-12-19 01:19:27 +00:00
Gli [[arco di un grafo|archi]] selezionati formano un [[abbinamento massimale]].
2023-11-17 14:23:05 +00:00
## [[algoritmo corretto|Correttezza]]
> [!Success]
> Dato che l'algoritmo termina solo quando tutti gli [[arco di un grafo|archi]] sono stati aggiunti, il risultato è sicuramente un [[vertex cover]].
>
> Si ha sicuramente terminazione, perchè ogni iterazione aggiunge almeno un [[arco di un grafo|arco]] al [[vertex cover]].
## [[fattore di approssimazione|Fattore di approssimazione]]
2023-12-19 01:19:27 +00:00
Il [[vertex cover]] [[soluzione ottima|ottimale]] deve toccare tutti gli [[arco di un grafo|archi]], inclusi quelli selezionati dall'algoritmo.
Perchè ciò avvenga, almeno uno dei due [[nodo di un grafo|nodi]] che essi connettono devono essere selezionati dall'[[soluzione ottima]].
2023-11-17 14:23:05 +00:00
2023-12-19 01:19:27 +00:00
Pertanto, il [[fattore di approssimazione]] è:
2023-11-17 14:23:05 +00:00
$$
\Huge 2
$$
2023-12-19 01:19:27 +00:00
## [[costo computazionale]]
2023-11-17 14:23:05 +00:00
| Costo | [[notazione O-grande]] |
|-|-|
2023-12-19 01:19:27 +00:00
| [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/spazio]] | ... |
| [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo]] | $O(Edges)$ |
2023-11-17 14:23:05 +00:00
2023-12-19 01:19:27 +00:00
### [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/tempo|Tempo]]
2023-11-17 14:23:05 +00:00
Nel caso peggiore, il numero di iterazioni effettuate è pari alla metà del numero degli [[arco di un grafo|archi]], cioè:
$$
\frac
{Edges}
{2}
$$
In [[notazione asintotica]]:
$$
\Large O(Edges)
$$