Albero (grafo)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Un albero etichettato con sette vertici e sei cammini.

Inteoria dei grafi,unalberoè ungrafonon orientato nel quale due vertici qualsiasi sono connessi da uno e un solo cammino (grafo non orientato, connesso e privo di cicli).

Si definisce inoltreforestaun grafo non orientato nel quale due vertici qualsiasi sono connessi al più da un cammino (grafo non orientato e privo di cicli). Una foresta risulta costituita da unaunione disgiuntadi alberi (e questa proprietà giustifica il suo nome); questi alberi costituiscono le sue componenti connesse massimali.

Si dicealberoun grafoconnesso, non orientato e senza cicli. Per essere tale, il grafo deve rispettare almeno una delle seguenti richieste:

  • Possedere un solo cammino per ogni coppia di vertici.
  • Essereaciclico massimaleossia, se gli si aggiunge un altro spigolo per unire due suoi nodi si forma un ciclo.
  • Costituire ungrafo connesso minimaleossia, se si rimuove un suo spigolo si perde la connessione.

Seha un numero finito divertici, gli enunciati precedenti sono equivalenti ai due che seguono:

  • è connesso e possiedespigoli.
  • è aciclico (senza cicli) e possiedespigoli.

Si può definire albero un grafo connesso tale che eliminando uno qualsiasi dei suoi spigoli si perde la connessione. Un albero si può quindi apprezzare come grafo connesso economico, in quanto mantiene la connessione impiegando il minimo numero possibile di spigoli.

Si può poi definire albero un grafo aciclico tale che aggiungendo uno spigolo tra due suoi nodi non direttamente connessi si introduce necessariamente un ciclo. Un albero quindi si può apprezzare come grafo aciclico con il maggior numero possibile di connessioni.

Dato un grafo non orientatosi definiscealbero di coperturadiun alberotale cheeè un sottoinsieme diSenon è connesso tale albero non esiste.

Si definisceforestaun grafo non orientato aciclico. L'insieme delle foreste include propriamente l'insieme degli alberi, in quanto le foreste connesse sono gli alberi e vi sono foreste non connesse (facilmente individuabili). In una foresta, oltre a eventuali nodi isolati, vi sono sicuramente nodi di valenza 1 che vengono chiamatinodi pendenti:infatti, preso un nodo q qualsiasi, se si individua un cammino che inizia in q cercando di estenderlo progressivamente, ad un certo punto si incontra un nodo di valenza 1, perché in caso contrario si costruirebbe un ciclo, contro l'aciclicità delle foreste. In un albero si trova quindi un nodo pendente. Se si elimina un tale nodo e lo spigolo che incide in esso si ottiene ancora un albero, perché si mantiene la sua connessione e la sua aciclicità.

Procedendo con queste eliminazioni si deve arrivare a un grafo nodo.

Ilgrafo nodocostituito da un nodo e nessuno spigolo, è un albero (ed anche una foresta).

Viene chiamatogradodi un nodo il numero di figli, o di sottoalberi, di un nodo.

Il livello di un nodo in un albero è uguale a 1 più il livello del nodo padre, intendendo che la radice ha livello 0. Per esempio un nodo figlio della radice sarà di livello 1, suo figlio sarà di livello 2.

L'altezza di un albero è il massimo fra i livelli di tutti i suoi nodi.

Ogni albero binario confoglie ha un'altezza maggiore o uguale a

Procedendo per induzione sul numerodi foglie dell'albero considerato si ha che sela proprietà è banalmente verificata (infatti se c'è una sola foglia sarà che l'albero è composto dalla sola radice e quindi l'altezza, per come è definita, sarà 0). Supponiamo la proprietà vera per ognitale chee consideriamo un albero binarioconfoglie di altezza minima. Sianoei due sottoalberi che hanno per radice i figli della radice diSi osserva che ciascuno di questi ha meno foglie tra i due e ne possiede almeno(nel caso dinumero pari). Allora per ipotesi di induzione l'altezza di quest'ultimo è maggiore o uguale aquindi anche l'altezza diè certamente maggiore o uguale a.

Lunghezza del cammino

[modifica|modifica wikitesto]

