SlideShare a Scribd company logo
1 of 24
Algoritmo di Dijkstra
Shortest Path First
ugo.rinaldi@gmail.com
2
La rete Internet
3
Livello di rete (3)
 Interconnessione di reti di diverso tipo
 Gestione infrastruttura di rete
 No vera struttura
 Linee a banda larga + Router veloci
 Nasconde al livello 4 complessità e
problematiche di networking
 Protocollo IP
4
Protocollo IP
 Transito dei PACCHETTI (datagrammi) in rete
 Non orientato alla connessione
 Commutazione di pacchetto vs circuito
5
L’header fisso di 20 byte
 Version: 4 bit, utile per transazione IPv4>>>IPv6. '4' (0100) per IPv4.
 IHL: 4 bit, lunghezza dell'intestazione, da 5 a 60 (60 con opzioni max 40
byte)
 Type service: 7 bit. Voce richiede velocità, dati richiede precisione
 Total lenght: 16 bit, lunghezza totale intestazione + dati. Max 65535
 Identification: 16 bit, identificativo datagramma di appartenenza del
frammento
 Don't framment: 1 bit, non frammentare, per evitare la frammentazione
 More framment: 1 bit, tutti i frammenti, tranne l'ultimo, lo attivano.
 Framments offset: 13 bit, posizione del frammento all'interno del segmento.
 TTL: 8 bit, massimo 255. Contatore decrementato ad ogni salto. Se TTL=0
il diagramma viene scartato e inviato un messaggio al mittente.
 Protocol: 8bit, quale processo di trasporto è in attesa dei dati. p.e. Tcp,
Udp, Icmp.
 Header checksum: 16 bit, verifica solo l'intestazione. Ricalcolato ad ogni
salto.
6
Hop by hop
7
Indirizzo IPv4
 32 bit ≈ 4G indirizzi possibili
 Indirizzi privati e riservati
 Dot-decimal notation 192.168.0.10
 Rete + host
 Classi di indirizzi
 Indirizzi IP- Ad ogni scheda di rete viene assegnato un
indirizzo appartenente ad una classe:
 A) 0, 7 bit per la rete, 24 bit per host da 1… a 127…
 B) 10, 14 bit per la rete, 16 bit per host da 128… a
191…
 C) 110, 21 bit per la rete, 0 bit per host da 192… a
223…
 D) 1110, 28 bit per indirizzi multicast da 224… a 239…
 E) 11110, per scopi sperimentali e “futuri”
8
Il Router
 Dispositivo di livello 3
 Interconnette più reti
p.e. router domestici
connettono WAN e LAN
 Instrada i pacchetti verso la
destinazione
 Utilizza protocolli e algoritmi di
routing
9
Algoritmi
Caratteristiche:
 Ottimalità in base a hop e costi
 Semplicità richiesta di poche risorse e software minimo
 Robustezza, Rapidità di convergenza, Flessibilità fault
tolerance, traffico, icmp
Classificazione:
 Autonomus System (IGP e EGP)
 Non adattativi (statici, Link state, Dijkstra)
 Adattativi (dinamici, distance vector, Bellman-Ford)
 Percorso singolo o multiplo
