ΠΛΗ 405 Τεχνητή Νοηµοσύνη Πράκτορες και Περιβάλλοντα Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης
Ε ανάληψη Ορισµοί της Τεχνητής Νοηµοσύνης κριτήρια νοηµοσύνης Καταβολές συνεισφορά άλλων επιστηµών στην Τεχνητή Νοηµοσύνη Ιστορική αναδροµή 1956 σήµερα Ε ιτεύγµατα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 2
Σήµερα Πράκτορες χαρακτηριστικά στοιχεία και είδη πρακτόρων Περιβάλλοντα χαρακτηρισµοί και ιδιότητες Πράκτορας ε ίλυσης ροβληµάτων πράκτορας µε στόχο Αναζήτηση διατύπωση δένδρο αναζήτησης γενικός αλγόριθµος µετρικές απόδοσης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 3
Πράκτορες και Περιβάλλοντα Agents and Environments
Πράκτορας και Περιβάλλον Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 5
Πράκτορας Πράκτορας (agent) έχει αισθητήρες (sensors) και ε ενεργητές (actuators) αντιλαµβάνεται το εριβάλλον µέσω των αισθητήρων επεµβαίνει στο εριβάλλον µέσω των ε ενεργητών ανθρώ ινοι (human) πράκτορες αισθητήρες: µάτια, αυτιά, µύτη,... επενεργητές: χέρια, πόδια, στόµα,... ροµ οτικοί (robotic) πράκτορες αισθητήρες: κάµερες, ανιχνευτές υπέρυθρων,... επενεργητές: κινητήρες, βραχίονες, ρόδες,... λογισµικοί (software) πράκτορες αισθητήρες: πληκτρολόγιο, αρχεία, πακέτα δικτύου,... επενεργητές: εκτύπωση στην οθόνη, εγγραφή στο δίσκο,... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 6
Πράκτορας Αντιλήψεις (percepts) η πληροφορία από τους αισθητήρες σε κάθε χρονική στιγµή Ενέργειες (actions) η εκδήλωση των επενεργητών σε κάθε χρονική στιγµή Ακολουθία αντιλήψεων (percept sequence) πλήρες ιστορικό αντιλήψεων χρονικά ταξινοµηµένο Συνάρτηση ράκτορα (agent function) απεικόνιση από ακολουθίες αντιλήψεων σε ενέργειες εξωτερικός προσδιορισµός: πίνακας εσωτερική υλοποίηση: πρόγραµµα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 7
Ένας Α λός Πράκτορας Αντιλήψεις ωµάτιο (Α/Β), Σκόνη (ναι/όχι) Ενέργειες Αριστερά, εξιά, Αναρρόφηση... Ακολουθία αντιλήψεων [Α, Καθαρό] [Α, Σκονισµένο] [Β, Καθαρό] [Β, Σκονισµένο] [Α, Καθαρό], [Α, Καθαρό] [Α, Καθαρό], [Β, Σκονισµένο] Ενέργεια εξιά Αναρρόφηση Αριστερά Αναρρόφηση εξιά Αναρρόφηση... Program Vacuum_Cleaner... if (σκόνη) then αναρρόφηση if (Α) then δεξιά if (Β) then αριστερά... Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 8
Ορθολογικοί Πράκτορες Μέτρο α όδοσης (performance measure) αντικειµενικός ορισµός επιτυχούς συµπεριφοράς του πράκτορα αρχή σχεδιασµού: τι θέλουµε να κάνει, όχι ώς θα το κάνει Ορθολογικός ράκτορας (rational agent) επιλέγει ενέργειες που µεγιστοποιούν το µέτρο απόδοσης χρησιµοποιεί την ακολουθία αντιλήψεων και την έµφυτη γνώση Ορθολογικότητα (rationality) δε σηµαίνει παντογνωσία ή τελειότητα µεγιστοποίηση της αναµενόµενης απόδοσης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 9
Αυτόνοµοι Πράκτορες Υ ολογισµός συνάρτησης ράκτορα ενσωµατωµένες προεπιλεγµένες ενέργειες (έµφυτη γνώση) επιλογή επόµενης ενέργειας µε βάση τις αντιλήψεις (απόφαση) τροποποίηση και βελτίωση της συνάρτησης (µάθηση) Αυτονοµία σταδιακή αποδέσµευση από την αρχική (έµφυτη) γνώση ικανότητα απόφασης και µάθησης τελική συµπεριφορά ανεξάρτητη από αρχική γνώση θεωρητικά, ένας πλήρως αυτόνοµος πράκτορας αρκεί Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 10
Περιβάλλον Εργασιών Περιβάλλον εργασιών (task environment) Περιβάλλον=Πρόβληµα, Πράκτορας=Λύση Περιγραφή PEAS Performance measure, Environment, Actuators, Sensors Πράκτορας για Internet Shopping Μέτρο α όδοσης Περιβάλλον Ε ενεργητές Αισθητήρες τιµή ποιότητα καταλληλότητα αποδοτικότητα www e-shops comparison stores εταιρίες µεταφορών αναζήτηση επιλογή συνδέσµου συµπλήρωση φόρµας εκτύπωση αποδείξεων σελίδες HTML κωδικοί προϊόντων τιµές τρόποι πληρωµής Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 11
Ιδιότητες Περιβάλλοντος Παρατηρησιµότητα πλήρως παρατηρήσιµο (fully observable) µερικώς παρατηρήσιµο (partially observable) Προβλεψιµότητα αιτιοκρατικό (deterministic) στοχαστικό (stochastic) στρατηγικό (strategic) Εξάρτηση επεισοδιακό (episodic) ακολουθιακό (sequential) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 12
Ιδιότητες Περιβάλλοντος Μεταβλητότητα στατικό (static) δυναµικό (dynamic) ηµιδυναµικό (semi dynamic) Περιγραφή διακριτό (discrete) συνεχές (continuous) Πλήθος µονοπρακτορικό (single-agent) πολυπρακτορικό (multi-agent) ανταγωνιστικό (competitive) ή συνεργατικό (cooperative) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 13
Περιβάλλοντα ύσκολα εριβάλλοντα µερικώς παρατηρήσιµα στοχαστικά ακολουθιακά δυναµικά συνεχή πολυπρακτορικά Εύκολα εριβάλλοντα πλήρως παρατηρήσιµα αιτιοκρατικά επεισοδιακά στατικά διακριτά µονοπρακτορικά Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 14
Παραδείγµατα Περιβαλλόντων Σταυρόλεξο Πλήρως Αιτιοκρατικό Ακολουθιακό Στατικό ιακριτό Ένας Σκάκι µε χρονόµετρο Πλήρως Στρατηγικό Ακολουθιακό Ηµι ιακριτό Πολλοί Πόκερ Μερικώς Στοχαστικό Ακολουθιακό Στατικό ιακριτό Πολλοί Τάβλι Πλήρως Στοχαστικό Ακολουθιακό Στατικό ιακριτό Πολλοί Οδήγηση ταξί Μερικώς Στοχαστικό Ακολουθιακό υναµικό Συνεχές Πολλοί Ιατρική διάγνωση Μερικώς Στοχαστικό Ακολουθιακό υναµικό Συνεχές Ένας Ανάλυση εικόνων Πλήρως Αιτιοκρατικό Επεισοδιακό Ηµι Συνεχές Ένας Ροµ ότ διαλογής εξαρτηµάτων Μερικώς Στοχαστικό Επεισοδιακό υναµικό Συνεχές Ένας Ελεγκτής διυλιστηρίου Μερικώς Στοχαστικό Ακολουθιακό υναµικό Συνεχές Ένας Αλληλε ιδραστικός εκ αιδευτής Αγγλικής Μερικώς Στοχαστικό Ακολουθιακό υναµικό ιακριτό Πολλοί Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 15
Υλο οίηση Πρακτόρων Υλο οίηση ράκτορα πίνακας ή πρόγραµµα; πρόγραµµα: υπολογίζει τη συνάρτηση πράκτορα αρχιτεκτονική: εκτελεί το πρόγραµµα πράκτορα πράκτορας = αρχιτεκτονική + πρόγραµµα Είδη ρογραµµάτων ρακτόρων απλοί αντανακλαστικοί (simple reflex) πράκτορες αντανακλαστικοί πράκτορες βασισµένοι σε µοντέλο (model-based) πράκτορες βασισµένοι σε στόχο (goal-based) πράκτορες βασισµένοι σε χρησιµότητα (utility-based) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 16
Α λοί Αντανακλαστικοί Πράκτορες Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 17
Αντανακλαστικοί Πράκτορες µε Μοντέλο Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 18
Πράκτορες βασισµένοι σε Στόχους Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 19
Πράκτορες βασισµένοι σε Χρησιµότητα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 20
Μάθηση Πράκτορες ου µαθαίνουν προσχεδιασµένο πρόγραµµα = χρονοβόρα διαδικασία δυνατότητα µάθησης = αυτόµατη σχεδίαση προγράµµατος και τα 4 είδη πρακτόρων µπορούν να ενισχυθούν µε µάθηση Ενσωµάτωση µάθησης στοιχείο εκτέλεσης (performance element): ένα από τα 4 είδη στοιχείο µάθησης (learning element): υπεύθυνο για βελτιώσεις κριτική (critic): κρίση ως προς ένα σταθερό πρότυπο απόδοσης γεννήτρια προβληµάτων (problem generator): νέες εµπειρίες Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 21
Πράκτορες ου Mαθαίνουν Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 22
Πράκτορες Ε ίλυσης Προβληµάτων Problem-Solving Agents
Πράκτορες Ε ίλυσης Προβληµάτων Ε ίλυση ροβληµάτων (problem solving) η εύρεση κάποιας λύσης για κάποιο πρόβληµα ιατύ ωση ροβλήµατος (problem formulation) ορισµός καταστάσεων και ενεργειών προς εξέταση ιατύ ωση στόχου (goal formulation) ορισµός ενός υποσυνόλου καταστάσεων που αποτελούν λύση Ε ιλογή ενεργειών (action selection) ακολουθίες ενεργειών αντί για άµεσες ενέργειες Αναζήτηση (search) η διαδικασία εύρεσης µιας κατάλληλης ακολουθίας ενεργειών Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 24
Παράδειγµα: ιαδροµές στη Ρουµανία Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 25
Κώδικας Πράκτορα function Simple-Problem-Solving-Agent( αντίληψη ) returns ενέργεια inputs: αντίληψη, µια αντίληψη static: ακολουθία, ακολουθία ενεργειών, αρχικά κενή κατάσταση, περιγραφή της τρέχουσας κατάστασης του κόσµου στόχος, ένας στόχος, αρχικά κενός ρόβληµα, µια διατύπωση προβλήµατος κατάσταση Update-State( κατάσταση, αντίληψη ) if η ακολουθία είναι κενή then do στόχος Formulate-Goal( κατάσταση ) ρόβληµα Formulate-Problem( κατάσταση, στόχος ) ακολουθία Search( ρόβληµα ) ενέργεια First( ακολουθία ) ακολουθία Rest( ακολουθία ) return ενέργεια Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 26
Παραδοχές Περιβάλλον στατικό (αµετάβλητο στη διάρκεια της αναζήτησης) παρατηρήσιµο (γνωστή αρχική κατάσταση) διακριτό (πεπερασµένος αριθµός ενεργειών) αιτιοκρατικό (προβλέψιµες µεταβάσεις) Πράκτορας έλεγχος ανοικτού βρόχου (open-loop control) εκτέλεση χωρίς χρήση αντιλήψεων (sensor-less) Αφαίρεση (abstraction) παράλειψη περιττών λεπτοµερειών από µια αναπαράσταση Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 27
Αναζήτηση Search
ιατύ ωση Προβληµάτων Αρχική κατάσταση (initial state) τρέχουσα κατάσταση περιβάλλοντος και πράκτορα Χώρος καταστάσεων (state space) όλες οι κατάστασεις που είναι προσπελάσιµες από την αρχική Συνάρτηση διαδοχής (successor function) για κάθε κατάσταση, οι έγκυρες ενέργειες και οι διάδοχες καταστάσεις Έλεγχος στόχου (goal test) αποφαίνεται για το αν επιτυγχάνεται ο στόχος σε κάποια κατάσταση Συνάρτηση κόστους (cost function) προσδιορίζει το κόστος για κάθε βήµα µιας ακολουθίας ενεργειών Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 29
Παράδειγµα: ιαδροµές στη Ρουµανία Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 30
Ο Μικρόκοσµος της Σκού ας Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 31
3x3 Puzzle Πλακιδίων γενική κλάση NP-πλήρων προβληµάτων 4x4 puzzle: 16!/2 = 1,300,000,000,000 καταστάσεις (εύκολο) 5x5 puzzle: 25!/2 = 10 25 καταστάσεις (δύσκολο) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 32
Το Πρόβληµα των 8 Βασιλισσών αυξητική διατύπωση (incremental formulation) διατύπωση µε πλήρεις καταστάσεις (full-state formulation) γενικό πρόβληµα: n βασίλισσες σε n n σκακιέρα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 33
Προβλήµατα Πραγµατικού Κόσµου Πρόβληµα εύρεσης δροµολογίου (routing problem) Πρόβληµα εριήγησης (touring problem) Πρόβληµα λανόδιου ωλητή (traveling salesman) ιάταξη κυκλώµατος VLSI (VLSPI layout) Πλοήγηση ροµ ότ (robot navigation) Αυτόµατη συναρµολόγηση (automatic assembly) Σύνθεση ρωτεϊνών (protein synthesis) Αναζήτηση στο διαδίκτυο (internet search) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 34
ένδρο Αναζήτησης ένδρο αναζήτησης (search tree) συστηµατική δηµιουργία διαδροµών στο χώρο καταστάσεων κόµβος αναζήτησης (search node): αντιστοιχεί σε µία κατάσταση ρίζα (root) : ο κόµβος της αρχικής κατάστασης επέκταση (expansion): δηµιουργία απογόνων κάποιου κόµβου µέθοδος παραγωγής (generation): συνάρτηση διαδοχής στρατηγική αναζήτησης (search strategy): επιλογή επέκτασης Παρατηρήσεις άλλο κόµβος, άλλο κατάσταση το δένδρο µπορεί να γίνει γράφηµα σε κάποια προβλήµατα Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 35
ένδρο Αναζήτησης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 36
Κόµβος Αναζήτησης οµή δεδοµένων κατάσταση γονικός κόµβος ενέργεια κόστος ακολουθίας βάθος Σύνορο (fringe) σύνολο κόµβων υπό αναµονή τα φύλλα της αναζήτησης υλοποίηση µε ουρά Λειτουργίες MakeQueue EmptyQueue FirstNode RemoveFirstNode InsertNode InsertNodes Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 37
Άτυ ος Αλγόριθµος Αναζήτησης function Tree-Search( ρόβληµα, στρατηγική ) returns µια λύση ή αποτυχία αρχικοποίηση του δένδρου αναζήτησης µε χρήση της αρχικής κατάστασης του ροβλήµατος loop do if δεν υπάρχουν υποψήφιοι για επέκταση then return αποτυχία επιλογή ενός κόµβου-φύλλου για να επεκταθεί, σύµφωνα µε τη στρατηγική if ο κόµβος περιέχει µια κατάσταση στόχου then return την αντίστοιχη λύση else ο κόµβος επεκτείνεται και οι κόµβοι που προκύπτουν προστίθενται στο δένδρο αναζήτησης Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 38
Τυ ικός Αλγόριθµος Αναζήτησης (I) function Tree-Search( ρόβληµα, σύνορο ) returns µια λύση ή αποτυχία σύνορο InsertNode( MakeNode( InitialState[ ρόβληµα]), σύνορο) loop do if EmptyQueue( σύνορο ) then return αποτυχία κόµβος RemoveFirstNode( σύνορο ) if GoalTest[ ρόβληµα] που εφαρµόστηκε στην State[κόµβος] επιτύχει then return Solution( κόµβος ) σύνορο InsertNodes( Expand( κόµβος, ρόβληµα ), σύνορο ) Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 39
Τυ ικός Αλγόριθµος Αναζήτησης (II) function Expand( κόµβος, ρόβληµα ) returns ένα σύνολο κόµβων διάδοχοι κενό σύνολο for each ενέργεια, α οτέλεσµα in Successor-Fn[ ρόβληµα]( State[κόµβος]) do s νέος κόµβος Node State[s] α οτέλεσµα Parent-Node[s] κόµβος Action[s] ενέργεια Path-Cost[s] Path-Cost[κόµβος] + Step-Cost(κόµβος, ενέργεια, s) Depth[s] Depth[κόµβος] + 1 προσθήκη του s στο σύνολο διάδοχοι return διάδοχοι Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 40
Μέτρηση Α όδοσης Αναζήτησης Πληρότητα (completeness) θα βρει εγγυηµένα κάποια λύση, αν υπάρχει; Βελτιστότητα (optimality) θα βρει µια βέλτιστη λύση; Χρονική ολυ λοκότητα (time complexity) πόσο χρόνο χρειάζεται για να βρει λύση; Χωρική ολυ λοκότητα (space complexity) πόσο χώρο (µνήµη) χρειάζεται για να βρει λύση; Μέγεθος ροβλήµατος παράγοντας διακλάδωσης (branching factor) b βάθος της πιο κοντινής λύσης d µέγιστο µήκος οποιασδήποτε διαδροµής m Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 41
Μελέτη Σύγγραµµα Ενότητα 2.1 2.4, 3.1 3.3 Μ. Γ. Λαγουδάκης Τµήµα ΗΜΜΥ Πολυτεχνείο Κρήτης Σελίδα 42