La lunghezza del cammino interno di un albero binario è data dalla somma dei livelli dei nodi interni, mentre la lunghezza del cammino esterno di un albero binario è data dalla somma dei livelli dei nodi esterni.

Classi di isomorfismo

[modifica|modifica wikitesto]

Gli alberi (o meglio le classi di isomorfismo degli alberi) quindi si possono disporre su diversi livelli caratterizzati dal numerodei loro nodi. Al livello 1 si trova il grafo nodo, al livello 2 il cammino di 2 nodi, al livello 3 il cammino a tre nodi, al livello 4 il cammino a 4 nodi e la stella a 3 punte e così via. Sul livellosi trovano tutti e soli gli alberi conspigoli che con il processo di riduzione visto sopra si riducono al grafo nodo conpassi nei quali diminuisce di uno il numero degli spigoli.

A questo punto è dimostrato che un albero con n nodi possiedespigoli. Viceversa si può dimostrare che un grafo connesso connodi espigoli è aciclico e quindi è un albero. Ma si può dimostrare anche che un grafo aciclico connodi espigoli è connesso e quindi è un albero.

Arricchimenti degli alberi

[modifica|modifica wikitesto]

Si dicealbero con radiceun albero arricchito da uno dei suoi vertici. Una tale struttura risulta equivalente ad una arborescenza,digrafotale che possiede un vertice, laradice,dal quale ciascuno degli altri è raggiungibile attraverso uno ed un solo cammino. Essa è anche equivalente ad una controarborescenza, digrafo tale che possiede un vertice, chiamatoinghiottitoio,il quale è raggiungibile da ciascuno degli altri attraverso uno ed un solo cammino. In effetti in un albero con radice è possibile orientare tutti gli spigoli in modo che allontanino oppure che avvicinino il nodo privilegiato.

Gli alberi con radice sono strutture di dati usatissime e strategiche in informatica. Spesso risultano utili ulteriori arricchimenti degli alberi con radice: in particolare le strutture per le quali si stabilisce un ordinamento tra i vertici adiacenti ad un dato vertice (v.struttura di dati ad albero). Si dicealbero etichettatoun albero i cui vertici sono muniti di un'etichetta che li contraddistingue. Spesso le etichette assegnate a un albero con radice edvertici sono gli interi da 1 ad

Esempio di albero.

L'esempio di albero mostrato a destra possiede 6 vertici e 6 − 1 = 5 spigoli. L'unico cammino semplice che connette i vertici 2 e 6 è 2-4-5-6.

  • Ogni albero è ungrafo planaree ungrafo bipartito.
  • Ogni grafo connessoammette unsottoalbero ricoprente,cioè un sottografo che è un albero e che contiene tutti vertici di
  • Dativertici etichettati (e distinguibili), ci sonomodi diversi per collegarli per trasformarli in un albero. Questo risultato è chiamatoformula di Cayley.
  • Il numero degli alberi convertici di gradoè
Questo è chiamatocoefficiente multinomiale.
  • Non è nota alcuna espressione chiusa per il numerodegli alberi astratti convertici, ossia il numero delle classi di isomorfismo di alberi. È però noto ilcomportamento asintoticodi:esistono due numerietali che
  • Ogni albero con un numero maggiore o uguale a 2 nodi possiede almeno 2 foglie.
  • Ogni albero connodi possiedelati (per ilteorema di Cayley).
  • Esiste un unico cammino tra qualsiasi coppia di nodi.
  • Se consideriamo un albero di supporto ed il suo grafo di appartenenza, aggiungendo all'albero un lato che non gli appartiene ma che appartiene al grafo, si crea un unico ciclo.

Proprietà alberi binari

[modifica|modifica wikitesto]

Concentrandosi sugli alberi binari esistono numerose proprietà matematiche che sono ricorrenti nell'analisi deglialgoritmi.

Un albero binario connodi interni hanodi esterni.

Questa proprietà può essere dimostrata per induzione. Un albero binario senza nodi interni ha un nodo esterno, per cui la proprietà è valida perPerun qualsiasi albero binario connodi interni ha 1 nodo interno nel sottoalbero destro ednel sottoalbero sinistro essendo la radice un nodo interno. Per induzione, il sottoalbero sinistro hanodi esterni mentre il destro ne haper un totale di

Un albero binario connodi interni haarchi:archi interni earchi esterni.

