Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης



Σχετικά έγγραφα
Επίλυση Προβλημάτων 1

Κεφάλαιο 3. Αλγόριθµοι Τυφλής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Αλγόριθμοι Τυφλής Αναζήτησης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επίλυση Προβλημάτων. Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης. Αλγόριθμοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επίλυση Προβληµάτων. ! Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης. ! Χαρακτηριστικά αλγορίθµων:

Αλγόριθµοι Ευριστικής Αναζήτησης

ΤΥΦΛΗ ΑΝΑΖΗΤΗΣΗ (1) ΣΤΡΑΤΗΓΙΚΗ Ή ΑΛΓΟΡΙΘΜΟΣ ΑΝΑΖΗΤΗΣΗΣ

Αλγόριθµοι Ευριστικής Αναζήτησης

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Κεφάλαιο 4. Αλγόριθµοι Ευριστικής Αναζήτησης. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

Επίλυση Προβλημάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσματα της νοημοσύνης.

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Επίλυση προβληµάτων. Αλγόριθµοι Αναζήτησης

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

Αλγόριθμοι Ευρετικής Αναζήτησης

Επίλυση Προβληµάτων. Αποτελεί ένα από τα βασικά χαρακτηριστικά γνωρίσµατα της νοηµοσύνης.

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Ε ανάληψη. Α ληροφόρητη αναζήτηση

Πληροφορηµένη αναζήτηση και εξερεύνηση

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 3: Αλγόριθμοι πληροφορημένης αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Κεφάλαιο 2. Περιγραφή Προβληµάτων και Αναζήτηση Λύσης. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Θεωρία Λήψης Αποφάσεων

Επίλυση προβληµάτων. Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 5: Παραδείγματα. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Επίλυση προβλημάτων με αναζήτηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Θεωρία Λήψης Αποφάσεων

Ε ανάληψη. Ε αναλαµβανόµενες καταστάσεις. Αναζήτηση µε µερική ληροφόρηση. Πληροφορηµένη αναζήτηση. µέθοδοι αποφυγής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΕΡΩΤΗΜΑΤΑ σε ΑΝΑΖΗΤΗΣΗ

ΚΕΦΑΛΑΙΟ 1 - Επίλυση Προβλημάτων

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

Ε ανάληψη. Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. συνεισφορά άλλων επιστηµών στην ΤΝ σήµερα

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ

Επίλυση Προβλημάτων 1

Αναζήτηση (Search) συνέχεια. Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς

Επίλυση Προβλημάτων και Τεχνικές Αναζήτησης Εισαγωγή

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Τεχνητή Νοημοσύνη. Ενότητα 3: Αναζήτηση

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Επίλυση Προβλημάτων 1

ΙΚΑΝΟΠΟΙΗΣΗ ΠΕΡΙΟΡΙΣΜΩΝ

Επίλυση Προβλημάτων 1

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Θεωρία Λήψης Αποφάσεων

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Μαθηματικά των Υπολογιστών και των Αποφάσεων Τεχνητή Νοημοσύνη 1η Σειρά Ασκήσεων

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ε..Ε. ΙI ΑΠΑΓΟΡΕΥΜΕΝΗΕΡΕΥΝΑ TABU SEARCH ΧΡΗΣΤΟΣ. ΤΑΡΑΝΤΙΛΗΣ MANAGEMENT SCIENCE IN PRACTICE II

Δομές Δεδομένων & Αλγόριθμοι

Άσκηση 2: Λαβύρινθοι και ρομπότ Α. (Σχεδιασμός χώρου καταστάσεων) Ενδεικτική επίλυση

Ασκήσεις ανακεφαλαίωσης στο μάθημα Τεχνητή Νοημοσύνη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Τελικές εξετάσεις 24 Ιουνίου 2004

Τεχνητή Νοημοσύνη Ι. Εργαστηριακή Άσκηση 4-6. Σγάρμπας Κυριάκος. Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστων

Περιγραφή Προβλημάτων

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Κεφάλαιο 6. Ικανοποίηση Περιορισµών. Τεχνητή Νοηµοσύνη - Β' Έκδοση. Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

Κεφάλαιο 5: Στρατηγική χωροταξικής διάταξης

1 ΠΡΟΒΛΗΜΑΤΑ ΤΝ ΚΑΙ LISP

ΠΛΗ 405 Τεχνητή Νοηµοσύνη

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ιαµέριση - Partitioning

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

Συστήματα Επιχειρηματικής Ευφυίας. Οι αλγόριθμοι Hill Climbing, Simulated Annealing, Great Deluge, VNS, Tabu Search

ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΑΠΟΙΚΙΑΣ ΜΥΡΜΗΓΚΙΩΝ ANT COLONY OPTIMIZATION METHODS

