GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Documenti analoghi
Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

AUTOMA A STATI FINITI

Algoritmi e Strutture Dati

GRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.

Grafi: definizioni e visite

Progettazione di Algoritmi

Corso di elettrotecnica Materiale didattico: i grafi

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Problemi, istanze, soluzioni

Macchine sequenziali. Automa a Stati Finiti (ASF)

Esercizi proposti 10

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013

Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità

Strutture dati per rappresentare grafi

Giochi in forma estesa Esempi. In Action with Math. Competizione e Strategia: Teoria dei Giochi. Giulia Bernardi, Roberto Lucchetti.

Algoritmi e strutture dati

STRUMENTI MATEMATICI

«Sciente e Tecnologie dei Beni Culturali»

Problema del cammino minimo

Il problema del commesso viaggiatore

Alberi e alberi binari I Un albero è un caso particolare di grafo

Grafi (orientati): cammini minimi

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

GLI INSIEMI PROF. WALTER PUGLIESE

Minimizzazione di Reti Logiche Combinatorie Multi-livello. livello

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso

01 - Elementi di Teoria degli Insiemi

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

Minimo albero di copertura

Appunti sulle Reti di Petri

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

età (anni) manutenzione (keuro) ricavato (keuro)

Coverage. Visto che il coverage si basa su aree dell ambiente che vengono monitorate non è

Week #9 Assessment. Practice makes perfect... November 23, 2016

Sintesi di Reti Sequenziali Sincrone

DISPENSE SU TEORIA DEGLI INSIEMI E NUMERI

Un insieme si dice finito quando l operazione consistente nel contare i suoi elementi ha termine.

Cammini minimi fra tutte le coppie

Costruzione di espressioni regolari 4

Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati

01 - Elementi di Teoria degli Insiemi

Progettazione di Algoritmi

Nozioni introduttive e notazioni

DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:

Fondamenti di Internet e Reti

Minimizzazione di Reti Logiche Combinatorie Multi-livello

11.4 Chiusura transitiva

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

ALBERTO DENNUNZIO DALLE AUTOSTRADE DIGITALI ALLE AUTOSTRADE REALI: GRAFI, WEB, FACEBOOK E NAVIGATORI SATELLITARI

Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :

La teoria dei grafi permette di esprimere in modo sistematico le LKT e LKC con i metodi della

Grafi. Sommario. Definizioni Rappresentazione dei grafi Algoritmi di visita Esempi in C

Anno 1. Teoria degli insiemi: definizioni principali

4c. Esercizi sul livello di Rete Instradamento in Internet

Sintesi di Reti sequenziali Sincrone

Grafi pesati Minimo albero ricoprente

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Pumping lemma per i linguaggi Context-free

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino

Problemi di Flusso: Il modello del Trasporto

I2. Relazioni e funzioni

Sintesi di una rete combinatoria

La codifica digitale

un insieme finito di segnali d uscita U (nell ascensore U={stare fermo, salire, scendere})

LA MATEMATICA DELLE RELAZIONI SOCIALI

Laboratorio di Informatica

Analisi interazione domanda/offerta: modelli di assegnazione

Automi a stati finiti

Grafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it

1. Automi a stati finiti: introduzione

Pianificazione dei progetti. Alberto Caprara DEIS - Università di Bologna

A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 13 giugno 2011

VISITA IL SITO PER ALTRO MATERIALE E GUIDE

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Parte V: Rilassamento Lagrangiano

L insieme prodotto cartesiano

Note per la Lezione 4 Ugo Vaccaro

1.3. Logaritmi ed esponenziali

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

corso di Teoria dei Sistemi di Trasporto Modelli di offerta PROF. ING. UMBERTO CRISALLI Dipartimento di Ingegneria dell Impresa

CORSO DI AZZERAMENTO DI MATEMATICA

Algoritmo basato su cancellazione di cicli

LA RETTA NEL PIANO CARTESIANO

Catene di Markov. 8 ottobre 2009

x appartiene ad N, tale che x è maggiore uguale a 9, e ( x minore uguale a 12.

I Grafi ad Albero..Strumenti per aiutare a ragionare

Fondamenti di informatica II 1. Sintesi di reti logiche sequenziali

7. INSIEMI APERTI, INSIEMI CHIUSI, INSIEMI NE APERTI NE CHIUSI

Esercizi per il corso di. Logistica I. a.a Daniela Favaretto. Dipartimento di Matematica Applicata Università Ca Foscari di Venezia

Linguaggi e Grammatiche Liberi da Contesto

UNIVERSITA DEGLI STUDI DI PERUGIA

Algoritmi e Strutture Dati. HeapSort

ELEMENTI FONDAMENTALI

Prova d esame di Reti Logiche T 10 Giugno 2016

Possibile applicazione

Transcript:

G R A F I 1

GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2

cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono 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) 3

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} 4

cip: cip: meglio meglio così così no? no? Esempio 5 1 2 4 3 V = {1,2,3,4,5} E = {{1,2}, {1,3},{2,3},{1,4},{4,3},{5,4}} Questo grafo ha 5 vertici e 6 archi 5

