Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεEleanor Vallis Τροποποιήθηκε πριν 9 χρόνια
1
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.1 Διακλάδωση και όριο Ι Σε αντίθεση με την οπισθοδρόμηση όπου μία οργάνωση δένδρου ερευνάται με αναζήτηση με προτεραιότητα βάθους, η μέθοδος διακλάδωσης και ορίου διερευνά είτε με προτεραιότητα πλάτους είτε με βάση το ελάχιστο κόστος. Επειδή οι απαιτήσεις χώρου των αλγορίθμων διακλάδωσης και ορίου είναι συνήθως σημαντικότερες από αυτές των αλγορίθμων οπισθοδρόμησης, η οπισθοδρόμηση προτιμάται στην εύρεση λύσης σε συνθήκες περιορισμένης μνήμης. Θα χρησιμοποιήσουμε ως παράδειγμα το Δυαδικό πρόβλημα του σάκου
2
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.2 Διακλάδωση και όριο ΙΙ Στο δυαδικό πρόβλημα του σάκου θέλουμε να γεμίσουμε ένα σάκο που έχει χωρητικότητα c. Από μία λίστα με n αντικείμενα πρέπει να επιλέξουμε τα αντικείμενα που πρόκειται να τοποθετηθούν στο σάκο. Κάθε αντικείμενο έχει ένα βάρος w i και ένα κέρδος p i. Σε μια εφικτή πλήρωση του σάκου το άθροισμα των βαρών των αντικειμένων που έχουν εισαχθεί δεν ξεπερνά τη χωρητικότητα του σάκου. Μία βέλτιστη πλήρωση επιτυγχάνει το βέλτιστο κέρδος. και
3
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.3 Διακλάδωση και όριο ΙΙΙ Υποθέστε ότι n=3, w=[20,15,15], p=[40,25,25] και c=30 Στην περίπτωση του συγκεκριμένου προβλήματος ο χώρος των λύσεων είναι ένα σύνολο από 2 3 δυαδικά διανύσματα μεγέθους 3, δηλαδή το σύνολο {(0,0,0), (0,1,0), (0,0,1), (1,0,0), (0,1,1), (1,0,1), (1,1,0), (1,1,1)}
4
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.4 Διακλάδωση και όριο ΙV Ο αρχικός κόμβος είναι ταυτόχρονα και ζωντανός κόμβος, αλλά και κόμβος-Ε (κόμβος επέκτασης). Όταν ένας κόμβος γίνεται E- κόμβος, τότε παράγονται όλοι οι νέοι κόμβοι που είναι δυνατό να προσεγγισθούν με μία κίνηση. Οι παραγόμενοι κόμβοι που δεν μπορούν πιθανώς να οδηγήσουν σε μία (βέλτιστη) λύση απορρίπτονται. Οι υπόλοιποι κόμβοι προστίθενται στη λίστα των ζωντανών κόμβων και ένας κόμβος από τη λίστα επιλέγεται να γίνει ο επόμενος E- κόμβος. Ο επιλεγμένος κόμβος εξάγεται από τη λίστα των ζωντανών κόμβων και επεκτείνεται. Αυτή η διαδικασία συνεχίζεται μέχρι είτε να βρεθεί η απάντηση είτε να αδειάσει η λίστα των ζωντανών κόμβων.
5
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.5 Διακλάδωση και όριο V Δύο είναι οι συνηθέστεροι τρόποι για την επιλογή του επόμενου E- κόμβου: - FIFO οι κόμβοι εξάγονται από τη λίστα των ζωντανών κόμβων με την ίδια σειρά που εισάγονται σε αυτήν - Least Cost ή Max Profit όπου σε κάθε κόμβο συσχετίζεται ένα κόστος ή ένα κέρδος. Αν ερευνούμε για μία λύση με ελάχιστο κόστος, τότε η λίστα των ζωντανών κόμβων μπορεί να σχεδιασθεί ως σωρός ελαχίστων. Ο επόμενος E-κόμβος θα είναι ο ζωντανός κόμβος με το ελάχιστο κόστος.
6
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.6 Διακλάδωση και όριο VΙ ΔΙΑΚΛΑΔΩΣΗ ΚΑΙ ΟΡΙΟ ΜΕ FIFO 1o βήμα: Ε-κόμβος η ρίζα A 2o βήμα: ο κόμβος Α επεκτείνεται – οι B και C είναι εφικτοί και άρα προστίθενται στην ουρά των ζωντανών κόμβων και απορρίπτεται ο Α
7
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.7 Διακλάδωση και όριο VΙΙ 3o βήμα: ο επόμενος E-κόμβος είναι ο B που επεκτείνεται στους D και E. O D είναι ανέφικτος και αποβάλλεται, ενώ ο Ε μπαίνει στην ουρά 4ο βήμα: E-κόμβος γίνεται ο C που επεκτεινόμενος οδηγεί τους F και G, που μπαίνουν και αυτοί στην ουρά: E, F, G 5ο βήμα: E-κόμβος γίνεται ο E που επεκτεινόμενος οδηγεί τους J και K. O Κ είναι εφικτός και αποτελεί πιθανή λύση με κέρδος 40. 6ο βήμα: E-κόμβος γίνεται ο F που επεκτεινόμενος οδηγεί τους L και M. O L αποτελεί μία εφικτή λύση με κέρδος 50, ενώ ο M αποτελεί εφικτή λύση με κέρδος 15. 7ο βήμα: E-κόμβος γίνεται ο G με εφικτές λύσεις τις N και O. Η καλύτερη λύση που βρέθηκε είναι η 50 και ο αλγόριθμος τερματίζει γιατί η ουρά των ζωντανών κόμβων είναι κενή.
8
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.8 Διακλάδωση και όριο VΙΙΙ Κάθε ζωντανός κόμβος γίνεται E- κόμβος ακριβώς μία φορά. Η διακλάδωση και όριο με FIFO μοιάζει με την αναζήτηση με προτεραιότητα πλάτους, με τη διαφορά ότι δεν εξετάζονται τα δένδρα των ανέφικτών κόμβων. Άλλα παραδείγματα αλγορίθμων διακλάδωσης και ορίου: Δομές Δεδομένων Αλγόριθμοι και Εφαρμογές στη C++, Sartaj Sahnii, Μετάφραση: Γ. Θεοδωρίδης & Γ. Μανωλόπουλος, Εκδόσεις Τζιόλα Κεφάλαιο 17
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.