Θέμα 1: Robbie και Αναζήτηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 2: Δένδρο αναζήτησης. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

1 Το πρόβλημα της συντομότερης διαδρομής

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

Αναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Ασκήσεις μελέτης της 8 ης διάλεξης

Τσάπελη Φανή ΑΜ: Ενισχυτική Μάθηση για το παιχνίδι dots. Τελική Αναφορά

Κεφάλαιο 5. Αλγόριθµοι Αναζήτησης σε Παίγνια ύο Αντιπάλων. Τεχνητή Νοηµοσύνη - Β' Έκδοση

Αλγόριθµοι CSPs Κώδικας. Μάθηµα Τεχνητής Νοηµοσύνης ΥΣ02 Χειµερινό εξάµηνο

Ε ανάληψη. Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) Καταβολές. Ιστορική αναδροµή. Πράκτορες. Περιβάλλοντα. κριτήρια νοηµοσύνης

Transcript:

Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης! Αλγόριθµοι τυφλής αναζήτησης Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Αλγόριθµοι τυφλής αναζήτησης " Οι αλγόριθµοι τυφλής αναζήτησης (blind search algorithms) εφαρµόζονται σε προβλήµατα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης. " Παράδειγµα: Έστω το πρόβληµα των ποτηριών: Γιάννης Ρεφανίδης 26 1

Παράδειγµα (1/2) " Τελεστής: Γέµισε το ποτήρι των Χ ml µέχρι το χείλος από τη βρύση " Προϋποθέσεις: Το ποτήρι των Χ ml έχει 0 ml " Αποτελέσµατα: Το ποτήρι των Χ ml έχει Χ ml " Τελεστής: Γέµισε το ποτήρι των Χ ml από το ποτήρι των Υ ml " Προϋποθέσεις " Το ποτήρι των Χ ml έχει Ζ ml " Το ποτήρι των Y ml έχει W ml (W 0) " Αποτελέσµατα " Το ποτήρι των Χ ml έχει Χ ml και το ποτήρι των Υ ml έχει W-(X-Z), αν W X-Z # ή " Το ποτήρι των Χ ml έχει Ζ+W ml και Το ποτήρι των Υ ml έχει 0, αν W<X-Z " Τελεστής: Άδειασε το ποτήρι των Χ ml στο νεροχύτη " Προϋποθέσεις: Το ποτήρι έχει περιεχόµενο " Γιάννης Ρεφανίδης ΑποτελέσµαταΤο ποτήρι των Χ ml έχει 0 ml 27 Παράδειγµα (2/2) Γιάννης Ρεφανίδης 28 2

Αναζήτηση Πρώτα σε Βάθος (Depth-First Search, DFS) " Ο αλγόριθµος πρώτα σε βάθος επιλέγει προς επέκταση την κατάσταση που βρίσκεται πιο βαθιά στο δένδρο. " Βήµατα: 1. Βάλε την αρχική κατάσταση στο µέτωπο της αναζήτησης. 2. Αν το µέτωπο της αναζήτησης είναι κενό τότε σταµάτησε. 3. Βγάλε την πρώτη κατάσταση από το µέτωπο της αναζήτησης. 4. Αν είναι η κατάσταση µέλος του κλειστού συνόλου τότε πήγαινε στο βήµα 2. 5. Αν η κατάσταση είναι µία από τις τελικές, τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήµα 2. Αλλιώς σταµάτησε. 7. Εφάρµοσε τους τελεστές µετάβασης για να βρεις τις καταστάσεις-παιδιά. 8. Βάλε τις καταστάσεις-παιδιά στην αρχή του µετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. Γιάννης Ρεφανίδης 10. Πήγαινε στο βήµα 2. 29 Αναζήτηση πρώτα σε βάθος Παράδειγµα (1/2) Γιάννης Ρεφανίδης 30 3

