Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ."— Μεταγράφημα παρουσίασης:

1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ

2 Αλγόριθμος γενικής αναζήτησης Εκτός από τις μεθόδους τυφλής αναζήτησης, υπάρχουν μέθοδοι αναζήτησης οι οποίες κατευθύνουν την αναζήτηση χρησιμοποιώντας πληροφορίες σχετικές με το πρόβλημα (Informed Methods). Αρχικά, γνώση και συγκεκριμένες πληροφορίες μπορούν να χρησιμοποιηθούν στην περιγραφή των καταστάσεων και των τελεστών που εφαρμόζονται σε αυτές. Όμως, τέτοιου είδους γνώση χρησιμοποιείται τόσο στις μεθόδους αναζήτησης χωρίς πληροφορία όσο και στις μεθόδους αναζήτησης με πληροφορία. Xρησιμοποιείται μόνο στον ορισμό και τη διατύπωση του προβλήματος και όχι στη διάρκεια εκτέλεσης μίας μεθόδου. Για να γίνει πιο κατανοητή η χρήση πληροφορίας σχετικής με το πρόβλημα κατά τη διάρκεια εκτέλεσης μίας μεθόδου, παρουσιάζεται ένας γενικός αλγόριθμος αναζήτησης σε γραφήματα, ο οποίος επιτρέπει με μικρές τροποποιήσεις την εφαρμογή των περισσότερων μεθόδων αναζήτησης.

3 Αλγόριθμος γενικής αναζήτησης Αλγόριθμος ΓΕΝΙΚΗ-ΑΝΑΖΗΤΗΣΗ-ΓΡΑΦΟΥ Βήμα 1. ∆ηµιούργησε το δένδρο αναζήτησης Τ, το οποίο αρχικά αποτελείται από τον κόμβο αρχής n 0. Βήμα 1.1. ∆ηµιούργησε µία λίστα και ονόμασέ τη nodes. Βήμα 1.2. Τοποθέτησε τον n 0 στην nodes. Βήμα 2. Αν η nodes είναι κενή τότε τερμάτισε µε αποτυχία Βήμα 2.1. Επέλεξε το πρώτο στοιχείο της nodes και αφαίρεσέ το από αυτήν. Βήμα 2.2. Ονόμασε αυτό το στοιχείο n. Βήμα 3. Αν το n είναι ο στόχος τότε τερμάτισε µε επιτυχία και επέστρεψε τη λύση. Βήμα 3.1. Επέκτεινε το n. Βήμα 3.2. Τοποθέτησε τους παραγόμενους κόμβους στη nodes. Βήμα 3.3. ∆ηµιούργησε βέλη από το n στους παραγόμενους κόμβους και τοποθέτησέ τα στο Τ. Βήμα 4. Επαναδιάταξε την nodes. Βήμα 5. Επέστρεψε στο Βήμα 2.

4 Αλγόριθμος γενικής αναζήτησης Στο Βήμα 1 δημιουργείται το δένδρο αναζήτησης χρησιμοποιώντας την αρχική κατάσταση του προβλήματος. Αρχικά, το δένδρο είναι μόνο ο κόμβος αρχής n0. Επίσης, δημιουργείται μία δομή δεδομένων (λίστα nodes) στην οποία θα τοποθετούνται οι κόμβοι προς επέκταση. Το Βήμα 2 αποτελεί την αρχή του βρόχου του αλγορίθμου. Αρχικά, γίνεται ο έλεγχος αν υπάρχουν άλλοι κόμβοι προς εξέταση. Αν δεν υπάρχουν, τότε ο αλγόριθμος τερματίζει και δεν έχει βρεθεί κάποια λύση. Διαφορετικά, επιλέγεται ο επόμενος κόμβος n, ο οποίος είναι το πρώτο στοιχείο της λίστας και αφαιρείται από αυτήν για να μην ελεγχθεί πάλι στο μέλλον. Στο Βήμα 3, ελέγχεται αν ο επιλεγμένος κόμβος n είναι ο στόχος. Σε μία τέτοια περίπτωση, ο αλγόριθμος τερματίζει και δίδεται η λύση, η οποία είναι το μονοπάτι από τον κόμβο n0 έως τον κόμβο n (τα διάφορα μονοπάτια κατασκευάζονται στη συνέχεια). Διαφορετικά, ο κόμβος n επεκτείνεται και οι διάδοχοί του τοποθετούνται στη nodes. Επίσης, δημιουργούνται τα μονοπάτια από τον κόμβο n στους διαδόχους του και τοποθετούνται στο δένδρο αναζήτησης.

