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

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

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

Transcript

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

2 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

3 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο Είσοδος: Δέντρο T (V, E) με βάρη w(u) Z, για κάθε κόμβο u V (πιθανώς αρνητικά). Ζητείται: Απλό μονοπάτι p που να μεγιστοποιεί το συνολικό βάρος w(p) = u p w(u). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

4 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο Ιδέα: Εστω ότι επιλέγουμε κόμβο v και τον θεωρούμε ρίζα του δέντρου, με παιδιά τους κόμβους u 1,..., u k. Τότε έχουμε τις εξής δυο βασικές περιπτώσεις: Π1. Ο v ανήκει στο μονοπάτι p: Διακρίνουμε δυο υποπεριπτώσεις: Π1.α. Ο v είναι ακριανός κόμβος του μονοπατιού: Σε αυτήν την περίπτωση, το μονοπάτι p, αν αφαιρέσουμε τον v, είναι το μέγιστου βάρους μονοπάτι που βρίσκεται σε ένα από τα υποδέντρα με ρίζα u 1,..., u k και καταλήγει στην αντίστοιχη ρίζα. Π1.β. Ο v είναι ενδιάμεσος κόμβος του μονοπατιού: Σε αυτήν την περίπτωση, αν αφαιρέσουμε τον v, το p σπάει σε δυο μονοπάτια, τα δυο μέγιστου βάρους που βρίσκονται στα υποδέντρα με ρίζα u 1,..., u k και καταλήγουν στην αντίστοιχη ρίζα (σε διαφορετικά υποδέντρα). Π2. Ο v δεν ανήκει στο p: Σε αυτήν την περίπτωση, το μέγιστο μονοπάτι βρίσκεται σε κάποιο από τα υποδέντρα με ρίζα u 1,..., u k. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

5 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο (αʹ) Π1.α (βʹ) Π1.β (γʹ) Π2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

6 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο Λύση: Για κάθε κόμβο u κρατάμε δυο τιμές, w e (u) και w m (u). Στο υποδέντρο με ρίζα τον u, το w e (u) συμβολίζει το μέγιστο βάρος μονοπατιού που καταλήγει στον u και το w m (u) συμβολίζει το μέγιστο βάρος μονοπατιού που περιέχει ως ενδιάμεσο τον u. Ετσι, αν γνωρίζουμε τα w e (u 1 ),..., w e (u k ), για να υπολογίσουμε τα w e (v) και w m (v) έχουμε τις εξής (αναδρομικές) σχέσεις: 1 w e (v) = w(v) + max{max u {u1,...,u k }{w e (u)}, 0} (*). 2 w m (v) = w(v) + max{max ui,u j {u 1,...,u k } u i u j {w e (u i ) + w e (u j )}, 0} Παρατηρήστε ότι αρκεί να θυμόμαστε τα δυο μέγιστα w e (u i ), w e (u j ) {w e (u 1 ),..., w e (u k )}. Τρέχουμε αναδρομικά για κάθε κόμβο του δέντρου, με DFS. Για κάθε κόμβο θυμόμαστε ποιό (η ποιά - για το w m (u)) είναι το παιδί του επιλέξαμε. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

7 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο Λύση: Προσέχουμε (*) ότι αν όλα τα τα μέγιστα μονοπάτια που καταλήγουν στα παιδιά του υπό αναβάθμιση κόμβου u είναι αρνητικά, κρατάμε μόνο το βάρος του κόμβου - και θυμόμαστε ότι δεν επιλέξαμε κανένα παιδί του (δηλ. αν ο u ανήκει στην τελική λύση, θα είναι ακριανός κόμβος). Ετσι αποκόπτουμε τα αρνητικά υπομονοπάτια. Τέλος, σε κάθε αναβάθμιση κόμβου θυμόμαστε ποια είναι τα μέγιστα w e και w m (w e max και w m max ) που έχουμε συναντήσει. Ξεκινώντας από τον κόμβο με το μέγιστο εκ των w e max και w m max και ακολουθώντας αναδρομικά τα επιλεγμένα παιδιά, έχουμε το ζητούμενο μονοπάτι. Παρατηρήστε, ότι αν δεν υπάρχει κανένα θετικό μονοπάτι με τουλάχιστον μια ακμή, το μέγιστο μονοπάτι είναι ο κόμβος με το μεγαλύτερο βάρος. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

8 Άσκηση 1: Μακρύτερο Μονοπάτι σε Δέντρο Πολυπλοκότητα: Οπως είδαμε, αν για κόμβο v με παιδιά u 1,..., u k θυμόμαστε τα δύο μέγιστα w e (u i ), w e (u j ) κατά την αναδρομή, τα w e (v) και w m (v) υπολογίζονται σε O(1). Οπότε κρατάμε δυο τιμές, mx 1 (v), mx 2 (v) για κάθε κόμβο v, που αντιστοιχούν στα δυο μέγιστα w e (u i ), w e (u j ) {w e (u 1 ),..., w e (u 2 )} και τις ενημερώνουμε κάθε φορά που υπολογίζουμε ένα w e (u l ) {w e (u 1 ),..., w e (u 2 )}. Η σειρά του DFS εξασφαλίζει ότι θα έχουμε υπολογίσει τα mx 1 (v), mx 2 (v) όταν φτάσουμε στον υπολογισμό των τιμών του v. Πολυπλοκότητα O( V ) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

9 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

10 Άσκηση 2α) Εστω κατευθυνόμενο γράφημα όπου κάθε κορυφή έχει μια ακέραια τιμή p u > 0. Ορίζουμε ως κόστος κάθε κορυφής: c(u) = τιμή της φθηνότερης κορυφής που είναι προσπελάσιμη από τη u (συμπεριλαμβανομένης της u) Είσοδος: Κατευθυν. γράφημα G(V, E) με τιμές p u u V. Ζητούμενο: Αλγόριθμος γραμμικού χρόνου που υπολογίζει το c(u) για κάθε κορυφή u (α) DAG (β) Γενίκευση για κάθε κατευθυνόμενο γράφημα G (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

11 Ασκηση 2 α) Εστω μια κορυφή u. Τότε όλες οι κορυφές που είναι προσπελάσιμες από τη u είναι οι εξής: η ίδια η κορυφή u οι κορυφές με τις οποίες συνδέεται με ακμή u v i : v 1,..., v d. οι κορυφές που είναι προσπελάσιμες από τις v 1,..., v d Συνοπτικά γράφουμε: c(u) = min{p u, min v:(u,v) E {c(v)}} (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

12 Ασκηση 2 α) Θέλουμε να βρούμε ένα τρόπο να υπολογίσουμε πρώτα όλες τις τιμές c(v), v : (u, v) E μετά να κρατήσουμε τη μικρότερη τιμή min{p u, min {c(v)}} v:(u,v) E Θα θέλαμε να χειριστούμε τις κορυφές με μια συγκεκριμένη σειρά. Επειδή το γράφημα είναι DAG, μπορούμε να χρησιμοποιήσουμε τοπολογική διάταξη και έπειτα να εξετάσουμε τις κορυφές στην αντίστροφη σειρά. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

13 Ασκηση 2 α) Αλγόριθμος 1 Τοπολογική διάταξη των κορυφών στο G. 2 Εξετάζοντας τις κορυφές σε αντίστροφη σειρά από την τοπολογική διάταξη: Για κάθε κορυφή u V υπολογίζουμε Πολυπλοκότητα c(u) = min{pu, min {c(v)}} v:(u,v) E Και τα δύο βήματα απαιτούν χρόνο O( V + E ), άρα γραμμικός αλγόριθμος (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

14 Ασκηση 2 β) Ισχυρά Συνεκτικές Συνιστώσες Ισχυρά συνεκτική συνιστώσα (ΙΣΣ) ενός κατευθυνόμενου γραφήματος G(V, E) = ένα μέγιστο σύνολο κορυφών U V, τ.ώ. u, v U να υπάρχει διαδρομή u v και v u. Θα βασιστούμε στο γεγονός ότι Ισχυρά Συνεκτικές Συνιστώσες Οι ισχυρά συνεκτικές συνιστώσες ενός κατευθυνόμενου γραφήματος μπορούν να υπολογιστούν σε γραμμικό χρόνο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

15 Ασκηση 2 β) Το γράφημα G που προκύπτει αν συρρικνώσουμε κάθε ΙΣΣ σε μια κορυφή είναι DAG. Αν βρούμε τη τοπολογική διάταξη του μεταγραφήματος αυτού, ουσιαστικά βάζουμε τις ΙΣΣ σε μια φθίνουσα σειρά χρόνων αναχώρησης του DFS τερματική: ισχυρά συνεκτικές συνιστώσες (= ισχυρά συνεκτική συνιστώσα χωρίς εξερχόμενες ακμές στο μεταγράφημα). στην τοπολογική διάταξη του μεταγραφήματος, μια τερματική ΙΣΣ είναι η μετακορυφή με το χαμηλότερο χρόνο αναχώρησης, δηλ. η τελευταία στη διάταξη. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

