Σχεδίαση & Ανάλυση Αλγορίθμων

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σχεδίαση & Ανάλυση Αλγορίθμων"

Transcript

1 Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 4.2 Διαδρομές σε Γραφήματα Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage:

2 Πρόβλημα Οδικό Δίκτυο

3 Πρόβλημα Ελάχιστες Διαδρομές από κάποια πόλη

4 Πρόβλημα 120 km 15 km Ελάχιστες Διαδρομές από την πόλη S S 12 km

5 Πρόβλημα X Ελάχιστες Διαδρομές από την πόλη S S d(s,x) = 18

6 Πρόβλημα X S 120 Ελάχιστες Διαδρομές από την πόλη S d(s,x) = 18 Y d(s,y) = 12

7 Πρόβλημα X Z 15 S 120 Ελάχιστες Διαδρομές από την πόλη S d(s,x) = 18 Y d(s,y) = 12 d(s,z) = 100

8 Ελάχιστες Διαδρομές Απλού Ζεύγους Ορισμοί

9 Ελάχιστες Διαδρομές Απλού Ζεύγους Ορισμοί

10 Ελάχιστες Διαδρομές Απλού Ζεύγους Παράδειγμα για Συζήτηση

11 Ελάχιστες Διαδρομές Απλού Ζεύγους Δένδρα Ελάχιστων Αποστάσεων

12 Ελάχιστες Διαδρομές - Ιδιότητες Βασική Παρατήρηση P ελάχιστη διαδρομή x Q ελάχιστη διαδρομή y y z? P Q είναι ελάχιστη x z x y z 2 2 4

13 Ελάχιστες Διαδρομές - Ιδιότητες Shortest Path Property Έστω ότι η ελάχιστη διαδρομή x z x z y η οποία αποτελείται από την διαδρομή P: x ακολουθούμενη από την Q: y z y Τότε: P είναι ελάχιστη διαδρομή x Q είναι ελάχιστη διαδρομή y y z

