Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree Κηρυττόπουλος Κωνσταντίνος π. Καθηγητής ΜΠ
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. ια εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. 2
Τι ονομάζουμε δένδρο ίκτυο ακμών που ενώνει οποιουσδήποτε δύο κόμβους ενός γράφου (δικτύου) χωρίς να υπάρχουν βρόγχοι (κλειστοί δρόμοι). 3
λάχιστα εκτεταμένο δένδρο Πρόκειται για εκείνο το δένδρο το οποίο περιέχει επιλεγμένες ακμές δικτύου έτσι ώστε όλοι οι κόμβοι του δικτύου να είναι συνδεδεμένοι (άμεσα ή έμμεσα), με το ελάχιστο δυνατό κόστος σύνδεσης. 4
Σχετικά προβλήματα ίκτυα τηλεφωνίας ίκτυο οπτικών ινών ίκτυο ύδρευσης / αποχέτευσης ίκτυο μεταφοράς ενέργειας 5
πίλυση προβλημάτων Ο ήμος «ξέλιξης» διαθέτει 5 κέντρα υπολογιστών τα οποία θέλει να διασυνδέσει με οπτικές ίνες. Οι αποστάσεις σε χλμ των κέντρων φαίνονται στον ακόλουθο γράφο. 2 7 3 5 6 3 3 5 4 ρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από το μήκος των οπτικών ινών. 6
λγόριθμοι επίλυσης λγόριθμος Prim ναπτύχθηκε μάλλον το 1930 από τον Vojtěch Jarník, μαθηματικό. Ξανα-ανακαλύφθηκε από τον Robert C. Prim, πληροφορικό, το 1957 και τον Edsger Dijkstra το 1959! λγόριθμος Kruskal ναπτύχθηκε από τον Joseph Kruskal, μαθηματικό το 1956. 7
λγόριθμος Prim 1. Καταστρώνουμε πίνακα με τα κόστη των ακμών. 2. ναπαριστούμε εποπτικά τους κόμβους. 3. πιλέγουμε αυθαίρετα τον πρώτο κόμβο (k) έναρξης του δένδρου. 4. πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο k. Έστω η ακμή ενώνει τον κόμβο k με τον κόμβο m. 5. πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο k ή τον κόμβο m. 6. Συνεχίζουμε αντίστοιχα τα βήματα 4, 5 έως ότου ενωθούν με μια κατ ελάχιστο ακμή όλοι οι κόμβοι. Στην εφαρμογή προσέχουμε να ισχύουν οι ιδιότητες των δένδρων! 8
λγόριθμος Prim - Παράδειγμα Ο ήμος «ξέλιξης» διαθέτει 5 κέντρα υπολογιστών τα οποία θέλει να διασυνδέσει με οπτικές ίνες. Οι αποστάσεις σε χλμ των κέντρων φαίνονται στον ακόλουθο γράφο. 2 7 3 5 6 3 3 5 4 ρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από το μήκος των οπτικών ινών. 9
λγόριθμος Prim - Παράδειγμα Καταστρώνουμε πίνακα με τα κόστη των ακμών. ναπαριστούμε εποπτικά τους κόμβους. - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-10
λγόριθμος Prim - Παράδειγμα πιλέγουμε αυθαίρετα τον πρώτο κόμβο, έστω. πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο. - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-11
λγόριθμος Prim - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο ή. πειδή το μήκος των ακμών - και - είναι ίδιο επιλέγω τυχαία την -. - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-12
λγόριθμος Prim - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο ή ή. Προσοχή η ακμή - δεν αποτελεί πλέον επιλογή καθώς δημιουργεί βρόγχο (---). - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-13
λγόριθμος Prim - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που μπορεί να συνδεθεί με τον κόμβο ή ή ή. Προσοχή η ακμή - δεν αποτελεί πλέον επιλογή καθώς δημιουργεί βρόγχο (----). - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-14
λγόριθμος Prim - Παράδειγμα νώθηκαν όλοι οι κόμβοι. Συνεπώς το ελάχιστα εκτεταμένο δένδρο εκτείνεται σε μήκος 5+3+3+2=13ων χιλιομέτρων και οι ακμές που το αποτελούν είναι οι -, -, -, -. - 2 5 7 3 2-4 - 3 5 4-6 3 7-6 - 5 3 3 3 5-5 3 3 2 15
λγόριθμος Prim - Άσκηση Σε μια μέσου μεγέθους πόλη θέλετε να συνδέσετε τους υποσταθμούς ρεύματος μέσω μια γραμμής μέσης τάσης. Οι αποστάσεις των υποσταθμών σε χλμ. φαίνονται στο ακόλουθο σχήμα. Υπολογίστε το βέλτιστο τρόπο σύνδεσης με κριτήριο την ελάχιστη έκταση της γραμμής. 7 8 5 9 6 15 Ζ 7 8 11 5 9 Η 16
λγόριθμος Prim - Άσκηση Λύση. 7 8 5 9 6 15 Ζ 7 8 11 5 9 Η 17
λγόριθμος Kruskal 1. Καταστρώνουμε πίνακα με τα κόστη των ακμών. 2. ναπαριστούμε εποπτικά τους κόμβους. 3. πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος (έστω k-m). ν υπάρχουν παραπάνω από μια ακμές με ελάχιστο κόστος επιλέγουμε τυχαία. 4. Συνεχίζουμε το βήμα 3 έως ότου ενωθούν με μια κατ ελάχιστο ακμή όλοι οι κόμβοι. Στην εφαρμογή προσέχουμε να ισχύουν οι ιδιότητες των δένδρων! 18
λγόριθμος Kruskal - Παράδειγμα Ο ήμος «υωδίας» θέλει να συνδέσει τα έξι κέντρα επεξεργασίας λυμάτων που διαθέτει με κεντρικό αγωγό άρδευσης. Οι αποστάσεις σε χλμ των κέντρων φαίνονται στον ακόλουθο γράφο. 4 11 11 8 Ζ 10 9 5 8 1 ρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν αυτό εξαρτάται αποκλειστικά από το μήκος των αγωγών σύνδεσης. 19
λγόριθμος Kruskal - Παράδειγμα Καταστρώνουμε πίνακα με τα κόστη των ακμών. ναπαριστούμε εποπτικά τους κόμβους. Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 20
λγόριθμος Kruskal - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. δώ τη -. Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 21
λγόριθμος Kruskal - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. δώ τη -. Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 22
λγόριθμος Kruskal - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. δώ τη -. Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 23
λγόριθμος Kruskal - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. δώ τη - (τυχαία μεταξύ των - και -). Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 24
λγόριθμος Kruskal - Παράδειγμα πιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. δώ τη -Ζ (παρατήρηση: η - δημιουργεί βρόγχο). Ζ - 8 4 11 8-5 10 5-1 9 4-8 11 1 8-11 Ζ 10 9 11 - Ζ 25
λγόριθμος Kruskal - Παράδειγμα νώθηκαν όλοι οι κόμβοι. Συνεπώς το ελάχιστα εκτεταμένο δένδρο εκτείνεται σε μήκος 4+8+5+9+1=27 χιλιομέτρων και οι ακμές που το αποτελούν είναι οι -, -, -, -Ζ, -. 8 4 Ζ 9 5 1 26
λγόριθμος Kruskal - Άσκηση Σε ένα εκπαιδευτικό ίδρυμα υπάρχουν μικρά δίκτυα υπολογιστών σε εργαστήρια που βρίσκονται σε διαφορετικά κτίρια. ια να λειτουργήσει το συνολικό δίκτυο πρέπει τα εργαστήρια να είναι συνδεδεμένα όλα μεταξύ τους άμεσα ή έμμεσα (μέσω τρίτου εργαστηρίου). Στο ακόλουθο σχήμα δίνονται οι αποστάσεις των κτιρίων σε μέτρα. Με κριτήριο την ελαχιστοποίηση του κόστους σύνδεσης (δεδομένου ότι αυτό είναι ανάλογο της απόστασης) υποδείξτε τον καταλληλότερο τρόπο με τον οποίο πρέπει να συνδεθούν τα εργαστήρια. Υψηλάντης, 2006 27
λγόριθμος Kruskal - Άσκηση 100 60 40 120 70 75 100 60 80 65 50 Η 60 80 Θ 90 Ζ 120 Ι Υψηλάντης, 2006 28
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «νοικτά καδημαϊκά Μαθήματα.Μ.Π.» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του πιχειρησιακού Προγράμματος «κπαίδευση και ια ίου Μάθηση» και συγχρηματοδοτείται από την υρωπαϊκή Ένωση (υρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 29