Minimum spanning tree · 2015-05-08 · Minimum spanning tree. date: 05/03/2011 Presentation for: 2...

29
Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree

Transcript of Minimum spanning tree · 2015-05-08 · Minimum spanning tree. date: 05/03/2011 Presentation for: 2...

Κηρυττόπουλος

Κωνσταντίνος

Επ. Καθηγητής ΕΜΠ

Πρόβλημα του ελάχιστα

εκτεταμένου δένδρου -

Minimum spanning tree

2date: 05/03/2011 Presentation for:

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

Άδεια Χρήσης

3date: 05/03/2011 Presentation for:

Δίκτυο ακμών που ενώνει οποιουσδήποτε

δύο κόμβους ενός γράφου (δικτύου) χωρίς

να υπάρχουν βρόγχοι (κλειστοί δρόμοι).

Τι ονομάζουμε δένδρο

4date: 05/03/2011 Presentation for:

Πρόκειται για εκείνο το δένδρο το οποίο περιέχει

επιλεγμένες ακμές δικτύου έτσι ώστε όλοι οι κόμβοι

του δικτύου να είναι συνδεδεμένοι (άμεσα ή έμμεσα),

με το ελάχιστο δυνατό κόστος σύνδεσης.

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

5date: 05/03/2011 Presentation for:

• Δίκτυα τηλεφωνίας

• Δίκτυο οπτικών ινών

• Δίκτυο ύδρευσης / αποχέτευσης

• Δίκτυο μεταφοράς ενέργειας

Σχετικά προβλήματα

6date: 05/03/2011 Presentation for:

Επίλυση προβλημάτων

Ο Δήμος «Εξέλιξης» διαθέτει 5 κέντρα υπολογιστών τα οποία

θέλει να διασυνδέσει με οπτικές ίνες. Οι αποστάσεις σε χλμ

των κέντρων φαίνονται στον ακόλουθο γράφο.

ΑΒ

Γ

ΕΔ 5

7 3

6

3

3

54

2

Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν

αυτό εξαρτάται αποκλειστικά από το μήκος των οπτικών ινών.

7date: 05/03/2011 Presentation for:

Αλγόριθμος Prim

Αναπτύχθηκε μάλλον το 1930 από τον Vojtěch Jarník,

μαθηματικό. Ξανα-ανακαλύφθηκε από τον Robert C. Prim,

πληροφορικό, το 1957 και τον Edsger Dijkstra το 1959!

Αλγόριθμος Kruskal

Αναπτύχθηκε από τον Joseph Kruskal,

μαθηματικό το 1956.

Αλγόριθμοι επίλυσης

8date: 05/03/2011 Presentation for:

1. Καταστρώνουμε πίνακα με τα κόστη των ακμών.

2. Αναπαριστούμε εποπτικά τους κόμβους.

3. Επιλέγουμε αυθαίρετα τον πρώτο κόμβο (k) έναρξης

του δένδρου.

4. Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος

που μπορεί να συνδεθεί με τον κόμβο k. Έστω η ακμή

ενώνει τον κόμβο k με τον κόμβο m.

5. Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος

που μπορεί να συνδεθεί με τον κόμβο k ή τον κόμβο

m.

6. Συνεχίζουμε αντίστοιχα τα βήματα 4, 5 έως ότου

ενωθούν με μια κατ’ ελάχιστο ακμή όλοι οι κόμβοι.

Στην εφαρμογή προσέχουμε

να ισχύουν οι ιδιότητες των δένδρων!

Αλγόριθμος Prim

9date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Ο Δήμος «Εξέλιξης» διαθέτει 5 κέντρα υπολογιστών τα οποία

θέλει να διασυνδέσει με οπτικές ίνες. Οι αποστάσεις σε χλμ

των κέντρων φαίνονται στον ακόλουθο γράφο.

ΑΒ

Γ

ΕΔ 5

7 3

6

3

3

54

2

Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν

αυτό εξαρτάται αποκλειστικά από το μήκος των οπτικών ινών.

10date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Καταστρώνουμε πίνακα με τα κόστη των ακμών.

Αναπαριστούμε εποπτικά τους κόμβους.

Α Β Γ Δ Ε

Α - 2 5 7 3

Β 2 - 4 - 3

Γ 5 4 - 6 3

Δ 7 - 6 - 5

Ε 3 3 3 5 -

ΑΒ

Γ

ΕΔ

11date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Επιλέγουμε αυθαίρετα τον πρώτο κόμβο, έστω Β.

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που

μπορεί να συνδεθεί με τον κόμβο Β.

Α Β Γ Δ Ε

Α - 2 5 7 3

Β 2 - 4 - 3

Γ 5 4 - 6 3

Δ 7 - 6 - 5

Ε 3 3 3 5 - Γ

ΕΔ

ΑΒ

12date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που

μπορεί να συνδεθεί με τον κόμβο Β ή Α.

Επειδή το μήκος των ακμών Α-Ε και Β-Ε είναι ίδιο επιλέγω

τυχαία την Α-Ε.

Α Β Γ Δ Ε

Α - 2 5 7 3

Β 2 - 4 - 3

Γ 5 4 - 6 3

Δ 7 - 6 - 5

Ε 3 3 3 5 -

Β

Γ

Δ

Α

Ε

13date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που

μπορεί να συνδεθεί με τον κόμβο Β ή Α ή Ε.

Προσοχή η ακμή Β-Ε δεν αποτελεί πλέον επιλογή καθώς

δημιουργεί βρόγχο (Β-Ε-Α-Β).

Α Β Γ Δ Ε

Α - 2 5 7 3

