ΠΛΗ 405 Τεχνητή Νοηµοσύνη Αναζήτηση Search Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Ορισµοί της Τεχνητής Νοηµοσύνης (ΤΝ) κριτήρια νοηµοσύνης Καταβολές συνεισφορά άλλων επιστηµών στην ΤΝ Ιστορική αναδροµή 1956 σήµερα Πράκτορες χαρακτηριστικά στοιχεία και είδη πρακτόρων Περιβάλλοντα χαρακτηρισµοί και ιδιότητες
Σήµερα Πράκτορας ε ίλυσης ροβληµάτων πράκτορας µε στόχο Αναζήτηση διατύπωση δένδρο αναζήτησης γενικός αλγόριθµος µετρικές απόδοσης
Πράκτορες Ε ίλυσης Προβληµάτων Ε ίλυση ροβληµάτων η εύρεση κάποιας λύσης για κάποιο πρόβληµα ιατύ ωση ροβλήµατος (problem formulation) ορισµός καταστάσεων και ενεργειών προς εξέταση ιατύ ωση στόχου (goal formulation) ορισµός ενός υποσυνόλου καταστάσεων που αποτελούν λύση Ε ιλογή ενεργειών ακολουθίες ενεργειών αντί για άµεσες ενέργειες Αναζήτηση η διαδικασία εύρεσης µιας κατάλληλης ακολουθίας ενεργειών
Παράδειγµα: ιαδροµές στη Ρουµανία
functionsimple-problem-solving-agent( static: inputs: κατάσταση, στόχος, ακολουθία, αντίληψη, µια ακολουθία περιγραφή αντίληψηενεργειών, της τρέχουσας αντίληψη) αρχικά κατάστασης returnsενέργεια κενή του κόσµου Κώδικας ένας στόχος, Πράκτορα κατάσταση Update-State( ifη ακολουθίαείναι ρόβληµα, µια διατύπωση κατάσταση, αρχικά προβλήµατος κενός στόχος Formulate-Goal( ρόβληµα Formulate-Problem( κενή then do κατάσταση) αντίληψη) ενέργεια First( ακολουθία Rest( ακολουθία Search( ακολουθία) ρόβληµα) κατάσταση, στόχος) returnενέργεια
Παραδοχές Περιβάλλον στατικό (αµετάβλητο στη διάρκεια της αναζήτησης) παρατηρήσιµο (γνωστή αρχική κατάσταση) διακριτό (πεπερασµένος αριθµός ενεργειών) αιτιοκρατικό (προβλέψιµες µεταβάσεις) Πράκτορας έλεγχος ανοικτού βρόχου (open-loop control) εκτέλεση χωρίς χρήση αντιλήψεων (sensor-less) Αφαίρεση (abstraction) παράλειψη περιττών λεπτοµερειών από µια αναπαράσταση
Αναζήτηση Search
ιατύ ωση Προβληµάτων Αρχική κατάσταση (initial state) τρέχουσα κατάσταση περιβάλλοντος και πράκτορα Χώρος καταστάσεων (state space) όλες οι κατάστασεις που είναι προσπελάσιµες από την αρχική Συνάρτηση διαδοχής (successor function) για κάθε κατάσταση, οι έγκυρες ενέργειες και οι διάδοχες καταστάσεις Έλεγχος στόχου (goal test) αποφαίνεται για το αν επιτυγχάνεται ο στόχος σε κάποια κατάσταση Συνάρτηση κόστους (cost function) προσδιορίζει το κόστος για κάθε βήµα µιας ακολουθίας ενεργειών
Παράδειγµα: ιαδροµές στη Ρουµανία
Ο Μικρόκοσµος της Σκού ας
3x3 Puzzle Πλακιδίων γενική κλάση NP-πλήρων προβληµάτων 4x4 puzzle: 16!/2 = 1,300,000,000,000 καταστάσεις (εύκολο) 5x5 puzzle: 25!/2 = 1025καταστάσεις (δύσκολο)
Το Πρόβληµα των 8 Βασιλισσών αυξητική διατύπωση (incremental formulation) διατύπωση µε πλήρεις καταστάσεις (full-state formulation) γενικό πρόβληµα: n βασίλισσες σε n n σκακιέρα
Προβλήµατα Πραγµατικού Κόσµου Πρόβληµα εύρεσης δροµολογίου (routing problem) Πρόβληµα εριήγησης (touring problem) Πρόβληµα λανόδιου ωλητή (traveling salesman) ιάταξη κυκλώµατος VLSI (VLSPI layout) Πλοήγηση ροµ ότ (robot navigation) Αυτόµατη συναρµολόγηση (automatic assembly) Σύνθεση ρωτεϊνών (protein synthesis) Αναζήτηση στο διαδίκτυο (internet search)
ένδρο Αναζήτησης ένδρο αναζήτησης (search tree) συστηµατική δηµιουργία διαδροµών στο χώρο καταστάσεων κόµβος αναζήτησης (search node): αντιστοιχεί σε µία κατάσταση ρίζα (root) : ο κόµβος της αρχικής κατάστασης επέκταση (expansion): δηµιουργία απογόνων κάποιου κόµβου µέθοδος παραγωγής (generation): συνάρτηση διαδοχής στρατηγική αναζήτησης (search strategy): επιλογή επέκτασης Παρατηρήσεις άλλο κόµβος, άλλο κατάσταση το δένδρο µπορεί να γίνει γράφηµα σε κάποια προβλήµατα
ένδρο Αναζήτησης
σύνολο τα Κόµβος Αναζήτησης υλοποίηση φύλλα κόµβων της µε αναζήτησης ουρά υπό αναµονή Σύνορο (fringe) κατάσταση γονικός ενέργεια κόστος βάθοςακολουθίας κόµβος MakeQueue EmptyQueue FirstNode RemoveFirstNode Λειτουργίες InsertNodes οµή δεδοµένων
functiontree-search( αρχικοποίηση Άτυ ος loop doifδεν της αρχικής ρόβληµα, του δένδρου κατάστασης στρατηγική) αναζήτησης του returnsµια ροβλήµατος µε χρήση λύση ή αποτυχία υπάρχουν Αλγόριθµος υποψήφιοι για επέκταση Αναζήτησης επιλογή ενός κόµβου-φύλλου then returnαποτυχία ifο κόµβος περιέχει thenreturnτην µια κατάσταση για να επεκταθεί, αντίστοιχη στόχου σύµφωνα λύση µε τη στρατηγική elseο κόµβος επεκτείνεται προστίθενται και οι στο κόµβοι δένδρο που αναζήτησης προκύπτουν
functiontree-search( σύνορο InsertNode( ρόβληµα, σύνορο) returnsµια λύση ή αποτυχία Τυ ικός loop doifemptyqueue( MakeNode( InitialState[ ρόβληµα]), σύνορο) Αλγόριθµος Αναζήτησης (I) κόµβος RemoveFirstNode( σύνορο) then σύνορο) returnαποτυχία ifgoaltest[ ρόβληµα] σύνορο InsertNodes( then returnsolution( που Expand( εφαρµόστηκε κόµβος) κόµβος, στην ρόβληµα), State[κόµβος] σύνορο) επιτύχει
functionexpand( διάδοχοι κενό Τυ ικός for each ενέργεια, κόµβος, σύνολο ρόβληµα) returnsένα σύνολο κόµβων Αλγόριθµος α οτέλεσµα in Successor-Fn[ ρόβληµα]( Αναζήτησης State[κόµβος]) (II) State[s] Parent-Node[s] s νέος α οτέλεσµα κόµβος κόµβος Node do Depth[s] προσθήκη Path-Cost[s] Action[s] Depth[κόµβος] ενέργεια του Path-Cost[κόµβος] sστο σύνολο + διάδοχοι 1 + Step-Cost(κόµβος,ενέργεια,s) returnδιάδοχοι
Μέτρηση Α όδοσης Αναζήτησης Πληρότητα (completeness) θα βρει εγγυηµένα κάποια λύση, αν υπάρχει; Βελτιστότητα (optimality) θα βρει µια βέλτιστη λύση; Χρονική ολυ λοκότητα (time complexity) πόσο χρόνο χρειάζεται για να βρει λύση; Χωρική ολυ λοκότητα (space complexity) πόσο χώρο (µνήµη) χρειάζεται για να βρει λύση; Μέγεθος ροβλήµατος παράγοντας διακλάδωσης (branching factor) b βάθος της πιο κοντινής λύσης d µέγιστο µήκος οποιασδήποτε διαδροµής m
Σύγγραµµα Ενότητα 3.1 3.3 Μελέτη