Αναζήτηση πρώτα σε βάθος Παράδειγµα (2/2) <Α> Μέτωπο της αναζήτησης <Β, Γ> <Α,, Γ> <, Γ> <Β,Ζ,Γ,Γ> <Ζ,Γ,Γ> <Α,Θ,,Γ,Γ> <Θ,,Γ,Γ> <Ζ,,Ι,,Γ,Γ> <,Ι,,Γ,Γ> <Ι,,Γ,Γ> <Κ,Γ,Β,,Γ,Γ> Κλειστό Σύνολο {} {Α} {Α,Β} {Α,Β} {Α,Β, } {Α,Β, } {Α,Β,,Ζ} {Α,Β,,Ζ} {Α,Β,,Ζ,Θ} {Α,Β,,Ζ,Θ} {Α,Β,,Ζ,Θ} {Α,Β,,Ζ,Θ,Ι} Κατάσταση Παιδιά Α <Β, Γ> Β <Α, > Α -(βρόχος) <Β,Ζ,Γ> Β -(βρόχος) Ζ <Α,Θ, > Α -(βρόχος) Θ <Ζ,,Ι> Ζ -(βρόχος) -(βρόχος) Ι Γιάννης Ρεφανίδης 31 Κ <Κ,Γ,Β> ΤΕΛΙΚΗ Παρατηρήσεις " Το µέτωπο της αναζήτησης είναι µια δοµή στοίβας(stack LIFO, Last In First Out) " Η εξέταση αµέσως προηγουµένων (χρονικά) καταστάσεων ονοµάζεται χρονική οπισθοδρόµηση (chronological backtracking). " Πλεονεκτήµατα: " Έχει µικρές απαιτήσεις σε χώρο διότι το µέτωπο της αναζήτησης δε µεγαλώνει πάρα πολύ. " Μειονεκτήµατα: " εν εγγυάται ότι η πρώτη λύση που θα βρεθεί είναι η βέλτιστη (µονοπάτι µε το µικρότερο µήκος ή µε µικρότερο κόστος). " Εν γένει θεωρείται ατελής (αν δεν υπάρχει έλεγχος βρόχων ή αν ο χώρος αναζήτησης είναι µη πεπερα-σµένος) Γιάννης Ρεφανίδης 32 4

Αναζήτηση Πρώτα σε Πλάτος (Breadth-First Search, BFS) " Ο αλγόριθµος αναζήτησης πρώτα σε πλάτος εξετάζει πρώτα όλες τις καταστάσεις που βρίσκονται στο ίδιο βάθος και µετά συνεχίζει στην επέκταση καταστάσεων στο αµέσως επόµενο επίπεδο. " Βήµατα: 1. Βάλε την αρχική κατάσταση στο µέτωπο της αναζήτησης. 2. Αν το µέτωπο της αναζήτησης είναι κενό τότε σταµάτησε. 3. Βγάλε την πρώτη κατάσταση από το µέτωπο της αναζήτησης. 4. Αν είναι η κατάσταση µέλος του κλειστού συνόλου τότε πήγαινε στο βήµα 2. 5. Αν η κατάσταση είναι µία τελική τότε ανέφερε τη λύση. 6. Αν θέλεις και άλλες λύσεις πήγαινε στο βήµα 2. Αλλιώς σταµάτησε. 7. Εφάρµοσε τους τελεστές µεταφοράς για να βρεις τις καταστάσειςπαιδιά. 8. Βάλε τις καταστάσεις-παιδιά στο τέλος του µετώπου της αναζήτησης. 9. Βάλε την κατάσταση-γονέα στο κλειστό σύνολο. 10. Πήγαινε στο βήµα 2. Γιάννης Ρεφανίδης 33 Αναζήτηση πρώτα σε πλάτος Παράδειγµα (1/3) Γιάννης Ρεφανίδης 34 5

Αναζήτηση πρώτα σε πλάτος Παράδειγµα (2/3) Μέτωπο αναζήτησης <Α> <Β, Γ> <Γ,Α, > <Α,,Ε,Α> <,Ε,Α> <Ε,Α,Β,Ζ,Γ> <Α,Β,Ζ,Γ,Α,Η> <Β,Ζ,Γ,Α,Η> <Ζ,Γ,Α,Η> <Γ,Α,Η,Α,Θ, > <Α,Η,Α,Θ, > {} {Α} {Α,Β} {Α,Β,Γ} {Α,Β,Γ} Κλειστό Σύνολο {Α,Β,Γ, } {Α,Β,Γ,,Ε} {Α,Β,Γ,,Ε} {Α,Β,Γ,,Ε} {Α,Β,Γ,,Ε,Ζ} {Α,Β,Γ,,Ε,Ζ} Κατάσταση Α Β Γ Α Ε Α Β Ζ Γ Γιάννης Ρεφανίδης 35 Α <Β, Γ> <Α, > <Ε,Α> -(βρόχος) <Β,Ζ,Γ> <Α,Η> Παιδιά -(βρόχος) -(βρόχος) <Α,Θ, > -(βρόχος) -(βρόχος) Αναζήτηση πρώτα σε πλάτος Παράδειγµα (3/3) <Α,Θ,,Ε,Γ> <Θ,,Ε,Γ> <,Ε,Γ,Ζ,,Ι> <Ε,Γ,Ζ,,Ι> <Γ,Ζ,,Ι> <Ζ,,Ι> <,Ι> <Ι> Μέτωπο αναζήτησης <Η,Α,Θ, > <Κ,Γ,Β> Κλειστό Σύνολο Κατάσταση Παιδιά {Α,Β,Γ,,Ε,Ζ} Η <Ε,Γ> {Α,Β,Γ,,Ε,Ζ,Η} Α -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} Θ <Ζ,,Ι> {Α,Β,Γ,,Ε,Ζ,Η} -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} Ε -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} Γ -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} Ζ -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} -(βρόχος) {Α,Β,Γ,,Ε,Ζ,Η} Ι <Κ,Γ,Β> {Α,Β,Γ,,Ε,Ζ,Η,Ι} Κ ΤΕΛΙΚΗ Γιάννης Ρεφανίδης 36 6

