La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Richiami di matematica discreta: grafi e alberi

Presentazioni simili


Presentazione sul tema: "Richiami di matematica discreta: grafi e alberi"— Transcript della presentazione:

1 Richiami di matematica discreta: grafi e alberi
Algoritmi e Programmazione Richiami di matematica discreta: grafi e alberi Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Grafi e alberi

2 Algoritmi e Programmazione
Grafi Definizione: G = (V,E) V: insieme finito e non vuoto di vertici E: insieme finito di archi, che definiscono una relazione binaria su V Grafi orientati/non orientati: orientati: arco = coppia ordinata di vertici (u, v)  E e u, v  V non orientati: arco = coppia non ordinata di vertici (u, v)  E e u, v  V A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi

3 Algoritmi e Programmazione
Grafi come modelli Dominio Vertice Arco comunicazioni telefono, computer fibra ottica, cavo circuiti porta, registro, processore filo meccanica giunto molla finanza azioni, monete transazioni trasporti aeroporto, stazione corridoio aereo, linea ferroviaria giochi posizione sulla scacchiera mossa lecita social networks persona amicizia reti neurali neurone sinapsi composti chimici molecola legame A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi

4 Esempio: grafo orientato
Cappio a b c G={V, E} V={a, b, c, d, e, f} E={(a,b),(b,b),(b,d),(b,e), (d,a),(d,e),(e,d),(f,c)} d e f NB: in alcuni contesti i cappi possono essere vietati. Se il contesto ammette i cappi, ma il grafo ne è privo, esso si dice SEMPLICE. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

5 Esempio: grafo non orientato
Cappio a b c G={V, E} V={a, b, c, d, e, f} E={(a,b),(b,b)(b,d),(b,e),(c,f)} d e f NB: in alcuni contesti i cappi possono essere vietati. Se il contesto ammette i cappi, ma il grafo ne è privo, esso si dice SEMPLICE. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

6 04 Richiami di matematica discreta - grafi e alberi
Incidenza e adiacenza Arco (a, b): incidente da vertice a incidente in vertice b incidente sui vertici a e b Vertici a e b adiacenti: a  b  (a, b)  E a b A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

7 04 Richiami di matematica discreta - grafi e alberi
Grado di un vertice grafo non orientato: degree(a) = numero di archi incidenti grafo orientato: in_degree(a)=numero di archi entranti out_degree(a)=numero di archi uscenti degree(a)=in_degree(a) + out_degree(a). a degree(a) = 3 in_degree(a) = 2 out_degree(a) = 1 degree(a) = 3 a A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

8 Cammini e raggiungibilità
Cammino p: u p u' in G=(V,E): (v0,v1,v2,…,vk)  u=v0, u'=vk, i = 1,2,…,k (vi-1,vi)  E. k = lunghezza del cammino. u' è raggiungibile da u   p: u p u' cammino p semplice: (v0,v1,v2,…,vk)  p distinti. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

9 04 Richiami di matematica discreta - grafi e alberi
Esempio a b G = (V, E) p: a p d : (a, b), (b, c), (c, d) k = 3 d è raggiungibile da a p semplice. d c A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

10 04 Richiami di matematica discreta - grafi e alberi
Cicli Ciclo = cammino in cui v0=vk. Ciclo semplice = cammino semplice in cui v0=vk. Cappio = ciclo di lunghezza 1. Un grafo senza cicli = aciclico. cappio a b ciclo, k=4 d e A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

11 Connessione nei grafi non orientati
Grafo non orientato connesso: vi,vj  V p vi p vj Componente connessa: sottografo connesso massimale (=  sottoinsiemi per cui vale la proprietà che lo includono). Grafo non orientato connesso: una sola componente connessa. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

12 Connessione nei grafi orientati
Algoritmi e Programmazione Connessione nei grafi orientati Grafo orientato fortemente connesso: vi,vj  V p, p’ vi p vj e vj p’ vi Componente fortemente connessa: sottografo fortemente connesso massimale. Grafo orientato fortemente connesso: una sola componente fortemente connessa. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi

13 04 Richiami di matematica discreta - grafi e alberi
Esempio a b c d e g h f A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

14 04 Richiami di matematica discreta - grafi e alberi
Grafi densi/sparsi Dato grafo G = (V, E) |V| = cardinalità dell’insieme V |E| = cardinalità dell’insieme E grafo denso: |E|  |V|2 grafo sparso: |E| << |V|2 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

