Ponte (teoria dei grafi)
Nella teoria dei grafi, un ponte (conosciuto anche come bridge, cut-edge, cut arc o istmo) è un arco la cui eliminazione aumenta il numero di componenti connesse. Equivalentemente, un arco è un ponte se e solo se non è contenuto in nessun ciclo.
Un grafo senza ponti è equivalente a un grafo con grado di connettività pari a 2 per ogni componente non banale. Un ponte può essere individuato anche tramite l'analisi della matrice di connessione.
La congettura Cycle double cover
modificaUn importante problema aperto che riguarda i ponti è la congettura cycle double cover proposta da Seymour e Szekeres (1978 e 1979, indipendentemente), la quale dice che ogni grafo senza ponti ammette un insieme di cicli che contengono ogni arco esattamente due volte.[1]
Algoritmo per la ricerca di ponti
modificaUn algoritmo con costo computazionale per trovare ponti in un grafo connesso fu inventato da Robert Tarjan nel 1974.[2] Esiste inoltre una versione distribuita dell'algoritmo. [3]
Algoritmo:
- Trovare un albero di copertura minimo di
- Creare un albero radicato dall'albero di copertura
- Percorrere l'albero in pre-order e numerare i nodi. I nodi più vicini alla radice hanno un numero inferiore rispetto ai loro figli.
- Per ogni nodo da (il nodo foglia dell'albero) a 1 (la radice) esegui:
- Conta il numero di discendenti per quel nodo.
- Conta e
- Per ogni tale che : se and allora è un ponte.
Definizioni: Un arco tra il nodo e che non appartiene all'albero è indicato da . Un arco dell'albero con come padre è indicato da .
dove è il nodo padre di .
è il numero dei discendenti di (incluso se stesso) nell'albero di copertura radicato.
e sono le etichette dei nodi con l'etichetta di preordine minore e maggiore raggiungibile da attraverso il sottoalbero con radice , e al massimo un arco che non appartiene all'albero.
Questo algoritmo funziona perché , e possono tutti essere calcolati per un nodo fornito, e di conseguenza conosciamo i loro valori su tutto il sottoalbero radicato in . Inoltre, se e solo se l'arco è un ponte, allora è chiaro che nel sottoalbero radicato in , deve essere impossibile raggiungere qualunque nodo che non è un discendente di . Questo è facile da verificare perché il sottoalbero radicato in (cioè tutti i discendenti di w) consiste di tutti i nodi quindi possiamo semplicemente controllare se sono in questo insieme oppure no per verificare se un arco è un ponte.
Ponti negli alberi
modificaUn arco di un albero è un ponte in se e solo se il grado dei nodi e è maggiore di 1. I ponti sono anche definiti per i grafi orientati [4]
Note
modifica- ^ Cycle double cover, su cems.uvm.edu. URL consultato il 23 giugno 2011 (archiviato dall'url originale il 20 luglio 2011).
- ^ "A note on finding the bridges of a graph", Robert Endre Tarjan, Information Processing Letters, Aprile 1974 pp160-161.
- ^ David Pritchard
- ^ Rao, S.B.; Ramachandra Rao, A. Il numero di ponti e punti di articolazione in un grafo fortemente orientato. (English) Acta Math. Acad. Sci. Hung. 22, 411-421 (1972).
Bibliografia
modifica- Béla Bollobás, Modern graph theory, GTM 184, Springer Verlag, 1998. Page 6.
- Robert Endre Tarjan, A note on finding the bridges of a graph, in Information Processing Letters, vol. 2, n. 6, pp. 160–161, DOI:10.1016/0020-0190(74)90003-9.
Controllo di autorità | LCCN (EN) sh90003473 · J9U (EN, HE) 987007530013105171 |
---|