Aλγόριθμος Floyd Βρίσκει τα μήκη των συντομότερων μονοπατιών για κάθε ζεύγος κορυφών ενός προσανατολισμένου γραφήματος με βάρη. Βασική Ιδέα του Αλγόριθμου.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΜΑΘ-3122/106 Γλώσσα προγραμματισμού Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Advertisements

ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΔΙΑΛΕΞΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΕΣΩΤΕΡΙΚΕΣ ΗΛΕΚΤΡΙΚΕΣ ΕΓΚΑΤΑΣΤΑΣΕΙΣ ΜΑΘΗΜΑ 9 – ΕΠΙΛΟΓΗ ΗΛΕΚΤΡΟΛΟΓΙΚΟΥ ΕΞΟΠΛΙΣΜΟΥ ΧΑΜΗΛΗΣ ΤΑΣΕΩΣ – ΜΕΡΟΣ Γ ΠΕΡΙΕΧΟΜΕΝΑ: 1.Γραμμή.
Αναγεννησιακές επιδράσεις στα μνημεία της επαρχίας Πάφου
Συνοπτικό Πρόγραμμα Προετοιμασίας Ομάδων στο Ερασιτεχνικό Ποδόσφαιρο.
Εσωτερικές Ηλεκτρικές Εγκαταστάσεις Ι Ενότητα 4: Υλικά μιας Ε.Η.Ε. Σταύρος Καμινάρης Τμήμα Ηλεκτρολόγων Μηχανικών ΤΕ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό.
1 Διαχείριση Έργων Πληροφορικής Διάλεξη 8 η Διαχείριση Κόστους.
1 ΩΡΙΜΑΝΣΗ, ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΚΑΤΑΝΑΛΩΣΗ ΚΑΙ ΘΡΕΠΤΙΚΗ ΑΞΙΑ ΤΟΥ ΚΡΕΑΤΟΣ ΑΣΚΗΣΗ ΠΡΑΞΗΣ 3 ΘΡΕΠΤΙΚΗ ΑΞΙΑ ΤΡΟΦΙΜΩΝ - ΕΠΕΞΕΡΓΑΣΙΑ.
ΠΟΣΟΤΙΚΟΣ ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΑΜΙΝΟΞΕΩΝ ΣΕ ΧΥΜΟΥΣ ΕΣΠΕΡΙΔΟΕΙΔΩΝ Δρ. Όλγα Γκορτζή.
Πρωτεσ βοηθειεσ – ειμαι κοντα σου
Τεχνολογία Ξύλου 1 Ενότητα 11: Καμπύλωση του Ξύλου. Διδάσκων: Δρ. Μιχάλης Σκαρβέλης, Αναπληρωτής Καθηγητής. Τμήμα Σχεδιασμού και Τεχνολογίας Ξύλου και.
Διάλεξη 1 Μακροοικονομία. Η Μακροοικονομική ασχολείται με τη συμπεριφορά και τα προβλήματα της οικονομίας σαν σύνολο. Άθροιση: από τη μικροοικονομική.
ΜΙΑ ΠΡΟΤΑΣΗ ΓΙΑ ΤΗΝ TOPIKH ΙΣΤΟΡΙΑ ΤΟΥ ΑΙΓΑΛΕΩ ΑΓΑΠΗΤΟΥ ΕΥΑΓΓΕΛΙΑ (ΠΕ02) 4 o ΓΥΜΝΑΣΙΟ ΑΙΓΑΛΕΩ.
  Θέμα :   Εφαρμογή Ι Διδασκαλία 9ης περίπτωσης : Ενόργανη γυμναστική ► Η Ειρήνη είναι προπονήτρια ενόργανης γυμναστικής και φέτος ανέλαβε μία ομάδα.
