Master Bioinformatica 2002: Grafi

Slides:



Advertisements
Presentazioni simili
Premessa: si assume di aver risolto (correttamente
Advertisements

Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
08 Febbraio 2008 BOZZA Laboratorio di ricerca operativa I grafi e il problema del cammino minimo a.a. 2007/2008 Calogero Vetro.
Alberi binari Definizione Sottoalberi Padre, figli
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
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
Rappresentazione di grafi
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Esercizi su alberi binari
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
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)
Grafi.
Algoritmi e Strutture Dati
Richiami di matematica discreta: grafi e alberi
(Laboratorio di ) Sistemi Informatici Avanzati
Prof. Cerulli – Dott.ssa Gentili
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi su grafi I grafi sono strutture dati che vengono usate estensivamente in informatica. Ci sono migliaia di problemi computazionali che sono importanti.
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
2. Grafi.
Algoritmi e Strutture Dati
Componenti fortemente connesse
Grafi Rappresentazione mediante liste di adiacenza:
Cammini minimi da un sorgente
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.
Grafi CORDA – Informatica A. Ferrari Testi da Marco Bernardo Edoardo Bontà Dispense del Corso di Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Olimpiadi di Informatica 2010 Giornate preparatorie
Algoritmi elementari su grafi
Ordinamento topologico
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)
Capitolo 13 Cammini minimi: Bellman e Ford Algoritmi e Strutture Dati.
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
Capitolo 12 Minimo albero ricoprente: Algoritmo di Kruskal Algoritmi e Strutture Dati.
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.
4 maggio 2016 Fiorenza Deriu Linee, direzione e densità XII Modulo Dipartimento di Scienze Statistiche.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
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:

Master Bioinformatica 2002: Grafi I grafi sono una struttura matematica fondamentale: servono a rappresentare un’infinità di tipi di problemi. I grafi sono strutture composte di due tipi di oggetti: vertici/nodi/siti archi/collegamenti/spigoli (edges,links) Master Bioinformatica 2002: Grafi

Grafi Orientati (o diretti) Un grafo orientato G `e una coppia (V, E) dove V e’ un insieme non vuoto, E e’ una relazione su V, ossia un insieme di coppie ordinate di elementi di V Gli elementi di V sono i vertici, gli elementi di E sono gli archi Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Esempio 1 2 3 4 5 V = {1,2,3,4,5} E = {(1,2), (1,3),(1,4),(2,2),(2,4),(3,1),(3,2),(4,3),(5,4)} Il Grafo ha 5 vertici e 9 archi Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Grafi Non-Orientati Un grafo non-orientato G `e una coppia (V, E) dove V e’ un insieme non vuoto, E e’ un insieme di coppie non-ordinate di elementi di V Coppia non ordinata: {u,v} = {v,u} Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Esempio 2 5 1 3 4 V = {1,2,3,4,5} E = {{1,2}, {1,3},{2,3},{1,4},{4,3},{5,4}} Il Grafo ha 5 vertici e 6 archi Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Grafi pesati Sia nel caso orientato che in quello non orientato agli archi di un grafo può essere associata un’informazione, sovente un valore numerico detto costo o peso. I grafi in cui gli archi hanno un peso sono detti grafi pesati Un grafo pesato può essere indicato con G = (V,E,w) dove ad esempio w: E R funzione peso Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Esempio -4 2 2 5 1 -1 5 7 8 3 4 43 V = {1,2,3,4,5} E = {{1,2}, {1,3},{1,4},{2,3},{4,3},{5,4},{5,1}} Master Bioinformatica 2002: Grafi