Cosa è un grafo orientato? un grafo orientato è una struttura astratta composta da un insieme di nodi (o vertici) e un insieme di archi (o rami) caratterizzati dalla seguente proprietà: a ogni arco è associata una coppia ordinata di nodi Un arco associato a una coppia di vertici A e B si dice arco incidente su A e B; viceversa si dice che i nodi A e B sono adiacenti se sono associati a uno stesso arco In soldoni ci sono le freccine!! 6

Esempio di grafo orientato A B C D G F E I nodi sono 7 (A, B, C, D, E, F, G) Gli archi sono 8 (AB, BC, CD, DE, EF, FG, GA, GC) A è adiacente a B e G G è adiacente a F (grazie all arco entrante), ad A e a C (tramite gli archi uscenti) 7

Proprietà e utilizzo dei grafi I grafi si utilizzano in molte discipline, tra cui l ingegneria, l economia, la chimica, l informatica, la ricerca operativa Servono per rappresentare relazioni tra gli elementi di insiemi discreti Es.: se i nodi rappresentano città, i rami possono rappresentare le strade tra di esse; allora la teoria dei grafi può essere applicata allo studio dei percorsi minimi, etc. Possiamo utilizzare i grafi per rappresentare legami non nello spazio ma nel tempo: ad esempio, in un semaforo, possiamo pensare di associare un nodo a ciascuno dei 7 intervalli di tempo in cui è diviso il periodo del ciclo semaforico. A ogni nodo possiamo associare un numero (da 0 a 6) e il colore (V G R) del semaforo in quell intervallo; i rami servono per indicare le transizioni, cioè i passaggi da un intervallo all altro 0,V 1,V 2,V 6,R 5,R 4,R 3,G Ogni nodo rappresenta uno stato interno della RSS La rete resta in ogni stato per un tempo T n I rami indicano per ogni stato della rete quale sarà lo stato successivo (stato futuro) in cui la rete andrà allo scadere dell intervallo di tempo T n Dunque i rami individuano le transizioni stato presente stato futuro All interno di ogni nodo si indicano: il nome dello stato e l uscita che la rete ha finchè si trova in quello stato 8

Trasformazione di un grafo degli stati in tabella di flusso Consideriamo un grafo degli stati con un solo ramo uscente per ogni nodo: e possibile condensare in una tabella tutte le informazioni contenute nel grafo e precisamente: i rami (cioè le corrispondenze stato stato presente stato futuro) il valore dell uscita in ogni nodo 0,V 1,V 2,V 6,R 5,R 4,R 3,G Stato presente 0 1 2 3 4 5 6 Stato futuro 1 2 3 4 5 6 0 uscita V V V G G G R G: S S F: S U 9

cip: cip: frecce! frecce! 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 10

5 Esempio 1 2 4 3 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 nodi (vertici) e 9 archi 11

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 12

Esempio 5-4 2 1 2 7 8-1 5 4 43 3 V = {1,2,3,4,5} E = {{1,2}, {1,3},{1,4},{2,3},{4,3},{5,4},{5,1}} 13

Grafi pesati: esempi Grafo della rete stradale PESO: distanza fra i nodi tempo di percorrenza 14

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 v 0 =u, v 1,,v k = u, tali che (v i-1, v i ) E per i =1,,k Il cammino è semplice se tutti i v i sono distinti 15

Terminologia (segue) Diciamo che u e raggiungibile da u se c e un cammino da u a u. Un cammino <v 0, v 1,,v k > forma un ciclo se v 0 = v k e k > 0 Il ciclo è semplice se v 1,,v k sono distinti Un grafo orientato aciclico (=senza cicli) e chiamato DAG (directed acyclic graph) 16

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 internet: documenti ipertestuali e relativi hyperlinks. (grafo orientato) 17

Cosa possono modellare i 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) Automi 18

Rete stradale 19

Molecola (Benzene) 20

Albero genealogico 21

Mappa mentale (Mind map) 22

Mappa mentale (Mind map) 23

Sito Web 24

25

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) 26

Gli alberi: un tipo particolare Senza cicli di grafo 27

FINE! 28

29

30

31

32

Esempio di DAG slip calze pantaloni camicia scarpe orologio cintura cravatta giacca 33

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 <v 0, v 1,,v k > forma un ciclo se v 0 = v k e k > 1 34

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 35

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) 36

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) 37

1 2 4 6 3 5 7 A = Spazio richiesto: O (V 2 ) 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 Adatta per grafi densi, in cui E è dell ordine di V 2 38

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

Se il grafo è pesato: 1 5 2-1 2 4 3-1 1 2 3 2 5-3 6 7 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 40

1 5 2-1 2 4 3-1 1 2 3 2 5-3 6 7 1 2 3 4 5 6 7 2 5 1 5 2 3 2 2 3 2 4-1 4 2 3 3 4 2 4-1 5 2 3-1 5 1 6-1 7 2 4 1 7-3 5-3 41