ΠΛΗ 405 Τεχνητή Νοηµοσύνη Α ληροφόρητη και Πληροφορηµένη Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Πράκτορας ε ίλυσης ροβληµάτων πράκτορας µε στόχο Αναζήτηση διατύπωση δένδρο αναζήτησης γενικός αλγόριθµος µετρικές απόδοσης
ιατύ ωση Προβληµάτων Αναζήτησης Αρχική κατάσταση (initial state) τρέχουσα κατάσταση περιβάλλοντος και πράκτορα Χώρος καταστάσεων (state space) όλες οι κατάστασεις που είναι προσπελάσιµες από την αρχική Συνάρτηση διαδοχής (successor function) για κάθε κατάσταση, οι έγκυρες ενέργειες και οι διάδοχες καταστάσεις Έλεγχος στόχου (goal test) αποφαίνεται για το αν επιτυγχάνεται ο στόχος σε κάποια κατάσταση Συνάρτηση κόστους (cost function) προσδιορίζει το κόστος για κάθε βήµα µιας ακολουθίας ενεργειών
ένδρο Αναζήτησης
Άτυ ος Αλγόριθµος Αναζήτησης function Tree-Search( ρόβληµα, στρατηγική ) returns µια λύση ή αποτυχία αρχικοποίηση του δένδρου αναζήτησης µε χρήση της αρχικής κατάστασης του ροβλήµατος loop do if δεν υπάρχουν υποψήφιοι για επέκταση then return αποτυχία επιλογή ενός κόµβου-φύλλου για να επεκταθεί, σύµφωνα µε τη στρατηγική if ο κόµβος περιέχει µια κατάσταση στόχου then return την αντίστοιχη λύση else ο κόµβος επεκτείνεται και οι κόµβοι που προκύπτουν προστίθενται στο δένδρο αναζήτησης
Μέτρηση Α όδοσης Αναζήτησης Πληρότητα (completeness) θα βρει εγγυηµένα κάποια λύση, αν υπάρχει; Βελτιστότητα (optimality) θα βρει µια βέλτιστη λύση; Χρονική ολυ λοκότητα (time complexity) πόσο χρόνο χρειάζεται για να βρει λύση; Χωρική ολυ λοκότητα (space complexity) πόσο χώρο (µνήµη) χρειάζεται για να βρει λύση; Μέγεθος ροβλήµατος παράγοντας διακλάδωσης (branching factor) b βάθος της πιο κοντινής λύσης d µέγιστο µήκος οποιασδήποτε διαδροµής m
Σήµερα Α ληροφόρητη αναζήτηση σε πλάτος, οµοιόµορφου κόστους, σε βάθος, περιορισµένου βάθους, επαναληπτική εκβάθυνση, αµφίδροµη αναζήτηση επαναλαµβανόµενες καταστάσεις Αναζήτηση µε µερική ληροφόρηση προβλήµατα χωρίς αισθητήρες και προβλήµατα ενδεχοµένων Πληροφορηµένη αναζήτηση άπληστη αναζήτηση πρώτα στο καλύτερο, αναζήτηση Α* Πληροφορηµένη αναζήτηση µε εριορισµό µνήµης Ευρετικές συναρτήσεις
Στρατηγικές Α ληροφόρητης Αναζήτησης Uninformed or Blind Search
Αναζήτηση σε Πλάτος (Breadth-First) επέκταση του κόµβου µε το µικρότερο βάθος στο τρέχον σύνορο υλοποίηση µε ουρά FIFO (First In, First Out) πλήρης, βέλτιστη (υπό προϋποθέσεις), εκθετική πολυπλοκότητα O(b d+1 ) Βάθος (d) Κόµβοι (b=10) Χρόνος (10000 κόµβοι/sec) Μνήµη (1000 byte/κόµβο) 2 1100 0.11 δευτερόλε τα 1 megabyte 4 111.100 11 δευτερόλε τα 106 megabytes 6 10 7 19 λε τά 10 gigabytes 8 10 9 31 ώρες 1 terabyte 10 10 11 129 ηµέρες 101 terabytes 12 10 13 35 χρόνια 10 petabytes 14 10 15 3.523 χρόνια 1 exabyte
Αναζήτηση Οµοιόµορφου Κόστους (uniform cost search) παραλλαγή της αναζήτησης κατά πλάτος επέκταση του κόµβου µε το µικρότερο κόστος διαδροµής σύνορο: κόµβοι µε (περίπου) οµοιόµορφο κόστος πλήρης, εάν το κόστος βήµατος είναι πάντα θετικό βέλτιστη, εάν το κόστος βήµατος είναι πάντα θετικό εκθετική πολυπλοκότητα εξαρτώµενη από το βέλτιστο κόστος εξαρτώµενη από το ελάχιστο κόστος βήµατος πιθανόν καλύτερη, πιθανόν χειρότερη
Αναζήτηση σε Βάθος (Depth-First) επέκταση του κόµβου µε το µεγαλύτερο βάθος στο τρέχον σύνορο οπισθοχώρηση στον αµέσως προηγούµενο κόµβο υλοποίηση µε ουρά LIFO (Last In, First Out) ή στοίβα (stack) δεν είναι πλήρης (διαδροµές απείρου µήκους) δεν είναι βέλτιστη (προχωράει σε βάθος ανεξάρτητα από κόστος) γραµµική χωρική πολυπλοκότητα βελτίωση µε υπαναχώρηση (backtracking) βελτίωση µε µεταβολή κατάστασης (προϋποθέτει δυνατότητα αναίρεσης) εκθετική χρονική πολυπλοκότητα
Αναζήτηση κατά Βάθος
Αναζήτηση Περιοσµένου Βάθους (Depth-Limited Search) παραλλαγή της αναζήτησης κατά βάθος διακοπή της επέκτασης πέρα από κάποιο προκαθορισµένο βάθος ευρετικός προσδιορισµός ορίου βάθους (διάµετρος γράφου) πλεονέκτηµα: αποφυγή άπειρων διαδροµών µειονέκτηµα: πρόβληµα πληρότητας η λύση µπορεί να βρίσκεται χαµηλότερα µειονέκτηµα: πρόβληµα βελτιστότητας µια βέλτιστη λύση µπορεί να βρίσκεται χαµηλότερα
Ε αναλη τική Εκβάθυνση (Iterative-Deepening Search) έξυπνος χειρισµός αναζήτησης περιορισµένου βάθους σταδιακή αύξηση του ορίου βάθους (L = 0, 1, 2, 3,...) συνδυάζει τα πλεονεκτήµατα των αναζητήσεων σε βάθος και πλάτος πλήρης βέλτιστη (υπό προϋποθέσεις) χωρική πολυπλοκότητα Ο(bd) µικρότερη από τη χωρική πολυπλοκότητα της αναζήτησης σε πλάτος! χρονική πολυπλοκότητα εκθετική, αλλά όχι µεγαλύτερη (d)b + (d 1)b 2 + + (1)b d = O(b d )!!!! παραλλαγή: αναζήτηση επαναληπτικής επιµήκυνσης
Ε αναλη τική Εκβάθυνση
Ε αναλη τική Εκβάθυνση
Αµφόδροµη Αναζήτηση (Bidirectional Search) b d/2 +b d/2 << b d
Σύγκριση Α ληροφόρητων Στρατηγικών
Ε αναλαµβανόµενες Καταστάσεις Repeated States
Ε αναλαµβανόµενες Καταστάσεις πρόβληµα: ένας γραµµικός χώρος φαίνεται εκθετικός συνήθως σε προβλήµατα µε αναστρέψιµες ενέργειες απλή σύγκριση µε τους κόµβους προς επέκταση δεν αρκεί οι αλγόριθµοι ου ξεχνούν την ιστορία τους είναι καταδικασµένοι να την ε αναλαµβάνουν
Α οφυγή Ε αναλαµβανόµενων Καταστάσεων Α οµνηµόνευση κλειστή λίστα (closed list): επεκταµένοι κόµβοι ανοικτή λίστα (open list): κόµβοι προς επέκταση σύνορο Πλεονεκτήµατα απαιτήσεις χώρου και χρόνου ανάλογες µε το χώρο κατάστασης όλοι οι αλγόριθµοι γίνονται πλήρεις για πεπερασµένους χώρους γρήγορος έλεγχος για κλειστή λίστα µε πίνακα hash Μειονεκτήµατα κανείς αλγόριθµος δεν έχει πλέον γραµµικές απαιτήσεις χώρου χρειάζεται προσοχή στην επιλογή εναλλακτικών διαδροµών
Αλγόριθµος Αναζήτησης µε Α οφυγή Ε αναλαµβανόµενων Καταστάσεων
Αναζήτηση µε Μερική Πληροφόρηση Search with Partial Information
Προβλήµατα µε Ατελή Γνώση Προβλήµατα χωρίς αισθητήρες (sensorless problems) ο πράκτορας δεν µπορεί να αντιληφθεί την κατάσταση Προβλήµατα ενδεχοµένων (contingency problems) µερικώς παρατηρήσιµα περιβάλλοντα ή αβέβαιες ενέργειες οι αντιλήψεις παρέχουν πληροφορίες και ορίζουν ενδεχόµενα Προβλήµατα αντι αλότητας (adversarial problems) η αβεβαιότητα προκαλείται από κάποιο άλλο πράκτορα Προβλήµατα εξερεύνησης (exploration problems) άγνωστος χώρος κατάστασης και άγνωστες ενέργειες ακραία περίπτωση προβληµάτων ενδεχοµένων
Προβλήµατα χωρίς Αισθητήρες Χαρακτηριστικά γνωστός ο χώρος κατάστασης και τα αποτελέσµατα των ενεργειών άγνωστη η τρέχουσα (αρχική, ενδιάµεση, τελική) κατάσταση Αντιµετώ ιση συλλογισµός µε σύνολα καταστάσεων, όχι µε απλές καταστάσεις χώρος πεποιθήσεων (beliefs): δυναµοσύνολο χώρου καταστάσεων πεποίθηση: το υποσύνολο των καταστάσεων όπου µπορεί να βρίσκεται ενέργειες: µεταβάσεις µεταξύ πεποιθήσεων (ένωση ατοµικών µεταβάσεων) αρχικοποίηση: πεποίθηση µε όλες τις πιθανές καταστάσεις επίλυση: αναζήτηση στο χώρο των πεποιθήσεων στόχος: πεποίθηση όπου όλες οι καταστάσεις είναι στόχοι
Ενέργειες χωρίς Αισθητήρες Εξαναγκασµός επιλογή κάποιας ενέργειας για αποκλεισµό κάποιων καταστάσεων Παράδειγµα µικρόκοσµου αρχική πεποίθηση {1,2,3,4,5,6,7,8} ενέργεια: εξιά επόµενη πεποίθηση: {2,4,6,8} ενέργεια: Αναρρόφηση επόµενη πεποίθηση: {4,8}... Γενίκευση µη αιτιοκρατικές ενέργειες µε αβέβαια αποτελέσµατα
Μικρόκοσµος Σκού ας χωρίς Αισθητήρες
Πληροφορηµένη Αναζήτηση Informed Search
Αναζήτηση Πρώτα στο Καλύτερο Πληροφορηµένη αναζήτηση (informed search) χρήση ειδικής γνώσης για το πρόβληµα, όχι µόνο ο ορισµός απληροφόρητη αναζήτηση: βάθος, κόστος, επανάληψη, κλπ. πληροφορηµένη αναζήτηση: εξαγωγή πληροφορίας από κατάσταση Αναζήτηση ρώτα στο καλύτερο (best-first search) συνάρτηση αξιολόγησης (evaluation function) «καλύτερου» αξιολόγηση κάθε κόµβου n µε τη συνάρτηση αξιολόγησης f(n) επέκταση του κόµβου µε τη µικρότερη τιµή αξιολόγησης υλοποίηση µε ουρά προτεραιότητας
Ά ληστη Αναζήτηση Πρώτα στο Καλύτερο (greedy best-first search) Συνάρτηση αξιολόγησης ευρετική συνάρτηση (heuristic function) h(n), h(g)=0 εκτιµώµενο κόστος φθηνότερης διαδροµής από n σε στόχο η εκτίµηση εξαρτάται µόνο από τον κόµβο n και το στόχο αξιολόγηση: f(n) = h(n) Παράδειγµα: ιαδροµές στη Ρουµανία h SLD (n) : Straight-Line Distance heuristic (ευθύγραµµη απόσταση) ευθύγραµµη απόσταση πόλης n από το Βουκουρέστι δεν µπορεί να προκύψει µόνο από τον ορισµό του προβλήµατος
ιαδροµές στη Ρουµανία h SLD Πόλη h SLD Πόλη 374 Zerind 244 Lugoj 199 Vaslui 226 Iasi 80 Urziceni 151 Hirsova 329 Timisoara 77 Giurgiu 253 Sibiu 176 Fagaras 193 Rimnisc Vilcea 161 Eforie 100 Pitesti 242 Dobreta 380 Oradea 160 Craiova 234 Neamt 0 Bucharest 241 Mehadia 366 Arad
ιαδροµές στη Ρουµανία
ιαδροµές στη Ρουµανία Η διαδροµή που βρέθηκε δεν είναι η συντοµότερη!
Ά ληστη Αναζήτηση Πρώτα στο Καλύτερο Πληρότητα γενικά όχι, µπορεί να µπλέξει σε ατέρµονα κλαδιά (Iasi Fagaras) πλήρης σε πεπερασµένους χώρους µε αποφυγή επανάληψης Βελτιστότητα όχι, επιρρεπής σε λανθασµένες εκτιµήσεις (Sibiu Bucharest) Χρονική και χωρική ολυ λοκότητα εκθετική Ο(b m ), όπου m είναι το µέγιστο βάθος του χώρου Γενικά οµοιάζει µε την αναζήτηση πρώτα κατά βάθος
Αναζήτηση Α* Συνάρτηση αξιολόγησης εκτιµώµενο κόστος h(n) φθηνότερης διαδροµής από n σε στόχο πραγµατικό κόστος g(n) τρέχουσας διαδροµής από αρχική έως n αξιολόγηση: f(n) = g(n) + h(n) συνολικό κόστος µέσω κόµβου n Παραδεκτός ευρετικός µηχανισµός (admissible heuristic) κάνει πάντα αισιόδοξες εκτιµήσεις δεν κάνει υπερεκτιµήσεις του κόστους (για ελαχιστοποίηση) δεν κάνει υποεκτιµήσεις του κόστους (για µεγιστοποίηση) Θεώρηµα η αναζήτηση A* χωρίς κλάδεµα επαναλαµβανόµενων καταστάσεων είναι βέλτιστη αν η h(n) είναι παραδεκτή
ιαδροµές στη Ρουµανία (Α*)
ιαδροµές στη Ρουµανία (Α*)
Συνε είς Ευρετικές Συναρτήσεις Συνέ εια (consistency) συνεπής (consistent) ή µονοτονική (monotonic) ευρετική συνάρτηση γενικευµένη τριγωνική ανισότητα: h(n) c(n, a, n') + h(n') Θεώρηµα η αναζήτηση A* µε κλάδεµα επαναλαµβανόµενων καταστάσεων, χωρίς να λαµβάνεται υπόψη εάν η νέα κατάσταση έχει µικρότερη τιµή f(n) από την παλιά, είναι βέλτιστη αν η h(n) είναι συνεπής Πορίσµατα µια συνεπής ευρετική συνάρτηση είναι και παραδεκτή οι περισσότερες παραδεκτές ευρετικές συναρτήσεις είναι και συνεπείς h(n) συνεπής η f(n) σε οποιαδήποτε διαδροµή είναι µη φθίνουσα
Ισοϋψείς Καµ ύλες Κόστους
Α οδοτικότητα Α* Πληρότητα ναι, εκτός αν υπάρχουν άπειροι κόµβοι µε f f(g) = C * Βελτιστότητα ναι, µε παραδεκτή ή συνεπή ευριστική συνάρτηση επέκταση: όλοι µε f(n)<c *, µερικοί µε f(n)=c * κανένας µε f(n)>c * Πολυ λοκότητα εκθετικές απαιτήσεις σε χρόνο και (κυρίως) σε µνήµη Βέλτιστα α οδοτικός για το ίδιο πρόβληµα εξερευνά τις λιγότερες καταστάσεις από όλους τους βέλτιστους και πλήρεις αλγορίθµους αναζήτησης
Πληροφορηµένη Αναζήτηση µε Περιορισµένη Μνήµη Informed Search with Bounded Memory
A* µε Ε αναλη τική Εκβάθυνση (Iterative-Deepening A* - IDA*) Μεθοδολογία ανάλογη µέθοδος µε την αναζήτηση επαναληπτικής επιµήκυνσης αναζήτησης A* πρώτα κατά βάθος µε περιορισµένο κόστος g(n) + h(n) σταδιακή αύξηση του ορίου αποκοπής 0, f 1 (n), f 2 (n), f 3 (n),... νέο όριο: το µικρότερο f(n) πάνω από το όριο στο προηγούµενο στάδιο πλήρης και βέλτιστη µε παραδεκτή h γραµµική χωρική πολυπλοκότητα Ο(bd) εκθετική χρονική πολυπλοκότητα O(b d ) Μειονεκτήµατα πιθανόν, αργή αύξηση του ορίου αποκοπής αργή πρόοδος δεν ανιχνεύει επαναλαµβανόµενες καταστάσεις
Α* - Σύνορο Αναζήτησης
Α* - Ε έκταση Ορίου Α οκο ής
Στάδια Αναζήτησης IDA*
Αναδροµική Αναζήτηση Πρώτα στο Καλύτερο (Recursive Best-First Search, RBFS) Μεθοδολογία αναζήτηση πρώτα στο καλύτερο µε γραµµικό χώρο ουσιαστικά, αναζήτηση κατά βάθος, όχι όµως τυφλά θυµάται το καλύτερο κόστος f* γειτόνων κατά µήκος του µονοπατιού επέκταση κατά βάθος αν f f*, αλλιώς οπισθοχώρηση οπισθοδρόµηση πίσω στο καλύτερο εναλλακτικό µονοπάτι (f*) αλλαγή του f κάθε κόµβου µε το καλύτερο f των παιδιών του πλήρης και βέλτιστη µε παραδεκτή h γραµµική χωρική, εκθετική χρονική πολυπλοκότητα Μειονεκτήµατα πιθανόν, υπερβολική επαναπαραγωγή κόµβων αργή πρόοδος δεν ανιχνεύει επαναλαµβανόµενες καταστάσεις
Αναζήτηση RBFS
Αναζήτηση RBFS
Αναζήτηση SMA* (Simple Memory-bounded A*) Μεθοδολογία αναζήτηση A* µε περιορισµένο χώρο όταν γεµίσει η µνήµη, διαγράφει ένα παλιό κόµβο για κάθε νέο διαγράφεται ο χειρότερος κόµβος (αυτός µε το µεγαλύτερο f) και τα αδέλφια του και εισάγεται ο γονικός κόµβος η καλύτερη τιµή f των διαγραφόµενων κόµβων µεταφέρε ται στον γονέα διαγράφεται ο παλαιότερος κόµβος, σε περίπτωση ισοτιµίας τιµών f πλήρης (υπό προϋποθέσεις) και βέλτιστη µε παραδεκτή h περιορισµένη χωρική, εκθετική χρονική πολυπλοκότητα Χαρακτηριστικά γενικά, ο καλύτερος αλγόριθµος αναζήτησης γενικής χρήσης περιορισµός µνήµης, πιθανόν επιφέρει απαγορευτικό χρόνο
Ευρετικές Συναρτήσεις Heuristic Functions
Puzzle των 8 Πλακιδίων h 1 = 8 h 2 = 18 h* = 26 Ευρετικές συναρτήσεις h 1 = ο αριθµός των πλακιδίων που δεν είναι στη θέση τους h 2 = το άθροισµα αποστάσεων των πλακιδίων από τον προορισµό τους απόσταση Manhattan ή απόσταση οικοδοµικών τετραγώνων παραδεκτές ευρετικές συναρτήσεις (δεν υπερεκτιµούν) h 1 h 2 η h 2 κυριαρχεί της h 1 η h 2 επεκτείνει λιγότερους κόµβους
ραστικός Παράγοντας ιακλάδωσης οµοιόµορφο δένδρο: N + 1 = 1 + b* + (b*) 2 + + (b*) d Κόστος αναζήτησης N ραστικός αράγοντας διακλάδωσης b* d IDS A*(h ) 1 A*(h ) 2 IDS A*(h ) 1 A*(h ) 2 2 10 6 6 2,45 1,79 1,79 4 112 13 12 2,87 1,48 1,45 6 680 20 18 2,73 1,34 1,30 8 6384 39 25 2,80 1,33 1,24 10 47127 93 39 2,79 1,38 1,22 12 3644035 227 73 2,78 1,42 1,24 14 539 113 1,44 1,23 16 1301 211 1,45 1,25 18 3056 363 1,46 1,26 20 7276 676 1,47 1,27 22 18094 1219 1,48 1,28 24 39135 1641 1,48 1,26
Ε ινόηση Παραδεκτών Ευρετικών Χαλαρά ροβλήµατα (relaxed problems) απλοποίηση (χαλάρωση) των κανόνων του προβλήµατος προϋπόθεση: f(βέλτιστη λύση χαλαρού) f(βέλτιστη λύση αρχικού) συνεπής h: το κόστος βέλτιστης λύσης για το χαλαρό πρόβληµα Παραδείγµατα χαλάρωσης κανόνων Puzzle: ένα λακίδιο µ ορεί να µετακινηθεί α ό το A στο B αν το A συνορεύει οριζόντια ή κάθετα µε το B και το B είναι κενό TSP: το κόστος του MST είναι κάτω όριο για το βέλτιστη διαδροµή Συλλογή ευρετικών συναρτήσεων παραδεκτές ευρετικές συναρτήσεις h 1, h 2,..., h m h=max{h 1, h 2,..., h m } συνεπής και κυριαρχεί έναντι των h 1,...,h m
Ε ινόηση Παραδεκτών Ευρετικών Βάσεις δεδοµένων ροτύ ων (pattern databases) ακριβή κόστη λύσεων υποπροβληµάτων Βάσεις ξένων ροτύ ων (disjoint pattern databases) ξεχωριστές βάσεις δεδοµένων, πλήρης αφαίρεση κοινών κινήσεων κατασκευή ευριστικής µε πρόσθεση των εκτιµήσεών τους
Εκµάθηση Ευρετικών Συναρτήσεων Εµ ειρία επίλυση προβληµάτων και υπολογισµός πραγµατικού κόστους συλλογή παραδειγµάτων { κατάσταση n, κόστος h*(n) } Χαρακτηριστικά (features) εµπλουτισµός περιγραφής κατάστασης π.χ. αριθµός πλακιδίων εκτός θέσης, άθροισµα αποστάσεων νέα συλλογή { [κατάσταση n, χαρακτηριστικά n], κόστος h*(n) } Εκµάθηση (learning) αλγόριθµος επαγωγικής (inductive) µάθησης για γενίκευση π.χ. δένδρα αποφάσεων ή νευρωνικά δίκτυα
Μελέτη Σύγγραµµα Ενότητα 3.4 3.7, 4.1 4.2