Παρατηρήσεις " Το µέτωπο της αναζήτησης είναι µια δοµή ουράς (Queue FIFO, δηλαδή First In First Out). " Πλεονεκτήµατα: " Βρίσκει πάντα την καλύτερη λύση (µικρότερη σε µήκος). " Είναι πλήρης. " Μειονεκτήµατα: " Το µέτωπο της αναζήτησης µεγαλώνει πολύ σε µέγεθος. Γιάννης Ρεφανίδης 37 Επαναληπτική Εκβάθυνση (Iterative deepening, ID) " Ο αλγόριθµος επαναληπτικής εκβάθυνσης συνδυάζει τους DFS και BFS ως εξής: " Ορίζει ένα αρχικό βάθος αναζήτησης, έστω d. " Εκτελεί τον DFS σε όλο το χώρο αναζήτησης µέχρι κάποιο συγκεκριµένο βάθος. " Εάν δεν βρεθεί λύση, αυξάνει το d και ξαναεκτελεί τον DFS εξαρχής και µέχρι το νέο βάθος. Γιάννης Ρεφανίδης 38 7

Επαναληπτική Εκβάθυνση Παράδειγµα (1/3) Έστω βήµα=2 d=2 Γιάννης Ρεφανίδης 39 Επαναληπτική Εκβάθυνση Παράδειγµα (2/3) d=4 Γιάννης Ρεφανίδης 40 8

Επαναληπτική Εκβάθυνση Παράδειγµα (3/3) Γιάννης Ρεφανίδης 41 d=6 Παρατηρήσεις " Μειονεκτήµατα: " Όταν ο αλγόριθµος ID ξαναρχίσει µε διαφορετικό βάθος, δεν θυµάται τίποτα από την προηγούµενη αναζήτηση. " Πλεονεκτήµατα: " Είναι πλήρης. " Έχει µικρές απαιτήσεις σε µνήµη. " εν χάνεται σε κλαδιά άπειρου µήκους. " Αν το βάθος αυξάνεται κατά 1 σε κάθε κύκλο και ο ID βρει λύση, τότε αυτή η λύση θα είναι η καλύτερη. " Αν το βάθος αυξάνεται κατά d σε κάθε βήµα, τότε η πρώτη λύση που θα βρεθεί θα είναι το πολύ κατά d-1 µεγαλύτερη της βέλτιστης. Γιάννης Ρεφανίδης 42 9

Αναζήτηση ιπλής Κατεύθυνσης (Bidirectional Search, BiS) " Γενική ιδέα: " Ξεκινούµε να ψάχνουµε ταυτόχρονα από την αρχική προς την τελική κατάσταση, αλλά και από την τελική προς την αρχική. " Οι δύο κατευθύνσεις της αναζήτησης µπορούν να εκτελεστούν παράλληλα. " Όταν οι δύο κατευθύνσεις αναζήτησης συναντήσουν την ίδια κατάσταση, ο αλγόριθµος τερµατίζει. " εν µας ενδιαφέρει ποιος αλγόριθµος αναζήτησης χρησιµοποιείται σε κάθε κατεύθυνση (µπορεί να είναι και διαφορετικοί). " Προϋποθέσεις κάτω από τις οποίες µπορεί να εφαρµοστεί: " Οι τελεστές µετάβασης είναι αντιστρέψιµοι (reversible), και " Είναι πλήρως γνωστή η τελική κατάσταση. " Μειονεκτήµατα " Υπάρχει επιπλέον κόστος που οφείλεται στην επικοινωνία µεταξύ των δύο αναζητήσεων. Γιάννης Ρεφανίδης 43 Αναζήτηση ιπλής Κατεύθυνσης Παράδειγµα Ηαναζήτηση ξεκινά ταυτόχρονα από τα τετράγωνα (1,4) και (15,10). Με κίτρινο φαίνονται οι θέσεις (καταστάσεις) κατά την αναζήτηση προς τα εµπρός και µε µπλε οι θέσεις που επισκέπτεται ο αλγόριθµος κατά την αναζήτηση προς τα πίσω. Γιάννης Ρεφανίδης 44 Το πράσινο τετράγωνο είναι εκεί που "συναντήθηκαν" οι δύο αναζητήσεις. 10