10
Se cammino ottimo tra I e K, J tra I e K, allora I-J e J-K ottimi
Internal/External Gateway Protocol
Routing Table
11
Link State Routing Protocol
12
1. Invio messaggi HELLO all’accensione, 
interfaccia
2. Misurazione costo  interfaccia con invio A/R
messaggi ECHO
3. Costruzione del pacchetto dello stato dei
collegamenti (Link State Packet): identità
neighbor, costo, informazioni di controllo (per
garantire integrità e #sequenza)
4. Distribuzione pacchetto. Al ricevimento di un
nuovo o più recente # LSP, memorizza e
trasmette in flooding; se più vecchio trasmette il
più recente
5. Elaborazione nuovi path (p.e. con Dijkstra)
Link state vs Distance vector
Protocol13
Distance Vector
Link State
Il problema
Trovare il CAMMINO
MINIMO (Shortest Path) in
un GRAFO???
Con pesi non negativi sugli
archi???
14
Cammino Casa - Ufficio
15
Minimal guide to Graphs
 G = (V, E)
coppia ordinata di insiemi
 V insieme dei nodi
 E insieme degli archi
 Grafi orientati o semplici
 Archi uscenti (p.e. A  B)
 Nodo di partenza ≠ Nodo di destinazone
16
Le strutture necessarie
17
Shortest paths di Dijkstra
Dijkstra(G,ω,s)
Initialize(G,s)
S  Ф
Q  V
While Q ≠ Ф do
u  Extract-min(Q)
S  S U {u}
for each vertice V є adj(u)
Relax(u,v, ω)
end for
End while
return d[], π[]
Initialize(G,s)
For each nodo є
V
d[v] ∞
π[v]  nil
end for
d[s]  0
Relax(u,v,ω)
If d[v]>d[u]+ ω(u,v)
d[v] d[u]+ ω(u,v)
π[v]  u
end if
Extract-min() estrae il nodo con d()
minore
18
Shortest paths di Dijkstra
Dijkstra(G,ω,s)
Initialize(G,s)
S  Ф
Q  V
While Q ≠ Ф do
u  Extract-min(Q)
S  S U {u}
for each vertice V є adj(u)
Relax(u,v, ω)
end for
End while
return d[], π[]
Initialize(G,s)
For each nodo є
V
d[v] ∞
π[v]  nil
end for
d[s]  0
Relax(u,v,ω)
If d[v]>d[u]+ ω(u,v)
d[v] d[u]+ ω(u,v)
π[v]  u
end if
19
Cammino da Casa a Ufficio
 Estratto nodo Casa, d[]=0
 Adiacenti di Casa sono A e D
relax d[A]2, d[D]8
 Estratto nodo A, d[]=2
 Adiacenti di A sono C e B; relax d[C]4, d[B]8
 Estratto nodo C, d[]=4
 Adiacenti di C sono A, D, E; relax d[D]6, d[E]13
 Estratto nodo D, d[]=6
 Adiacenti di D sono C ed E; relax d[E]11
 Estratto nodo B, d[]=8
 Adiacenti di B sono A e Ufficio; relax d[Ufficio]13
 Estratto nodo E, d[]=9.
 Adiacenti di E sono C e Ufficio. D[Ufficio] sarà rilassato definitivamente
a 10
20
Le strutture dopo l’esecuzione
21
In laboratorio…
22
 Ping
 Ipconfig
 Nlslookup
 Net
 Netstat –n
 Route print
 Tracert
 Wireshark
Una realizzazione
Una tesina d’esame di Jonathan La Mela,
alunno diplomato nel 2013
http://test.mebuy.it/
 Gestione Grafi
 Gestione Nodi
 Gestione Archi
 Gestione Utenti
 Rendering + Percorso e distanza minimi tra 2
nodi
23
Esercizio
24
Senza usare Google Maps determinare qual’è il percorso
minimo Mantova-Varese?
 MILANO
 LODI
 PAVIA
 COMO
 BERGAMO
 LECCO
 VARESE
 CREMONA
 BRESCIA
 SONDRIO
 MANTOVA

More Related Content

Viewers also liked

Tecnologie informatiche
Tecnologie informaticheTecnologie informatiche
Tecnologie informaticheorestJump
 
Introduzione JQuery
Introduzione JQueryIntroduzione JQuery
Introduzione JQueryorestJump
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5orestJump
 
LINK STATE ROUTING & ALGORITMO DI DIJKSTRA
LINK STATE ROUTING & ALGORITMO DI DIJKSTRALINK STATE ROUTING & ALGORITMO DI DIJKSTRA
LINK STATE ROUTING & ALGORITMO DI DIJKSTRAContiAlessandro
 
Guida SEO: ecco un ebook definitivo!
Guida SEO: ecco un ebook definitivo!Guida SEO: ecco un ebook definitivo!
Guida SEO: ecco un ebook definitivo!Enrico Mainero
 
Le professioni del web: conosci queste opportunità?
Le professioni del web: conosci queste opportunità? Le professioni del web: conosci queste opportunità?
Le professioni del web: conosci queste opportunità? Enrico Mainero
 
Offerte e budget adwords
Offerte e budget adwordsOfferte e budget adwords
Offerte e budget adwordsEnrico Mainero
 
Asta AdWords: come funziona?
Asta AdWords: come funziona?Asta AdWords: come funziona?
Asta AdWords: come funziona?Enrico Mainero
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
Creazione siti web a roma
Creazione siti web a romaCreazione siti web a roma
Creazione siti web a romaEnrico Mainero
 
Ottimizzazione annunci adwords e adsense
Ottimizzazione annunci adwords e adsenseOttimizzazione annunci adwords e adsense
Ottimizzazione annunci adwords e adsenseEnrico Mainero
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerMatteo Magni
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerMatteo Magni
 
Html 5: una breve guida!
Html 5: una breve guida!Html 5: una breve guida!
Html 5: una breve guida!Enrico Mainero
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner Matteo Magni
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al cssEnrico Mainero
 

Viewers also liked (20)

Tecnologie informatiche
Tecnologie informaticheTecnologie informatiche
Tecnologie informatiche
 
Javascript
JavascriptJavascript
Javascript
 
Introduzione JQuery
Introduzione JQueryIntroduzione JQuery
Introduzione JQuery
 
Html e CSS ipertesti e siti web 4.5
Html e CSS   ipertesti e siti web 4.5Html e CSS   ipertesti e siti web 4.5
Html e CSS ipertesti e siti web 4.5
 
LINK STATE ROUTING & ALGORITMO DI DIJKSTRA
LINK STATE ROUTING & ALGORITMO DI DIJKSTRALINK STATE ROUTING & ALGORITMO DI DIJKSTRA
LINK STATE ROUTING & ALGORITMO DI DIJKSTRA
 
Guida SEO: ecco un ebook definitivo!
Guida SEO: ecco un ebook definitivo!Guida SEO: ecco un ebook definitivo!
Guida SEO: ecco un ebook definitivo!
 
Le professioni del web: conosci queste opportunità?
Le professioni del web: conosci queste opportunità? Le professioni del web: conosci queste opportunità?
Le professioni del web: conosci queste opportunità?
 
Offerte e budget adwords
Offerte e budget adwordsOfferte e budget adwords
Offerte e budget adwords
 
Asta AdWords: come funziona?
Asta AdWords: come funziona?Asta AdWords: come funziona?
Asta AdWords: come funziona?
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Creazione siti web a roma
Creazione siti web a romaCreazione siti web a roma
Creazione siti web a roma
 
Ottimizzazione annunci adwords e adsense
Ottimizzazione annunci adwords e adsenseOttimizzazione annunci adwords e adsense
Ottimizzazione annunci adwords e adsense
 
Festa 18 anni Roma
Festa 18 anni RomaFesta 18 anni Roma
Festa 18 anni Roma
 
HTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesignerHTML5 e Css3 - 3 | WebMaster & WebDesigner
HTML5 e Css3 - 3 | WebMaster & WebDesigner
 
HTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesignerHTML5 e Css3 - 2 | WebMaster & WebDesigner
HTML5 e Css3 - 2 | WebMaster & WebDesigner
 
HTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesignerHTML5 e Css3 - 6 | WebMaster & WebDesigner
HTML5 e Css3 - 6 | WebMaster & WebDesigner
 
HTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesignerHTML5 e Css3 - 7 | WebMaster & WebDesigner
HTML5 e Css3 - 7 | WebMaster & WebDesigner
 
Html 5: una breve guida!
Html 5: una breve guida!Html 5: una breve guida!
Html 5: una breve guida!
 
HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner HTML5 e Css3 - 1 | WebMaster & WebDesigner
HTML5 e Css3 - 1 | WebMaster & WebDesigner
 
Guida introduttiva al css
Guida introduttiva al cssGuida introduttiva al css
Guida introduttiva al css
 

Similar to Introduzione al livello di rete e Dijkstra algorithm

10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accessoacapone
 
8 Routing
8 Routing8 Routing
8 Routingacapone
 
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLuca Astori
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranettingacapone
 
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzioneacapone
 
Clink
ClinkClink
Clinkh4f
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 BwMajong DevJfu
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemRoBisc
 
Lezione 4: Comunicazione con UDP
Lezione 4: Comunicazione con UDPLezione 4: Comunicazione con UDP
Lezione 4: Comunicazione con UDPAndrea Della Corte
 
Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Giovanni Cappellini
 
An IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionAn IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionJennifer De Filicaia
 
3 Livello Trasporto
3 Livello Trasporto3 Livello Trasporto
3 Livello Trasportoacapone
 
Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Luca Cicchelli
 

Similar to Introduzione al livello di rete e Dijkstra algorithm (20)

10 Reti Accesso
10 Reti Accesso10 Reti Accesso
10 Reti Accesso
 
Internetworking
InternetworkingInternetworking
Internetworking
 
8 Routing
8 Routing8 Routing
8 Routing
 
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp IpLumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
Lumit.Basic.Knowledge.Training.Introduzione.Tcp Ip
 
9 Intranetting
9 Intranetting9 Intranetting
9 Intranetting
 
11 Evoluzione
11 Evoluzione11 Evoluzione
11 Evoluzione
 
Clink
ClinkClink
Clink
 
TCP IP
TCP IPTCP IP
TCP IP
 
4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw4 Livello Ip Parte3 Bw
4 Livello Ip Parte3 Bw
 
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
 
Reti Locali
Reti LocaliReti Locali
Reti Locali
 
Lezione 4: Comunicazione con UDP
Lezione 4: Comunicazione con UDPLezione 4: Comunicazione con UDP
Lezione 4: Comunicazione con UDP
 
Livello Data Link
Livello Data LinkLivello Data Link
Livello Data Link
 
Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.
 
An IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionAn IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotion
 
3 Livello Trasporto
3 Livello Trasporto3 Livello Trasporto
3 Livello Trasporto
 
Wireless Sensor Network
Wireless Sensor NetworkWireless Sensor Network
Wireless Sensor Network
 
Reti Domestiche
Reti DomesticheReti Domestiche
Reti Domestiche
 
Polito v2 (2010 05-19)
Polito v2 (2010 05-19)Polito v2 (2010 05-19)
Polito v2 (2010 05-19)
 

More from orestJump

Python - Primi passi
Python - Primi passi Python - Primi passi
Python - Primi passi orestJump
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0orestJump
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiorestJump
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cmsorestJump
 

More from orestJump (6)

Python - Primi passi
Python - Primi passi Python - Primi passi
Python - Primi passi
 
Php mysql3
Php mysql3Php mysql3
Php mysql3
 
Html5 appunti.0
Html5   appunti.0Html5   appunti.0
Html5 appunti.0
 
Introduzione ai Sistemi Operativi
Introduzione ai Sistemi OperativiIntroduzione ai Sistemi Operativi
Introduzione ai Sistemi Operativi
 
Flow chart
Flow chartFlow chart
Flow chart
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cms
 

Introduzione al livello di rete e Dijkstra algorithm

  • 1. Algoritmo di Dijkstra Shortest Path First ugo.rinaldi@gmail.com
  • 2. 2
  • 4. Livello di rete (3)  Interconnessione di reti di diverso tipo  Gestione infrastruttura di rete  No vera struttura  Linee a banda larga + Router veloci  Nasconde al livello 4 complessità e problematiche di networking  Protocollo IP 4
  • 5. Protocollo IP  Transito dei PACCHETTI (datagrammi) in rete  Non orientato alla connessione  Commutazione di pacchetto vs circuito 5
  • 6. L’header fisso di 20 byte  Version: 4 bit, utile per transazione IPv4>>>IPv6. '4' (0100) per IPv4.  IHL: 4 bit, lunghezza dell'intestazione, da 5 a 60 (60 con opzioni max 40 byte)  Type service: 7 bit. Voce richiede velocità, dati richiede precisione  Total lenght: 16 bit, lunghezza totale intestazione + dati. Max 65535  Identification: 16 bit, identificativo datagramma di appartenenza del frammento  Don't framment: 1 bit, non frammentare, per evitare la frammentazione  More framment: 1 bit, tutti i frammenti, tranne l'ultimo, lo attivano.  Framments offset: 13 bit, posizione del frammento all'interno del segmento.  TTL: 8 bit, massimo 255. Contatore decrementato ad ogni salto. Se TTL=0 il diagramma viene scartato e inviato un messaggio al mittente.  Protocol: 8bit, quale processo di trasporto è in attesa dei dati. p.e. Tcp, Udp, Icmp.  Header checksum: 16 bit, verifica solo l'intestazione. Ricalcolato ad ogni salto. 6
  • 8. Indirizzo IPv4  32 bit ≈ 4G indirizzi possibili  Indirizzi privati e riservati  Dot-decimal notation 192.168.0.10  Rete + host  Classi di indirizzi  Indirizzi IP- Ad ogni scheda di rete viene assegnato un indirizzo appartenente ad una classe:  A) 0, 7 bit per la rete, 24 bit per host da 1… a 127…  B) 10, 14 bit per la rete, 16 bit per host da 128… a 191…  C) 110, 21 bit per la rete, 0 bit per host da 192… a 223…  D) 1110, 28 bit per indirizzi multicast da 224… a 239…  E) 11110, per scopi sperimentali e “futuri” 8
  • 9. Il Router  Dispositivo di livello 3  Interconnette più reti p.e. router domestici connettono WAN e LAN  Instrada i pacchetti verso la destinazione  Utilizza protocolli e algoritmi di routing 9
  • 10. Algoritmi Caratteristiche:  Ottimalità in base a hop e costi  Semplicità richiesta di poche risorse e software minimo  Robustezza, Rapidità di convergenza, Flessibilità fault tolerance, traffico, icmp Classificazione:  Autonomus System (IGP e EGP)  Non adattativi (statici, Link state, Dijkstra)  Adattativi (dinamici, distance vector, Bellman-Ford)  Percorso singolo o multiplo 10 Se cammino ottimo tra I e K, J tra I e K, allora I-J e J-K ottimi Internal/External Gateway Protocol
  • 12. Link State Routing Protocol 12 1. Invio messaggi HELLO all’accensione,  interfaccia 2. Misurazione costo  interfaccia con invio A/R messaggi ECHO 3. Costruzione del pacchetto dello stato dei collegamenti (Link State Packet): identità neighbor, costo, informazioni di controllo (per garantire integrità e #sequenza) 4. Distribuzione pacchetto. Al ricevimento di un nuovo o più recente # LSP, memorizza e trasmette in flooding; se più vecchio trasmette il più recente 5. Elaborazione nuovi path (p.e. con Dijkstra)
  • 13. Link state vs Distance vector Protocol13 Distance Vector Link State
  • 14. Il problema Trovare il CAMMINO MINIMO (Shortest Path) in un GRAFO??? Con pesi non negativi sugli archi??? 14
  • 15. Cammino Casa - Ufficio 15
  • 16. Minimal guide to Graphs  G = (V, E) coppia ordinata di insiemi  V insieme dei nodi  E insieme degli archi  Grafi orientati o semplici  Archi uscenti (p.e. A  B)  Nodo di partenza ≠ Nodo di destinazone 16
  • 18. Shortest paths di Dijkstra Dijkstra(G,ω,s) Initialize(G,s) S  Ф Q  V While Q ≠ Ф do u  Extract-min(Q) S  S U {u} for each vertice V є adj(u) Relax(u,v, ω) end for End while return d[], π[] Initialize(G,s) For each nodo є V d[v] ∞ π[v]  nil end for d[s]  0 Relax(u,v,ω) If d[v]>d[u]+ ω(u,v) d[v] d[u]+ ω(u,v) π[v]  u end if Extract-min() estrae il nodo con d() minore 18
  • 19. Shortest paths di Dijkstra Dijkstra(G,ω,s) Initialize(G,s) S  Ф Q  V While Q ≠ Ф do u  Extract-min(Q) S  S U {u} for each vertice V є adj(u) Relax(u,v, ω) end for End while return d[], π[] Initialize(G,s) For each nodo є V d[v] ∞ π[v]  nil end for d[s]  0 Relax(u,v,ω) If d[v]>d[u]+ ω(u,v) d[v] d[u]+ ω(u,v) π[v]  u end if 19
  • 20. Cammino da Casa a Ufficio  Estratto nodo Casa, d[]=0  Adiacenti di Casa sono A e D relax d[A]2, d[D]8  Estratto nodo A, d[]=2  Adiacenti di A sono C e B; relax d[C]4, d[B]8  Estratto nodo C, d[]=4  Adiacenti di C sono A, D, E; relax d[D]6, d[E]13  Estratto nodo D, d[]=6  Adiacenti di D sono C ed E; relax d[E]11  Estratto nodo B, d[]=8  Adiacenti di B sono A e Ufficio; relax d[Ufficio]13  Estratto nodo E, d[]=9.  Adiacenti di E sono C e Ufficio. D[Ufficio] sarà rilassato definitivamente a 10 20
  • 21. Le strutture dopo l’esecuzione 21
  • 22. In laboratorio… 22  Ping  Ipconfig  Nlslookup  Net  Netstat –n  Route print  Tracert  Wireshark
  • 23. Una realizzazione Una tesina d’esame di Jonathan La Mela, alunno diplomato nel 2013 http://test.mebuy.it/  Gestione Grafi  Gestione Nodi  Gestione Archi  Gestione Utenti  Rendering + Percorso e distanza minimi tra 2 nodi 23
  • 24. Esercizio 24 Senza usare Google Maps determinare qual’è il percorso minimo Mantova-Varese?  MILANO  LODI  PAVIA  COMO  BERGAMO  LECCO  VARESE  CREMONA  BRESCIA  SONDRIO  MANTOVA