5 Αλγόριθμος γενικής αναζήτησης Στο Βήμα 4, μία συνάρτηση καθορίζει τον τρόπο με τον οποίο θα διαταχθούν τα στοιχεία της λίστας. Αυτό το βήμα είναι πολύ σημαντικό από την άποψη ότι μπορεί να καθοριστεί ποια μέθοδος αναζήτησης θα εφαρμοστεί και αν θα χρησιμοποιηθεί πληροφορία σχετική με το πρόβλημα. Αυτό συμβαίνει, διότι ανάλογα με το πως θα διαταχθούν τα στοιχεία της λίστας καθορίζεται ποιος κόμβος θα επεκταθεί στην επόμενη επανάληψη. Έτσι, για παράδειγμα, αν η συνάρτηση τοποθετεί τους νέους κόμβους στην αρχή της λίστας, τότε έχουμε την αναζήτηση κατά βάθος (depth-first search). Aν η συνάρτηση τοποθετεί τους νέους κόμβους στο τέλος της λίστας, τότε έχουμε την αναζήτηση κατά πλάτος (breadth-first search). Αν η τοποθέτηση ή η αναδιάταξη γίνεται με βάση κάποια άλλα κριτήρια τα οποία περιέχουν ή απαιτούν συγκεκριμένη πληροφορία τότε έχουμε μέθοδο αναζήτησης με πληροφορία ή ευρετική μέθοδο. Τέλος, το Βήμα 5 μεταφέρει τον έλεγχο στο Βήμα 2 για να επαναληφθεί η διαδικασία.

6 Η γνώση που περιέχει μία ευρετική μέθοδος αναφέρεται στο ποιος είναι ο καλύτερος κόμβος για επέκταση και παρέχεται από μία συνάρτηση η οποία καλείται συνάρτηση εκτίμησης (evaluation function). Η κατηγορία των ευρετικών μεθόδων που επεκτείνει τον κόμβο με την καλύτερη εκτίμηση καλείται αναζήτηση κατά τον καλύτερο κόμβο (best-first search). Τα κριτήρια σχετικά με το ποιος είναι ο καλύτερος κόμβος για επέκταση ποικίλουν ανάλογα με τη μέθοδο. Ωστόσο, ένα γενικό κριτήριο που πρέπει να λαμβάνεται υπόψη είναι η εκτίμηση του κόστους του μονοπατιού από μία κατάσταση στην πλησιέστερη κατάσταση στόχου. Στη συνέχεια παρουσιάζονται δύο μέθοδοι, από τις οποίες η πρώτη επεκτείνει τον πιο κοντινό προς το στόχο κόμβο, ενώ η δεύτερη επεκτείνει τον κόμβο που ανήκει στο μονοπάτι προς τη λύση με το μικρότερο κόστος. Ευρετικές Μέθοδοι

7 Άπληστη Αναζήτηση Η μέθοδος άπληστη αναζήτηση (greedy search) είναι μία αρκετά απλή μέθοδος, η οποία προσπαθεί να ελαχιστοποιήσει το εκτιμούμενο κόστος προκειμένου να φτάσει στον στόχο. Η συνάρτηση η οποία εκτιμά το κόστος του φτηνότερου μονοπατιού από μία κατάσταση n στην κατάσταση στόχου καλείται ευρετική συνάρτηση (heuristic function) και συμβολίζεται με το γράμμα h. Η συνάρτηση h μπορεί να είναι μία οποιαδήποτε συνάρτηση και αυτό εξαρτάται από το πρόβλημα που πρόκειται να επιλυθεί, με μοναδικό περιορισμό h(n) = 0, αν n είναι ένας στόχος. Ευρετικές Μέθοδοι

8 Αναζήτηση A* Μία δεύτερη ευρετική μέθοδος της κατηγορίας αναζήτηση κατά τον καλύτερο κόμβο είναι η αναζήτηση Α* (A* search). Εκτός από την πληροφορία εκτίμησης κόστους προς τον στόχο, h(n), χρησιμοποιεί και την πληροφορία του κόστους του μονοπατιού, g(n), μέχρι το σημείο στο οποίο έχει φτάσει η αναζήτηση. Με αντικειμενικό σκοπό την επέκταση του κόμβου στο μονοπάτι λύσης με το ελάχιστο κόστος, αφενός πετυχαίνει σημαντική μείωση του κόστους αναζήτησης, αφετέρου είναι βέλτιστη και πλήρης (όπως αποδεικνύεται στη συνέχεια). Η Α* χρησιμοποιεί ως συνάρτηση εκτίμησης, f(n), την εκτίμηση κόστους της φτηνότερης λύσης προς το στόχο ως: f(n) = g(n) + h(n) όπου g(n) το κόστος του μονοπατιού μέχρι το σημείο στο οποίο έχει φτάσει η αναζήτηση και h(n) το εκτιμούμενο κόστος από τον κόμβο n ως τον στόχο.