Επέκταση και Οριοθέτηση (Branch and Bound, B&B) " Ο αλγόριθµος επέκτασης και οριοθέτησης εφαρµόζεται σε προβλήµατα όπου: " Κάθε τελεστής (ενέργεια) χαρακτηρίζεται από ένα θετικό κόστος. " Αναζητείται η βέλτιστη λύση, δηλαδή εκείνη µε το ελάχιστο συνολικό κόστος. " Γενική ιδέα: " Βρίσκει την πρώτη λύση χρησιµοποιώντας οποιονδήποτε αλγόριθµο (π.χ. DFS B&B, BFS B&B, κλπ). " Στη συνέχεια απορρίπτει κάθε κατάσταση που συναντά στο χώρο αναζήτησης, της οποίας το κόστος επίτευξης είναι µεγαλύτερο από το κόστος επίτευξης της καλύτερης µέχρι εκείνη τη στιγµή λύσης. Γιάννης Ρεφανίδης 45 Παράδειγµα Το πρόβληµα TSP (1/3) (Travelling Salesperson Problem) Αναζητούµε την καλύτερη σειρά (µικρότερο κόστος) µε την οποία πρέπει ένας πωλητής να επισκεφθεί τις 5 πόλεις, µια φορά κάθε πόλη, και να επιστρέψει στην αρχική. Γιάννης Ρεφανίδης 46 11

Παράδειγµα Το πρόβληµα TSP (2/3) " Έστω ότι ακολουθούµε DFS B&B στρατηγική. Μέτωπο αναζήτησης <α> <αβ 8, αγ 5, αδ 10, αε 8 > <αβγ 15,αβδ 14,αβε 14,αγ 5,... > <αβγδ 24,αβγε 18, αβδ 14, αβε 14...> <αβγδε 28, αβγε 18, αβδ 14,...> < αβγδεα 36, αβγε 18, αβδ 14,..> Κόστος λύσης + + + + + 36 Τρέχουσα Κατάσταση α αβ αβγ αβγδ αβγδε αβγδεα αβ 8,αγ 5,αδ 10,αε 8 αβγ 15,αβδ 14, αβε 14 αβγδ 24, αβγε 18 αβγδε 28 αβγδεα 36 Παιδιά Τελική Κατάσταση Γιάννης Ρεφανίδης 47 Παράδειγµα Το πρόβληµα TSP (3/3)... Μέτωπο αναζήτησης <αβγε 18, αβδ 14,... > <αβγεδ 22,αβδ 14,...> < αβγεδα 32,αβδ 14,αβε 14...> <αβδεγα 26,...> Κόστος λύσης 36 36 32... 26 Τρέχουσα Κατάσταση αβγε αβγεδ αβγεδα... αβδεγα Παιδιά αβγεδ 22 αβγεδα 32 Τελική Κατάσταση... Τελική Κατάσταση... <αβεγδ 26,...>... <αεβγδ 30,...>...... 26... 26......... αβεγδ Κλάδεµα...... αεβγδ Γιάννης Ρεφανίδης 48...... Κλάδεµα 12

Επίλυση προβληµάτων Περιγραφή προβληµάτων Αλγόριθµοι αναζήτησης Αλγόριθµοι τυφλής αναζήτησης! Αλγόριθµοι ευρετικής αναζήτησης Παιχνίδια δύο αντιπάλων Προβλήµατα ικανοποίησης περιορισµών Αλγόριθµοι Ευρετικής Αναζήτησης (Heuristic Search Algorithms) " Ευρετικός µηχανισµός (heuristic) είναι µία στρατηγική, βασισµένη στη γνώση για το συγκεκριµένο πρόβληµα, η οποία χρησιµοποιείται ως βοήθηµα στη γρήγορη επίλυσή του. " Ο ευρετικός µηχανισµός υλοποιείται συνήθως µε ευρετική συνάρτηση (heuristic function), που έχει πεδίο ορισµού το σύνολο των καταστάσεων ενός προβλήµατος και πεδίο τιµών το σύνολο τιµών που αντιστοιχεί σε αυτές. " Ευρετική τιµή (heuristic value) είναι η τιµή της ευρετικής συνάρτησης για µια συγκεκριµένη κατάσταση του προβλήµατος και εκφράζει το πόσο κοντά βρίσκεται η κατάσταση αυτή σε µία τελική. " Η ευρετική τιµή δενείναιη πραγµατική τιµή της απόστασης από µία τερµατική κατάσταση, αλλά µία εκτίµηση (estimate) που πολλές φορές µπορείναείναικαιλανθασµένη. Γιάννης Ρεφανίδης 50 13