16 Ασκηση 2 β) Αν ξεκινήσουμε τον DFS από έναν κόμβο που ανήκει σε μια τερματική ΙΣΣ, τότε θα εξερευνήσουμε όλη την ΙΣΣ αυτή και θα σταματήσουμε. Ιδέα Αλγορίθμου 1 Ξεκινάμε από έναν κόμβο που ανήκει σε μια τερματική ΙΣΣ. 2 Βρίσκουμε μέσω DFS όλους τους κόμβους σε αυτήν την ΙΣΣ. 3 Αφαιρούμε την ΙΣΣ αυτή και επαναλαμβάνουμε. Πώς βρίσκουμε μια τερματική ΙΣΣ; Απάντηση Στο αντίστροφο γράφημα G R μια τερματική ΙΣΣ γίνεται μια αρχική ΙΣΣ, δηλαδή μια ΙΣΣ χωρίς εισερχόμενες ακμές (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

17 Ασκηση 2 β) Αλγόριθμος για ισχυρά συνεκτικές συνιστώσες 1 DFS(G) για τον υπολογισμό των χρόνων αναχώρησης f [u] για κάθε u V. 2 υπολογισμός αντίστροφου γραφήματος G R (δηλ. με ανεστραμμένες τις ακμές) 3 DFS(G R ) στο κύριο βρόχο φορ της DFS Init εξετάζουμε τις κορυφές σε φθίνουσα σειρά των χρόνων f [u] από το βήμα 1. 4 οι κορυφές κάθε δένδρου από το βήμα 3 συναποτελούν μια συνεκτική συνιστώσα. Πολυπλοκότητα O( V + E ) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

18 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

