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

Σχετικά έγγραφα
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

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

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

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Διοικητική Λογιστική

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Ψηφιακή Επεξεργασία Εικόνων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Βέλτιστος Έλεγχος Συστημάτων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Μηχανολογικό Σχέδιο Ι

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Βάσεις Περιβαλλοντικών Δεδομένων

Δομές Δεδομένων Ενότητα 6

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Ιστορία της μετάφρασης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Κβαντική Επεξεργασία Πληροφορίας

Δομές Δεδομένων Ενότητα 1

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Διοικητική Λογιστική

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Κβαντική Επεξεργασία Πληροφορίας

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

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

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

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

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

Μάρκετινγκ Αγροτικών Προϊόντων

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τεχνικό Σχέδιο - CAD

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Διδακτική της Πληροφορικής

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

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

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Ψηφιακή Επεξεργασία Εικόνων

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

Διοίκηση Επιχειρήσεων

Διδακτική Πληροφορικής

Τεχνικό Σχέδιο - CAD

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

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

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εκκλησιαστικό Δίκαιο

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εκκλησιαστικό Δίκαιο

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

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

Βέλτιστος Έλεγχος Συστημάτων

Transcript:

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

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

Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό Δέντρο. Δεδομένου ενός συνεκτικού γραφήματος G = (V, E) με θετικά κόστη ακμών c e, ένα ΕΓΔ είναι ένα υποσύνολο των ακμών T E τέτοιο ώστε το T να είναι ένα γεννητικό δέντρο του οποίου το άθροισμα των κοστών των ακμών είναι ελάχιστο. 4 24 4 6 23 18 9 6 9 16 8 10 5 14 11 7 8 5 11 7 21 G = (V, E) T, e T c e = 50 Θεώρημα του Cayley. Υπάρχουν n n-2 γεννητικά δέντρα του K n. Δεν μπορεί να λυθεί με μέθοδο ωμής βίας 5

Υλοποίηση: Αλγόριθμος του Prim Υλοποίηση. Χρησιμοποιούμε μια ουρά προτεραιότητας. Διατηρούμε ένα σύνολο κορυφών S που έχουν εξερευνηθεί. Για κάθε κορυφή v που δεν έχει εξερευνηθεί διατηρούμε το κόστος επισύναψης a[v] = κόστος φθηνότερης ακμής από την v σε μια κορυφή στο S. Prim(G, c, s) { foreach (v V) {a[v] = ; π[v] = 0;} Αρχικοποίηση άδειας ουράς προτεραιότητας Q a[s] = 0; foreach (v V) εισήγαγε την v στην Q Αρχικοποίηση ενός συνόλου εξερευνημένων κορυφών S = while (Q δεν είναι άδεια) { u = διαγραφή ελάχιστου στοιχείου της Q // Τ = Τ {u,π[u]} S = S { u } foreach (ακμή e = (u, v) Ε) if ((v S) και (c e < a[v])) then {a[v] = c e ; π[v] = u; Μείωσε την προτεραιότητα της v στην Q;} } ΕΓΔ = {(u, π[u]) E : u V {s}} ΠΧΠ: O(nm), αν Q είναι λίστα. ΠΧΠ: O(m log n), αν Q είναι δυαδικός σωρός. 6

Υλοποίηση: Αλγόριθμος του Kruskal Υλοποίηση. Χρησιμοποιούμε την δομή δεδομένων union-find (απλή εκδοχή) Κατασκευή συνόλου T από ακμές στο ΕΓΔ. Διατηρούμε ένα σύνολο για κάθε συνεκτική συνιστώσα. O(m log n) για ταξινόμηση και Ο(n log n) για εύρεση της ένωσης. Kruskal(G, c) { Ταξινόμησε τα κόστη ακμών έτσι ώστε c 1 c 2... c m. T = foreach (u V) φτιάξε ένα σύνολο που περιέχει την u } for i = 1 to m (u,v) = e i if (u και v είναι σε διαφορετικά σύνολα) { T = T {e i } ένωσε τα σύνολα που περιέχουν την u και την v } Ένωσε τις δύο συνιστώσες return T Είναι η u και η v σε διαφορετικές συνεκτικές συνιστώσες; 7

Ελάχιστα Γεννητικά Δένδρα Άσκηση 1: Να βρείτε το Ελάχιστο Γεννητικό Δένδρο (ΕΓΔ) του παρακάτω γραφήματος (α) με την μέθοδο Prim θεωρώντας ως αρχική κορυφή την c, και (β) με την μέθοδο Kruskal. Και στις δύο περιπτώσεις το ΕΓΔ να δοθεί σαν μια ακολουθία ακμών του γραφήματος με τη σειρά κατά την οποία προστίθενται οι ακμές στο ΕΓΔ σε κάθε μέθοδο. a 10 b 180 c 55 15 25 200 e 60 d 40 i 100 50 70 5 30 f 80 g 20 h 8

Συνεκτικότητα 9

Συνεκτικότητα Συνεκτικότητα κατευθυνόμενων γραφημάτων. Ένα κατευθυνόμενο γράφημα είναι Ασθενώς συνεκτικό, αν για κάθε ζευγάρι κόμβων u και v, υπάρχει ημιδιαδρομή από τον u στον v Μονομερώς συνεκτικό, αν για κάθε ζευγάρι κόμβων u και v, είτε υπάρχει διαδρομή από τον u στον v, είτε υπάρχει διαδρομή από τον v στον u Ισχυρά συνεκτικό, αν για κάθε ζευγάρι κόμβων u και v, υπάρχει διαδρομή από τον u στον v a b a b a b c c c e d e d e d 10

11 Άσκηση 2: Βρείτε το είδος συνεκτικότητας των παρακάτω κατευθυνόμενων γραφημάτων G 1, G 2, G 3 και G 4. Συνεκτικότητα b e a c d G 1 f g h i b e a c d G 2 f g h i b e a c d G 3 f g h i b e a c d G 4 f g h i

Ισχυρά Συνεκτικές Συνιστώσες 12

Ισχυρά Συνεκτικές Συνιστώσες Ορισμός. Έστω G = (V,E) ένα κατευθυνόμενο γράφημα. Μια ισχυρά συνεκτική συνιστώσα (ΙΣΣ) του G είναι ένα μέγιστο σύνολο U V κορυφών έτσι ώστε u,v V, διαδρομή από την u στην v και από την v στην u. Παρατήρηση. Το σύνολο U ορίζει με μονοσήμαντο τρόπο ένα επαγώμενο υπογράφημα I = (U,E ) του G = (V, E), το οποίο είναι ισχυρά συνεκτικό. 13

Ισχυρά Συνεκτικές Συνιστώσες - Αλγόριθμος 1. Εκτέλεση DFS(G) για υπολογισμό χρόνων εγκατάλειψης f[u], u V 2. Δημιουργία G rev 3. Εκτέλεση DFS(G rev ) αλλά στον κύριο βρόχο for πάρε τις κορυφές σε φθίνουσα διάταξη ως προς f[u], u V 4. Οι ΙΣΣ είναι τα δένδρα του δάσους που δημιουργούνται στο βήμα 3. 14

Ισχυρά Συνεκτικές Συνιστώσες Άσκηση 3: Βρείτε τις ισχυρές συνεκτικές συνιστώσες του γραφήματος. a c e g i b d f h 15

Τέλος Φροντιστηρίου 16

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 17

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Χρήστος Ζαρολιάγκης, 2014. «Εισαγωγή στους Αλγορίθμους». Έκδοση: 1.0. Πάτρα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1083 18

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγα Έργα 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 19

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 20