14 Ελάχιστες Διαδρομές - Ιδιότητες Λήμμα 1 (Υποδιαδρομές από ε.δ είναι ε.δ) Έστω G = (V, E) εμβαρο γράφημα και έστω P = (v 1, v 2,, v n ) μια ε.δ v 1 v n. Έστω Q = (v p, v p+1,, v q ) μια υποδιαδρομή v P v q της ε.δ P. Τότε`η Q είναι ελάχιστη διαδρομή v P v q. v 1 P 1 Q P 2 v p v q v n Q Εάν υπήρχε Q συντομότερη της Q, τότε P δεν θα ήταν ε.δ.

15 Ελάχιστες Διαδρομές - Ιδιότητες Πόρισμα 1 Έστω ότι η ελάχιστη διαδρομή P=(s,, v) διαμερίζεται Τότε, P P: s u v d(s, v) = d(s, u) + w(u, v) Απόδειξη: Από Λήμμα 1, η διαδρομή P είναι ελάχιστη από το κόμβο s στο κόμβο u. Επομένως, d(s, v) = w(p) = w(p ) + w(u, v) = d(s, u) + w(u, v)

16 Ελάχιστες Διαδρομές - Ιδιότητες Triangle Property Έστω G = (V, E) ένα εμβαρο γράφημα και έστω s V Τότε, για κάθε ακμή (u, v) E ισχύει: d(s, v) d(s, u) + w(u, v) s 20 u 10 v 8 x 12

17 Ελάχιστες Διαδρομές Απλού Ζεύγους Αλγοριθμικές Σκέψεις!!! s BFS-tree s d(s,s)=0 a b BFS d(s,a)=1 a d(s,b)=1 b c d e d d(s,d)=2 c d(s,c)=2 d(s,e)=3 e

18 Ελάχιστες Διαδρομές Απλού Ζεύγους Αλγοριθμικές Σκέψεις!!! s s 5 a d c 2 1 b e a d c b e

19 Ελάχιστες Διαδρομές Απλού Ζεύγους Αλγοριθμικές Σκέψεις!!! s a d c 2 1 b e BFS d(s,a)=1 d()=2 d()=3 d()=4 d()=5 a d d(s,d)=5 BFS-tree s d()=2 d()=6 d(s,s)=0 c d()=1 d()=2 d()=3 b d(s,b)=2 d(s,c)=4 e d(s,e)=5

20 Ελάχιστες Διαδρομές Απλού Ζεύγους Αλγόριθμος «Αφύπνισης» d(s,s)= 0 s d(s,a)= 1 a b d c e 5 Ρύθμισε ένα ρολόι για τον κόμβο s να χτυπήσει την χρονική στιγμή 0 Επανέλαβε έως ότου χτυπήσουν όλα τα ρολόγια! Έστω ότι το επόμενο ρολόι χτυπά την χρονική στιγμή t για τον κόμβο u, τότε: Η απόσταση του u από τον s είναι d(s, u)=t Για κάθε γείτονα v του u στο G: Εάν δεν αφύπνιση για τον v ή κάποια χρονική στιγμή t > t + w(u,v) τότε ρύθμισε την αφύπνιση του v ίση με t + w(u,v), άλλως μη κάνεις τίποτε!

21 Ελάχιστες Διαδρομές Απλού Ζεύγους Θα παρουσιάσουμε 2 γνωστούς Αλγορίθμους για το πρόβλημα υπολογισμού των Ελάχιστων Διαδρομών ενός έμβαρου γραφήματος G=(V,E) από ένα κόμβο S. 1. Αλγόριθμος Dijkstra 2. Αλγόριθμος Bellman-Ford

22 Ελάχιστες Διαδρομές Απλού Ζεύγους Βασικές Ιδιότητες!!! 1. Αλγόριθμος Dijkstra Τα βάρη των ακμών είναι μη-αρνητικοί αριθμοί 2. Αλγόριθμος Bellman-Ford Επιτρέπει αρνητικά βάρη. Εντοπίζει κύκλους αρνητικού βάρους (κόστους)

23 Ελάχιστες Διαδρομές & Update Αλγοριθμική Ρύθμιση της «Αφύπνισης» d(s, v) = d(v) ή dist(v) Update(u,v,w): if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v) prev(v) u d(u) = 5 d(v) = 9 7 d(u) = 5 d(v) = 6 u 2 v u 2 v

24 Ελάχιστες Διαδρομές - Dijkstra Βασική Ιδέα!!! 1. Αλγόριθμος Dijkstra Επέκταση του Δένδρου Ελάχιστων Αποστάσεων κατά ένα κόμβο!!!!!!! x y s S u v V-S

25 Ελάχιστες Διαδρομές - Dijkstra 1. Αλγόριθμος Dijkstra Initialize(G,s) 1. για κάθε κόμβο v V: d(v) prev(v) NIL 3 u 1 2. d(s) 0 0 s 2 2 v 8 w

26 Ελάχιστες Διαδρομές - Dijkstra 1. Αλγόριθμος Dijkstra Dijkstra(G,w,s) Initialize(G,s) S ; Q V = V-S while Q : u extract-min(q); S S {u} για κάθε ακμή (u,v) E: Update(u,v,w) 4. return d(), prev() 0 s 3 8 if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v) prev(v) u 2 3 u w v 4

27 Ελάχιστες Διαδρομές - Dijkstra Παράδειγμα

28 Ελάχιστες Διαδρομές - Dijkstra Παράδειγμα

29 Ελάχιστες Διαδρομές - Dijkstra Θεώρημα 1 Έστω G = (V, E) εμβαρο γράφημα με μη-αρνητικά βάρη, s V, και έστω (S, V-S) μια διαμέριση του V. Έστω s S και d(s, u) οι ελάχιστες αποστάσεις u S. Εάν (u, v) είναι η ακμή που ελαχιστοποιεί την ποσότητα d(s, u) + w(u, v) μεταξύ όλων των ακμών (x, y) με x S και y V-S, τότε P = (s,, u, v) είναι ε.δ s v. x y s S u v V-S

30 Ελάχιστες Διαδρομές - Dijkstra Απόδειξη y s S u e v V-S Έστω e = (u, v) και έστω (s,, u) η ελάχιστη διαδρομή από τον s στον u. Για την διαδρομή P = (s,, u, v) από τον s στον v ισχύει: w(p) = d(s,u) + w(e) (1)

31 Ελάχιστες Διαδρομές - Dijkstra Απόδειξη x y s S u e v V-S Έστω Q = (s,, x, y,, v) μια ελάχιστη διαδρομή από τον s στον v, και έστω y ο πρώτος κόμβος της διαδρομής Q : y V-S. Θα δείξουμε ότι w(p) w(q).

32 Ελάχιστες Διαδρομές - Dijkstra Απόδειξη x y s S u e v V-S Από Eq.(1) και από την επιλογή της ακμής e = (u, v), έχουμε: w(p) = d(s,u) + w(e) d(s, x) + w(x, y) (2)

33 Ελάχιστες Διαδρομές - Dijkstra Απόδειξη x y s S u e v V-S Η διαδρομή (s,, x) είναι ελάχιστη με τιμή d(s, x). Από Shortest Path Property, επειδή (s,, x, y) είναι τμήμα (υποδιαδρομή) της ε.δ Q = (s,, x, y,, v) και οι ακμές έχουν μη-αρνητικά βάρη, έχουμε: d(s, x) + w(x, y) w(q) (3)

34 Ελάχιστες Διαδρομές - Dijkstra Απόδειξη x y s S u e v V-S Από Eq.(2) και Eq.(3), παίρνουμε: w(p) w(q)

35 Ελάχιστες Διαδρομές - Dijkstra Θεώρημα 2 (Ορθότητα Αλγορίθμου Dijkstra) Έστω G = (V, E) εμβαρο γράφημα με μη-αρνητικά βάρη και έστω s V. Ο αλγόριθμος του Dijkstra υπολογίζει τις ε.δ και τις ε.α d(s, v) από τον κόμβο s V προς κάθε κόμβο v V του G που είναι προσπελάσιμος από τον s. Απόδειξη. Με επαγωγή στην ακολουθία των κόμβων όπως αυτή δημιουργείται από την πρόσθεσή τους στο δένδρο ελάχιστων-διαδρομών. Χρήση Θεωρήματος 1.

36 Ελάχιστες Διαδρομές - Dijkstra Πολυπλοκότητα Dijkstra Δομικά παρόμοιος με τον αλγόριθμο BFS Πιο αργός από BFS (ουρά προτεραιότητας vs ουράς) Απαιτεί n λειτουργίες insert στην ουρά, και επομένως: n extract-min n+m insert/updata Υλοποίηση ουράς με Heap O((n+m)logn)

37 Ελάχιστες Διαδρομές - Bellman-Ford Βασική Ιδέα!!! 2. Αλγόριθμος Bellman-Ford!!!!!! s 3 4 a b -2

38 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Ο αλγόριθμος Dijkstra λειτουργεί διότι η ε.δ s v πρέπει να περάσει αποκλειστικά μέσω κόμβων που είναι πιο κοντά στον s. Αυτό ΔΕΝ ισχύει όταν τα ακμικά βάρη του G μπορεί να είναι αρνητικά. Η ε.δ s a = (s, b, a) περνά μέσω του b που είναι πιο μακριά στον s. s 3 4 a b -2

39 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Ο αλγόριθμος του Dijkstra δεν λειτουργεί σωστά!!! Θα δώσει λανθασμένα : d(s, a) = 3 Ενώ ισχύει: d(s, a) = 2 s 3 4 a b -2 Τι πρέπει να αλλάξουμε στον Dijkstra?

40 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Μια κρίσιμη παρατήρηση είναι ότι, κατά τη διάρκεια λειτουργίας του Dijkstra, ισχύει: a 3 d(.) είναι είτε υπερεκτιμημένες s -2 είτε σωστές!!! Αρχικοποιούνται d(.)= και αλλάζουν μόνο: Update(u,v,w): if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v) 4 b

41 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Μια κρίσιμη παρατήρηση είναι ότι, κατά τη διάρκεια λειτουργίας του Dijkstra, ισχύει: a 3 d(.) είναι είτε υπερεκτιμημένες s -2 είτε σωστές!!! Αρχικοποιούνται d(.)= και αλλάζουν μόνο: Update(u,v,w): d(v) min{d(v), d(u) + w(u,v)} 4 b

42 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Update(u,v,w): d(v) min{d(v), d(u) + w(u,v)} (1) Δίνει τη σωστή τιμή στην d(v) (τιμή ε.δ) όταν ο κόμβος u είναι προτελευταίος στην ε.δ s v (2) Δεν θα δώσει ποτέ στην d(v) τιμή μικρότερη από την τιμή της ε.δ s v

43 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις (1) Δίνει τη σωστή τιμή στην d(v) (τιμή ε.δ) όταν ο κόμβος u είναι προτελευταίος στην ε.δ s v (2) Δεν θα δώσει ποτέ στην d(v) τιμή μικρότερη από την τιμή της ε.δ s v Όταν η d(v) πάρει σωστή τιμή (την τιμή της ε.δ s v), από εκεί και μετά, όσες φορές και να εφαρμόσουμε την Update(u,v,w), η τιμή της d(v) δεν αλλάζει!!!

44 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Μπορούμε να θεωρήσουμε τον αλγόριθμο του Dijkstra απλώς ως μια ακολουθία εκτελέσεων της Update() H ακολουθία εκτελέσεων Update() του αλγόριθμου του Dijkstra δεν λειτουργεί σωστά με αρνητικά βάρη!!! Ερώτημα!!! Υπάρχει κάποια άλλη ακολουθία εκτελέσεων της Update() που λειτουργεί σωστά???

45 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Εάν υπάρχει μια τέτοια ακολουθία εκτελέσεων της Update(), τι ιδιότητες πρέπει να έχει? Έστω s v μια ε.δ u 1 s u 2 u 3 u k v Μια τέτοια διαδρομή σε ένα γράφημα τάξης n έχει το πολύ n-1 ακμές (βλέπετε γιατί?)

46 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις u 1 s u 2 u 3 u k v Εάν η ακολουθία εκτελέσεων Update() περιλαμβάνει τις ακμές (s,u 1 ),(u 1,u 2 ),(u 2,u 3 ),,(u k,v) με αυτή τη σειρά, τότε λόγω τις (1) η τιμή d(v) θα υπολογιστεί σωστά! (1) Δίνει τη σωστή τιμή στην d(v) (τιμή ε.δ) όταν ο κόμβος u είναι προτελευταίος στην ε.δ s v

47 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις u 1 s u 2 u 3 u k v Λόγω της (2), στον υπολογισμό της τιμής d(v), δεν παίζει ρόλο ποιες άλλες ενημερώσεις Update() έγιναν σε αυτές τις ακμές (s,u 1 ), (u 1,u 2 ), (u 2,u 3 ),,(u k,v) ή τι συμβαίνει στο υπόλοιπο γράφημα! (2) Δεν θα δώσει ποτέ στην d(v) τιμή μικρότερη από την τιμή της ε.δ s v

48 Ελάχιστες Διαδρομές - Bellman-Ford Ενδιαφέρουσες Παρατηρήσεις Όμως!!! u 1 s u 2 u 3 u k v ΔΕΝ γνωρίζουμε εκ των προτέρων όλες τις ε.δ του G και, επομένως, ΔΕΝ μπορούμε να είμαστε βέβαιοι ότι ενημερώνουμε, με Update(), τις σωστές ακμές με τη σωστή σειρά!!!

49 Ελάχιστες Διαδρομές - Bellman-Ford Ορίστε μια Λύση!!!! u 1 s u 2 u 3 u k v Ενημέρωσε, με Update(), ΟΛΛΕΣ τις ακμές n-1 φορές! Η διαδικασία αυτή είναι, απλά, ο γνωστός αλγόριθμος των Bellman-Ford

50 Ελάχιστες Διαδρομές - Bellman-Ford 1. Αλγόριθμος Bellman-Ford Initialize(G,s) 1. για κάθε κόμβο v V: 2. d(s) 0 d(v) prev(v) NIL 0 s 3 4 u -2 w 2 1 v

51 Ελάχιστες Διαδρομές - Bellman-Ford 1. Αλγόριθμος Bellman-Ford 2 u Bellman-Ford(G,w,s) Initialize(G,s) 2. επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: 0 s 4-2 w 4 2 v 3 Update(u,v,w) 3. return d(.)

52 Ελάχιστες Διαδρομές - Bellman-Ford Παραδείγματα 0 s 4 u -3 1 x 2 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v y V = {s, u, v, x, y} Ε = {(y,x),(u,x),(y,v),(s,u),(x,v),(s,v)} -2

53 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 1 0 s 4 u x 2 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v 3-2 y 1 η Επανάληψη S1: (y,x), (u,x), (y,v), (s,u), (x,v), (s,v)

54 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 1 0 s 4 4 u -3 1 x 2 5 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v y 2 η Επανάληψη S1: (y,x), (u,x), (y,v), (s,u), (x,v), (s,v)

55 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 1 0 s 4 4 u x 2 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v 2-2 y 3 η Επανάληψη S1: (y,x), (u,x), (y,v), (s,u), (x,v), (s,v)

56 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 1 0 s 4 4 u x 2 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v 2-2 y 4 η Επανάληψη Καμία Αλλαγή Γιατί??? S1: (y,x), (u,x), (y,v), (s,u), (x,v), (s,v)

57 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 2 0 s 4 u x 2 5 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v y 1 η Επανάληψη S1: (s,u), (u,x), (y,x), (s,v), (x,v), (y,v)

58 Ελάχιστες Διαδρομές - Bellman-Ford Παράδειγμα 2 0 s 4 4 u x 2 n = 5 m = 6 Update στις 6 ακμές 4 φορές 3 v 2-2 y 2 η Επανάληψη Καμία Αλλαγή Γιατί??? S1: (s,u), (u,x), (y,x), (s,v), (x,v), (y,v)

59 Ελάχιστες Διαδρομές - Bellman-Ford Παρατήρηση!!! u 0 s x n = 5 m = 6 Update στις 6 ακμές 4 φορές v y 0 s u v x y

60 Ελάχιστες Διαδρομές - Bellman-Ford Παρατήρηση!!! 2. επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: Update(u,v,w) Διάμετρος = k G = (V,E)

61 Ελάχιστες Διαδρομές - Bellman-Ford Αρνητικοί Κύκλοι 2? 3 u 1 3 u 1 0 s 4-2 w 2 v 3 0 s 4-4 w 2 v? 4? Εάν υπάρχει αρνητικός κύκλος δεν έχει νόημα να αναζητούμε ελάχιστες διαδρομές!!!

62 Ελάχιστες Διαδρομές - Bellman-Ford 1. Αλγόριθμος Bellman-Ford Bellman-Ford(G,w,s) 1. Initialize(G,s) 2. επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: Update(u,v,w) 0 s 3 4-4? u w? 2 1 v? 3. για κάθε ακμή (u,v) E: if d(v) > d(u) + w(u,v) then return FALSE 4. return d(.)

63 Ελάχιστες Διαδρομές - Bellman-Ford Πολυπλοκότητα Bellman-Ford Βήμα 1: Βήμα 2:

64 Ελάχιστες Διαδρομές - Bellman-Ford Πολυπλοκότητα Bellman-Ford Βήμα 3: Συνολική Πολυπλοκότητα: Ο(n m)

65 Ελάχιστες Διαδρομές σε DAG Ελάχιστες Διαδρομές σε DAG Υπάρχουν δύο κλάσεις γραφημάτων οι οποίες αποκλείουν την εμφάνιση αρνητικών κύκλων: Γραφήματα χωρίς αρνητικές ακμές Γραφήματα χωρίς κύκλους

66 Ελάχιστες Διαδρομές σε DAG Ελάχιστες Διαδρομές σε DAG Οι ελάχιστες διαδρομές σε ένα κατευθυνόμενο άκυκλο γράφημα G (DAG), τάξης n και μεγέθους m, από ένα κόμβο s, υπολογίζονται σε χρόνο O(n+m) Ο αλγόριθμος εκμεταλλεύεται την τοπολογική ταξινόμηση του DAG.

67 Ελάχιστες Διαδρομές σε DAG Dag-Shortest-Paths(G,w,s) 1. Initialize(G,s) 2. Topological-Sorting(G) 3. για κάθε κόμβο u V σε τοπολογική σειρά: για κάθε ακμή (u,v) E: Update(u,v,w) 4. return d(.)

68 Ελάχιστες Διαδρομές σε DAG Παράδειγμα r s u v x t Αρχικό DAG

69 Ελάχιστες Διαδρομές σε DAG Παράδειγμα r s u v x t Αρχικό DAG Επιλογή κόμβου αφετηρίας: s

70 Ελάχιστες Διαδρομές σε DAG Βήμα 1 r s u v x t 3. while Q : u extract-min(q); S S {u} για κάθε ακμή (u,v) E: Update(u,v,w)

71 Ελάχιστες Διαδρομές σε DAG Βήμα 1 r s u v x t Update(s,u, 3) Update(s,v, 2)

72 Ελάχιστες Διαδρομές σε DAG Βήμα 1 r s u v x t

73 Ελάχιστες Διαδρομές σε DAG Βήμα 2 r s u v x t 3. while Q : u extract-min(q); S S {u} για κάθε ακμή (u,v) E: Update(u,v,w)

74 Ελάχιστες Διαδρομές σε DAG Βήμα 2 r s u v x t

75 Ελάχιστες Διαδρομές σε DAG Βήμα 2 r s u v x t Update(u,v, 6) Update(u,x,-2) Update(u,t, 8)

76 Ελάχιστες Διαδρομές σε DAG Βήμα 2 r s u v x t Update(u,v, 6) Update(u,x,-2) Update(u,t, 8)

77 Ελάχιστες Διαδρομές σε DAG Βήμα 3 r s u v x t

78 Ελάχιστες Διαδρομές σε DAG Βήμα 3 r s u v x t Update(v,x,-5) Update(v,t, 5)

79 Ελάχιστες Διαδρομές σε DAG Βήμα 3 r s u v x t Update(v,x,-5) Update(v,t, 5)

80 Ελάχιστες Διαδρομές σε DAG Βήμα 4 r s u v x t

81 Ελάχιστες Διαδρομές σε DAG Βήμα 4 r s u v x t

82 Ελάχιστες Διαδρομές σε DAG Βήμα 4 r s u v x t Update(x,t, 9)

83 Ελάχιστες Διαδρομές σε DAG Βήμα 4 r s u v x t Update(x,t, 9)

84 Ελάχιστες Διαδρομές σε DAG Βήμα 5 r s u v x t Όλες οι ελάχιστες διαδρομές από τον κόμβο σε χρόνο O(n+m) s

85 Ελάχιστες Διαδρομές Παρατηρήσεις Dijkstra u extract-min(q); για κάθε ακμή (u,v) E: Update(u,v,w) Bellman-Ford επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: Update(u,v,w) if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v)

86 Ελάχιστες Διαδρομές Παρατηρήσεις Dijkstra u extract-min(q); για κάθε ακμή (u,v) E: Update(u,v,w) Bellman-Ford επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: Update(u,v,w) if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v) prev(v) u

87 Ελάχιστες Διαδρομές Παρατηρήσεις Dijkstra u extract-min(q); για κάθε ακμή (u,v) E: Update(u,v,w) Bellman-Ford επανέλαβε n-1 φορές: για κάθε ακμή (u,v) E: Update(u,v,w) if d(v) > d(u) + w(u,v) then d(v) d(u) + w(u,v) prev(v) u f(v) characteristic(u)

88 Ελάχιστες Διαδρομές Θα ξαναδούμε αλγορίθμους υπολογισμού ελάχιστων Διαδρομών!!! Δυναμικός Προγραμματισμός Δυναμικός Σχεδιασμός

89 Τέλος Ενότητας Ευχαριστώ για τη Συμμετοχή σας!!! Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage:

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Αλγοριθμική Τεχνική Απληστίας Ελάχιστες Διαδρομές Dijkstra, Bllman-Ford Ελάχιστα Συνδετικά Δένδρα Kruskal, Prim Σταύρος Δ. Νικολόπουλος 0- Τμήμα Μηχανικών Η/Υ

Διαβάστε περισσότερα

Συντομότερες Διαδρομές

Συντομότερες Διαδρομές Συντομότερες Διαδρομές Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη Διαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού

Διαβάστε περισσότερα

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη ιαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής Απόσταση d(u,

Διαβάστε περισσότερα

Συντομότερες Διαδρομές

Συντομότερες Διαδρομές Συντομότερη Διαδρομή Συντομότερες Διαδρομές Διδάσκοντες: Σ Ζάχος, Δ Φωτάκης Επιμέλεια διαφανειών: Δ Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κατευθυνόμενο G(V, E, w) με μήκη Μήκος

Διαβάστε περισσότερα

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

Διαβάστε περισσότερα

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Αλγόριθμοι Γραφημάτων Τοπολογική Διάταξη

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Dijkstra Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Dijkstra

Διαβάστε περισσότερα

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 1 / 48 Εύρεση Ελάχιστου

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Εισαγωγή στους Αλγορίθμους Ενότητα 7η Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 12: Αλγόριθμοι Γραφημάτων/Συντομότατα μονοπάτια/αλγόριθμος Bellman-Ford/Αλγόριθμος Dijkstra/Floyd-Warshall Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

Διαβάστε περισσότερα

Ελαφρύτατες διαδρομές

Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Κατευθυνόμενο γράφημα Συνάρτηση βάρους Ελαφρύτατη διαδρομή από το u στο v : διαδρομή με και ελάχιστο βάρος s 3 t 7 x 5 3 y z Βάρος ελαφρύτατης διαδρομής εάν

Διαβάστε περισσότερα

Αλγόριθμοι Eλάχιστα μονοπάτια

Αλγόριθμοι Eλάχιστα μονοπάτια Αλγόριθμοι Eλάχιστα μονοπάτια Μάρθα Σιδέρη Προτεινόμενη βιβλιογραφία: S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani «Αλγόριθμοι» Κλειδάριθμος 009 Κεφάλαιο. http://www.cs.berkeley.edu/~vazirani/algorithms/chap.pdf

Διαβάστε περισσότερα

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα. Άσκηση 1 Ψευδοκώδικας Kruskal Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα. Αντιστοιχίζω τους κόμβους με αριθμούς από το 0 έως το 4. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα. Δυναμικός & Γραμμικός Προγραμματισμός Προβλήματα Ροές σε Δίκτυα Σταύρος Δ. Νικολόπουλος -7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 10η

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Εισαγωγή στους Αλγορίθμους Ενότητα 10η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου

Διαβάστε περισσότερα

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Διάλεξη 2: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους - Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Bellman Ford Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους -Ο αλγόριθμος ijkstraγια εύρεση της βραχύτερης απόστασης -Ο αλγόριθμος

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3 Αλγόριθμοι και Πολυπλοκότητα 3η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2019 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος 2019 1 / 54 Outline 1 Άσκηση

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αλγόριθμοι και Πολυπλοκότητα Παραδείγματα Δυναμικού Προγραμματισμού Προσαρμογή από διαφάνειες Σταύρου Νικολόπουλου (Παν.

Διαβάστε περισσότερα

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #: Εύρεση Ελαχίστων Μονοπατιών σε Γραφήματα που Περιλαμβάνουν και Αρνητικά Βάρη: Αλγόριθμος

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25. 2. Βασικά στοιχεία ανάλυσης αλγορίθμων... 57. 3. Γραφήματα...

Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25. 2. Βασικά στοιχεία ανάλυσης αλγορίθμων... 57. 3. Γραφήματα... Περιεχόμενα Σχετικά με τους συγγραφείς...3 Πρόλογος... 11 Πρόλογος της ελληνικής έκδοσης... 23 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα... 25 1.1 Ένα πρώτο πρόβλημα: Ευσταθές Ταίριασμα...25 1.2

Διαβάστε περισσότερα

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε

Διαβάστε περισσότερα

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων Εισαγωγή στην Επιστήμη των Υπολογιστών ο εξάμηνο ΣΗΜΜΥ Ενότητα : Αλγόριθμοι γράφων και δικτύων Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 4.1 Βασικοί Αλγόριθμοι Γραφημάτων Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγοριθμική Θεωρία

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

Διαβάστε περισσότερα

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 3/2/2019 1 / 37 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον i ανάμεσα σε όλους

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα.0 Σταύρος Δ. Νικολόπουλος 06-7 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ταξινόμηση Selection-Sort Bubble-Sort και

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/55 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/55 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 6 1 / 35 Ενότητα 6 - Συντοµότερες

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

Διαβάστε περισσότερα

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler Γράφοι (συνέχεια) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #2: Πολυωνυμικοί Αλγόριθμοι, Εισαγωγή στα Γραφήματα, Αναζήτηση κατά Βάθος, Τοπολογική Ταξινόμηση

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Σταύρος Δ. Νικολόπουλος 016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Ενότητα 7.0 Αλγόριθμοι Γραφημάτων Διερεύνηση Γραφημάτων

Διαβάστε περισσότερα

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Αλγόριθμοι και πολυπλοκότητα Στάθης Ζάχος, Δημήτρης Φωτάκης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 5 ΣΥΝΕΚΤΙΚΟΤΗΤΑ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Συνεκτικότητα Έννοια της συνδεσμικότητας: «Ποσότητα συνδεσμικότητας»...

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 23: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Βραχύτερα Μονοπάτια σε γράφους Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης Ο αλγόριθμος

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Διερεύνηση Πρώτα σε Βάθος (DFS) 2. Τοπολογική Ταξινόμηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Depth-First Search Πρώτα σε Βάθος διερεύνηση (Depth-First Search) είναι

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.

Διαβάστε περισσότερα

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: ίκτυα ροής και το πρόβληµα της µέγιστης ροής Η µεθοδολογία Ford-Fulkerson Ο αλγόριθµος Edmonds-Karps ΕΠΛ 232

Διαβάστε περισσότερα

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ. Προβλήματα βέλτιστων μονοπατιών Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ. Εφαρμογές: Χρονοπρογραμματισμός (διαχείριση εργασιών,

Διαβάστε περισσότερα

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ. Προβλήματα βέλτιστων μονοπατιών Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια,, κτλ. Εφαρμογές: Χρονοπρογραμματισμός (διαχείριση

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Απαιτήσεις Μαθήματος Εργαστηρίου Σκιαγράφηση Μαθήματος μια Πρώτη Εισαγωγή Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10γ: Αλγόριθμοι Γραφημάτων- Διερεύνηση Πρώτα σε Βάθος (DFS)- Τοπολογική Ταξινόμηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τ.Ε.Ι. Πελοπόννησου. Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Δίκτυα και Δρομολόγηση Πακέτων

Τ.Ε.Ι. Πελοπόννησου. Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Δίκτυα και Δρομολόγηση Πακέτων Τ.Ε.Ι. Πελοπόννησου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δίκτυα και Δρομολόγηση Πακέτων Νικολέττα Δελλατόλα (Α.Μ.: 2005161) Επιβλέπων καθηγητής: Γρηγόριος Καραγιώργος

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths) ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Τα συντομότερα Μονοπάτια(Shortest Paths) A 2 7 2

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 4η Διάλεξη

Θεωρία Γραφημάτων 4η Διάλεξη Θεωρία Γραφημάτων 4η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 4η Διάλεξη

Διαβάστε περισσότερα

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο Αλγόριθμοι και Πολυπλοκότητα 3η σειρά γραπτών και προγραμματιστικών ασκήσεων CoReLab ΣΗΜΜΥ ΕΜΠ Ιανουάριος 2017 CoReLab ΣΗΜΜΥ ΕΜΠ Αλγόριθμοι και Πολυπλοκότητα Ιανουάριος 2017 1 / 53 Outline 1 Άσκηση 1:

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Μάθημα 21: Ουρές (Queues)

Μάθημα 21: Ουρές (Queues) Queues Page 1 Μάθημα 21: Ουρές (Queues) Η ουρά (queue) είναι μια δομή δεδομένων. Η βασική λειτουργικότητα είναι η εισαγωγή στοιχείων στην πίσω θέση και η εξαγωγή-διαγραφή στοιχείων από την μπροστινή θέση.

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Γραφήματα Βασικές Έννοιες και Εφαρμογές Βασικοί

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 6 Γραμμικός Προγραμματισμός Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Γραμμικός Προγραμματισμός

Διαβάστε περισσότερα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

Διαβάστε περισσότερα

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

Διαβάστε περισσότερα

Θεωρία Γραφημάτων 8η Διάλεξη

Θεωρία Γραφημάτων 8η Διάλεξη Θεωρία Γραφημάτων 8η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 8η Διάλεξη

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 1 Εισαγωγή 1 / 14 Δομές Δεδομένων και Αλγόριθμοι Δομή Δεδομένων Δομή δεδομένων είναι ένα σύνολο αποθηκευμένων

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 (α) Ο αλγόριθµος χρησιµοποιεί τη διαδικασία DFS(v) η οποία, ως γνωστό, επισκέπτεται όλους τους κόµβους που είναι συνδεδεµένοι µε τον κόµβο v. Για να µετρήσουµε

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα