Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1
Αλγόριθμοι Ευριστικής Αναζήτησης Πολλές φορές η τυφλή αναζήτηση δεν επαρκεί για μεγάλους χώρους καταστάσεων που εμφανίζονται σε πραγματικά προβλήματα (λόγω συνδυαστικής έκρηξης), γιατί διαρκεί τόσο πολύ χρόνο που πρακτικά δεν βρίσκεται λύση. Ζητούμενο είναι να μειωθεί ο χρόνος αναζήτησης, ελαττώνοντας τον αριθμό των καταστάσεων που επισκέπτεται ο αλγόριθμος μέχρι να βρει λύση. Είναι απαραίτητη η ύπαρξη πληροφορίας για την αξιολόγηση των καταστάσεων, η οποία ενδέχεται να καθοδηγήσει την αναζήτηση σε καταστάσεις που οδηγούν σε λύση, και να βοηθήσει στο κλάδεμα καταστάσεων που δεν οδηγούν σε λύση. Οι αλγόριθμοι που εκμεταλλεύονται τέτοιες πληροφορίες λέγονται αλγόριθμοι ευριστικής αναζήτησης. Παραδείγματα καθημερινής ευριστικής αναζήτησης: λύσιμο σταυρόλεξου, εύρεση ξέφωτου σε πυκνό δάσος 2
Ευριστικός Μηχανισμός Ευριστικός Μηχανισμός (Heuristic Mechanism) είναι μια στρατηγική, βασισμένη στη γνώση για ένα συγκεκριμένο πρόβλημα, η οποία χρησιμοποιείται σαν βοήθημα για γρηγορότερη επίλυσή του. Ο ευριστικός μηχανισμός υλοποιείται στους αλγόριθμους αναζήτησης μέσω μιας ευριστικής συνάρτησης H:S R S: ο χώρος καταστάσεων R: το σύνολο των πραγματικών αριθμών Ευριστική τιμή (heuristic value) είναι η τιμή της ευριστικής συνάρτησης για μια κατάσταση και εκφράζει το πόσο κοντά βρίσκεται αυτή η κατάσταση σε κάποια τελική κατάσταση. Η ευριστική τιμή δεν είναι η πραγματική τιμή της απόστασης μιας κατάστασης από την τελική, αλλά μια εκτίμηση αυτής της απόστασης, η οποία ενδέχεται να είναι (πολύ) λανθασμένη. 3
Ευριστικές Συναρτήσεις Για το ίδιο πρόβλημα μπορούν να οριστούν πολλές διαφορετικές συναρτήσεις Fine grain VS Coarse grain: Οι fine grain δίνουν καλύτερη εκτίμηση αλλά είναι πιο χρονοβόρες στον υπολογισμό της τιμής. Παράδειγμα: συναρμολόγηση puzzle Για να βρούμε τα κομμάτια που ταιριάζουν μεταξύ τους λαμβάνουμε υπόψη το χρώμα, ή το σχήμα, ή κοιτάμε την εικόνα στο κουτί, ή οποιοδήποτε συνδυασμό από τα παραπάνω Χωρίς ευριστική συνάρτηση θα ήταν σαν να συναρμολογούσαμε ένα παζλ από την ανάποδη. 4
Ευριστικές συναρτήσεις σε μικρά προβλήματα Ευριστικός μηχανισμός και συναρτήσεις σε λαβύρινθο Ευκλείδια απόσταση (Euclidian distance) Απόσταση Manhattan (Manhattan distance) 5
Ευριστικές συναρτήσεις σε μικρά προβλήματα Ευριστικός μηχανισμός και συναρτήσεις στο N-Puzzle. Πόσα πλακίδια βρίσκονται εκτός θέσης. Το άθροισμα των αποστάσεων Manhattan κάθε πλακιδίου από την τελική του θέση. 6
Ευριστικές συναρτήσεις σε μικρά προβλήματα Αναλυτικός υπολογισμός ευριστικής τιμής για μια τυχαία κατάσταση του 15-Puzzle. 7
Ευριστικές συναρτήσεις σε μικρά προβλήματα Ευριστικός μηχανισμός και συναρτήσεις στο TSP Η κοντινότερη πόλη έχει περισσότερες πιθανότητες να οδηγήσει σε μία συνολικά καλή λύση «Ανάποδος» μηχανισμός, καθώς δεν λαμβάνει υπόψη την απόσταση από τον στόχο αλλά την απόσταση που έχει ήδη διανυθεί. 8
Hill Climbing (HC) Η αναζήτηση με αναρρίχηση λόφων μοιάζει με τον DFS. 1. Η αρχική κατάσταση είναι η τρέχουσα κατάσταση. 2. Αν είναι η κατάσταση αυτή τελική τότε ανέφερε τη λύση και σταμάτησε. 3. Εφάρμοσε τους τελεστές μετάβασης για να παράγεις τις καταστάσεις-παιδιά. 4. Βρες την καλύτερη κατάσταση σύμφωνα με την ευριστική συνάρτηση. 5. Η καλύτερη κατάσταση γίνεται η τρέχουσα κατάσταση. 6. Πήγαινε στο βήμα 2. 9
Hill Climbing (HC) - Σχόλια Ο HC χρησιμοποιείται σε προβλήματα όπου πρέπει να βρεθεί μια λύση πολύ γρήγορα, έστω και αν αυτή δεν είναι η καλύτερη. Πλεονεκτήματα: Πολύ αποδοτικός σε χρόνο και χώρο (μνήμη). Μειονεκτήματα: Είναι μη πλήρης Έχει κάποια βασικά προβλήματα: Πρόποδες (foothills) Οροπέδια (plateaus) Κορυφογραμμή (ridges) (http://wwwic.ndsu.edu/juell/vp/cs724s00/hill_climbing/index.html) 10
HC Βελτιώσεις: Εξαναγκασμένη αναρρίχηση λόφου (Enforced Hill Climbing EFC) Προσομοιωμένη ανόπτηση (εξέλιξη) (Simulated Annealing SA) Αναζήτηση με απαγορευμένες καταστάσεις (Tabu search TS) Ακτινωτή Αναζήτηση (Beam Search BS) 11
Best-First Search (BestFS) Η αναζήτηση πρώτα στο καλύτερο κρατά όλες τις καταστάσεις στο μέτωπο αναζήτησης, αλλά τις διατάσσει με βάση την ευριστική συνάρτηση. 1. Βάλε την αρχική κατάσταση στο μέτωπο αναζήτησης. 2. Αν το μέτωπο αναζήτησης είναι κενό τότε σταμάτησε. 3. Βγάλε την πρώτη κατάσταση από το μέτωπο αναζήτησης. 4. Αν είναι η κατάσταση αυτή μέλος του κλειστού συνόλου τότε πήγαινε στο βήμα 2. 5. Αν είναι η κατάσταση αυτή τελική τότε τύπωσε τη λύση και σταμάτα. 6. Εφάρμοσε τους τελεστές μετάβασης για να παράγεις τις καταστάσεις-παιδιά. 7. Εφάρμοσε την ευριστική συνάρτηση σε κάθε παιδί. 8. Βάλε τις καταστάσεις-παιδιά στο μέτωπο αναζήτησης. 9. Αναδιάταξε το μέτωπο αναζήτησης, έτσι ώστε η κατάσταση με την καλύτερη ευριστική τιμή να είναι πρώτη. 10. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 11. Πήγαινε στο βήμα 2. 12
Best-First Search (BestFS) - Σχόλια Πλεονεκτήματα: Προσπαθεί να δώσει μια γρήγορη λύση σε κάποιο πρόβλημα, εξαρτάται πολύ από τον ευριστικό μηχανισμό. Είναι πλήρης. Μειονεκτήματα: Το μέτωπο αναζήτησης μεγαλώνει με υψηλό ρυθμό, επομένως δεν είναι πολύ αποδοτικός σε χώρο. Δεν εγγυάται ότι η λύση που θα βρεθεί είναι όντως η βέλτιστη. 13
BestFS στον λαβύρινθο 14
Α* (A-star) Ο αλγόριθμος Α* επεκτείνει τον BestFS χρησιμοποιώντας ευριστική συνάρτηση της μορφής F(S) = g(s) + h(s). η g(s) δίνει την απόσταση της κατάστασης S από την αρχική κατάσταση, η οποία είναι πραγματική και γνωστή. η h(s) δίνει την εκτίμηση της απόστασης της S από την τελική κατάσταση μέσω μιας ευριστικής συνάρτησης, όπως και στον BestFS. 15
Α* (A-star) - Σχόλια Αν για κάθε κατάσταση η τιμή h(s) είναι μικρότερη ή το πολύ ίση με την πραγματική απόσταση της S από την τελική κατάσταση (υποεκτίμηση), τότε ο A* βρίσκει πάντα τη βέλτιστη λύση. Αποδεκτός (admissible) ευριστικός μηχανισμός. Οριακές περιπτώσεις του A*: Αν g(s)=0 για κάθε κατάσταση S, τότε έχουμε τον BestFS Αν h(s)=0 για κάθε κατάσταση S, τότε έχουμε τον BFS Βελτιώσεις: Α* με επαναληπτική εκβάθυνση (Iterative Deepening A* - IDA) 16
Χώρος αναζήτησης στο 8-Puzzle 17
Εφαρμογή BestFS στο 8-Puzzle 18
Ενδεικτική Βιβλιογραφία Κεφάλαιο 4 (4.1, 4.2, 4.3, 4.4 και 4.5) του βιβλίου «Τεχνητή Νοημοσύνη», Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας και Η. Σακελλαρίου. 19