ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο σύγγραμμα ‘’ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ, ΒΛΑΧΑΒΑΣ, ΚΕΦΑΛΑΣ, ΒΑΣΙΛΕΙΑΔΗΣ, ΚΟΚΚΟΡΑΣ, ΣΑΚΕΛΛΑΡΙΟΥ’’
Κεφάλαιο 4 ο ΑΛΓΟΡΙΘΜΟΙ ΕΥΡΙΣΤΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ
Λόγοι που χρησιμοποιούνται Σε μεγάλο αριθμό προβλημάτων προς επίλυση εμφανίζεται το φαινόμενο της συνδυαστικής έκρηξης του χώρου αναζήτησης Οι αλγόριθμοι Ευριστικής Αναζήτησης εκμεταλλεύονται κάποιες πληροφορίες έτσι ώστε Να μειώσουν τον αριθμό των καταστάσεων και κατ’ επέκταση να φτάσουν γρηγορότερα στη λύση Να κλαδέψουν τις καταστάσεις του δέντρου που δεν οδηγούν σε λύση
Παράδειγμα Σκεφτείτε την συναρμολόγηση ενός παζλ: Μια τεχνική συναρμολόγησης θα μπορούσε να ήταν αυτή της συναρμολόγησης κομμάτι-κομμάτι αλγόριθμος τυφλής αναζήτησης Μια άλλη τεχνική, πιο εμπειρική, που θα μπορούσε να χρησιμοποιηθεί για την πιο γρήγορη ολοκλήρωση του μπορεί να είναι η εξής: ○ Ξεχωρίστε τα κομμάτια σε κατηγορίες (γωνίες, εξωτερικά πλαίσια, εσωτερικά κομμάτια) ○ Διαχωρίστε τα κομμάτια ανά χρώμα (δεν σημαίνει απαραίτητα ότι ο διαχωρισμός είναι σωστός. Σκεφτείτε τα κομμάτια που απεικονίζουν τον ουρανό και την θάλασσα) ○ αλγόριθμος ευριστικής αναζήτησης Η εμπειρία πάνω στην επίλυση του προβλήματος είναι σημαντική για την δημιουργία ευριστικών μηχανισμών
Ευριστικός μηχανισμός (Heuristic mechanism) Μηχανισμός που βασίζεται στην εμπειρία-γνώση πάνω στο πρόβλημα για την γρηγορότερη επίλυση του Για την υλοποίηση του γίνεται χρήση μιας ευριστικής συνάρτησης (heuristic function) η οποία διαφέρει από πρόβλημα σε πρόβλημα Όμοια προβλήματα χρησιμοποιούν ίδιες ευριστικές συναρτήσεις Έχουν σαν πεδίο ορισμού το σύνολο των καταστάσεων του προβλήματος και σαν πεδίο τιμών το σύνολο τιμών που αντιστοιχεί στις τιμές του πεδίου ορισμού Η ευριστική τιμή (η τιμή της ευριστικής συνάρτησης) είναι μια εκτίμηση του πόσο κοντά βρισκόμαστε στη λύση Προσοχή: δεν είναι η πραγματική τιμή απόστασης από την τελική κατάσταση αλλά μια εκτίμηση εμπειρική η οποία μπορεί να είναι και λανθασμένη
Μικρά προβλήματα (Ι) Ορισμός ευριστικής συνάρτησης (αποστάσεων) στο πρόβλημα του λαβύρινθου
Μικρά προβλήματα (ΙΙ) Ορισμός ευριστικής συνάρτησης (αποστάσεων) στο πρόβλημα του N-Puzzle: σε κάθε ενδιάμεση κατάσταση θα πρέπει να υπολογίζουμε Πόσα πλακάκια βρίσκονται εκτός θέσεως Άθροισμα των αποστάσεων Manhattan του κάθε πλακιδίου από την τελική του θέση
Παράδειγμα υπολογισμού ευριστικής συνάρτησης στο πρόβλημα του N-Puzzle
Αλγόριθμος Αναζήτησης με Αναρρίχηση Λόφων (Hill-Climbing Search - HC) Αλγόριθμος με πολλές ομοιότητες με τον DFS (χωρίς μέτωπο αναζήτησης) Τα βήματα του αλγόριθμου 1. Η αρχική κατάσταση είναι η τρέχουσα 2. Αν η τρέχουσα κατάσταση είναι τελική τότε ανάφερε την λύση και τερμάτισε τον αλγόριθμο 3. Εφάρμοσε τους τελεστές μετάβασης για την δημιουργία των καταστάσεων παιδιών 4. Ανάμεσα στις καταστάσεις βρες αυτή με την καλύτερη ευριστική τιμή 5. Επέλεξε την καλύτερη κατάσταση ως την τρέχουσα 6. Επέστρεψε στο βήμα 2
HC- πλεονεκτήματα και μειονεκτήματα Πλεονεκτήματα: Βρίσκει πολύ γρήγορα μια λύση – αποδοτικός σε χρόνο Δεν χρειάζεται αποθήκευση του χώρου αναζήτησης και κλαδεύονται όλες οι υπόλοιπες καταστάσεις – αποδοτικός σε χώρο Μειονεκτήματα: Δεν εγγυάται ότι θα βρεθεί λύση εάν αυτή υπάρχει – μη πλήρης
Αλγόριθμος ακτινωτής αναζήτησης Πρακτικά σαν τον αλγόριθμο Αναρρίχησης Λόφων με την διαφορά ότι δεν κλαδεύονται όλες οι καταστάσεις αλλά διατηρούνται οι καλύτερες Ο αλγόριθμος χρησιμοποιεί ένα μέτωπο αναζήτησης για την αποθήκευση των καταστάσεων που θεωρούνται επικρατέστερες
Αλγόριθμος αναζήτησης Πρώτα στο Καλύτερο (Best-FS) Αλγόριθμος που κρατά ταξινομημένες όλες τις καταστάσεις, βάση της ευριστικής τιμής, σε ένα μέτωπο αναζήτησης Τα βήματα του αλγόριθμου 1. Τοποθέτησε την αρχική κατάσταση στο μέτωπο αναζήτησης 2. Αν το μέτωπο αναζήτησης είναι κενό τερμάτισε τον αλγόριθμο 3. Αλλιώς επέλεξε την πρώτη κατάσταση από το μέτωπο αναζήτησης 4. Αν η κατάσταση ανήκει στο κλειστό σύνολο πήγαινε στο βήμα 2 5. Αλλιώς αν η κατάσταση είναι τελική δώσε την λύση και τερμάτισε τον αλγόριθμο 6. Αλλιώς εφάρμοσε τους τελεστές και δημιούργησε τις καταστάσεις παιδιά 7. Εφάρμοσε την ευριστική συνάρτηση σε κάθε παιδί 8. Βάλε τις καταστάσεις παιδιά στο μέτωπο αναζήτησης 9. Ταξινόμησε το μέτωπο αναζήτησης από την καλύτερη προς την χειρότερη κατάσταση 10. Πρόσθεσε την κατάσταση γονέα στο κλειστό σύνολο 11. Πήγαινε στο βήμα 2
Αλγόριθμος Best-FS πλεονεκτήματα και μειονεκτήματα Πλεονεκτήματα: Αν βρει λύση θα είναι γρήγορη Αν υπάρχει λύση εγγυάται πως θα βρεθεί – είναι πλήρης Μειονεκτήματα: Κάνει χρήση του μετώπου αναζήτησης και γι’ αυτό χρειάζεται επιπλέον χώρο αποθήκευσης Το γεγονός ότι θα βρει μια λύση δεν εγγυάται ότι αυτή θα είναι και η βέλτιστη
Αλγόριθμος Best-FS παράδειγμα χρήσης στο πρόβλημα του λαβύρινθου
Αλγόριθμος Αναζήτησης Α* Λειτουργεί όπως ο BestFS με διαφορετική όμως ευριστική συνάρτηση F(S) = g(S) + h(S), όπου ○ g(S) είναι η απόσταση της τρέχουσας κατάστασης S από την αρχική (τιμή που είναι γνωστή και πραγματική) ○ h(S) είναι η εκτίμηση της απόστασης της τρέχουσας κατάστασης S από την τελική
Αλγόριθμος αναζήτησης Α* - πλεονεκτήματα και μειονεκτήματα Βρίσκει την βέλτιστη λύση μόνο στην περίπτωση που η τιμή της εκτίμησης της απόστασης από την τελική κατάσταση είναι ίση η μικρότερη από την πραγματική απόσταση Βελτίωση: Α* με επαναληπτική εκβάθυνση
Άσκηση 1 Εφαρμόστε στον χώρο αναζήτησης που σας δίνεται τους αλγόριθμους HC, BestFS, A* δίνοντας τη διαδρομή με την οποία θα εξεταστούν οι κόμβοι από τον καθένα Στο σχήμα οι τιμές στις αγκύλες αντιστοιχούν στις τιμές της ευριστικής συνάρτησης και οι κόμβοι με τιμή 0 αντιπροσωπεύουν τερματικές καταστάσεις
Άσκηση 2 Εφαρμόστε στον χώρο αναζήτησης που σας δίνεται τους αλγόριθμους HC, BestFS, A* δίνοντας τη διαδρομή με την οποία θα εξεταστούν οι κόμβοι από τον καθένα Στο σχήμα οι τιμές στις αγκύλες αντιστοιχούν στις τιμές της ευριστικής συνάρτησης και οι κόμβοι με τιμή 0 αντιπροσωπεύουν τερματικές καταστάσεις
Άσκηση 3 Έστω το διπλανό πρόβλημα του Ν-Puzzle Εφαρμόστε τα 2 πρώτα βήματα του αλγόριθμου BestFS υπολογίζοντας τις κατάλληλες ευριστικές τιμές κάθε κόμβου