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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελάχιστο Συνδετικό Δέντρο

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

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο

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

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

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

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

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

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

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

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

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

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

Ελάχιστο Συνδετικό έντρο

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

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

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

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

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

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

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

Ελάχιστο Συνδετικό έντρο

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

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

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

ΘΕΜΑ 1: Αλγόριθμος Ford-Fulkerson

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

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

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

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

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

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

Αλγόριθµοι Οπισθοδρόµησης

Επιχειρησιακή Έρευνα I

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

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

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

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

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

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

Maximal Independent Set

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

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

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

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

d(v) = 3 S. q(g \ S) S

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

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

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

Chapter 7, 8 : Completeness

Μη γράφετε στο πίσω μέρος της σελίδας

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

Διάλεξη 4: Απόδειξη: Για την κατεύθυνση, παρατηρούμε ότι διαγράφοντας μια κορυφή δεν μπορούμε να διαχωρίσουμε τα u και v. Αποδεικνύουμε

Δένδρα επικάλυψης ελάχιστου κόστους και το πρόβλημα του πλανόδιου πωλητή (Traveling Salesman Problem: TSP)

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

Ελάχιστα Γεννητορικά ένδρα

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

Πληρότητα της μεθόδου επίλυσης

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

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Τυχαιοκρατικοί Αλγόριθμοι

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

TeSys contactors a.c. coils for 3-pole contactors LC1-D

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

Λύσεις 4ης Σειράς Ασκήσεων

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Θεωρία και Αλγόριθμοι Γράφων

Διάλεξη 4: Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

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

Transcript:

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

Η παραπάνω αντιστοίχιση έχει να κάνει με την αναζήτηση που κάνει η find για το εάν δύο κόμβοι ανήκουν στην ίδια ομάδα ή όχι. Με βάση την αρίθμηση λοιπόν, φτιάχνω και τον αντίστοιχο πίνακα. Οι μωβ αριθμοί απεικονίζουν την θέση του κάθε κόμβου στον πίνακα. Ταξινόμηση ακμών 1. (b, d) = 3 2. (c, d) = 3 3. (b, e) = 4 4. (a, b) = 6 5. (a, c) = 7 6. (d, e) = 7 7. (b, c) = 8 8. (c, e) = 9 Η αρχική κατάσταση είναι η παρακάτω: Εξετάζω τις ακμές με την παραπάνω σειρά ταξινόμησης. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 3

(b, d) Κανένας από τους δύο κόμβους δεν ανήκει σε κάποια ομάδα, οπότε τους ομαδοποιώ. Και ο πίνακας γίνεται: (c, d) Ο κόμβος d ανήκει ήδη σε μια ομάδα και ο c όχι. Έτσι, ο κόμβος c εντάσσεται στην ομάδα του d. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 4

(b, e) Ο κόμβος b ανήκει ήδη σε μια ομάδα και ο e όχι. Έτσι, ο κόμβος e εντάσσεται στην ομάδα του b. (a, b) Ο κόμβος b ανήκει ήδη σε μια ομάδα και ο α όχι. Έτσι, ο κόμβος α εντάσσεται στην ομάδα του b. Ο αλγόριθμος τερματίζει, διότι έχουν ομαδοποιηθεί όλοι οι κόμβοι. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 5

Το ΕΣΔ που προκύπτει από την παραπάνω διαδικασία είναι το παρακάτω: 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 6

Άσκηση 2 Ψευδοκώδικας Prim Παρακάτω βλέπουμε την εφαρμογή του στο συνδεδεμένο γράφημα. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 7

Διαλέγω τυχαία να αρχίσω από τον κόμβο b. Κρατάω και μια λίστα με τους κόμβους που έχουμε επισκεφθεί: Visited { b } Η ακμή με το μικρότερο βάρος είναι η (b,d). Επιλέγεται αυτή. Ο d προστίθεται στην Visited. Visited { b, d } Εξετάζω τώρα όλες τι ακμές που συνδέονται και με τους δύο κόμβους που έχω επισκεφθεί. H ακμή με το μικρότερο βάρος είναι η (d,c). Visited { b, d, c } 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 8

Από τους 3 κόμβους τώρα, η ακμή με το μικρότερο βάρος είναι η (b,e). Visited { b, d, c, e } Η ακμή με το μικρότερο βάρος είναι η (a,b). Visited { b, d, c, e } 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 9

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