Ευρετικές Συναρτήσεις σε Μικρά Προβλήµατα (1/3) " Προβλήµατα λαβυρίνθου " Ευκλείδειος απόσταση (Euclidian distance) " d( S, F) = ( X S X F ) 2 + ( Y " Απόσταση Manhattan (Manhattan distance): " Md(S,F) = XS - XF + YS -YF S Y F ) 2 Γιάννης Ρεφανίδης 51 Ευρετικές Συναρτήσεις σε Μικρά Προβλήµατα (2/3) " N-Puzzle " Το πλήθος των πλακιδίων που είναι εκτός θέσης. " Το άθροισµα των αποστάσεων Manhattan κάθε πλακιδίου από την τελική του θέση. Εκτός Θέσης = 11 Άθροισµα Manhattan αποστάσεων = 25 Αρχική κατάσταση 7 14 3 6 8 10 2 12 9 1 5 11 13 15 4 7 8 15 5 14 10 2 12 9 1 6 11 13 4 3 Ευρετική Τιµή (εκτίµηση απόστασης) Τυχαία κατάσταση 1 2 3 4 5 6 7 8 Γιάννης9 Ρεφανίδης 10 11 12 52 13 14 15 Τελική κατάσταση 14

Ευρετικές Συναρτήσεις σε Μικρά Προβλήµατα (3/3) " Ευρετικός µηχανισµός (όχι συνάρτηση) στο πρόβληµα TSP " Η κοντινότερη πόλη έχει κάθε φορά περισσότερες πιθανότητες να οδηγήσει σε µία καλή λύση. " Ακολουθώντας τον παραπάνω µηχανισµό και ξεκινώντας από την α, θα επιλέγαµε: α γ ε δ β α µε κόστος 26. Γιάννης Ρεφανίδης 53 Αναζήτηση Πρώτα στο Καλύτερο (Best-First Search, BestFS) " Γενική ιδέα: Οι καταστάσεις στο µέτωπο αναζήτησης ταξινοµούνται βάση της τιµής της ευρετικής συνάρτησης, ενώ σε κάθε επανάληψη επιλέγεται αυτή µε την µικρότερη ευρετική τιµή. " Πλεονεκτήµατα: " Προσπαθεί να δώσει µια γρήγορη λύση σε κάποιο πρόβληµα. Το αν τα καταφέρει ή όχι εξαρτάται πολύ από τον ευρετικό µηχανισµό. " Είναι πλήρης. " Μειονεκτήµατα: " Το µέτωπο αναζήτησης µεγαλώνει µε υψηλό ρυθµό και µαζί του ο χώρος που χρειάζεται για την αποθήκευσή του, καθώς και ο χρόνος για την επεξεργασία των στοιχείων του. " εν εγγυάται ότι η λύση που θα βρεθεί είναι η βέλτιστη. Γιάννης Ρεφανίδης 54 15