15 04 Richiami di matematica discreta - grafi e alberi
Grafo completo Definizione: vi, vj  V  (vi,vj)  E grafo completo non orientato: |E| = |V|(|V|-1)/2 archi grafo completo orientato: |E| = |V|(|V|-1) archi a b c d A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

16 04 Richiami di matematica discreta - grafi e alberi
Grafo bipartito a e Definizione: Grafo non orientato in cui l’insieme V può essere partizionato in 2 sottoinsiemi V1 e V2, tali per cui (vi,vj)  E vi  V1 && vj  V2 || vj  V1 && vi  V2 b f c g d A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

17 04 Richiami di matematica discreta - grafi e alberi
 w : E  R  {-, + }  w(u,v) = peso dell’arco (u, v) Grafo pesato 1 a 5 b 2 c d 4 2 1 7 4 10 e 8 g 9 h f 3 3 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

18 Alberi non radicati (o liberi)
Albero non radicato (o libero) = grafo non orientato, connesso, aciclico Foresta = grafo non orientato, aciclico A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

19 04 Richiami di matematica discreta - grafi e alberi
Proprietà G = (V, E) grafo non orientato  E  archi,  V  nodi: G = albero non radicato ogni coppia di nodi connessa da un unico cammino semplice G connesso, la rimozione di un arco lo sconnette G connesso e  E  =  V  - 1 G aciclico e  E  =  V  - 1 G aciclico, l’aggiunta di un arco introduce un ciclo. A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

20 04 Richiami di matematica discreta - grafi e alberi
Alberi radicati  nodo r detto radice relazione di parentela y antenato di x se y appartiene al cammino da r a x. x discendente di y antenato proprio se x  y padre/figlio: nodi adiacenti radice: no padre foglie no figli A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

21 04 Richiami di matematica discreta - grafi e alberi
Esempio y antenato di x x discendente di y a padre di b b figlio di a r y a b x A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

22 Proprietà di un albero T
grado(T) = numero max di figli profondità(x) = lunghezza del cammino da r a x altezza(T) = profondità massima. Proprietà di un albero T grado 3 profondità = 0 profondità = 1 altezza h = 3 profondità = 2 profondità = 3 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

23 Rappresentazione di alberi
Rappresentazione di un nodo di un albero di grado(T) = k puntatore al padre, chiave, k puntatori ai k figli Inefficiente se solo pochi nodi hanno davvero grado k (spazio per tutti i k puntatori allocato, ma molti a NULL). al padre chiave …… k puntatori ai k figli, eventualmente a NULL A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

24 Rappresentazione left-child right-sibling
Rappresentazione di un nodo di un albero di grado(T) = k puntatore al padre, chiave, 1 puntatore al figlio sinistro, 1 puntatore al fratello a destra Efficiente: sempre solo 2 puntatori, indipendentemente dal grado dell’albero al padre chiave al primo dei fratelli a destra al primo a sinistra dei figli A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

25 04 Richiami di matematica discreta - grafi e alberi
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

26 04 Richiami di matematica discreta - grafi e alberi
Alberi binari Definizione ricorsiva: T: insieme di nodi vuoto radice, sottoalbero sinistro, sottoalbero destro. r left right A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

27 Albero binario completo
h = 3 8 foglie 15 nodi Ogni nodo: o foglia o grado = 2 Albero binario completo di altezza h: numero di foglie 2h numero di nodi = 0 i  h 2i = 2h+1 –1 A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

28 04 Richiami di matematica discreta - grafi e alberi
A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

29 Albero binario bilanciato
Tutti i cammini radice-foglie sono di ugual lunghezza Se T è completo, allora T è bilanciato. Albero binario bilanciato A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi

30 Albero binario quasi bilanciato
Algoritmi e Programmazione La lunghezza di tutti i cammini radice-foglie differisce al massimo di 1. Albero binario quasi bilanciato A.A. 2013/14 04 Richiami di matematica discreta - grafi e alberi Grafi e alberi

31 03 Ordinamento iterativo
Riferimenti Grafi: Cormen 5.4 Sedgewick Part Alberi: Cormen 5.5 Sedgewick 5.4 A.A. 2013/14 03 Ordinamento iterativo


Scaricare ppt "Richiami di matematica discreta: grafi e alberi"

Presentazioni simili


Annunci Google