Richiami di matematica discreta: grafi e alberi

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture dati Mod B
Advertisements

Algoritmi e Strutture Dati
08 Febbraio 2008 BOZZA Laboratorio di ricerca operativa I grafi e il problema del cammino minimo a.a. 2007/2008 Calogero Vetro.
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Introduzione ai grafi Grafo diretto e non diretto
Il problema del minimo albero ricoprente in un grafo non cooperativo
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Estendere i linguaggi: i tipi di dato astratti
Introduzione Cosa sono le reti di Petri?
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Algoritmi e Strutture Dati
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Cammini minimi con sorgente singola
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati con Laboratorio (Modulo II)
Algoritmi e Strutture Dati
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 28/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Algoritmo di Ford-Fulkerson
Il problema del minimo albero ricoprente in un grafo con archi privati
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Cammini minimi Algoritmo SPT.Acyclic
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Grafi.
Modelli e Algoritmi per la Logistica
tipo astratto, implementazione, algoritmi
Algoritmi e Strutture Dati
Alberi ricoprenti minimi Alcune applicazioni Lunedì 17 novembre 2003.
Esercizi 5 Grafi.
Esercizi 5 Grafi.
grafi e reti Ottimizzazione su Reti - Network Optimization Testi :
(Laboratorio di ) Sistemi Informatici Avanzati
Prof. Cerulli – Dott.ssa Gentili
Algoritmi su grafi I grafi sono strutture dati che vengono usate estensivamente in informatica. Ci sono migliaia di problemi computazionali che sono importanti.
Ricostruzione di polyomini L-convessi
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
2. Grafi.
Usi (meno scontati) della visita DFS
Algoritmi e Strutture Dati
Componenti fortemente connesse
Lezione n° 18: Maggio Problema del trasporto: formulazione matematica Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di.
Usi (meno scontati) della visita DFS. Informazioni utili: tenere il tempo clock=1 pre(v)=clock clock=clock+1 post(v)=clock; clock=clock+1 pre(v): tempo.
Usi (meno scontati) della visita DFS lezione basata sul capito 3 del libro Algorithms, di Dasgupta, Papadimitriou, Vazirani, McGraw-Hill.
Master Bioinformatica 2002: Grafi
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Algoritmi elementari su grafi
Componenti fortemente connesse
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Master Bioinformatica 2002: Visite di Grafi La struttura dati D è una PILA (STACK) Visita in profondità o Depth-First-Search (DFS)
Master Bioinformatica 2002: Visite di Grafi Algoritmi di visita Scopo: visitare tutti i vertici di un grafo per scoprirne proprietà di vario tipo. Alcune.
Capitolo 13 Cammini minimi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Modulo II)
Grafi: rappresentazione e visita
LA SOCIAL NETWORK ANALYSIS
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
OTTIMIZZAZIONE DI UN PERCORSO GRAFO CAMMINO MINIMO.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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