Β 2 - 4 - 3

Γ 5 4 - 6 3

Δ 7 - 6 - 5

Ε 3 3 3 5 -

ΑΒ

ΕΔ

Γ

14date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος που

μπορεί να συνδεθεί με τον κόμβο Β ή Α ή Ε ή Γ.

Προσοχή η ακμή Γ-Β δεν αποτελεί πλέον επιλογή καθώς

δημιουργεί βρόγχο (Γ-Β-Α-Ε-Γ).

Α Β Γ Δ Ε

Α - 2 5 7 3

Β 2 - 4 - 3

Γ 5 4 - 6 3

Δ 7 - 6 - 5

Ε 3 3 3 5 -

ΑΒ

Γ

ΕΔ

15date: 05/03/2011 Presentation for:

Αλγόριθμος 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

2

3

16date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Άσκηση

Σε μια μέσου μεγέθους πόλη θέλετε να συνδέσετε τους

υποσταθμούς ρεύματος μέσω μια γραμμής μέσης τάσης.

Οι αποστάσεις των υποσταθμών σε χλμ. φαίνονται στο

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

κριτήριο την ελάχιστη έκταση της γραμμής.

Α

Β

Γ

Δ

Ε

ΖΗ

7

59

15

6

8

75

98

11

17date: 05/03/2011 Presentation for:

Αλγόριθμος Prim - Άσκηση

Λύση.

Α

Β

Γ

Δ

Ε

ΖΗ

7

59

15

6

8

75

98

11

18date: 05/03/2011 Presentation for:

1. Καταστρώνουμε πίνακα με τα κόστη των ακμών.

2. Αναπαριστούμε εποπτικά τους κόμβους.

3. Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος

(έστω k-m). Αν υπάρχουν παραπάνω από μια ακμές με

ελάχιστο κόστος επιλέγουμε τυχαία.

4. Συνεχίζουμε το βήμα 3 έως ότου ενωθούν με μια κατ’

ελάχιστο ακμή όλοι οι κόμβοι.

Στην εφαρμογή προσέχουμε

να ισχύουν οι ιδιότητες των δένδρων!

Αλγόριθμος Kruskal

19date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Ο Δήμος «Ευωδίας» θέλει να συνδέσει τα έξι κέντρα

επεξεργασίας λυμάτων που διαθέτει με κεντρικό αγωγό

άρδευσης. Οι αποστάσεις σε χλμ των κέντρων φαίνονται στον

ακόλουθο γράφο.

ΑΒ

ΓΕ

Δ

Βρείτε τη δέουσα διασύνδεση για να επιτευχθεί το ελάχιστο κόστος αν

αυτό εξαρτάται αποκλειστικά από το μήκος των αγωγών σύνδεσης.

Ζ4

8

11

8

11

10

1

95

20date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Καταστρώνουμε πίνακα με τα κόστη των ακμών.

Αναπαριστούμε εποπτικά τους κόμβους.

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

21date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. Εδώ τη

Γ-Ε.

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

22date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. Εδώ τη

Α-Δ.

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

23date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. Εδώ τη

Β-Γ.

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

24date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. Εδώ τη

Β-Α (τυχαία μεταξύ των Β-Α και Δ-Ε).

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

25date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

Επιλέγουμε την ακμή με το μικρότερο δυνατό κόστος. Εδώ τη

Γ-Ζ (παρατήρηση: η Δ-Ε δημιουργεί βρόγχο).

ΑΒ

ΓΕ

Δ

Ζ

Α Β Γ Δ Ε Ζ

Α - 8 4 11

Β 8 - 5 10

Γ 5 - 1 9

Δ 4 - 8

Ε 11 1 8 - 11

Ζ 10 9 11 -

26date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Παράδειγμα

ΑΒ

ΓΕ

Δ

Ζ

Ενώθηκαν όλοι οι κόμβοι.

Συνεπώς το ελάχιστα εκτεταμένο δένδρο εκτείνεται σε

μήκος

4+8+5+9+1=27 χιλιομέτρων και οι ακμές που το

αποτελούν είναι οι Δ-Α, Α-Β, Β-Γ, Γ-Ζ, Ε-Γ.

4

8

1

95

27date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Άσκηση

Σε ένα εκπαιδευτικό ίδρυμα υπάρχουν μικρά δίκτυα

υπολογιστών σε εργαστήρια που βρίσκονται σε

διαφορετικά κτίρια. Για να λειτουργήσει το συνολικό δίκτυο

πρέπει τα εργαστήρια να είναι συνδεδεμένα όλα μεταξύ

τους άμεσα ή έμμεσα (μέσω τρίτου εργαστηρίου). Στο

ακόλουθο σχήμα δίνονται οι αποστάσεις των κτιρίων σε

μέτρα. Με κριτήριο την ελαχιστοποίηση του κόστους

σύνδεσης (δεδομένου ότι αυτό είναι ανάλογο της

απόστασης) υποδείξτε τον καταλληλότερο τρόπο με τον

οποίο πρέπει να συνδεθούν τα εργαστήρια.

Υψηλάντης, 2006

28date: 05/03/2011 Presentation for:

Αλγόριθμος Kruskal - Άσκηση

Υψηλάντης, 2006

Α

Β

Γ Δ

Ε

Ζ

Η

Θ

Ι

100120

70 75

100

80

120

4060

60

50

65

60

80

90

29date: 05/03/2011 Presentation for:

Χρηματοδότηση

• Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια

του εκπαιδευτικού έργου του διδάσκοντα.

• Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει

χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού

υλικού.

• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού

Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και

συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση

(Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.