Παράδειγµα: Το πρόβληµα του λαβύρινθου (1/2) <5-5> <5-4 5,5-6 7,4-5 7 > <6-4 4,5-5 6,5-6 7,4-5 7 > 6 5 4 3 2 1 Μέτωπο αναζήτησης <6-3 3,7-4 3,5-5 6,5-6 7,...> <7-3 2,6-2 3,7-4 3,6-4 4,5-5 6,...> <6-3 3,6-2 3,7-4 3,6-4 4,5-5 6,...> <6-2 3,7-4 3,6-4 4,5-5 6,5-6 7,...> 9 8 <> 9 7 8 7 S Κλειστό σύνολο <5-5> <5-5,5-4> <5-5,5-4,6-4> <5-5,5-4,...> <...,6-3,...> <...> 5 7 6 5 6 5 4 4 3 2 3 4 3 1 2 3 2 F 1 4 1 8 7 6 4 3 2 3 1 2 3 4 5 6 7 8 9 10 Τρέχουσα κατάσταση 5-5 5-4 6-4 6-3 7-3 6-3 Γιάννης Ρεφανίδης 55 6-2 5-4 5,5-6 7,4-5 7 5-5 6,6-4 4 5-4 7,6-3 3,7-4 3 6-4 4,6-2 3,7-3 2 6-3 3,6-4 4 Βρόχος Παιδιά 5-2 5,6-3 3 Παράδειγµα: Το πρόβληµα του λαβύρινθου (2/2) <7-4 3,6-4 4,5-2 5,...> <7-5 4,6-4 4,5-2 5,...> <8-5 3,7-4 3,6-4 4,...> <9-4 1,8-5 3,7-4 3,...> <9-3 0,9-5 2,10-4 2,...> 6 5 4 3 2 1 Μέτωπο αναζήτησης <7-3 2,7-5 4,6-4 4,5-2 5,...> <9-5 2,7-4 3,6-4 4,8-6 4,...> 9 8 9 7 8 7 S <...> <..,7-3,..> <...> <...> <...> <...> <...> 5 7 6 5 Κλειστό σύνολο 6 5 4 4 3 2 3 4 3 1 2 3 2 F 1 4 1 8 7 6 4 3 2 3 1 2 3 4 5 6 7 8 9 10 Τρέχουσα κατάσταση 7-4 7-3 7-5 8-5 9-5 9-4 Γιάννης Ρεφανίδης 56 9-3 7-5 4,6-4 4,7-3 2 Βρόχος 7-4 3,8-5 3,7-6 5 8-6 4,7-5 4,9-5 2 8-5 3,9-4 1 9-3 0,9-5 2,10-4 2 ΤΕΛΙΚΗ Παιδιά 16

Παράδειγµα-2: BestFS σε N-puzzle (1/2) Γιάννης Ρεφανίδης 57 Παράδειγµα-2: BestFS σε N-puzzle (2/2) Ευρετική συνάρτηση = Πλακάκια σε λάθος θέση Γιάννης Ρεφανίδης 58 17

Αναρρίχηση Λόφων (1/2) (Hill-Climbing, HC) " Η αναρρίχηση λόφων µοιάζει µε την αναζήτηση πρώτα-στο-καλύτερο, µε τις εξής διαφορές: " εν έχει σύνορο αναζήτησης. " εν έχει κλειστό σύνολο " Μειονεκτήµατα: " εν θυµάται και άρα δεν επιστρέφει να εξετάσει τις εναλλακτικές "διαδροµές". " Άρα µπορεί να µην βρει λύση, ακόµη και όταν υπάρχει. " Μπορεί να επισκεφθεί πολλές φορές την ίδια κατάσταση. " Πλεονέκτηµα: " Μηδενικές απαιτήσεις σε µνήµη. Γιάννης Ρεφανίδης 59 Αναρρίχηση Λόφων (2/2) " Βασικά προβλήµατα του HC: " Λόφοι (hills). " Οροπέδιο (plateau). " Κορυφογραµµή (ridges). " Βελτιώσεις: " Τυχαίες επανεκινήσεις (Random restarts) " Εξαναγκασµένη αναρρίχηση λόφου (Enforced Hill- Climbing - EHC) " Προσοµοιωµένη εξέλιξη (Simulated Annealing - SA) " Αναζήτηση µε απαγορευµένες καταστάσεις (Tabu Search - TS). Γιάννης Ρεφανίδης 60 18

Παράδειγµα: Το πρόβληµα των βασιλισσών (1/2) " Θέλουµε να βάλουµε 4 βασίλισσες σε µια σκακιέρα 4x4, έτσι ώστε καµία να µην απειλεί τις άλλες. " Προφανώς σε κάθε στήλη θα υπάρχει µία µόνο βασίλισσα. " Ξεκινάµε µε όλες τις βασίλισσες στην κάτω γραµµή. " Σε κάθε βήµα µπορούµε να µετακινήσουµε µια βασίλισσα σέ µια άλλη θέση στη στήλη της, άρα οι δυνατές κινήσεις είναι 4x3=12. " Χρησιμοποιούμε ως ευρετική συνάρτηση το πόσες απειλές υπάρχουν κάθε φορά (όλες οι απειλές είναι διπλές, εμείς τις μετράμε ως μία απειλή κάθε φορά). Γιάννης Ρεφανίδης 61 Παράδειγµα: Το πρόβληµα των βασιλισσών (2/2) 6 3 1 0 Στο συγκεκριµένο παράδειγµα είµασταν τυχεροί, µιας και όλες οι επιλογές µας βγήκαν σωστές. οκιµάστε να λύσετε το ίδιο πρόβληµα σε σκακιέρα 8x8 µε 8 βασίλλισες. Γιάννης Ρεφανίδης 62 19