Άσκηση 3 A) Απόδειξη Δείχνουμε ότι d[v] =δ(s,v) μετά από V -1 χαλαρώσεις. Αρχικά έχουμε το πιο κάτω λήμμα. Λήμμα 3: Πάντοτε d[v] δ(s,v). Απόδειξη: Αρχικά αληθής. Υποθέτουμε (για να φθάσουμε σε αντίφαση) ότι υπάρχουν κορυφές για τις οποίες δεν ισχύει η πρόταση του λήμματος. Έστω v η κορυφή για την οποία συμβαίνει για πρώτη φορά ότι d[v]< δ(s,v). Έστω u η κορυφή που προκάλεσε αλλαγή της d[v]: d[v] = d[u] + w(u,v). Τότε d[v] < δ(s,v) δ(s,u) + δ(u,v) δ(s,u) + w(u,v) d[u] + w(u,v) το οποίο αποτελεί αντίφαση στο ότι d[v] = d[u] + w(u,v). 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 11

Θεώρημα 1: Ο αλγόριθμος Bellman-Ford είναι ορθός, δηλ. μετά από V -1 χαλαρώσεις όλες οι τιμές του d είναι σωστές (εφόσον τα ελάχιστα μονοπάτια υπάρχουν). Απόδειξη Έστω v μια κορυφή, και θεωρήστε το ελάχιστο μονοπάτι από την πηγή s στη v(υποθέτοντας ότι δεν περνά κύκλος αρνητικού κόστους από κάποια κορυφή πάνω σε κάποιο μονοπάτι από την s στη v): s v1... v κ v Αρχικά, d[s]=0, το οποίο είναι ορθό και δεν μεταβάλλεται στη συνέχεια (ο κώδικάς μπορεί µόνο να μειώσει το d, ενώ από το Λήμμα 3, πάντοτε d[s] δ(s,s) = 0.) Μετά από την πρώτη χαλάρωση (πρώτο πέρασμα μέσα από τις ακμές), η τιμή d[v1] είναι ορθή και δεν μεταβάλλεται στη συνέχεια, διότι: Όπως ήδη δείξαμε, η τιμή της d[s] είναι ορθή και, από τη δομή της βέλτιστης λύσης, η ελάχιστη απόσταση από το s στο v1 είναι ίση µε w(s, v1). Tο πρώτο πέρασμα θέτει d[v1] = d[s] + w(s, v1) που είναι η σωστή απάντηση, και η τιμή αυτή δεν μεταβάλλεται στη συνέχεια, γιατί, γράφοντας d [v1] για τη τιμή που παίρνει η d[v1] σε οποιαδήποτε επόμενη στιγμή της εκτέλεσης, τότε d [v1] δ(s, v1) d [v1] d[v1] = δ(s, v1) Παρόμοια, ισχύει ότι, μετά από τη δεύτερη χαλάρωση, η τιμή d[v2] είναι ορθή και δεν μεταβάλλεται στη συνέχεια. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 12

Ψευδοκώδικας BF Τρέξιμο στον γράφο Ο πίνακας πριν επιλέξω έναν starting node: Επιλέγω ως starting node τον κόμβο a. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 13

Σημείωση: Οι ακμές διαλέγονται με τυχαίο τρόπο και όχι με κάποια συγκεκριμένη σειρά. Παρακάτω παρουσιάζονται και οι πέντε επαναλήψεις πάνω στον γράφο: 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 14

2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 15

2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 16

2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 17

2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 18

Ο οποίος πίνακας είναι και ο τελικός μετά τις επαναλήψεις. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 19

Συγκεντρωτικά, παρουσιάζονται οι επαναλήψεις και στον παρακάτω πίνακα: α b c d e t 0 0 1 0-4 -3 2 0-4 -5-6 -3 3 0-4 -9-5 -6-4 4 0-4 -9-5 -6-6 Και για να ελέγξουμε εάν αυτό που έχουμε κάνει είναι σωστό, κάνουμε τα παρακάτω: d[b] d[a]+w -4 0-4 -4-4 d[t] d[a]+w -6 0-3 -6-3 d[d] d[b]+w -5-4 - 1-5 -5 d[e] d[b]+w -6-4 -2-6 -6 d[b] d[c]+w -4-9 +8-4 -1 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 20

d[t] d[c]+w -6-9+3-6 -6 d[a] d[d]+w 0-5+6 0 1 d[t] d[d]+w -6-5+4-6 -1 d[t] d[e]+w -6-6+2-6 -4 d[c] d[e]+w -9-6-3-9 -9 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018 21