Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1
Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων είτε με αναγωγή, στόχος είναι να βρεθεί η λύση του. Οι αλγόριθμοι που αναζητούν τη λύση σε ένα πρόβλημα λέγονται αλγόριθμοι αναζήτησης (search algorithms). Η επιλογή ενός αλγόριθμου αναζήτησης για ένα συγκεκριμένο πρόβλημα είναι σημαντική, καθώς οι αλγόριθμοι διαφέρουν μεταξύ τους σε διάφορα χαρακτηριστικά όπως η αποδοτικότητα, πολυπλοκότητα, πληρότητα, ευκολία υλοποίησης. 2
Αλγόριθμοι Αναζήτησης Όνομα Συντομογραφία Ελληνική Ορολογία Τυφλοί Depth-First Search DFS Αναζήτηση Πρώτα σε Βάθος Breadth-First Search BFS Αναζήτηση Πρώτα σε Πλάτος Iterative Deepening ID Επαναληπτική Εκβάθυνση Bi-directional Search BiS Αναζήτηση Διπλής Κατεύθυνσης Branch and Bound B&B Επέκταση και Οριοθέτηση Ευριστικοί Hill Climbing HC Αναρρίχηση Λόφων Best-First Search BestFS Αναζήτηση Πρώτα στο Καλύτερο A* (A-star) A* Α* (Άλφα Άστρο) Παιγνίων 2 ατόμων Minimax Minimax Αναζήτηση Μεγίστου-Ελαχίστου Alpha-Beta AB Άλφα-Βήτα 3
Χώρος Αναζήτησης Δοθέντος ενός προβλήματος (I, G, T, S), χώρος αναζήτησης (search space) SP είναι το σύνολο όλων των καταστάσεων που είναι προσβάσιμες από την αρχική κατάσταση. Μία κατάσταση s ονομάζεται προσβάσιμη (accessible) αν υπάρχει μια ακολουθία τελεστών μετάβασης t 1, t 2,, t k T, τέτοια ώστε s = t k ( (t 2 (t 1 (I))) ). Ο χώρος αναζήτησης είναι υποσύνολο του χώρου καταστάσεων (ο χώρος αναζήτησης εξαρτάται από την αρχική κατάσταση ενώ ο χώρος καταστάσεων όχι) 4
Ο Χώρος Αναζήτησης σαν Δέντρο Αναζήτησης Ο χώρος αναζήτησης μπορεί να αναπαρασταθεί ως γράφος Είναι πάντα εφικτό να μετατραπεί ο γράφος αναζήτησης σε δέντρο αναζήτησης (search tree), με την παραδοχή ότι αυτό μπορεί να περιλαμβάνει μονοπάτια άπειρου μήκους Τμήμα Δέντρου Κόμβος (Node) Ρίζα (Root) Φύλλο (Leaf) Κλαδί (Branch) Λύση (Solution) Επέκταση (Expansion) Παράγοντας Διακλάδωσης (Branching Factor) Αναπαράσταση Κατάσταση Αρχική Κατάσταση Τελική Κατάσταση ή Αδιέξοδο (δεν μπορεί να εφαρμοστεί κανένας τελεστής) Τελεστής μετάβασης που μετατρέπει μια κατάστασηγονέα σε μια κατάσταση-παιδί Μονοπάτι που ενώνει αρχική με τελική κατάσταση Διαδικασία παραγωγής όλων των καταστάσεων-παιδιών Ο αριθμός των καταστάσεων-παιδιών που προκύπτουν από μια επέκταση (μέσος) 5
Δέντρο Αναζήτησης Συνδυαστική έκρηξη (combinatorial explosion): σε ένα τυπικό πρόβλημα μεσαίου μεγέθους, όπου το δέντρο έχει μέσο παράγοντα διακλάδωσης 10 και η λύση βρίσκεται σε βάθος 20, ο χώρος αναζήτησης είναι της τάξης του 10 20. Αυτό αυξάνει εκθετικά τις απαιτήσεις των αλγορίθμων αναζήτησης σε μνήμη και χρόνο. 6
Επιλυμένο Πρόβλημα Δοθέντος ενός προβλήματος P = (I, G, T, S), μετά την εφαρμογή κάποιου αλγορίθμου στο χώρο αναζήτησής του, προκύπτει το επιλυμένο πρόβλημα (solved problem), το οποίο ορίζεται ως P S = (V, A, F, G S ) V είναι το σύνολο των καταστάσεων που εξέτασε ο αλγόριθμος αναζήτησης A είναι ο αλγόριθμος που χρησιμοποιήθηκε F είναι το σύνολο των λύσεων που βρέθηκαν G S είναι το σύνολο των τελικών καταστάσεων που εξετάστηκαν Ο αριθμός των καταστάσεων που περιέχει το V και η σχέση του με τον χώρο καταστάσεων S του προβλήματος και τον χώρο αναζήτησης SP είναι ένα από τα χαρακτηριστικά αποδοτικότητας του αλγόριθμου. 7
Χαρακτηριστικά Αλγορίθμων Αναζήτησης Εξαντλητικός (exhaustive): το σύνολο των καταστάσεων που εξετάζει ο αλγόριθμος για να βρει τις απαιτούμενες λύσεις είναι ίσο με τον χώρο αναζήτησης Πλήρης (complete): εγγυάται ότι θα βρει μια λύση για οποιαδήποτε τελική κατάσταση, αν τέτοια λύση υπάρχει Αποδεκτός (admissible): οδηγεί στη βέλτιστη (optimal) λύση, δηλαδή τη καλύτερη τελική κατάσταση σύμφωνα με τη διάταξη, ή τη συντομότερη λύση αν δεν υπάρχει διάταξη 8
Επιλογή Αλγόριθμου Αναζήτησης Η διαδικασία επιλογής αλγόριθμου αναζήτησης βασίζεται στα εξής κριτήρια: Αριθμός των καταστάσεων που επισκέπτεται Δυνατότητα εύρεσης λύσεων εφόσον υπάρχουν Αριθμός λύσεων που επιστρέφονται Ποιότητα λύσεων που επιστρέφονται Αποδοτικότητα σε χρόνο Αποδοτικότητα σε χώρο (μνήμη) Ευκολία υλοποίησης Κλάδεμα (pruning) (η διαδικασία κατά την οποία ο αλγόριθμος απορρίπτει κάτω από ορισμένες συνθήκες κάποιες καταστάσεις και μαζί με αυτές ολόκληρο το υποδέντρο που εκτυλίσσεται κάτω από αυτές 9
Κοινές Έννοιες Αλγόριθμων Αναζήτησης Μέτωπο αναζήτησης (search frontier): το διατεταγμένο σύνολο (λίστα) των καταστάσεων που ο αλγόριθμος έχει ήδη επισκεφθεί, αλλά δεν έχουν ακόμη επεκταθεί Κλειστό σύνολο (closed set): το σύνολο όλων των καταστάσεων που έχουν επεκταθεί από τον αλγόριθμο Σε κάθε επανάληψη του αλγορίθμου επεκτείνεται μία κατάσταση η οποία ανήκει στο μέτωπο αναζήτησης, και τότε παύει να ανήκει στο μέτωπο αναζήτησης και μεταφέρεται στο κλειστό σύνολο Οι καταστάσεις-παιδιά που προκύπτουν από την επέκταση εισάγονται στο μέτωπο αναζήτησης 10
Γενικός Αλγόριθμος Αναζήτησης 1. Βάλε την αρχική κατάσταση στο μέτωπο αναζήτησης. 2. Αν το μέτωπο αναζήτησης είναι άδειο τότε σταμάτησε. 3. Πάρε την πρώτη σε σειρά κατάσταση του μετώπου αναζήτησης. 4. Αν είναι η κατάσταση αυτή μέρος του κλειστού συνόλου τότε πήγαινε στο βήμα 2. 5. Αν είναι η κατάσταση αυτή τελική κατάσταση τότε τύπωσε τη λύση και πήγαινε στο βήμα 2. 6. Εφάρμοσε τους τελεστές μετάβασης για να παράγεις τις καταστάσεις-παιδιά. 7. Βάλε τις νέες καταστάσεις-παιδιά στο μέτωπο αναζήτησης. 8. Κλάδεψε τις καταστάσεις που δεν χρειάζονται (σύμφωνα με κάποιο κριτήριο), βγάζοντάς τες από το μέτωπο αναζήτησης. 9. Κάνε αναδιάταξη στο μέτωπο αναζήτησης (σύμφωνα με κάποιο κριτήριο). 10. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 11. Πήγαινε στο βήμα 2. 11
Τυφλοί και Ευριστικοί Αλγόριθμοι Με βάση την αναδιάταξη του μετώπου αναζήτησης: Οι τυφλοί αλγόριθμου το διατάσσουν βάσει της χρονικής δημιουργίας των νέων καταστάσεων (π.χ. οι νέες καταστάσεις προστίθενται στην αρχή ή στο τέλος του μετώπου αναζήτησης). Οι ευριστικοί το διατάσσουν σύμφωνα με κριτήρια που αξιολογούν τις νέες καταστάσεις ως «καλύτερες» ή «χειρότερες» από κάποιες άλλες (για παράδειγμα την εκτιμώμενη απόσταση από την τελική κατάσταση). 12
Ενδεικτική Βιβλιογραφία Ενότητα 2.2 (2.2.1, 2.2.2, 2.2.3 και 2.2.4) του βιβλίου «Τεχνητή Νοημοσύνη», Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας και Η. Σακελλαρίου. 13