9 Ευρετικές Μέθοδοι Στο σημείο που πρέπει να δοθεί προσοχή είναι η συνάρτηση h(n), η οποία δεν πρέπει ποτέ να υπερεκτιμά το κόστος του μονοπατιού προς το στόχο. Ένα τέτοιο ευρετικό h καλείται παραδεκτό ευρετικό (admissible heuristic). Τα παραδεκτά ευρετικά είναι από τη φύση τους αισιόδοξα, διότι πιστεύουν ότι το κόστος του μονοπατιού προς τη λύση είναι μικρότερο από ό,τι στην πραγματικότητα και αυτή η αισιοδοξία μεταφέρεται και στη συνάρτηση f. Έτσι, αν η συνάρτηση h είναι παραδεκτό ευρετικό τότε η συνάρτηση f(n) δεν υπερεκτιμά ποτέ το πραγματικό κόστος της καλύτερης λύσης διαμέσου του κόμβου n. Η μέθοδος A* χρησιμοποιεί παραδεκτά ευρετικά.

10 Γράφημα δικτύου πόλεων Στο παρακάτω σχήμα αναπαρίσταται ένα δίκτυο πόλεων. Οι κόμβοι του γραφήματος αντιστοιχούν σε πόλεις, ενώ οι ακμές που τους ενώνουν αναπαριστούν τις συνδέσεις μεταξύ των πόλεων και περιγράφονται από τη χιλιομετρική απόσταση.

11 Άπληστη Αναζήτηση Χρησιμοποιώντας τον αλγόριθμο ΓΕΝΙΚΗ- ΑΝΑΖΗΤΗΣΗ-ΓΡΑΦΟΥ και ως ευρετική συνάρτηση h την απόσταση ευθείας γραμμής, Εφαρμόστε άπληστη αναζήτηση (greedy search) για την εύρεση διαδρομής από τον κόμβο ν 20 στον κόμβο ν 3. Τι παρατηρείτε; Για ποιο λόγο συμβαίνει αυτό;

12 Άπληστη Αναζήτηση Απάντηση Ένα μειονέκτημα της μεθόδου άπληστη αναζήτηση είναι ότι μπορεί να υποπέσει σε λάθη οδηγώντας σε αδιέξοδο (dead end) ή σε ατέρμονο βρόχο (endless loop). Η μέθοδος θα επεκτείνει τον κόμβο v 21 έναντι του v 16 εφόσον βρίσκεται πιο κοντά στον v 3 σε απόσταση ευθείας γραμμής και κατόπιν τον v 22 ο οποίος είναι αδιέξοδο. Επιπλέον, η μέθοδος θα επαναλαμβάνεται μονίμως μεταξύ των κόμβων v 22 και v 21. Ωστόσο και οι δύο παραπάνω περιπτώσεις μπορούν να αποφευχθούν µε κάπως προσεκτικότερο έλεγχο στα βήματα της μεθόδου. Το παραπάνω πρόβλημα οφείλεται στο γεγονός ότι η συγκεκριμένη μέθοδος προτιμά σε κάθε βήμα να καταναλώνει όσο το δυνατόν μεγαλύτερο κόστος από αυτό που απομένει μέχρι τον στόχο.

13 Αναζήτηση Α* Χρησιμοποιώντας ως ευρετική συνάρτηση h την απόσταση ευθείας γραμμής, η οποία δίνεται στον παραπάνω πίνακα, καθώς και τον αλγόριθμο ΓΕΝΙΚΗ-ΑΝΑΖΗΤΗΣΗ-ΓΡΑΦΟΥ, εφαρμόστε τις μεθόδους άπληστη αναζήτηση και αναζήτηση Α* για την εύρεση μονοπατιού από τον κόμβο v 16 στον κόμβο v 12. Ποια μέθοδος δίνει μονοπάτι µε μικρότερο κόστος και γιατί; Απόσταση ευθείας γραμμής κάποιων κόμβων από τον κόμβο v 12 v 6 v 10 v v 12 v 13 v v 15 v 16 v v 18 v

14 Άπληστη Αναζήτηση

15 Αναζήτηση Α*

16 Η επέκταση των κόμβων σύμφωνα µε την άπληστη αναζήτηση παρουσιάζεται στο Σχήμα 1. Η μέθοδος έχει επιλέξει το μονοπάτι (v 16, v 15, v 11, v 12 ) µε συνολικό κόστος =87. Αντίστοιχα, η επέκταση των κόμβων σύμφωνα µε την αναζήτηση Α* παρουσιάζεται στο Σχήμα 2. Η μέθοδος έχει επιλέξει το μονοπάτι (v 16, v 13, v 11, v 12 ) µε συνολικό κόστος =68. Προφανώς, η Α* δίνει μονοπάτι µε μικρότερο κόστος και αυτό συμβαίνει διότι η άπληστη αναζήτηση στην προσπάθειά της να επιλέγει τον πιο κοντινό κόμβο προς τον στόχο, επέλεξε λανθασμένα, όπως αποδείχθηκε στη συνέχεια, τον κόμβο v 15 αντί του v 13.

17 ΒΙΒΛΙΟΓΡΑΦΙΑ 1.Ευφυή Πληροφοριακά Συστήματα και Ευρετικές Μέθοδοι, Ι. Ζαχαράκης, Έκδοση ΕΑΠ, 2001.


Κατέβασμα ppt "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google