In ogni albero con radice, ogni nodo ha un unico padre, e ogni arco connette un nodo al padre del nodo. Quindi ci sonoarchi che connettono nodi interni. Similmente ciascuno deglinodi esterni ha un arco che punta verso l'unico padre. Le prestazioni di molti algoritmi dipendono non solo dal numero di nodi dell'albero associato ma anche da varie proprietà strutturali di questo.

Lo schema del classico grafo ad albero usato per descrivere la gerarchia tra unfiume(ordine1) e i suoiaffluentie sub-affluenti.

Albero con radice

[modifica|modifica wikitesto]

Un albero con radice è una coppiadoveè un albero eun suo vertice che viene detto radice. Un albero con radice è quindi un albero in cui viene evidenziato un vertice (la radice); esso viene anche dettoalbero radicato.Ora, dato un verticein un albero con radicec'è un unico cammino semplicedaa(se); il verticeche precede il verticeè detto padre di

Albero ordinato

[modifica|modifica wikitesto]

Un albero ordinato (detto anche piano) è un albero radicato in cui i figli di ogni vertice sono totalmente ordinati.

Un figlio della radice coi suoi discendenti forma a sua volta un albero ordinato. Questo fatto permette di dare la seguente definizione induttiva di albero ordinato:(definiti su insiemi di vertici disgiunti) eè un nodo diverso dai nodi diallora la sequenzaè un albero ordinato.[k cosa sarebbe?]

Unalbero binarioè un albero radicato in cui ogni nodo interno ha al più due figli; ogni figlio è distinto come figlio sinistro oppure figlio destro. I seguenti due alberi sono coincidenti come alberi ordinati, ma distinti come alberi binari:

Dato un verticedi un alberobinario, il sottoalbero che ha come radice il figlio sinistro dise esiste, sarà detto sottoalbero sinistro di

Albero binario completo di altezzah

[modifica|modifica wikitesto]

Un albero binario completo è un albero binario in cui ogni nodo interno è pieno (ha entrambi i figli) e tutte le foglie sono allo stesso livello, ossia hanno la stessa distanza dalla radice. Un albero viene chiamato albero quasi completo se, rispetto ad un albero completo, mancano alcune foglie (ossia alcuni nodi sul penultimo livello non sono pieni). Questo tipo di albero è usato come unastruttura datispecializzata chiamata heap.

Il numero di vertici di un albero binario completo di altezzarisulta essere:

e quindi

per

Da questo possiamo dedurre che alberi completi contengono un gran numero di nodi con una bassa altezza.

Se si prende un albero e si evidenzia un suo nodo, cioè se si arricchisce l'informazione che individua un albero con la segnalazione di un suo nodo, si ottiene una struttura leggermente diversa ma sostanzialmente più ricca. Questa conviene chiamarlaarborescenzae considerarla un digrafo, in quanto gli spigoli dell'albero originale si possono orientare in modo che si abbia un cammino orientato che porta dal nodo privilegiato a un qualsiasi altro nodo.

Il genere di struttura così ottenuto viene spesso chiamato specie deglialberi con radice(rooted trees). Questo termine è molto usato ininformatica.

A questo proposito occorre osservare che nelle applicazioni servono di più le arborescenze degli alberi, anzi servono arborescenze arricchite da altre informazioni: questo accade ad es. con gli alberi sintattici trattati dai compilatori o nellalinguisticae con gli organigrammi ad albero, gerarchici. Accade allora che in certe aree applicative si usi il terminealberoper indicare un'arborescenza munita di certe altre informazioni. Quando si fa della matematica è invece opportuno attenersi a definizioni precise, possibilmente standard.

Nell'ambito di determinati settori si può invece accettare l'uso improprio (per la matematica) del termine albero, purché sia considerato un termine gergale, di uso circoscritto e giustificabile mediante convenzioni magari non esplicite ma esplicitabili e purché vi sia coscienza delle possibilità di fraintendimenti insite nell'uso affrettato dei termini.

Collegamenti esterni

[modifica|modifica wikitesto]
Controllo di autoritàLCCN(EN)sh85137259·GND(DE)4004849-4·J9U(EN,HE)987007548784505171
 Portale Matematica:accedi alle voci di Wikipedia che trattano di matematica