19 Άσκηση 3: Κλέφτες και Αστυνόμοι Είσοδος: Μη κατευθυνόμενος γράφος κινήσεων Εξοδος: Νικητής του παιχνιδιού για κάθε συνδυασμό αρχικών θέσεων Λύση (Ιδέα): Δημιουργούμε ένα νέο γράφο με O(V 2 ) κόμβους και O(VE) ακμές όπου ο κάθε κόμβος είναι της μορφής (θέση Κώστα, θέση Ανδρέα, επόμενη κίνηση) και κάθε ακμή της μορφής «Κ,Α,Κ), (Κ,Α,Α» ή «Κ,Α,Α), (Κ,Α,Κ», όπου οι (Κ,Κ ) και (Α,Α ) είναι ακμές του αρχικού γράφου Θα δώσουμε σε κάθε κόμβο μια ετικέτα Α, Κ ή Ι αν ξεκινώντας απ αυτή την κατάσταση το παιχνίδι καταλήγει σε νίκη του Ανδρέα, του Κώστα ή έρχεται ισόπαλο Αν για ένα κόμβο γνωρίζουμε την ετικέτα όλων των γειτόνων του μπορούμε εύκολα να βρούμε τη δική του (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

20 Άσκηση 3: Κλέφτες και Αστυνόμοι Είσοδος: Μη κατευθυνόμενος γράφος κινήσεων Εξοδος: Νικητής του παιχνιδιού για κάθε συνδυασμό αρχικών θέσεων Λύση (Ιδέα): Δημιουργούμε ένα νέο γράφο με O(V 2 ) κόμβους και O(VE) ακμές όπου ο κάθε κόμβος είναι της μορφής (θέση Κώστα, θέση Ανδρέα, επόμενη κίνηση) και κάθε ακμή της μορφής «Κ,Α,Κ), (Κ,Α,Α» ή «Κ,Α,Α), (Κ,Α,Κ», όπου οι (Κ,Κ ) και (Α,Α ) είναι ακμές του αρχικού γράφου Θα δώσουμε σε κάθε κόμβο μια ετικέτα Α, Κ ή Ι αν ξεκινώντας απ αυτή την κατάσταση το παιχνίδι καταλήγει σε νίκη του Ανδρέα, του Κώστα ή έρχεται ισόπαλο Αν για ένα κόμβο γνωρίζουμε την ετικέτα όλων των γειτόνων του μπορούμε εύκολα να βρούμε τη δική του (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

21 Άσκηση 3: Κλέφτες και Αστυνόμοι Είσοδος: Μη κατευθυνόμενος γράφος κινήσεων Εξοδος: Νικητής του παιχνιδιού για κάθε συνδυασμό αρχικών θέσεων Λύση (Ιδέα): Δημιουργούμε ένα νέο γράφο με O(V 2 ) κόμβους και O(VE) ακμές όπου ο κάθε κόμβος είναι της μορφής (θέση Κώστα, θέση Ανδρέα, επόμενη κίνηση) και κάθε ακμή της μορφής «Κ,Α,Κ), (Κ,Α,Α» ή «Κ,Α,Α), (Κ,Α,Κ», όπου οι (Κ,Κ ) και (Α,Α ) είναι ακμές του αρχικού γράφου Θα δώσουμε σε κάθε κόμβο μια ετικέτα Α, Κ ή Ι αν ξεκινώντας απ αυτή την κατάσταση το παιχνίδι καταλήγει σε νίκη του Ανδρέα, του Κώστα ή έρχεται ισόπαλο Αν για ένα κόμβο γνωρίζουμε την ετικέτα όλων των γειτόνων του μπορούμε εύκολα να βρούμε τη δική του (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

22 Άσκηση 3: Κλέφτες και Αστυνόμοι Είσοδος: Μη κατευθυνόμενος γράφος κινήσεων Εξοδος: Νικητής του παιχνιδιού για κάθε συνδυασμό αρχικών θέσεων Λύση (Ιδέα): Δημιουργούμε ένα νέο γράφο με O(V 2 ) κόμβους και O(VE) ακμές όπου ο κάθε κόμβος είναι της μορφής (θέση Κώστα, θέση Ανδρέα, επόμενη κίνηση) και κάθε ακμή της μορφής «Κ,Α,Κ), (Κ,Α,Α» ή «Κ,Α,Α), (Κ,Α,Κ», όπου οι (Κ,Κ ) και (Α,Α ) είναι ακμές του αρχικού γράφου Θα δώσουμε σε κάθε κόμβο μια ετικέτα Α, Κ ή Ι αν ξεκινώντας απ αυτή την κατάσταση το παιχνίδι καταλήγει σε νίκη του Ανδρέα, του Κώστα ή έρχεται ισόπαλο Αν για ένα κόμβο γνωρίζουμε την ετικέτα όλων των γειτόνων του μπορούμε εύκολα να βρούμε τη δική του (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

23 Άσκηση 3: Κλέφτες και Αστυνόμοι Είσοδος: Μη κατευθυνόμενος γράφος κινήσεων Εξοδος: Νικητής του παιχνιδιού για κάθε συνδυασμό αρχικών θέσεων Λύση (Ιδέα): Δημιουργούμε ένα νέο γράφο με O(V 2 ) κόμβους και O(VE) ακμές όπου ο κάθε κόμβος είναι της μορφής (θέση Κώστα, θέση Ανδρέα, επόμενη κίνηση) και κάθε ακμή της μορφής «Κ,Α,Κ), (Κ,Α,Α» ή «Κ,Α,Α), (Κ,Α,Κ», όπου οι (Κ,Κ ) και (Α,Α ) είναι ακμές του αρχικού γράφου Θα δώσουμε σε κάθε κόμβο μια ετικέτα Α, Κ ή Ι αν ξεκινώντας απ αυτή την κατάσταση το παιχνίδι καταλήγει σε νίκη του Ανδρέα, του Κώστα ή έρχεται ισόπαλο Αν για ένα κόμβο γνωρίζουμε την ετικέτα όλων των γειτόνων του μπορούμε εύκολα να βρούμε τη δική του (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

24 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση (Ιδέα): Εστω ένας κόμβος v στον οποίο παίζει ο Κώστας Αν υπάρχει έστω και ένας γείτονας του v που έχει ετικέτα Κ, τότε θα έχουμε λαβελ(v) = Κ Αν όλοι οι γείτονες του v έχουν ετικέτα Α, τότε θα έχουμε λαβελ(v) = Α Διαφορετικά, αν υπάρχουν γείτονες που έχουν ετικέτα Α και γείτονες που έχουν ετικέτα Ι θα έχουμε λαβελ(v) = Ι Θα ακολουθήσουμε μια βοττομ-υπ προσέγγιση για να δώσουμε τις ετικέτες με τη σωστή σειρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

25 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση (Ιδέα): Εστω ένας κόμβος v στον οποίο παίζει ο Κώστας Αν υπάρχει έστω και ένας γείτονας του v που έχει ετικέτα Κ, τότε θα έχουμε λαβελ(v) = Κ Αν όλοι οι γείτονες του v έχουν ετικέτα Α, τότε θα έχουμε λαβελ(v) = Α Διαφορετικά, αν υπάρχουν γείτονες που έχουν ετικέτα Α και γείτονες που έχουν ετικέτα Ι θα έχουμε λαβελ(v) = Ι Θα ακολουθήσουμε μια βοττομ-υπ προσέγγιση για να δώσουμε τις ετικέτες με τη σωστή σειρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

26 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση (Ιδέα): Εστω ένας κόμβος v στον οποίο παίζει ο Κώστας Αν υπάρχει έστω και ένας γείτονας του v που έχει ετικέτα Κ, τότε θα έχουμε λαβελ(v) = Κ Αν όλοι οι γείτονες του v έχουν ετικέτα Α, τότε θα έχουμε λαβελ(v) = Α Διαφορετικά, αν υπάρχουν γείτονες που έχουν ετικέτα Α και γείτονες που έχουν ετικέτα Ι θα έχουμε λαβελ(v) = Ι Θα ακολουθήσουμε μια βοττομ-υπ προσέγγιση για να δώσουμε τις ετικέτες με τη σωστή σειρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

27 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση (Ιδέα): Εστω ένας κόμβος v στον οποίο παίζει ο Κώστας Αν υπάρχει έστω και ένας γείτονας του v που έχει ετικέτα Κ, τότε θα έχουμε λαβελ(v) = Κ Αν όλοι οι γείτονες του v έχουν ετικέτα Α, τότε θα έχουμε λαβελ(v) = Α Διαφορετικά, αν υπάρχουν γείτονες που έχουν ετικέτα Α και γείτονες που έχουν ετικέτα Ι θα έχουμε λαβελ(v) = Ι Θα ακολουθήσουμε μια βοττομ-υπ προσέγγιση για να δώσουμε τις ετικέτες με τη σωστή σειρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

28 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση (Ιδέα): Εστω ένας κόμβος v στον οποίο παίζει ο Κώστας Αν υπάρχει έστω και ένας γείτονας του v που έχει ετικέτα Κ, τότε θα έχουμε λαβελ(v) = Κ Αν όλοι οι γείτονες του v έχουν ετικέτα Α, τότε θα έχουμε λαβελ(v) = Α Διαφορετικά, αν υπάρχουν γείτονες που έχουν ετικέτα Α και γείτονες που έχουν ετικέτα Ι θα έχουμε λαβελ(v) = Ι Θα ακολουθήσουμε μια βοττομ-υπ προσέγγιση για να δώσουμε τις ετικέτες με τη σωστή σειρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

29 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

30 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

31 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

32 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

33 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

34 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Θα διατυπώσουμε τους κανονόνες χρωματισμού των κόμβων που παίζει ο Κώστας (συμμετρικά για τον Ανδρέα) Άμεσος χρωματισμός: Αν ένας κόμβος που παίζει ο Κώστας έχει τουλάχιστον ένα γείτονα με ετικέτα Κ, τον χρωματίζουμε Κ Εμμεσος χρωματισμός: Αν σε ένα κόμβο που παίζει ο Κώστας έχουν όλοι οι γείτονες ετικέτα Α, τον χρωματίζουμε Α Αρχικά όλοι οι κόμβοι έχουν την ετικέτα Ι και για κάθε κόμβο κρατάμε έναν μετρητή των γειτόνων που είναι Ι Δίνουμε άμεσα ετικέτα σε όλους τους κόμβους όπου ο Κώστας βρίσκεται στο καταφύγιο (Κ) και ο Ανδρέας βρίσκεται στην ίδια θέση με τον Κώστα (Α) Κάθε φορά που δίνουμε ετικέτα σε ένα κόμβο τον τοποθετούμε σε μια ουρά (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

35 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Μέχρι να αδειάσει η ουρά: Βγάζουμε το πρώτο στοιχείο, ελέγχουμε τους γείτονές του και προσπαθούμε να δώσουμε ετικέτα σε όσους είναι Ι Ελέγχουμε για κάθε γείτονα αν μπορούμε να κάνουμε άμεσο χρωματισμό Αλλιώς μειώνουμε τον μετρητή του γείτονα που δε μπορούμε να χρωματίσουμε άμεσα κατά 1 και όταν γίνει 0 κάνουμε έμμεσο χρωματισμό Ο αλγόριθμος τερματίζει όταν αδειάσει η ουρά, οπότε και δε μπορούμε να κάνουμε άλλους χρωματισμούς Πολυπλοκότητα Η πολυπλοκότητα του προηγούμενου αλγορίθμου είναι γραμμική στο μέγεθος του νέου γράφου που κατασκευάσαμε, άρα το συνολικό κόστος είναι O(V 2 + VE) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

36 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Μέχρι να αδειάσει η ουρά: Βγάζουμε το πρώτο στοιχείο, ελέγχουμε τους γείτονές του και προσπαθούμε να δώσουμε ετικέτα σε όσους είναι Ι Ελέγχουμε για κάθε γείτονα αν μπορούμε να κάνουμε άμεσο χρωματισμό Αλλιώς μειώνουμε τον μετρητή του γείτονα που δε μπορούμε να χρωματίσουμε άμεσα κατά 1 και όταν γίνει 0 κάνουμε έμμεσο χρωματισμό Ο αλγόριθμος τερματίζει όταν αδειάσει η ουρά, οπότε και δε μπορούμε να κάνουμε άλλους χρωματισμούς Πολυπλοκότητα Η πολυπλοκότητα του προηγούμενου αλγορίθμου είναι γραμμική στο μέγεθος του νέου γράφου που κατασκευάσαμε, άρα το συνολικό κόστος είναι O(V 2 + VE) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

37 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Μέχρι να αδειάσει η ουρά: Βγάζουμε το πρώτο στοιχείο, ελέγχουμε τους γείτονές του και προσπαθούμε να δώσουμε ετικέτα σε όσους είναι Ι Ελέγχουμε για κάθε γείτονα αν μπορούμε να κάνουμε άμεσο χρωματισμό Αλλιώς μειώνουμε τον μετρητή του γείτονα που δε μπορούμε να χρωματίσουμε άμεσα κατά 1 και όταν γίνει 0 κάνουμε έμμεσο χρωματισμό Ο αλγόριθμος τερματίζει όταν αδειάσει η ουρά, οπότε και δε μπορούμε να κάνουμε άλλους χρωματισμούς Πολυπλοκότητα Η πολυπλοκότητα του προηγούμενου αλγορίθμου είναι γραμμική στο μέγεθος του νέου γράφου που κατασκευάσαμε, άρα το συνολικό κόστος είναι O(V 2 + VE) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

38 Άσκηση 3: Κλέφτες και Αστυνόμοι Λύση Μέχρι να αδειάσει η ουρά: Βγάζουμε το πρώτο στοιχείο, ελέγχουμε τους γείτονές του και προσπαθούμε να δώσουμε ετικέτα σε όσους είναι Ι Ελέγχουμε για κάθε γείτονα αν μπορούμε να κάνουμε άμεσο χρωματισμό Αλλιώς μειώνουμε τον μετρητή του γείτονα που δε μπορούμε να χρωματίσουμε άμεσα κατά 1 και όταν γίνει 0 κάνουμε έμμεσο χρωματισμό Ο αλγόριθμος τερματίζει όταν αδειάσει η ουρά, οπότε και δε μπορούμε να κάνουμε άλλους χρωματισμούς Πολυπλοκότητα Η πολυπλοκότητα του προηγούμενου αλγορίθμου είναι γραμμική στο μέγεθος του νέου γράφου που κατασκευάσαμε, άρα το συνολικό κόστος είναι O(V 2 + VE) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

39 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

40 Άσκηση 4α: Το σύνολο των Συνδετικών Δέντρων 4α) Εστω T 1, T 2 δύο διαφορετικά συνδετικά δετρα και e T 2 \T 1 (T 2 \T 1 ) T 1 {e} περιέχει κύκλο C. Υπάρχει ακμή e C, e / T 2 (Αλλίως T 2 περιέχει τον C) (T 1 \{e}) {e } είναι άκυκλο με n 1 ακμές = Συνδετικό δέντρο. Εύρεση e Εστω T 1, T 2 και e = {u, v}. Σε O( V ) κάνουμε Διάσχιση κατά Βάθος από το u στο v στο δέντρο T 1 και βρίσκουμε μονοπάτι P που τους συνδέει. Για κάθε e P ελεγχούμε σε O(1) αν ανήκει στο T 2 και μόλις βρούμε e P, e / T 2 την αφαιρουμε. Συνολικά, O( V ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

41 Άσκηση 4β: Το σύνολο των Συνδετικών Δέντρων Ιδιότητα Εστω T 1, T 2 H και d H (T 1, T 2 ) το μήκος του συντομότερο μονοπατιού μεταξύ T 1, T 2 στο H. Τότε T 1 \T 2 = k ανν d H (T 1, T 2 ) = k. Απόδειξη Θα χρησιμοποήσουμε Επαγωγή στο μήκος του μονοπατιού: Επαγωγική Βάση: Από ορισμό του H, T 1 \T 2 = 1 ανν d H (T 1, T 2 ) = 1. Επαγωγική Υπόθεση: T 1 \T 2 = k ανν d H (T 1, T 2 ) = k. Επαγωγική Βήμα: Θ.δ.ο. T 1 \T 2 = k + 1 ανν d H (T 1, T 2 ) = k + 1 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

42 Άσκηση 4: Το σύνολο των Συνδετικών Δέντρων Απόδειξη Επαγωγικού Βήματος = Εστω e T 1 \T 2. Λόγω (α), υπαρχει e T 2 \T 1 τ.ω. T 1 = (T 1\{e}) {e } H. Αλλά, T 1 \T 2 = k = Ε.Υ. d H (T 1, T 2 ) k + 1. Από Ε.Υ. αν d H (T 1, T 2 ) = k τότε d H (T 1, T 2 ) = k. Άτοπο ( T 1 \T 2 = k + 1) Αρα, d H (T 1, T 2 ) k + 1 = d H (T 1, T 2 ) = k + 1. = Εφόσον d H (T 1, T 2 ) = k + 1 υπάρχει T 1 H τ.ω. d H (T 1, T 1 ) = 1, d H(T 1, T 2) = k. Από Ε.Υ. T 1 \T 2 = k. Άρα, T 1 \T 2 = k 1 ή T 1 \T 2 = k + 1. Αν T 1\T 2 = k 1 = Ε.Ψ. d H (T 1, T 2 ) = k 1 Άτοπο (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

43 Άσκηση 4: Το σύνολο των Συνδετικών Δέντρων Υπολογισμός Συντομότερου Μονοπατιού Υπολογίζουμε το σύνολο ακμών T 2 \T 1. Για κάθε e T 2 \T 1 προσθέτουμε την e στο υπάρχον δέντρο. Ορθότητα Αν T 2 \T 1 = k τότε σε k βήματα έχουμε μετατρέψει το T 1 σε T 2. Αρα, έχουμε βρει μονοπάτι στο H μήκους k = Το συντομότερο μονοπάτι. Πολυπλοκότητα Σε O( V ) αποθηκεύουμε το T 1 ως rooted δέντρο (κάθε κόμβος δείχνει στον πατέρα του). Για κάθε ακμή e T 2 έλεγχουμε σε O(1) αν e T 1. Αρα, O( V ). Κάνουμε k ανανεώσεις ακμών σε O( V ) βήματα. Σύνολο, O(k V ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

44 Άσκηση 4γ: Το σύνολο των Συνδετικών Δέντρων Αλγόριθμος Αν E 1 < k, προφανώς δεν υπάρχει το ζητούμενο ΣΔ. Θέτουμε στις ακμές του συνόλου E 1 βάρος 1, και στις ακμές του συνόλου E 2 βάρος 0. Εκτελούμε τον αλγόριθμο Kruskal στο γράφημα που προκύπτει, οπότε λαμβάνουμε ένα ΕΣΔ T 1. Αν w(t 1 ) > k, τότε δεν υπάρχει το ζητούμενο ΕΣΔ. Εστω k 1 το πλήθος των ακμών του T 1 E 1. Θεωρούμε το γράφημα G που περιέχει μόνο αυτές τις k 1 ακμές. Θέτουμε στο G, w(e 1 \(T 1 E 1 )) = 0 και w(e 2 ) = 1. Εκτελούμε τον αλγόριθμο Kruskal στο G, προσθέτοντας ακμές ώσπου να έχουμε συνολικά k ακμές του συνόλου E 1. Η εκτέλεση του Kruskal συνεχίζεται με τις ακμές του συνόλου E 2, μέχρι το G να γίνει συνεκτικό. Ονομάζουμε το γράφημα που προκύπτει G 1 και το επιστρέφουμε ως ΣΔ του G. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

45 Άσκηση 4γ: Το σύνολο των Συνδετικών Δέντρων Ορθότητα Εστω το G = G 1 E 2. Το G έχει ως ΣΔ το T 1 επομένως είναι συνεκτικό. Η εκτέλεση του αλγορίθμου Kruskal στο G θα επιστρέψει ως ΕΣΔ το G 1, επομένως το G κάποια στιγμή θα γίνει συνεκτικό. Προφανώς, στο G 1 υπάρχουν ακριβώς k ακμές του E 1, από τον ορισμό του αλγορίθμου. Πολυπλοκότητα O(m logm) λόγω του αλγορίθμου Kruskal. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

46 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

47 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (1 / 10) (α) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Ισχύει ότι αν όλες οι ακμές έχουν διαφορετικά βάρη, τότε το MST του G είναι μοναδικό. Το αντίστροφο δεν ισχύει. Αντιπαράδειγμα (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

48 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (1 / 10) (α) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Ισχύει ότι αν όλες οι ακμές έχουν διαφορετικά βάρη, τότε το MST του G είναι μοναδικό. Το αντίστροφο δεν ισχύει. Αντιπαράδειγμα 2 2 Unique MST of cost (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

49 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (2 / 10) (β) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Αν για κάθε τομή (S, V \ S) η ακμή που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Απόδειξη. Εστω ότι έχουμε δύο MST, με e T 1 και e / T 2. Αφαιρώντας την e = (u, v) από το T 1, χωρίζουμε το T 1 σε 2 δέντρα, με σύνολα κόμβων S και V \ S αντίστοιχα. Βάσει υπόθεσης, έχουμε μοναδική e S ελαχίστου βάρους που διασχίζει την (S, V \ S), και αφού T 1 είναι MST, προφανώς e S = e. Αφού e / T 2, και T 2 MST, υπάρχει μονοπάτι P uv T 2, και άρα υπάρχει e P uv, που διασχίζει την (S, V \ S), με w(e ) > w(e). Παρατηρούμε τώρα ότι το P uv {e} είναι κύκλος με τις e, e να διασχίζουν την (S, V \ S). Άρα (T 2 \ {e }) {e} είναι spanning tree με κόστος μικρότερο από το T 2 άτοπο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

50 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (2 / 10) (β) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Αν για κάθε τομή (S, V \ S) η ακμή που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Απόδειξη. Εστω ότι έχουμε δύο MST, με e T 1 και e / T 2. Αφαιρώντας την e = (u, v) από το T 1, χωρίζουμε το T 1 σε 2 δέντρα, με σύνολα κόμβων S και V \ S αντίστοιχα. Βάσει υπόθεσης, έχουμε μοναδική e S ελαχίστου βάρους που διασχίζει την (S, V \ S), και αφού T 1 είναι MST, προφανώς e S = e. Αφού e / T 2, και T 2 MST, υπάρχει μονοπάτι P uv T 2, και άρα υπάρχει e P uv, που διασχίζει την (S, V \ S), με w(e ) > w(e). Παρατηρούμε τώρα ότι το P uv {e} είναι κύκλος με τις e, e να διασχίζουν την (S, V \ S). Άρα (T 2 \ {e }) {e} είναι spanning tree με κόστος μικρότερο από το T 2 άτοπο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

51 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (2 / 10) (β) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Αν για κάθε τομή (S, V \ S) η ακμή που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Απόδειξη. Εστω ότι έχουμε δύο MST, με e T 1 και e / T 2. Αφαιρώντας την e = (u, v) από το T 1, χωρίζουμε το T 1 σε 2 δέντρα, με σύνολα κόμβων S και V \ S αντίστοιχα. Βάσει υπόθεσης, έχουμε μοναδική e S ελαχίστου βάρους που διασχίζει την (S, V \ S), και αφού T 1 είναι MST, προφανώς e S = e. Αφού e / T 2, και T 2 MST, υπάρχει μονοπάτι P uv T 2, και άρα υπάρχει e P uv, που διασχίζει την (S, V \ S), με w(e ) > w(e). Παρατηρούμε τώρα ότι το P uv {e} είναι κύκλος με τις e, e να διασχίζουν την (S, V \ S). Άρα (T 2 \ {e }) {e} είναι spanning tree με κόστος μικρότερο από το T 2 άτοπο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

52 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (2 / 10) (β) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Αν για κάθε τομή (S, V \ S) η ακμή που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Απόδειξη. Εστω ότι έχουμε δύο MST, με e T 1 και e / T 2. Αφαιρώντας την e = (u, v) από το T 1, χωρίζουμε το T 1 σε 2 δέντρα, με σύνολα κόμβων S και V \ S αντίστοιχα. Βάσει υπόθεσης, έχουμε μοναδική e S ελαχίστου βάρους που διασχίζει την (S, V \ S), και αφού T 1 είναι MST, προφανώς e S = e. Αφού e / T 2, και T 2 MST, υπάρχει μονοπάτι P uv T 2, και άρα υπάρχει e P uv, που διασχίζει την (S, V \ S), με w(e ) > w(e). Παρατηρούμε τώρα ότι το P uv {e} είναι κύκλος με τις e, e να διασχίζουν την (S, V \ S). Άρα (T 2 \ {e }) {e} είναι spanning tree με κόστος μικρότερο από το T 2 άτοπο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

53 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (2 / 10) (β) Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Αν για κάθε τομή (S, V \ S) η ακμή που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Απόδειξη. Εστω ότι έχουμε δύο MST, με e T 1 και e / T 2. Αφαιρώντας την e = (u, v) από το T 1, χωρίζουμε το T 1 σε 2 δέντρα, με σύνολα κόμβων S και V \ S αντίστοιχα. Βάσει υπόθεσης, έχουμε μοναδική e S ελαχίστου βάρους που διασχίζει την (S, V \ S), και αφού T 1 είναι MST, προφανώς e S = e. Αφού e / T 2, και T 2 MST, υπάρχει μονοπάτι P uv T 2, και άρα υπάρχει e P uv, που διασχίζει την (S, V \ S), με w(e ) > w(e). Παρατηρούμε τώρα ότι το P uv {e} είναι κύκλος με τις e, e να διασχίζουν την (S, V \ S). Άρα (T 2 \ {e }) {e} είναι spanning tree με κόστος μικρότερο από το T 2 άτοπο. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

54 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (3 / 10) (β) Δείξαμε λοιπόν ότι αν σε ένα μη κατευθυνόμενο γράφο G = (V, E, w) για κάθε τομή (S, V \ S) η ακμή ελαχίστου βάρους που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Το αντίστροφο δεν ισχύει. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

55 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (3 / 10) (β) Δείξαμε λοιπόν ότι αν σε ένα μη κατευθυνόμενο γράφο G = (V, E, w) για κάθε τομή (S, V \ S) η ακμή ελαχίστου βάρους που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Το αντίστροφο δεν ισχύει. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

56 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (3 / 10) (β) Δείξαμε λοιπόν ότι αν σε ένα μη κατευθυνόμενο γράφο G = (V, E, w) για κάθε τομή (S, V \ S) η ακμή ελαχίστου βάρους που διασχίζει την (S, V \ S) είναι μοναδική, τότε το G έχει μοναδικό MST. Το αντίστροφο δεν ισχύει. Αντιπαράδειγμα (ίδιο με πριν) 2 Unique MST of cost (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

57 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (4 / 10) (γ) Πρόβλημα: Αναζητούμε μια ικανή και αναγκαία συνθήκη ώστε να έχουμε μοναδικό MST. Σκεπτόμενοι αλγοριθμικά την περίπτωση που έχουμε 2 διαφορετικά MST s και θέλουμε να μετατρέψουμε το ένα στο άλλο, βλέπουμε ότι σε κάθε βήμα αυτής της μετατροπής σχηματίζουμε έναν κύκλο, από τον οποίο πρέπει να αφαιρέσουμε μια ακμή. Για να κρατήσουμε το κόστος στο ίδιο επίπεδο, χρειάζεται οι κύκλοι αυτοί να έχουν τουλάχιστον 2 ακμές ίσου μεγίστου βάρους, ώστε να μπορούμε να αφαιρέσουμε τη μία από αυτές. Το σκεπτικό αυτό μας οδηγεί στην παρακάτω συνθήκη: το MST T είναι μοναδικό αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

58 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (4 / 10) (γ) Πρόβλημα: Αναζητούμε μια ικανή και αναγκαία συνθήκη ώστε να έχουμε μοναδικό MST. Σκεπτόμενοι αλγοριθμικά την περίπτωση που έχουμε 2 διαφορετικά MST s και θέλουμε να μετατρέψουμε το ένα στο άλλο, βλέπουμε ότι σε κάθε βήμα αυτής της μετατροπής σχηματίζουμε έναν κύκλο, από τον οποίο πρέπει να αφαιρέσουμε μια ακμή. Για να κρατήσουμε το κόστος στο ίδιο επίπεδο, χρειάζεται οι κύκλοι αυτοί να έχουν τουλάχιστον 2 ακμές ίσου μεγίστου βάρους, ώστε να μπορούμε να αφαιρέσουμε τη μία από αυτές. Το σκεπτικό αυτό μας οδηγεί στην παρακάτω συνθήκη: το MST T είναι μοναδικό αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

59 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (4 / 10) (γ) Πρόβλημα: Αναζητούμε μια ικανή και αναγκαία συνθήκη ώστε να έχουμε μοναδικό MST. Σκεπτόμενοι αλγοριθμικά την περίπτωση που έχουμε 2 διαφορετικά MST s και θέλουμε να μετατρέψουμε το ένα στο άλλο, βλέπουμε ότι σε κάθε βήμα αυτής της μετατροπής σχηματίζουμε έναν κύκλο, από τον οποίο πρέπει να αφαιρέσουμε μια ακμή. Για να κρατήσουμε το κόστος στο ίδιο επίπεδο, χρειάζεται οι κύκλοι αυτοί να έχουν τουλάχιστον 2 ακμές ίσου μεγίστου βάρους, ώστε να μπορούμε να αφαιρέσουμε τη μία από αυτές. Το σκεπτικό αυτό μας οδηγεί στην παρακάτω συνθήκη: το MST T είναι μοναδικό αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

60 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (5 / 10) Πρόταση: Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Ο G έχει μοναδικό MST T, αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. Απόδειξη: ( ) Εστω T το μοναδικό MST του G. Τότε προφανώς αν προσθέσουμε οποιαδήποτε ακμή e / T, σχηματίζεται κύκλος, και αφού το T είναι μοναδικό, τότε σίγουρα η e είναι η μοναδική ακμή μεγίστου βάρους του κύκλου αυτού (αλλιώς, αν υπήρχε και άλλη τέτοια, έστω e, τότε το (T \ {e}) {e } θα ήταν επίσης MST). ( ) Εστω T 1 MST με την δοσμένη ιδιότητα, και έστω T 2 T 1, επίσης MST, και e = (u, v), με e T 2 και e / T 1. Αν P uv το μονοπάτι που ενώνει τις u, v στο T 1, με σύνολο κορυφών το V uv, τότε το P uv {(u, v)} είναι κύκλος που δημιουργείται στο T 1 με μοναδική ακμή μεγίστου βάρους την e. Για το T 2 έχουμε τώρα, σχηματικά: (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

61 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (5 / 10) Πρόταση: Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Ο G έχει μοναδικό MST T, αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. Απόδειξη: ( ) Εστω T το μοναδικό MST του G. Τότε προφανώς αν προσθέσουμε οποιαδήποτε ακμή e / T, σχηματίζεται κύκλος, και αφού το T είναι μοναδικό, τότε σίγουρα η e είναι η μοναδική ακμή μεγίστου βάρους του κύκλου αυτού (αλλιώς, αν υπήρχε και άλλη τέτοια, έστω e, τότε το (T \ {e}) {e } θα ήταν επίσης MST). ( ) Εστω T 1 MST με την δοσμένη ιδιότητα, και έστω T 2 T 1, επίσης MST, και e = (u, v), με e T 2 και e / T 1. Αν P uv το μονοπάτι που ενώνει τις u, v στο T 1, με σύνολο κορυφών το V uv, τότε το P uv {(u, v)} είναι κύκλος που δημιουργείται στο T 1 με μοναδική ακμή μεγίστου βάρους την e. Για το T 2 έχουμε τώρα, σχηματικά: (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

62 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (5 / 10) Πρόταση: Εστω μη κατευθυνόμενος γράφος G = (V, E, w). Ο G έχει μοναδικό MST T, αν και μόνο αν για κάθε e / T, η e είναι η μοναδική ακμή μεγίστου βάρους στον κύκλο που σχηματίζεται στο T αν προσθέσουμε την e. Απόδειξη: ( ) Εστω T το μοναδικό MST του G. Τότε προφανώς αν προσθέσουμε οποιαδήποτε ακμή e / T, σχηματίζεται κύκλος, και αφού το T είναι μοναδικό, τότε σίγουρα η e είναι η μοναδική ακμή μεγίστου βάρους του κύκλου αυτού (αλλιώς, αν υπήρχε και άλλη τέτοια, έστω e, τότε το (T \ {e}) {e } θα ήταν επίσης MST). ( ) Εστω T 1 MST με την δοσμένη ιδιότητα, και έστω T 2 T 1, επίσης MST, και e = (u, v), με e T 2 και e / T 1. Αν P uv το μονοπάτι που ενώνει τις u, v στο T 1, με σύνολο κορυφών το V uv, τότε το P uv {(u, v)} είναι κύκλος που δημιουργείται στο T 1 με μοναδική ακμή μεγίστου βάρους την e. Για το T 2 έχουμε τώρα, σχηματικά: (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

63 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (6 / 10) u T 2 v Εστω τώρα (x, y) η ακμή του T 1 που διασχίζει την τομή (V 1, V 2 ) και ανήκει στο P uv. C 1 C 2 V 1 V 2 C 1 C 2 {u, v} = V uv V 1 V 2 = V Το (T 2 \ {(u, v)}) {(x, y)} είναι συνδετικό δέντρο, με βάρος αυστηρά μικρότερο από το βάρος του T 2, άτοπο αφού T 2 είναι MST. Άρα το MST πρέπει να είναι μοναδικό. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

64 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (6 / 10) x u T 2 v y Εστω τώρα (x, y) η ακμή του T 1 που διασχίζει την τομή (V 1, V 2 ) και ανήκει στο P uv. C 1 C 2 V 1 V 2 C 1 C 2 {u, v} = V uv V 1 V 2 = V Το (T 2 \ {(u, v)}) {(x, y)} είναι συνδετικό δέντρο, με βάρος αυστηρά μικρότερο από το βάρος του T 2, άτοπο αφού T 2 είναι MST. Άρα το MST πρέπει να είναι μοναδικό. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

65 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (6 / 10) x u T 2 v y Εστω τώρα (x, y) η ακμή του T 1 που διασχίζει την τομή (V 1, V 2 ) και ανήκει στο P uv. C 1 C 2 V 1 V 2 C 1 C 2 {u, v} = V uv V 1 V 2 = V Το (T 2 \ {(u, v)}) {(x, y)} είναι συνδετικό δέντρο, με βάρος αυστηρά μικρότερο από το βάρος του T 2, άτοπο αφού T 2 είναι MST. Άρα το MST πρέπει να είναι μοναδικό. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

66 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (7 / 10) (δ) Υλοποίηση Με βάση το προηγούμενο ερώτημα, προκύπτει ο παρακάτω αλγόριθμος: 1 Υπολογίζουμε ένα MST T, σε χρόνο O( E log V ) (ή και πιο γρήγορα, αν χρησιμοποιήσουμε καλύτερες δομές) 2 Στη συνέχεια, για κάθε ακμή (u, v) / T, βρίσκουμε το μοναδικό μονοπάτι P uv T, και ελέγχουμε αν η (u, v) έχει αυστηρά μεγαλύτερο βάρος από κάθε ακμή του μονοπατιού. Συνολικά έχουμε Θ(n 2 ) ζευγάρια κορυφών, και για κάθε κορυφή μπορούμε να βρούμε τα μονοπάτια προς όλες τις άλλες, καθώς και τα ζητούμενα βάρη, με μία DFS στο δέντρο T κόστος V O( V + E ) = O( V 2 ). Συνολικό κόστος: O( E log V + V 2 + E ) = O( E log V + V 2 ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

67 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (7 / 10) (δ) Υλοποίηση Με βάση το προηγούμενο ερώτημα, προκύπτει ο παρακάτω αλγόριθμος: 1 Υπολογίζουμε ένα MST T, σε χρόνο O( E log V ) (ή και πιο γρήγορα, αν χρησιμοποιήσουμε καλύτερες δομές) 2 Στη συνέχεια, για κάθε ακμή (u, v) / T, βρίσκουμε το μοναδικό μονοπάτι P uv T, και ελέγχουμε αν η (u, v) έχει αυστηρά μεγαλύτερο βάρος από κάθε ακμή του μονοπατιού. Συνολικά έχουμε Θ(n 2 ) ζευγάρια κορυφών, και για κάθε κορυφή μπορούμε να βρούμε τα μονοπάτια προς όλες τις άλλες, καθώς και τα ζητούμενα βάρη, με μία DFS στο δέντρο T κόστος V O( V + E ) = O( V 2 ). Συνολικό κόστος: O( E log V + V 2 + E ) = O( E log V + V 2 ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

68 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (7 / 10) (δ) Υλοποίηση Με βάση το προηγούμενο ερώτημα, προκύπτει ο παρακάτω αλγόριθμος: 1 Υπολογίζουμε ένα MST T, σε χρόνο O( E log V ) (ή και πιο γρήγορα, αν χρησιμοποιήσουμε καλύτερες δομές) 2 Στη συνέχεια, για κάθε ακμή (u, v) / T, βρίσκουμε το μοναδικό μονοπάτι P uv T, και ελέγχουμε αν η (u, v) έχει αυστηρά μεγαλύτερο βάρος από κάθε ακμή του μονοπατιού. Συνολικά έχουμε Θ(n 2 ) ζευγάρια κορυφών, και για κάθε κορυφή μπορούμε να βρούμε τα μονοπάτια προς όλες τις άλλες, καθώς και τα ζητούμενα βάρη, με μία DFS στο δέντρο T κόστος V O( V + E ) = O( V 2 ). Συνολικό κόστος: O( E log V + V 2 + E ) = O( E log V + V 2 ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

69 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (8 / 10) Λεπτομέρειες Υλοποίησης DFS Για κάθε κορυφή v, εκτελούμε μία DFS, κρατώντας για κάθε άλλη κορυφή q έναν αριθμό m(q) που δείχνει το μέγιστο βάρος ακμής στο μονοπάτι από το v στο q. Αυτό γίνεται ως εξής: σε κάθε βήμα της DFS, αν από τον κόμβο q επισκεφθούμε τον r, τότε m(r) = max{m(q), w(q, r)}. Στο τέλος λοιπόν μιας DFS που ξεκίνησε από τον κόμβο v έχουμε τα μέγιστα βάρη ακμών για όλα τα μονοπάτια μεταξύ v, r, για r V. Εκτελώντας τελικά V DFS s, μία για κάθε κορυφή, έχουμε τα ζητούμενα βάρη που θα συγκρίνουμε με τα βάρη των ακμών e / T, για κάθε ζεύγος (u, v) E \ T. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

70 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (8 / 10) Λεπτομέρειες Υλοποίησης DFS Για κάθε κορυφή v, εκτελούμε μία DFS, κρατώντας για κάθε άλλη κορυφή q έναν αριθμό m(q) που δείχνει το μέγιστο βάρος ακμής στο μονοπάτι από το v στο q. Αυτό γίνεται ως εξής: σε κάθε βήμα της DFS, αν από τον κόμβο q επισκεφθούμε τον r, τότε m(r) = max{m(q), w(q, r)}. Στο τέλος λοιπόν μιας DFS που ξεκίνησε από τον κόμβο v έχουμε τα μέγιστα βάρη ακμών για όλα τα μονοπάτια μεταξύ v, r, για r V. Εκτελώντας τελικά V DFS s, μία για κάθε κορυφή, έχουμε τα ζητούμενα βάρη που θα συγκρίνουμε με τα βάρη των ακμών e / T, για κάθε ζεύγος (u, v) E \ T. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

71 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (8 / 10) Λεπτομέρειες Υλοποίησης DFS Για κάθε κορυφή v, εκτελούμε μία DFS, κρατώντας για κάθε άλλη κορυφή q έναν αριθμό m(q) που δείχνει το μέγιστο βάρος ακμής στο μονοπάτι από το v στο q. Αυτό γίνεται ως εξής: σε κάθε βήμα της DFS, αν από τον κόμβο q επισκεφθούμε τον r, τότε m(r) = max{m(q), w(q, r)}. Στο τέλος λοιπόν μιας DFS που ξεκίνησε από τον κόμβο v έχουμε τα μέγιστα βάρη ακμών για όλα τα μονοπάτια μεταξύ v, r, για r V. Εκτελώντας τελικά V DFS s, μία για κάθε κορυφή, έχουμε τα ζητούμενα βάρη που θα συγκρίνουμε με τα βάρη των ακμών e / T, για κάθε ζεύγος (u, v) E \ T. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

72 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (8 / 10) Λεπτομέρειες Υλοποίησης DFS Για κάθε κορυφή v, εκτελούμε μία DFS, κρατώντας για κάθε άλλη κορυφή q έναν αριθμό m(q) που δείχνει το μέγιστο βάρος ακμής στο μονοπάτι από το v στο q. Αυτό γίνεται ως εξής: σε κάθε βήμα της DFS, αν από τον κόμβο q επισκεφθούμε τον r, τότε m(r) = max{m(q), w(q, r)}. Στο τέλος λοιπόν μιας DFS που ξεκίνησε από τον κόμβο v έχουμε τα μέγιστα βάρη ακμών για όλα τα μονοπάτια μεταξύ v, r, για r V. Εκτελώντας τελικά V DFS s, μία για κάθε κορυφή, έχουμε τα ζητούμενα βάρη που θα συγκρίνουμε με τα βάρη των ακμών e / T, για κάθε ζεύγος (u, v) E \ T. (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

73 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (9 / 10) Bonus!! Θα τροποποιήσουμε τον αλγόριθμο του Kruskal, που ούτως ή άλλως περιλαμβάνει τον εντοπισμό πιθανών κύκλων, ώστε να διαπιστώσουμε αν έχουμε μοναδικό MST, σε χρόνο O( E log V ). Αρχικά, ταξινομούμε σε αύξουσα σειρά τις ακμές. Για κάθε νέα τιμή βάρους που συναντάμε, εξετάζουμε μία προς μία τις ακμές αυτές με τέτοιο βάρος και αφαιρούμε όσες σχηματίζουν κύκλο με το υπάρχον δάσος. Αυτές σίγουρα δε χαλάνε τη μοναδικότητα του MST, καθώς είναι μοναδικές ακμές μεγίστου βάρους για τους κύκλους που προκύπτουν (παρατηρείστε ότι αν δημιουργούν κύκλο με το υπάρχον δάσος, δε γίνεται να δημιουργήσουν κύκλο και με βαρύτερες ακμές που θα προστεθούν στη συνέχεια, καθώς τότε το τελικό μας spanning γράφημα δε θα ήταν δέντρο) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

74 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (9 / 10) Bonus!! Θα τροποποιήσουμε τον αλγόριθμο του Kruskal, που ούτως ή άλλως περιλαμβάνει τον εντοπισμό πιθανών κύκλων, ώστε να διαπιστώσουμε αν έχουμε μοναδικό MST, σε χρόνο O( E log V ). Αρχικά, ταξινομούμε σε αύξουσα σειρά τις ακμές. Για κάθε νέα τιμή βάρους που συναντάμε, εξετάζουμε μία προς μία τις ακμές αυτές με τέτοιο βάρος και αφαιρούμε όσες σχηματίζουν κύκλο με το υπάρχον δάσος. Αυτές σίγουρα δε χαλάνε τη μοναδικότητα του MST, καθώς είναι μοναδικές ακμές μεγίστου βάρους για τους κύκλους που προκύπτουν (παρατηρείστε ότι αν δημιουργούν κύκλο με το υπάρχον δάσος, δε γίνεται να δημιουργήσουν κύκλο και με βαρύτερες ακμές που θα προστεθούν στη συνέχεια, καθώς τότε το τελικό μας spanning γράφημα δε θα ήταν δέντρο) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

75 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (9 / 10) Bonus!! Θα τροποποιήσουμε τον αλγόριθμο του Kruskal, που ούτως ή άλλως περιλαμβάνει τον εντοπισμό πιθανών κύκλων, ώστε να διαπιστώσουμε αν έχουμε μοναδικό MST, σε χρόνο O( E log V ). Αρχικά, ταξινομούμε σε αύξουσα σειρά τις ακμές. Για κάθε νέα τιμή βάρους που συναντάμε, εξετάζουμε μία προς μία τις ακμές αυτές με τέτοιο βάρος και αφαιρούμε όσες σχηματίζουν κύκλο με το υπάρχον δάσος. Αυτές σίγουρα δε χαλάνε τη μοναδικότητα του MST, καθώς είναι μοναδικές ακμές μεγίστου βάρους για τους κύκλους που προκύπτουν (παρατηρείστε ότι αν δημιουργούν κύκλο με το υπάρχον δάσος, δε γίνεται να δημιουργήσουν κύκλο και με βαρύτερες ακμές που θα προστεθούν στη συνέχεια, καθώς τότε το τελικό μας spanning γράφημα δε θα ήταν δέντρο) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

76 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (9 / 10) Bonus!! Θα τροποποιήσουμε τον αλγόριθμο του Kruskal, που ούτως ή άλλως περιλαμβάνει τον εντοπισμό πιθανών κύκλων, ώστε να διαπιστώσουμε αν έχουμε μοναδικό MST, σε χρόνο O( E log V ). Αρχικά, ταξινομούμε σε αύξουσα σειρά τις ακμές. Για κάθε νέα τιμή βάρους που συναντάμε, εξετάζουμε μία προς μία τις ακμές αυτές με τέτοιο βάρος και αφαιρούμε όσες σχηματίζουν κύκλο με το υπάρχον δάσος. Αυτές σίγουρα δε χαλάνε τη μοναδικότητα του MST, καθώς είναι μοναδικές ακμές μεγίστου βάρους για τους κύκλους που προκύπτουν (παρατηρείστε ότι αν δημιουργούν κύκλο με το υπάρχον δάσος, δε γίνεται να δημιουργήσουν κύκλο και με βαρύτερες ακμές που θα προστεθούν στη συνέχεια, καθώς τότε το τελικό μας spanning γράφημα δε θα ήταν δέντρο) (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

77 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (10 / 10) Στη συνέχεια, τις ακμές που έχουν μείνει του βάρους που εξετάζουμε τις τοποθετούμε όλες μαζί στο ήδη υπάρχον δάσος. Κάθε μία ξεχωριστά σίγουρα δε δημιουργεί κύκλο, οπότε αν δημιουργηθεί κύκλος, τότε σε αυτόν σίγουρα συμμετέχουν τουλάχιστον 2 από αυτές. Στην περίπτωση αυτή, το MST δεν είναι μοναδικό. (γιατί;) Διαφορετικά, συνεχίζει κανονικά ο αλγόριθμος του Kruskal, και αν σε κανένα βήμα δε βρούμε τους κύκλους που προαναφέραμε, τότε το MST είναι μοναδικό. Συνολικό κόστος = κόστος Kruskal = O( E log V ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

78 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (10 / 10) Στη συνέχεια, τις ακμές που έχουν μείνει του βάρους που εξετάζουμε τις τοποθετούμε όλες μαζί στο ήδη υπάρχον δάσος. Κάθε μία ξεχωριστά σίγουρα δε δημιουργεί κύκλο, οπότε αν δημιουργηθεί κύκλος, τότε σε αυτόν σίγουρα συμμετέχουν τουλάχιστον 2 από αυτές. Στην περίπτωση αυτή, το MST δεν είναι μοναδικό. (γιατί;) Διαφορετικά, συνεχίζει κανονικά ο αλγόριθμος του Kruskal, και αν σε κανένα βήμα δε βρούμε τους κύκλους που προαναφέραμε, τότε το MST είναι μοναδικό. Συνολικό κόστος = κόστος Kruskal = O( E log V ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

79 Άσκηση 5: Μοναδικότητα Ελάχιστου Συνδετικού Δέντρου (10 / 10) Στη συνέχεια, τις ακμές που έχουν μείνει του βάρους που εξετάζουμε τις τοποθετούμε όλες μαζί στο ήδη υπάρχον δάσος. Κάθε μία ξεχωριστά σίγουρα δε δημιουργεί κύκλο, οπότε αν δημιουργηθεί κύκλος, τότε σε αυτόν σίγουρα συμμετέχουν τουλάχιστον 2 από αυτές. Στην περίπτωση αυτή, το MST δεν είναι μοναδικό. (γιατί;) Διαφορετικά, συνεχίζει κανονικά ο αλγόριθμος του Kruskal, και αν σε κανένα βήμα δε βρούμε τους κύκλους που προαναφέραμε, τότε το MST είναι μοναδικό. Συνολικό κόστος = κόστος Kruskal = O( E log V ). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

80 Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

81 Προγραμματιστική Άσκηση 1: Υποβρύχιο Τρίτων Είσοδος: Οι αριθμοί N, M, K και X και οι συντεταγμένες των πιλοτικών διαβάσεων. Εξοδος: Το πλήθος (mod ) όλων των μονοπατιών, που χρησιμοποιούν το πολύ X πιλοτικές διαβάσεις και οδηγούν το υποβρύχιο από την αρχική του θέση, με συντεταγμένες (N - 1, M - 1), στην τελική του θέση, με συντεταγμένες (0, 0). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

82 Προγραμματιστική Άσκηση 1: Υποβρύχιο Τρίτων Λύση1: Θεωρούμε τον τρισδιάστατο πίνακα grid[n][m][x +1], όπου το στοιχείο grid[i][j][k] εκφράζει το πλήθος (mod ) όλων των μονοπατιών που χρησιμοποιούν ακριβώς k πιλοτικές διαβάσεις και οδηγούν το υποβρύχιο από την θέση, με συντεταγμένες (i, j), στην τελική του θέση, με συντεταγμένες (0, 0). Ισχύει ότι grid[0][0][0] = 1 και grid[0][0][k] = 0, για κάθε k ε (0, X + 1). Στην περίπτωση, που δεν ξεκινά κάποια πιλοτική διάβαση από το σημείο (i, j), ισχύει ότι grid[i][j][k] = (grid[i][j - 1][k] + grid[i - 1][j][k]) mod (ειδικές περιπτώσεις για i = 0 ή j = 0), για κάθε k < X + 1. Εστω, ότι από το σημείο (i, j) ξεκινά πιλοτική διάβαση, η οποία καταλήγει στο σημείο (x, y), τότε ισχύει ότι grid[i][j][0] = 0 και grid[i][j][k] = grid[x][y][k - 1], για κάθε k ε (0, x + 1). (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος / 54

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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 Αλγόριθμοι και Πολυπλοκότητα 2η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Δεκέμβριος 2016 (CoReLab - NTUA) Αλγόριθμοι - 2η σειρά ασκήσεων Δεκέμβριος 2016 1 / 65 Outline 1 Άσκηση

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

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

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

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα ΘΕ4 Αναδρομή και Επαγωγή για Γραφήματα Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα Επαγωγή για άκυκλα συνεκτικά γραφήματα (με αφαίρεση κορυφής) Η αρχή της επαγωγής, με αφαίρεση κορυφής, για δεδομένη

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

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

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

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

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Φεβρουάριος 2017

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Φεβρουάριος 2017 Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Φεβρουάριος 2017 ΕΓΘΑ : Σ. Κοσμαδάκης, «Εισαγωγή στα Γραφήματα, Θεωρία-Ασκήσεις». Α 1 Έστω η παρακάτω σχέση Q(k) πάνω στο σύνολο {1, 2} όπου k τυχαίος

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

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

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

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

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ2: Θεωρία Υπολογισμού και Πολυπλοκότητα Σειρά Προβλημάτων Λύσεις Άσκηση Να βρείτε το σφάλμα στην πιο κάτω απόδειξη. Ισχυρισμός: Όλα τα βιβλία που έχουν γραφτεί στη Θεωρία Υπολογισμού έχουν τον ίδιο

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

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

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

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

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

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

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

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

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)

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

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

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

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

... a b c d. b d a c

... a b c d. b d a c ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α) Σε ένα διάστηµα

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 3 η Εργασία: Γενική Εικόνα Αρκετά απαιτητικά ερωτήματα,

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

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

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

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

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

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

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

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 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

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

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

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

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

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

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

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

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

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

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

q(g \ S ) = q(g \ S) S + d = S.

q(g \ S ) = q(g \ S) S + d = S. Διάλεξη 9: 9.11.2016 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Παναγιωτίδης Αλέξανδρος & Σ. Κ. Θεώρημα 9.1 Εστω γράφημα G = (V, E), υπάρχει τέλειο ταίριασμα στο G αν και μόνο αν για κάθε

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

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

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

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

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

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

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 3 η Εργασία: Γενική Εικόνα Αξιόλογη προσπάθεια,

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

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

Μέγιστη Ροή Ελάχιστη Τομή

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

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

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

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 ανάμεσα σε όλους

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

Δυναμικός προγραμματισμός για δέντρα

Δυναμικός προγραμματισμός για δέντρα ΘΕ5 Ιδιότητες Δέντρων και Αναδρομή για Δέντρα Δυναμικός προγραμματισμός για δέντρα Έστω ότι, για k=1,..., m, το γράφημα Γ k = (V k, E k ) είναι δέντρο. Έστω w V 1... V m, z k V k, για k=1,..., m. Συμβολίζουμε

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

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

d(v) = 3 S. q(g \ S) S Διάλεξη 9: 9.11.2016 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Παναγιωτίδης Αλέξανδρος Θεώρημα 9.1 Εστω γράφημα G = (V, E), υπάρχει τέλειο ταίριασμα στο G αν και μόνο αν για κάθε S υποσύνολο

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

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

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

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

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

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

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων ημήτρης Φωτάκης ιακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 3 η Εργασία: Γενική Εικόνα Ικανοποιητική εικόνα, αντίστοιχη

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

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

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

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

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

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

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

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

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

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

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

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

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκήσεις στους Γράφους 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα Ασκηση 1 η Να αποδείξετε ότι κάθε γράφημα περιέχει μια διαδρομή από μια κορυφή u σε μια κορυφή w αν και

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

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΙΑΚΡΙΤA ΜΑΘΗΜΑΤΙΚΑ ιδάσκοντες: Φωτάκης, Σούλιου, Θ Λιανέας η Γραπτή Εργασία Θέµα (Αρχή του Περιστερώνα, 8 µονάδες) α)

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

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

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

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

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

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

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

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

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0

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

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

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

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

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

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

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

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Γεννητικό δέντρο (Spanning Tree) Ένα γεννητικό δέντρο για ένα γράφημα G είναι ένα υπογράφημα του G που είναι δέντρο (δηλ., είναι συνεκτικό και δεν

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

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

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

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

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

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

Επαγωγή και αναδρομή για συνεκτικά γραφήματα

Επαγωγή και αναδρομή για συνεκτικά γραφήματα ΘΕ4 Αναδρομή και Επαγωγή για Γραφήματα Επαγωγή και αναδρομή για συνεκτικά γραφήματα Επαγωγή για συνεκτικά γραφήματα (με αφαίρεση κορυφής) Η αρχή της επαγωγής, με αφαίρεση κορυφής, για δεδομένη προτασιακή

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης. Μονοπάτια και Κυκλώµατα Eulr Σε γράφηµα G(V, E): Στοιχεία Θεωρίας Γραφηµάτων (3,4) Ορέστης Τελέλης tllis@unipi.r Κύκλωµα Eulr: Απλό κύκλωµα που διασχίζει κάθε ακµή του G. Μονοπάτι Eulr: Απλό µονοπάτι που

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

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017 Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017 Όλα τα γραφήματα είναι μη-κατευθυνόμενα, αν δεν αναφέρεται κάτι άλλο. ΕΓΘΑ : Σ. Κοσμαδάκης, «Εισαγωγή στα Γραφήματα, Θεωρία-Ασκήσεις».

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

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

Διάλεξη 4: Απόδειξη: Για την κατεύθυνση, παρατηρούμε ότι διαγράφοντας μια κορυφή δεν μπορούμε να διαχωρίσουμε τα u και v. Αποδεικνύουμε Διάλεξη 4: 20.10.2016 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος 4.1 2-συνεκτικά γραφήματα (συνέχεια) Πρόταση 4.1 Δύο μπλοκ ενός γραφήματος G μοιράζονται το πολύ μία κορυφή. Απόδειξη:

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

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 10 η Διάλεξη Κατευθυνόμενοι Γράφοι Βασικά χαρακτηριστικά Αλγόριθμοι διάσχισης κατευθυνόμενων γράφων Λίγα Λόγια για Αλυσίδες Markov

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 10 η Διάλεξη Κατευθυνόμενοι Γράφοι Βασικά χαρακτηριστικά Αλγόριθμοι διάσχισης κατευθυνόμενων γράφων Λίγα Λόγια για Αλυσίδες Markov Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής ΘΕΩΡΙΑ ΓΡΑΦΩΝ 10 η Διάλεξη Κατευθυνόμενοι Γράφοι Βασικά χαρακτηριστικά Αλγόριθμοι διάσχισης κατευθυνόμενων γράφων Λίγα Λόγια για Αλυσίδες Markov Βασικά Χαρακτηριστικά

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

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem)

Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem) Το Πρόβλημα της Πινακοθήκης (The Art Gallery Problem) Διατύπωση Σας ανήκει μια πινακοθήκη και επιθυμείτε να τοποθετήσετε κάμερες ασφαλείας έτσι ώστε όλη η γκαλερί να είναι προστατευμένη από κλέφτες. Σε

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

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

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

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

1 Το πρόβλημα της συντομότερης διαδρομής

1 Το πρόβλημα της συντομότερης διαδρομής ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 00 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di88 6ο ΕΡΓΑΣΤΗΡΙΟ

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Κ Σ Ι Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων Παναγιώτα Παναγοπούλου Άσκηση 1. Υποθέστε ότι οι διεργασίες ενός σύγχρονου κατανεμημένου συστήματος έχουν μοναδικές ταυτότητες (UIDs), γνωρίζουν ότι είναι συνδεδεμένες

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

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

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