Cosa possono modellare i grafi? Reti e relativi problemi: rete stradale, ferroviaria, aeroportuale. Reti telefoniche, reti di computers (inclusa internet). Problemi: raggiungibilità, distanza minima, flusso o traffico. (grafi non-orientati) Navigazione in iternet: documenti ipertestuali e relativi hyperlinks. (grafo orientato) Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Progetti o piani articolati in fasi o sottoobiettivi: i sottobiettivi sono i vertici, le azioni per conseguirli sono gli archi (grafi orientati) Vincoli di precedenza o causali tra eventi (grafi orientati e senza cicli) Relazioni tra concetti somiglianza, inclusione, tassonomie (sia grafi orientati che non-orientati) Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Sistemi fatti di stati e transizioni. Gli stati sono i vertici, gli archi sono le transizioni. Ad esempio: un gioco a scacchiera i vertici sono le configurazioni della scacchiera le transizioni sono le mosse che posso fare per passare da una configurazione ad un’altra configurazione (in genere Grafo orientato) Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi

Terminologia (per i grafi orientati) In un grafo orientato G = (V,E): un vertice v e’ adiacente a u se c’è un arco (u,v)  E. Diciamo che l’arco (u,v) esce da u ed entra in v. Un cammino di lunghezza k da u a u’ e’una sequenza di vertici v0=u, v1,…,vk = u’, tali che (vi-1, vi)  E per i =1,…,k Il cammino è semplice se tutti i vi sono distinti Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Terminologia (segue) Diciamo che u e’ raggiungibile da u’ se c’e’ un cammino da u’ a u. Un cammino <v0, v1,…,vk> forma un ciclo se v0 = vk e k > 0 Il ciclo è semplice se v1,…,vk sono distinti Un grafo orientato aciclico (=senza cicli) e’chiamato DAG (directed acyclic graph) Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Esempio di DAG slip pantaloni cintura camicia cravatta giacca calze scarpe orologio Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi In un grafo non-orientato si danno le stesse definizioni con le ovvie modifiche: un vertice u e’ adiacente a v se c’è un arco {u,v}  E. Un cammino <v0, v1,…,vk> forma un ciclo se v0 = vk e k > 1 Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Altre nozioni: un grafo non-orientato e’ connesso se ogni coppia di vertici e’ mutuamente raggiungibile. un grado orientato è fortemente connesso se ogni coppia di vertici e’ mutuamente raggiungibile Una componente connessa (fortemente connessa) di un grafo è un insieme massimale di vertici mutuamente raggiungibili Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Proprietà: un grafo non-orientato connesso è aciclico se e solo se vi e’ esatamente un cammino tra ogni coppia di vertici ha esattamente |V| -1 archi dove |V| è il numero di vertici Un grafo non orientato connesso e aciclico è chiamato albero (libero) Master Bioinformatica 2002: Grafi

Rappresentazione di grafi non pesati Modi principali di rappresentazione: Matrice di adiacenza: Il grafo è rappresentato da una matrice V x V i cui elementi assumono valori binari (ad esempio 0 e 1). L’elemento in posizione (i, j) è uguale a 1 se e solo se il vertice j è adiacente al vertice i. Liste di adiacenza: Il grafo è rappresentato da un vettore V-indexato di liste, ognuna delle quali contenente i vertici adiacenti al vertice cui la lista è associata. Convenzione: per i grafi non orientati non esiste nessun arco da un vertice v a se stesso (cioè nessun arco (v, v) appartiene ad E) Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi 1 2 3 4 5 6 7 A = 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 Spazio richiesto: O (V2) Adatta per grafi densi, in cui |E| è dell’ordine di |V|2 Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi 1 2 3 4 5 6 7 1 2 3 4 5 6 7 Spazio richiesto: O (V + E) Adatta per grafi sparsi, in cui |E| è molto minore di |V|2 Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi Se il grafo è pesato: 1 2 3 4 5 6 7 -1 -3 1 A = 0 5 0 0 0 0 0 5 0 3 2 0 0 0 0 3 0 -1 2 0 0 0 2 -1 0 1 -1 2 0 0 2 1 0 0 -3 0 0 0 -1 0 0 0 0 0 0 2 -3 0 0 Master Bioinformatica 2002: Grafi

Master Bioinformatica 2002: Grafi 1 2 3 4 5 6 7 -1 -3 1 1 2 3 4 5 6 7 - 1 - 3 Master Bioinformatica 2002: Grafi