Μαρία Η. Χαϊτίδου – Άννα Σπύρτου. Παιδαγωγική Γνώση Περιεχομένου (ΠΓΠ): μια γνώση αποκλειστική των εκπαιδευτικών Παιδαγωγική Γνώση Περιεχομένου (ΠΓΠ):
1 Μηχανικές Ταλαντώσεις. 2 Μελέτη ελατηρίου Θέση Φυσικού Μήκους (ΘΦΜ) Θέση Ισορροπίας (ΘΙ) ΘΙ -Α +Α mg mg = F ελ mg = kℓ 0 F ελ = kℓ 0 mg = F ελ mg =
ΑΡΧΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΚΟΠΗΣ
ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΣΑΚΧΑΡΩΝ
Αειφορια και εθελοντισμοσ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ημερομηνίες ΠΑ Εαρινού Εξ
ΜΑΘΗΜΑΤΑ ΣΤΟΜΑΤΙΚΗΣ ΥΓΙΕΙΝΗΣ ΓΙΑ ΓΟΝΕΙΣ & ΦΡΟΝΤΙΣΤΕΣ
ΥΔΡΑΥΛΙΚΟ ΣΥΣΤΗΜΑ ΑΠΟΤΕΡΟΣ ΣΤΟΧΟΣ ΜΑΣ ΑΠΟΤΕΛΕΙ Η ΔΗΜΙΟΥΡΓΙΑ ΕΝΟΣ ΥΔΡΑΥΛΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΝΕΡΟΥ ΜΕΣΩ ΜΙΑΣ ΑΝΤΛΙΑΣ [ΣΥΡΙΓΓΑΣ] ΑΠΌ ΤΟ ΠΗΓΑΔΙ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΔΗΜΟΤΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ
Μαρία Η. Χαϊτίδου – Άννα Σπύρτου
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΡΧΕΙΩΝ
Τμήμα κολύμβησης Ολυμπιακού
Σεμιναριακό μάθημα: Σύγχρονα Περιβαλλοντικά Ζητήματα
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
ΕΝΝΟΙΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ, διαλ. 4
Πνιγμονή Πνιγμός είναι μια μορφή ασφυξίας που οφείλεται σε μηχανική απόφραξη της αναπνευστικής οδού. Τα συνηθέστερα αίτια πνιγμού στη χώρα μας είναι από.
Στόχοι Asking for and giving the time The weather
ΓΛΥΚΑ ΜΑΡΙΕΤΤΑ ΓΚΑΛΙΜΑΝΑ ΡΕΓΓΙΝΑ ΓΕΡΕΝΤΕ.
Συντομότερα Μονοπάτια
Ημι-κλασσική θεωρία – ηλεκτρόνια σε περιοδικό δυναμικό
Θεωρία & Αλγόριθμοι Γράφων Δένδρα
ΖΩΤΙΚΑ ΣΗΜΕΙΑ ΜΕΡΟΣ ΠΡΩΤΟ ΑΝΑΠΝΟΗ.
Η ΣΗΜΑΣΙΑ ΤΟΥ ΦΩΤΟΣ ΓΙΑ ΤΗΝ
ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ
ΓΛΩΣΣΕΣ & ΕΡΓΑΛΕΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
Δομές Επανάληψης ΕΡΓΑΣΤΗΡΙΟ AΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΠΕΤΡΟΛΟΓΙΑ ΜΑΓΜΑΤΙΚΩΝ & ΜΕΤΑΜΟΡΦΩΜΕΝΩΝ ΠΕΤΡΩΜΑΤΩΝ
Μεταναστευτικό Αιγαίο
ΧΗΜΕΙΑ Β ΛΥΚΕΙΟΥ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ.
ΚΥΚΛΟΦΟΡΙΚΟ ΣΥΣΤΗΜΑ.
Online Multilingual Biological Agriculture eServices System for Organic Farmers, Traders, Institutions and Citizens.
ΦΙΛΤΡΑ ΒΑΘΕΙΑΣ ΑΕΡΙΑΣ ΔΙΗΘΗΣΗΣ
Το έργο του Τζιότο Επιμελεια: Χριστινα Ιωαννιδου
Οικιακή Οικονομία Α’ Γυμνασίου Μάθημα 6ο. Διδάσκων καθηγητής
ΕΠΕΙΓΟΥΣΑ ΝΟΣΗΛΕΥΤΙΚΗ - ΜΕΘ
به نام خدا.
ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ
ΕΡΓΑΣΤΗΡΙΟ ΓΕΝΙΚΗΣ ΧΗΜΕΙΑΣ
ΕΡΓΟ : «Κατασκευή τετραπλού σιδηροδρομικού διαδρόμου στο τμήμα έξοδος Σ.Σ. Αθηνών (Σ.Σ.Α.) – Τρεις Γέφυρες, με υπογειοποίηση στην περιοχή Σεπολίων» (Α.Σ.
Φυσική του εσωτερικού των αστεριών
Mυκηναϊκός Πολιτισμός
HIỆN TRẠNG CHẤT LƯỢNG KHÔNG KHÍ TẠI THÀNH PHỐ HỒ CHÍ MINH
ΚΛΙΜΑΤΙΚΕΣ ΑΛΛΑΓΕΣ ΠΟΥ ΟΦΕΙΛΟΝΤΑΙ ΣΕ ΦΥΣΙΚΕΣ ΚΑΤΑΣΤΡΟΦΕΣ ΚΑΙ ΚΥΡΙΩΣ ΣΤΗ ΔΡΑΣΗ ΣΕΙΣΜΩΝ ΚΑΙ ΗΦΑΙΣΤΕΙΩΝ Σχολικό έτος
Λειτουργική Ανάλυση Κυκλικών Κόμβων
Φυσική για Μηχανικούς Ενέργεια Συστήματος
Ο χώρος Ποῦ; Σημείο Πόσο απέχουν;
Сабақтың тақырыбы: Фотоэффект тақырыбына есептер шығару
Толқындардың интерференция және дифракция құбылысы
Ασφαλής χρήση του κινητού τηλεφώνου
ΕΛΕΓΧΟΙ ΟΡΑΤΟΤΗΤΑΣ Επιμήκης αίθουσα με κλειστή σκηνή
Δημοτικό Σχολείο Λυκαβηττού (Κ.Α’ )
Αναζήτηση (Εξερεύνηση) Πρώτα σε Πλάτος
Slow APSP.
Μεταγράφημα παρουσίασης:

Aλγόριθμος Floyd Βρίσκει τα μήκη των συντομότερων μονοπατιών για κάθε ζεύγος κορυφών ενός προσανατολισμένου γραφήματος με βάρη. Βασική Ιδέα του Αλγόριθμου Αν κ είναι μια κορυφή του συντομότερου μονοπατιού από την κορυφή i στην κορυφή j, τότε τα μέρη του μονοπατιού από την κορυφή i στην κορυφή κ και από την κορυφή κ στην κορυφή j πρέπει να είναι συντομότερα. Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο. k i j

Aλγόριθμος Floyd Κατασκευάζει έναν πίνακα D που δίνει τα μήκη των συντομότερων μονοπατιών για κάθε ζεύγος κορυφών. Αρχικοποιεί τον D με τον πίνακα γειτνιάσεως του γραφήματος. Κάνει n επαναλήψεις. Μετά την επανάληψη κ, ο D δίνει τα μήκη των συντομότερων μονοπατιών που χρησιμοποιούν μόνο τις κορυφές από το σύνολο {1, 2, …κ} ως ενδιάμεσες. Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.

Aλγόριθμος Floyd Στην επανάληψη κ, ο αλγόριθμος ελέγχει για κάθε ζεύγος κορυφών (i, j) αν υπάρχει ή όχι ένα μονοπάτι που περνάει από την κορυφή κ και είναι συντομότερο από το τρέχων. Ο έλεγχος αυτός πραγματοποιείται με τη σχέση: Dk[i, j] = min {Dk-1[i, j], Dk-1[i, k]+ Dk-1[k, j]} Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.

Aλγόριθμος Floyd D = A for k =1 to n do for i = 1 to n do for j = 1 to n do D[i, j] = min {D[i, j], D[i, k]+ D[k, j]} Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.

Aλγόριθμος Floyd Ακολουθεί επίδειξη του αλγόριθμου με το AnimGraph. Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.