Παράδειγµα (προς αποφυγή): Λαβύρινθος 6 5 4 3 2 1 9 7 6 5 4 8 7 S 4 3 2 3 5 4 3 1 2 9 8 3 2 F 1 7 6 5 4 1 8 7 6 4 3 2 3 1 2 3 4 5 6 7 8 9 10 Στο παράδειγµα αυτό η εφαρµογή της αναζήτησης µε αναρρίχηση λόφων θα οδηγούσε στην εξής ακολουθία καταστάσεων: (5,5) (5,4) (6,4) (7,4) (7,3) (7,4) (7,3) (7,4) (7,3)... µε αποτέλεσµα να µην βρεθεί ποτέ λύση. Γενικά, η αναρρίχηση λόφου δεν είναι καλή αναζήτηση σε προβλήµατα όπου υπάρχουν αδιέξοδα, τοπικά µέγιστα, οροπέδια κλπ. Γιάννης Ρεφανίδης 63 ΟΑλγόριθµος Α* (A-star) " Ο αλγόριθµος Α* είναι ίδιος µε την αναζήτηση πρώτα-στο-καλύτερο, µε την εξής διαφορά: " Η ευρετική συνάρτηση στον Α* αποτελείται από το άθροισµα της εκτίµησης της απόστασης της τρέχουσας κατάστασης από το τέλος και τη γνωστή απόσταση της τρέχουσας κατάστασης από την αρχική. " F(S)=g(S)+h(S), όπου: " S : η τρέχουσα κατάσταση " g(s) : Η απόσταση της τρέχουσας κατάστασης από την αρχική. " h(s) : Η εκτίµηση της απόστασης της τρέχουσας κατάστασης από το τέλος. Γιάννης Ρεφανίδης 64 20

Σηµαντική ιδιότητα " Αν για κάθε κατάσταση η τιµή h(s) είναι µικρότερη ή το πολύ ίση µε την πραγµατική απόσταση της S από την τελική κατάσταση, τότε ο Α* βρίσκει πάντα τη βέλτιστη λύση. " Ευρετικές συναρτήσεις που επιστρέφουν πάντα εκτιµήσεις µικρότερες της κανονικής (υπο-εκτιµήσεις) ονοµάζονται παραδεκτές συναρτήσεις (admissible functions). Γιάννης Ρεφανίδης 65 Παράδειγµα: Μη-Παραδεκτή Συνάρτηση A h=4 F=0+4=4 Αρχική h=2 Β 4 F=4+2=6 3 3 Γ h=5 F=3+5=8 3 h=0 F1=7+0=7 F2=6+0=6 Τελική Μέτωπο αναζήτησης Κλειστό σύνολο Τρέχουσα κατάσταση Παιδιά Α 4 Α ΑΒ 6, ΑΓ 8 ΑΒ 6, ΑΓ 8 Α ΑΒ 6 ΑΒ 7 ΑΒ 7, ΑΓ 8 Α, ΑΒ ΑΒ 7 Λύση Γιάννης Ρεφανίδης 66 21

Παράδειγµα: Παραδεκτή Συνάρτηση A h=4 F=0+4=4 Αρχική h=2 Β 4 F=4+2=6 3 3 Γ h=3 F=3+3=6 3 h=0 F1=7+0=7 F2=6+0=6 Τελική Μέτωπο αναζήτησης Κλειστό σύνολο Τρέχουσα κατάσταση Παιδιά Α 4 Α ΑΒ 6, ΑΓ 6 ΑΒ 6, ΑΓ 6 A ΑΒ 6 ΑΒ 7 ΑΓ 6, ΑΒ 7 Α, ΑΒ ΑΓ 6 ΑΓ 6 ΑΓ 6, ΑΒ 7 Α, ΑΓ, ΑΒ ΑΓ 6 Λύση Γιάννης Ρεφανίδης 67 Παράδειγµα: Σύγκριση BestFS και A* A Αρχική h=4 4 h=2 Β 3 3 Γ 3 h=3 h=0 Τελική Λύση στο προηγούµενο παράδειγµα µε χρήση BestFS: Μέτωπο αναζήτησης Α ΑΒ, ΑΓ ΑΒ, ΑΓ Κλειστό σύνολο Α Γιάννης Ρεφανίδης 68 Α, ΑΒ Τρέχουσα κατάσταση Α ΑΒ ΑΒ Παιδιά ΑΒ, ΑΓ ΑΒ Λύση 22