Grafi: definizioni e visite
|
|
|
- Domenico Guidi
- 8 anni fa
- Visualizzazioni
Transcript
1 Grafi: definizioni e visite
2 Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della taglia di un grafo: n = V, m = E. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { (1,2), (1,3), (2,3), (2,4), (2,5), (3,5), (3,7), (3,8), (4,5), (5,6) } n = 8 m = 11 2
3 Grafi diretti (o orientati) Grafo diretto: G = (V, E) V = nodi (o vertici) E = archi diretti da un nodo (coda) in un altro (testa) Modella relazioni non simmetriche fra coppie di oggetti. Parametri della taglia di un grafo: n = V, m = E. v 2 v 3 v 6 v 5 v 4 v 7 v 1 3
4 Grafi Il grafo è una delle strutture più espressive e fondamentali della matematica discreta. Semplice modo di modellare relazioni a coppie in un insieme di oggetti. Innumerevoli applicazioni. Più si lavora coi grafi, più si tende a vederli ovunque.
5 Qualche applicazione Grafo Nodi Archi trasporti Incroci di strade /città aeroporti Strade Rotte aeree comunicazioni computers cavi in fibre ottiche World Wide Web pagine web hyperlinks social network persone relazioni food web specie predatore-preda software systems funzioni chiamate di funzioni scheduling tasks vincoli di precedenza circuiti porte fili 5
6 World Wide Web Grafo del Web (orientato). Nodo: pagina web Arco: hyperlink da una pagina all altra. cnn.com netscape.com novell.com cnnsi.com timewarner.com hbo.com sorpranos.com 6
7 Albero con circa nodi World Wide Web 7
8 Rete terroristi dell 11 settembre Grafo di una social network. Nodo: persona. Arco: relazione fra 2 persone Reference: Valdis Krebs, 8
9 Ecological Food Web Food web (grafo orientato). nodo = specie. arco = dalla preda al predatore Reference: 9
10 Lezioni su grafi Definizioni. Problemi di connettività e sulle componenti connesse. Visite BFS e DFS. Problemi su componenti connesse in grafi orientati. Test per grafi bipartiti. Ordine topologico in DAG. Calcolo di cammini minimi: algoritmo di Dijkstra (greedy) (par. 4.4). Calcolo di cammini minimi con costi anche negativi: algoritmo di Bellman-Ford (programmazione dinamica) (par. 6.8) Albero di ricoprimento minimo: algoritmi di Prim e di Kruskal (greedy) (par. 4.5). Applicazione di MST: clustering (par. 4.7) (4 lezioni) Flusso (parr. 7.1, 7.2, 7.3) e applicazione a matching su grafi bipartiti (par. 7.5) (2 lezioni)
11 Un pò di terminologia Def. In un grafo G = (V, E) se l arco (u,v) E allora diremo che: l arco è incidente u e v u e v sono adiacenti (u,v) è un arco uscente da u. Def. Il grado ( degree ) di un nodo u, indicato deg(u), è il numero di archi uscenti da u. 11
12 Cammini Def. Un cammino in un grafo G = (V, E) è una sequenza P di nodi v 1, v 2,, v k-1, v k con la proprietà che ogni coppia consecutiva v i, v i+1 è collegata da un arco in E. La sua lunghezza è k-1 Def. Un cammino è semplice se tutti nodi sono distinti. Def. Un grafo è connesso se per ogni coppia di nodi u e v, c è un cammino fra u e v. 12
13 Cicli Def. Un ciclo è un cammino v 1, v 2,, v k-1, v k nel quale v 1 = v k, k > 2, e i primi k-1 nodi sono tutti distinti. ciclo C =
14 Alberi Def. Un grafo è un albero se è connesso e non contiene un ciclo. 14
15 Alberi radicati Albero radicato. Dato un albero T, scegliere un nodo radice r e orientare ogni arco rispetto ad r. Importanza: Modella una struttura gerarchica radice r genitore di v antenato di w v w, figlio di v discendente di v, w, r un albero lo stesso albero, radicato in 1 15
16 Alberi filogenetici Alberi filogenetici: Descrivono la storia evolutiva delle specie. 16
17 Proprietà degli alberi Lemma. Ogni albero con n nodi ha n-1 archi (conta gli archi da ogni nodo non radice al padre) Teorema. Sia G un grafo con n nodi. Due qualsiasi delle seguenti affermazioni implicano la terza: G è connesso. G non contiene un ciclo. G ha n-1 archi.
18 Rappresentazione di un grafo: Matrice di adiacenza Matrice di adiacenza: matrice n n con A uv = 1 se (u, v) è un arco. Due rappresentazioni di ogni arco. Spazio proporzionale ad n 2. Verificare se (u, v) è un arco richiede tempo (1). Elencare tutti gli archi richiede tempo (n 2 ). Elencare tutti gli archi incidenti su un fissato nodo richiede tempo (n)
19 Rappresentazione di un grafo: Lista di adiacenza Lista di adiacenza: array di n liste indicizzate dai nodi. Due rappresentazioni di ogni arco. Spazio proporzionale ad m + n. (ogni arco compare 2 volte) Verificare se (u, v) è un arco richiede tempo O(deg(u)). Elencare tutti gli archi richiede tempo (m + n). Elencare tutti gli archi incidenti su un fissato nodo u richiede tempo (deg(u)) = m=11 Somma lunghezze liste = 2m =22
20 Confronto fra le rappresentazioni E maggiore n 2 o m+n? V =n, E =m In un grafo connesso con n vertici: quanti archi posso avere, al minimo e al massimo? n-1 m n(n-1)/2 E = Ω(n) E = O(n 2 )
21 Problemi di connettività in grafi non orientati Problema della connettività s-t: Dati due nodi s e t, esiste un cammino fra s e t? Problema del cammino minimo s-t: Dati due nodi s e t, qual è la lunghezza del cammino minimo fra s e t? Diremo: t raggiungibile da s se esiste un cammino fra s e t; distanza di s da t = lunghezza del cammino minimo fra s e t Vedremo: Breadth First Search (BFS) Depth First Search (DFS) 21
22 Componenti connesse Def. La componente connessa di un grafo che contiene un nodo s è l insieme dei nodi raggiungibili da s. La componente connessa che contiene 1 è { 1, 2, 3, 4, 5, 6, 7, 8 }. La componente connessa che contiene 9 è { 9, 10}. La componente connessa che contiene 11 è { 11, 12, 13 }. 22
23 Problemi risolvibili con BFS o DFS Problema della connettività s-t: Dati due nodi s e t, esiste un cammino fra s e t? Problema del cammino minimo s-t: Dati due nodi s e t, qual è la lunghezza del cammino minimo fra s e t? Problema della componente connessa di s: trovare tutti i nodi raggiungibili da s Problema di tutte le componenti connesse di un grafo G: trovare tutte le componenti connesse di G
24 Applicazione componenti connesse: Riempimento aree Riempimento aree. Per un fissato pixel verde in un immagine, cambia colore a tutti i pixel adiacenti nodo: pixel. arco: fra due pixel adiacenti (nella stessa area) L area da cambiare è una componente connessa Ricolora da verde a blu 24
25 Applicazione componenti connesse: Riempimento aree Riempimento aree. Per un fissato pixel verde in un immagine, cambia colore a tutti i pixel adiacenti nodo: pixel. arco: fra due pixel adiacenti (nella stessa area) L area da cambiare è una componente connessa Ricolora da verde a blu 25
26 Componente connessa Problema: Trova tutti i nodi raggiungibili da s. Algoritmo generico: s R u v Teorema. Terminato l algoritmo, R è la componente connessa che contiene s. Prova: se v R, allora è raggiungibile da s; se v R e per assurdo esistesse un cammino s-v, allora esisterebbe (x,y) con x R, y R contro terminazione algoritmo. Nota: BFS = esplora in ordine di distanza da s. 26 DFS = esplora come in un labirinto. È possibile aggiungere v
27 Idea della BFS: Esplorare a partire da s in tutte le possibili direzioni, aggiungendo nodi, uno strato ("layer ) alla volta. BFS: visita in ampiezza s s s
28 Breadth First Search L i sono i layers: Algoritmo BFS: L 0 = { s }. L 1 = tutti i vicini di L 0. L 2 = tutti i nodi che non sono in L 0 o L 1, e che hanno un arco con un nodo in L 1. s L 1 L 2 L n-1 L i+1 = tutti i nodi che non sono in un layer precedente, e che hanno un arco con un nodo in L i. Teorema. Per ogni i, L i consiste di tutti i nodi a distanza i da s. Esiste un cammino da s a t se e solo se t appare in qualche layer. Prova: per induzione 28
29 Breadth First Search: proprietà Determina i nodi raggiungibili da s (insieme dei layer) Determina la loro distanza da s (indice del layer) Produce un albero radicato in s: l albero BFS (aggiungo (u,v) quando u Li e v L 0 L i ) Grafo G Gli archi non tratteggiati formano l albero BFS di G 29
30 Proprietà dell albero BFS Proprietà: Sia T un albero BFS di un grafo G, sia (x, y) un arco di G con x appartenente ad L i, y ad L j. Allora i e j differiscono di al più 1. Prova: Supponi i j. Quando BFS esamina gli archi incidenti x, o y viene scoperto ora (y in L i+1 ), o è stato scoperto prima (contro i j). L 0 L 1 L 2 L 3 30
31 BFS implementazione
32 BFS: analisi Teorema: L implementazione di BFS richiede tempo O(m+n) se il grafo è rappresentato con una lista delle adiacenze. Prova: E facile provare un running time O(n 2 ). Un analisi più accurata da O(m+n).
33 BFS implementazione E facile provare running time O(n 2 ): Inizializzazione in O(n) al massimo n liste L[i] da creare in O(n) ogni nodo è presente in al più una lista: cicli for in totale iterano n volte Per un fissato nodo u, vi sono al più n archi incidenti (u,v) e spendiamo O(1) per ogni arco.
34 BFS implementazione Un analisi più accurata: O(m+n): Inizializzazione in O(n) Al massimo n liste L[i] da creare in O(n) Ogni nodo è presente in al più una lista: per un fissato nodo u vi sono deg(u) archi incidenti (u,v) Tempo totale per processare gli archi è u V deg(u) = 2m
35 DFS: visita in profondità Idea di DFS: Esplorare quanto più in profondità possibile e tornare indietro ( backtrack) solo quando è necessario (come in un labirinto ) G Gli archi non tratteggiati in (g) formano l albero DFS di G
36 Algoritmo DFS Idea di DFS: Esplorare quanto più in profondità possibile e tornare indietro ( backtrack) solo quando è necessario (come in un labirinto ) Algoritmo ricorsivo
37 Algoritmo DFS Add (u,v) to T Proprietà 1: Per una fissata chiamata ricorsiva DFS(u), tutti i nodi che sono marcati Explored tra l inizio e la fine della chiamata ricorsiva sono discendenti di u in T. Proprietà 2: Sia T un DFS, siano x e y nodi in T si supponga (x,y) non in T. Allora x è antenato di y o viceversa. Prova: Esempio: x=1, y=3. DFS(1) chiama DFS(2) e DFS(3). Poiché (x,y) non in T, quando chiama DFS(3), 3 è già Explored quindi è stato marcato durante la chiamata DFS(1) + Proprietà 1.
38 Alberi BFS e DFS Grafo G Albero BFS di G Albero DFS di G
39 Applicazioni di BFS e DFS Problema della connettività s-t: Dati due nodi s e t, esiste un cammino fra s e t? Problema del cammino minimo s-t: Dati due nodi s e t, qual è la lunghezza del cammino minimo fra s e t? Problema della componente connessa di s: trovare tutti i nodi raggiungibili da s Resta: Problema di tutte le componenti connesse di un grafo G: trovare tutte le componenti connesse di G
40 Relazioni fra componenti connesse Def. La componente connessa di un grafo che contiene un nodo s è l insieme dei nodi raggiungibili da s. Problema: Che relazione c è fra due componenti connesse? Proprietà: Siano x ed y due nodi in un grafo G. Allora le componenti connesse sono identiche oppure disgiunte 40
41 Tutte le componenti connesse Proprietà: Siano x ed y due nodi in un grafo G. Allora le componenti connesse sono identiche oppure disgiunte Prova. Due casi: Esiste un cammino tra x e y: (ogni nodo v raggiungibile da x è raggiungibile da y) Non esiste un cammino tra x e y (idem) Algoritmo per trovare tutte le componenti connesse: Partendo da s qualsiasi usa BFS (o DFS) per generare la componente connessa di s. Trova un nodo v non visitato. Se esiste, usa BFS da v per calcolare la componente connessa di v (che è disgiunta). Ripeti. Tempo: O(m+n) In realtà BFS(s) richiede tempo lineare nel numero di nodi e archi della componente connessa di s. 41
42 Altre applicazioni di BFS e DFS Problema della verifica se un grafo è bipartito (par. 3.4) Problema della connettività nei grafi diretti (par. 3.5) e altre ancora.
Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani ([email protected])
Sommario. Rappresentazione dei grafi. Ordinamento topologico. Visita in ampiezza Visita in profondità
Visite Grafi Sommario Rappresentazione dei grafi Visita in ampiezza Visita in profondità Ordinamento topologico Visita in ampiezza La visita in ampiezza breadth-first-search (BFS) di un grafo dato un vertice
Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Cammini minimi Un cammino minimo tra una coppia di
UNIVERSITA DEGLI STUDI DI PERUGIA
UNIVERSITA DEGLI STUDI DI PERUGIA REGISTRO DELLE LEZIONI E DELLE ALTRE ATTIVITÀ DIDATTICHE Anno accademico 2006-2007 Dott./Prof. Pinotti Maria Cristina Settore scientifico-disciplinare INF01 Facoltà Scienze
2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Depth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico
Depth-first search Visita in profondità di n grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Dato n grafo G=(V,E) e n specifico ertice s chiamato
Grafi pesati Minimo albero ricoprente
Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene
UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 20 giugno 2014
A Ricerca Operativa 1 Seconda prova intermedia Un tifoso di calcio in partenza da Roma vuole raggiungere Rio De Janeiro per la finale del mondiale spendendo il meno possibile. Sono date le seguenti disponibilità
Progettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 1/01/016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai
GRAFI. fig.1 - GRAFI (1) Si avvisa il lettore che certe definizioni che verranno date differiscono da quelle presenti in letteratura.
GRAFI 1. Definizioni, terminologia, esempi e applicazioni (1) Un grafo orientato (o diretto o di-grafo) G è una coppia (V,E) dove V è un insieme non vuoto ed E una relazione binaria su V, E V V, ossia
Problema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :
Per almeno una delle soluzioni ottime { P i, i r } del problema generalizzato, l unione dei cammini P i forma un albero di copertura per G radicato in r e orientato, ossia un albero la cui radice è r i
Problemi, istanze, soluzioni
lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un
Grafi: visita generica
.. Grafi: visita generica Una presentazione alternativa (con ulteriori dettagli) Algoritmi di visita Scopo: visitare tutti i vertici di un grafo (si osservi che per poter visitare un vertice occorre prima
UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente
Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino
Esercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
Algoritmo basato su cancellazione di cicli
Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile
Progettazione di algoritmi
Progettazione di algoritmi Discussione dell'esercizio [labirinto] Nel testo dell'esercizio abbiamo considerato come lunghezza del percorso il numero di bivi ma possiamo stimare meglio la lunghezza reale
Fondamenti di Internet e Reti 097246
sul livello di Rete Instradamento. o Si consideri la rete in figura.. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si calcoli il cammino
Il problema del commesso viaggiatore e problemi di vehicle routing
Il problema del commesso viaggiatore e problemi di vehicle routing Laura Galli Dipartimento di Informatica Largo B. Pontecorvo 3, 56127 Pisa [email protected] http://www.di.unipi.it/~galli 2 Dicembre
Appunti lezione Capitolo 15 Ricerca locale
Appunti lezione Capitolo 15 Ricerca locale Alberto Montresor 03 Giugno, 016 1 Introduzione alla ricerca locale Un approccio miope, ma talvolta efficace è quello della ricerca locale. L idea è la seguente:
Esame di Ricerca Operativa del 16/06/2015
Esame di Ricerca Operativa del 1/0/01 (Cognome) (Nome) (Matricola) Esercizio 1. Una ditta produce vernici in tre diversi stabilimenti (Pisa, Cascina, Empoli) e le vende a tre imprese edili (A, B, C). Il
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 5 - Alberi Alberto Montresor Università di Trento This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this
Claudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso
Claudio Arbib Università di L Aquila Ricerca Operativa Reti di flusso Sommario Definizioni di base Flusso di un campo vettoriale Divergenza Integrale di Gauss-Greene Flusso in una rete Sorgenti, pozzi
Alberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
Grafi, Social Network e Ricerca su Web Prof. Maurizio Naldi
Grafi, Social Network e Ricerca su Web Prof. Maurizio Naldi Teoria dei Grafi È uno strumento indispensabile per l analisi di reti e, quindi, di social network.... è fondamentale anche per capire come funziona
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi
Minimo Albero Ricoprente
Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione
Heap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
Linguaggi e Grammatiche Liberi da Contesto
N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica
Strutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
L algoritmo di Dijkstra
L algoritmo di Dijkstra Sebastiano Vigna March 2, 200 Introduzione Supponiamo di assegnare a ciascuno degli archi a di un grafo orientato G un certo peso intero e positivo p a. Ai cammini (orientati) nel
Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica
Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica Soluzione del compito di Matematica Discreta 1 del 25 luglio 200 1. Qual è il numero di applicazioni f : A = {1,..., 5} B
Sommario della lezione
Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi
Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen
Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
Parte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
Diagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
Routing IP. IP routing
Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto
Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi ([email protected]) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
Grafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. [email protected] http://www.moreno.marzolla.
Grafi Moreno Marzolla ip. di Informatica Scienza e Ingegneria Università di ologna [email protected] http://www.moreno.marzolla.name/ opyright lberto Montresor, Università di Trento, Italy (http://www.dit.unitn.it/~montreso/asd/index.shtml)
Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Alcuni problemi combinatorici (Gennaio 2006)
Claudio Arbib Universitàdi L Aquila Ricerca Operativa Alcuni problemi combinatorici (Gennaio 2006) Alcuni problemi interessanti Problema 1: Le torri Problema 2: A una festa di laurea Problema 3: La rete
Routing. Forwarding e routing
Routing E necessario stabilire un percorso quando host sorgente e destinazione non appartengono alla stessa rete Router di default si occupa di instradare il traffico all esterno della rete Router sorgente:
Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.
Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale
Appunti di Algoritmi e Strutture Dati. Grafi. Gianfranco Gallizia
Appunti di Algoritmi e Strutture Dati Grafi Gianfranco Gallizia 12 Dicembre 2004 2 Indice 1 Grafi 5 1.1 Definizione.............................. 5 1.2 Implementazione........................... 5 1.2.1
Algoritmi e Strutture Dati. HeapSort
Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene
Minimizzazione di Reti Logiche Combinatorie Multi-livello
Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione I circuiti logici combinatori sono molto spesso realizzati come reti multi-livello di porte logiche
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016
ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI
Algoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
Pumping lemma per i linguaggi Context-free
Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=
Tracce. 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni
Algoritmi e Strutture Dati Tracce 1. Data una lista di elementi di tipo intero, implementare in C++ le seguenti funzioni int freq(list &L, int k): restituisce il numero di occorrenze dei multipli
UNIVERSITÀ di ROMA TOR VERGATA
UNIVERSITÀ di ROMA TOR VERGATA Corso di PS-Probabilità P.Baldi Tutorato 9, 19 maggio 11 Corso di Laurea in Matematica Esercizio 1 a) Volendo modellizzare l evoluzione della disoccupazione in un certo ambito
Alberi Binari di Ricerca
Alberi Binari di Ricerca Prof. G. M. Farinella [email protected] www.dmi.unict.it/farinella Riferimenti Bibliografici Cormen T.H., Leiserson C.E., Rivest R.L Introduction to Algorithms, Third Edition,
Algoritmi di visita di un grafo
Algoritmi di isita di n grafo Ilaria Castelli [email protected] Uniersità degli Stdi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/2010 I. Castelli Visita di n grafo, A.A. 2009/2010
RETI DI CALCOLATORI II
RETI DI CALCOLATORI II Facoltà di Ingegneria Università degli Studi di Udine Ing. DANIELE DE CANEVA a.a. 2009/2010 ARGOMENTI DELLA LEZIONE TEORIA DEL ROUTING ROUTING STATICO ROUTING DINAMICO o PROTOCOLLI
Operations Management
La schedulazione dei progetti Estratto da Operations Management Modelli e metodi per la logistica II Edizione Autore: Giuseppe Bruno Edizioni Scientifiche Italiane I problemi di scheduling 21 6.8 - LA
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana /16
Esercizi di Matematica per la prova di ammissione alla Scuola Galileiana - 015/16 Esercizio 1 Per quali valori n Z \ {0} l espressione è un numero intero positivo? (n + 5)(n + 6) 6n Soluzione. Il problema
Esercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi
Cercare il percorso minimo Ant Colony Optimization
Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
Macchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Alberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli [email protected] Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso
INDICI PER FILE Strutture ausiliarie di accesso 2 Accesso secondario Diamo per scontato che esista già un file con una certa organizzazione primaria con dati non ordinati, ordinati o organizzati secondo
Esercitazione 5: Sistemi a risoluzione immediata.
Esercitazione 5: Sistemi a risoluzione immediata. Ipotesi: Supponiamo le matrici non singolari. Nota: Per verificare che si ha risolto correttamente il sistema lineare Ax = b basta calcolare la norma del
Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona
e e Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona Sommario e ed implementazione in Java Visita di un grafo e e Concetti di base Struttura
Minimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente
Minimo sottografo ricoprente Minimo sottografo ricoprente Dato un grafo connesso G = (V, E) con costi positivi sugli archi c e, un minimo sottografo ricoprente è un insieme di archi E E tale che: G = (V,
Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio
Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come
Indice. 1 Introduzione... 1
Indice 1 Introduzione............................................... 1 2 Esempi di modelli......................................... 7 2.1 Problema della dieta.................................... 7 2.2
Soluzioni degli esercizi di formulazione di PL{0, 1}
Soluzioni degli esercizi di formulazione di PL{0, 1} Salvatore Nocella 12 febbraio 2007 1 Al lavoro Due operai devono eseguire un certo numero di lavori J = {1,..., n}, ciascuno della durata di un ora.
TRIE (albero digitale di ricerca)
TRIE (albero digitale di ricerca) Struttura dati impiegata per memorizzare un insieme S di n stringhe (il vocabolario V). Tabelle hash le operazioni di dizionario hanno costo O(m) al caso medio per una
Problemi di Percorso. Capitolo dodicesimo
Capitolo dodicesimo Problemi di Percorso Introduzione I problemi di determinazione di percorsi ottimi sono tra i più noti problemi di ottimizzazione su rete. Essi si presentano in innumerevoli campi, nella
DISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
