Τεχνητή Νοηµοσύνη Γεώργιος Βούρος Καθηγητής Τµήµα Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς e-mail: georgev@unipi.gr 1
Επισκόπηση Μαθήµατος n Ώρες Διδασκαλίας: g Τρίτη 8:15-11:00 n Ύλη µαθήµατος Ευδοξος http://evdoxos.ds.unipi.gr/ n Προαπαιτούµενα : g Διακριτά Μαθηµατικά g Αλγόριθµοι & Δοµές Δεδοµένων Πολυπλοκότητα Αλγορίθµων g Προγραµµατισµός (C, C++, Java, Prolog ) 2
Επισκόπηση Μαθήµατος n Κατά τη διάρκεια του µαθήµατος θα δοθούν εργασίες. n Οι φοιτητές υποχρεούνται στην παράδοση 4 εργασιών (ασκήσεων ή ανάπτυξης λογισµικού) n Βαθµολόγηση g Γραπτή εξέταση + Εργασίες. g Τελικός Βαθµός = (Βαθµός Γραπτής Εξέτασης * 0.6) + (Μέσος Όρος Βαθµών Εργασιών * 0.4) g Επιπλέον εργασία θα προσφέρει 1 µονάδα bonus. 3
Επισκόπηση Μαθήµατος Θέµατα g Νοήµονες πράκτορες. g Αλγόριθµοι αναζήτησης και εξερεύνησης λύσεων g Αναπαράσταση γνώσης µε Λογική. Οντολογίες και Σηµασιολογικός Ιστός. Σχεδιασµός Ενεργειών Μηχανική Μάθηση (?) 4
Επισκόπηση Μαθήµατος - Βιβλιογραφία n Προτεινόµενα βιβλία g Τεχνητή Νοηµοσύνη: Μια Σύγχρονη Προσέγγιση Russell & Norvig g Τεχνητή Νοηµοσύνη: Βλαχάβας, Κεφαλάς, Βασιλειάδης, Κόκκορας, Σακελλαρίου n Άλλες πηγές g Artificial Intelligence: A Modern Approach, Russell & Norvig http://www.cs.berkeley.edu/~russell/aima.html http://aima.cs.berkeley.edu/ g Artificial Intelligence: A New Synthesis, Nilsson g Essentials of Artificial Intelligence: Ginsberg 5
Γιατί Τεχνητή Νοηµοσύνη? n Η µελέτη της ανθρώπινης νόησης, του ανθρώπινου τρόπου σκέψης είναι πολύ σηµαντικό ζήτηµα που απασχολεί πολλές επιστήµες για χιλιάδες χρόνια g κι ακόµα δεν έχουµε καταλήξει κάπου... n Η Τεχνητή Νοηµοσύνη πάει ένα βήµα πιο µακριά: g προσπαθεί να κατασκευάσει νοήµονες οντότητες n Υπάρχει ως κλάδος περίπου για 60 χρόνια g άρα έχει πολύ µέλλον! g συνδυάζει τεράστια ποικιλία επιµέρους πεδίων Μάθηση και αντίληψη, απόδειξη µαθηµατικών θεωρηµάτων, διάγνωση ασθενειών, πρόβλεψη καιρού, σκάκι, κτλ., κτλ., κτλ... 6
Τι είναι η Τεχνητή Νοηµοσύνη (ΤΝ)? n ΤΝ είναι η περιοχή της επιστήµης που προσπαθεί να κατανοήσει και να κατασκευάσει ευφυή συστήµατα g Η ΤΝ ξεκίνησε επίσηµα το 1956 n Τι είναι ένα ευφυές σύστηµα? 7
Τι είναι η Τεχνητή Νοηµοσύνη (ΤΝ)? n Οι ορισµοί που δίνονται στα βιβλία ΤΝ ανήκουν στις παρακάτω κατηγορίες: g ΤΝ είναι η περιοχή της επιστήµης που προσπαθεί να κατασκευάσει συστήµατα που δρουν όπως οι άνθρωποι g... που σκέφτονται όπως οι άνθρωποι g... που σκέφτονται ορθολογικά g... που δρουν ορθολογικά 8
Δρώντας όπως οι άνθρωποι n Παράδειγµα: το τεστ Turing n Για να περάσει το τεστ Turing ένας Η/Υ πρέπει να έχει τις παρακάτω ικανότητες: g επεξεργασία φυσικής γλώσσας (natural language processing) g αναπαράσταση γνώσης (knowledge representation) g αυτοµατοποιηµένο συλλογισµό (automated reasoning) g µηχανική µάθηση (machine learning) g τεχνητή όραση (computer vision) g ροµποτική (robotics) 9
Σκεπτόµενοι όπως οι άνθρωποι n Πως σκέφτονται οι άνθρωποι? n Υπάρχουν δύο τρόποι για να το ανακαλύψουµε: g Αυτοανάλυση g Ψυχολογικά πειράµατα g Παράδειγµα: το GPS πρόγραµµα των Newell και Simon (1961) n Η ψυχολογία και η γνωστική επιστήµη (cognitive science) είναι πολύ σχετικές 10
n Ποιοι είναι οι νόµοι της σκέψης? Σκεπτόµενοι Ορθολογικά g Αυτή η ερώτηση πηγάζει από τους συλλογισµούς του Αριστοτέλη n Ο τοµέας της λογικής στην ΤΝ έχει ακολουθήσει αυτή την προσέγγιση g π.χ. οι πρώτες δουλειές στην απόδειξη θεωρηµάτων (theorem proving) g Η έµφαση δίνεται στη σωστή συλλογιστική n Σχετική δουλειά στην φιλοσοφία είναι πολύ σηµαντική n Προβλήµατα? g Αναπαράσταση γνώσης µε λογική g Συλλογιστική 11
Δρώντας Ορθολογικά n Το να δρα κάποιος λογικά σηµαίνει να δρα έτσι ώστε να πετύχει τους στόχους του (goals) µε δεδοµένες τις αντιλήψεις του. g Σε αυτή την προσέγγιση το βασικό πρόβληµα είναι ο σχεδιασµός λογικών πρακτόρων (rational agents) g Ένας πράκτορας είναι ένα σύστηµα που αντιλαµβάνεται και δρα n Η µελέτη της ΤΝ ως σχεδιασµός λογικών πρακτόρων είναι g πιο γενική από την προσέγγιση της λογικής σκέψης g πιο εύκολη από τις προσεγγίσεις που βασίζονται στην ανθρώπινη σκέψη και συµπεριφορά n Σε αυτό το µάθηµα θα ακολουθήσουµε αυτή την προσέγγιση 12
Ευφυείς Πράκτορες (Intelligent Agents) n Τι είναι ένας πράκτορας? n Πως πρέπει να δρουν οι πράκτορες? n Η δοµή των ευφυών πρακτόρων n Περιβάλλοντα πρακτόρων 13
Τι είναι ένας Πράκτορας? n Πράκτορας (Agent) είναι οτιδήποτε µπορεί µπορεί να θεωρηθεί ότι αντιλαµβάνεται το περιβάλλον του µέσα από αισθητήρες (sensors) και δρα σε αυτό το περιβάλλον µέσα από µηχανισµούς δράσης (effectors ή actuators) 14
Παραδείγµατα Πρακτόρων n Ανθρώπινοι Πράκτορες (human agents) g Sensors? Effectors? n Ροµποτικοί Πράκτορες (robotic agents) g Sensors? Effectors? n Λογισµικοί Πράκτορες (software agents) g Sensors? Effectors? 15
Πως πρέπει να δρουν οι πράκτορες? n Οι πράκτορες πρέπει να δρουν ορθολογικά g να εκτελούν τις ενέργειες που προσφέρουν τη µεγαλύτερη επιτυχία n Αυτό εξαρτάται από τα παρακάτω κριτήρια: g Το µέτρο της απόδοσης που ορίζει το βαθµό επιτυχίας Ποιος το καθορίζει αυτό? g Όλα όσα έχει αντιληφθεί ο πράκτορας Η ακολουθία αντιλήψεων (percept sequence) g Την προηγούµενη γνώση του περιβάλλοντος Που του είχε δώσει ο σχεδιαστής g Τις πράξεις που είναι διαθέσιµες στον πράκτορα Δεν µπορεί να κάνει τα πάντα! 16
Ορίζοντας τους ορθολογικούς πράκτορες n Για κάθε πιθανή ακολουθία αντίληψης, ένας ιδανικός ορθολογικός πράκτορας θα πρέπει να διαλέξει όποια διαθέσιµη πράξη αναµένεται να µεγιστοποιήσει το µέτρο της απόδοσης, µε βάση τη γνώση που προκύπτει από την ακολουθία αντίληψης και όποια προηγούµενη γνώση έχει ο πράκτορας 17
Ορθολογισµός vs. Πλήρους Γνώσης n Ένας πράκτορας πλήρους γνώσης (omniscient agent) γνωρίζει το πραγµατικό αποτέλεσµα κάθε πιθανής πράξης και µπορεί να δράσει ανάλογα g Αυτό δεν είναι δυνατό στον πραγµατικό κόσµο n Η ορθολογική συµπεριφορά µεγιστοποιεί την αναµενόµενη απόδοση ενώ η πλήρης γνώση µεγιστοποιεί την πραγµατική απόδοση n Η πλήρης γνώση είναι µια ιδιότητα που δε θα απαιτούµε να έχουν οι πράκτορες µας. 18
Μάθηση και Αυτονοµία n Αν οι πράξεις ενός πράκτορα βασίζονται πλήρως σε ήδη υπάρχουσα (built in) γνώση τότε ο πράκτορας δεν έχει αυτονοµία n Ένας πράκτορας είναι αυτόνοµος όταν η συµπεριφορά του εξαρτάται από τις δικές του εµπειρίες g Οι εµπειρίες αποκτούνται µέσω της µάθησης (learning) του περιβάλλοντος n Είναι πολύ αυστηρό να απαιτούµε πλήρη αυτονοµία g Κάποια αρχική built in γνώση πάντα βοηθάει 19
Ένα Παράδειγµα Είδος Πράκτορα Μέτρο Απόδοσης Περιβάλλον Μηχανισµοί Δράσης Αισθητήρες Οδηγός ταξί Ασφάλεια, Ταχύτητα, Νοµιµότητα, Άνεση στη διαδροµή, Μεγιστοποίηση κέρδους Δρόµοι, Πεζοί, Άλλα αυτοκίνητα, Πελάτες Τιµόνι, Γκάζι, Φρένο, Κόρνα, Κιβώτιο ταχυτήτων Κάµερες, Μετρητής ταχύτητας, σένσορες µηχανής, GPS, σόναρ 20
Περισσότερα Παραδείγµατα 21
Περιβάλλοντα n Είδη περιβάλλοντος: n Πλήρως παρατηρήσιµο και µερικώς παρατηρήσιµο g Αν οι αισθητήρες ενός πράκτορα του δίνουν πρόσβαση στη πλήρη κατάσταση του περιβάλλοντος την κάθε χρονική στιγµή, το περιβάλλον ονοµάζεται πλήρως παρατηρήσιµο (fully observable) n Αιτιοκρατικό (ντετερµινιστικό) και στοχαστικό g Αν η επόµενη κατάσταση του περιβάλλοντος ορίζεται µόνο από την τωρινή κατάσταση και τις πράξεις που κάνουν οι πράκτορες τότε το περιβάλλον είναι αιτιοκρατικό (deterministic) n Επεισοδιακό και µη επεισοδιακό g Σε ένα επεισοδιακό περιβάλλον, η εµπειρία του πράκτορα χωρίζεται σε επεισόδια που δεν εξαρτώνται µεταξύ τους 22
Περιβάλλοντα n Είδη περιβάλλοντος: n Στατικό, ηµιδυναµικό και δυναµικό g Αν το περιβάλλον µπορεί να αλλάζει καθώς ο πράκτορας συλλογίζεται τότε είναι δυναµικό για αυτόν τον πράκτορα, αλλιώς είναι στατικό g Αν το περιβάλλον δεν αλλάζει µε την πάροδο του χρόνου αλλά αλλάζει το µέτρο απόδοσης του πράκτορα, τότε είναι ηµιδυναµικό n Διακριτό και συνεχές g Αν υπάρχει ένας περιορισµένος αριθµός διακριτών, καθαρά ορισµένων πραγµάτων που µπορεί να αντιληφθεί ο πράκτορας καθώς και πράξεων που µπορεί να πράξει τότε το περιβάλλον είναι διακριτό (discrete) n Μονοπρακτορικά και πολυπρακτορικά g ανταγωνιστικό και συνεργατικό 23
Περιβάλλοντα 24
Δοµή των Πρακτόρων Πράκτορας = Αρχιτεκτονική + Πρόγραµµα n Η αρχιτεκτονική κάνει τις αντιλήψεις από τους αισθητήρες διαθέσιµες στο πρόγραµµα, τρέχει το πρόγραµµα, και προωθεί τις επιλογές πράξεων στους µηχανισµούς δράσης καθώς δηµιουργούνται από το πρόγραµµα n Θα ασχοληθούµε µόνο µε προγράµµατα πρακτόρων g Αυτή είναι κυρίως η δουλειά της ΤΝ!!! 25
Προγράµµατα Πρακτόρων n Πως µπορούµε να υλοποιήσουµε το πρόγραµµα για έναν πράκτορα? g Με χρήση πίνακα (table look-up)? function TableDrivenAgent (percept) returns action static percepts, µια ακολουθία αρχικά κενή table, ένας πίνακας από ακολουθίες αντιλήψεων πρόσθεσε το percept στο τέλος του percepts action LookUp (percepts, table) return action Μειονεκτήµατα: g Τεράστιος πίνακας (10 150 για πράκτορα που παίζει σκάκι) g Έλλειψη αυτονοµίας g Ακόµα κι αν προστεθεί µηχανισµός µάθησης το µέγεθος του πίνακα είναι προβληµατικό 26
Απλά Αντιδραστικοί Πράκτορες (Simple Reflex Agents) ΠΡΑΚΤΟΡΑΣ αισθητήρες Η αντίληψη του κόσµου τώρα Κανόνες Προϋπόθεσης - Δράσης Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 27
Παράδειγµα Ο Πράκτορας Καθαριστής function ReflexVacuumCleanerAgent ([location,status]) returns an action if status = dirty then return clean else if location = A then return move right else if location = B then return move left n Η συµπεριφορά αυτού του πράκτορα εξαρτάται µόνο από την αντίληψη του περιβάλλοντος που έχει κάθε δεδοµένη στιγµή g φιλοσοφία ερεθίσµατος - αντίδρασης n Στα περισσότερα περιβάλλοντα αυτό δεν είναι αρκετό 28
Υλοποίηση Απλά Αντιδραστικών Πρακτόρων function SimpleReflexAgent (percept) returns action static rules, ένα σύνολο από κανόνες προϋπόθεσης-δράσης state, µια µετάφραση της δεδοµένης αντίληψης (percept) state InterpretInput (percept) rule RuleMatch (state,rules) action RuleAction (rule) return action Ο πράκτορας βρίσκει έναν κανόνα του οποίου η προϋπόθεση ταιριάζει µε την τωρινή κατάσταση και µετά εκτελεί την πράξη που συνδέεται µε αυτόν τον κανόνα 29
Αντιδραστικοί Πράκτορες µε Εσωτερικό Μοντέλο (Model-based Reflex Agents) ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον αισθητήρες Η αντίληψη του κόσµου τώρα Τι κάνουν οι πράξεις µου Κανόνες Προϋπόθεσης - Δράσης Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 30
Υλοποίηση Αντιδραστικών Πρακτόρων µε Εσωτερικό Μοντέλο function ReflexAgentWithInternalState (percept) returns action static rules, ένα σύνολο από κανόνες προϋπόθεσης-δράσης state, µια µετάφραση της δεδοµένης αντίληψης (percept) state UpdateState (state,percept) rule RuleMatch (state,rules) action RuleAction (rule) state UpdateState (state,action) return action n Οι πράκτορες µε εσωτερικό µοντέλο παρακολουθούν την εξέλιξη της κατάστασης του περιβάλλοντος. Αυτό βοηθάει πολύ! g Πως µπορεί να αναπαρασταθεί γνώση σχετικά µε το περιβάλλον σε έναν πράκτορα? 31
Πράκτορες βασισµένοι σε στόχους (Goal-based Agents) ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον Τι κάνουν οι πράξεις µου αισθητήρες Η αντίληψη του κόσµου τώρα Τι θα γίνει αν κάνω την ενέργεια Α? Στόχοι Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 32
Goal-based Agents vs. Reflex Agents n Η συλλογιστική που βασίζεται σε στόχους διαφέρει ουσιαστικά από την συλλογιστική που βασίζεται στην αντίδραση µε βάση κανόνες n Η συλλογιστική που βασίζεται σε στόχους σηµαίνει συλλογισµό για το µέλλον g Τι θα γίνει αν κάνω την πράξη Α? n Στη συλλογιστική που βασίζεται στην αντίδραση µε βάση κανόνες ο σχεδιαστής έχει προϋπολογίσει τη σωστή πράξη για µερικές ενδιαφέρουσες περιπτώσεις n Η συλλογιστική που βασίζεται σε στόχους είναι υπολογιστικά πιο δύσκολη αλλά πολύ πιο λειτουργική 33
Πράκτορες βασισµένοι στη χρησιµότητα (Utility-based Agents) ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον Τι κάνουν οι πράξεις µου Χρησιµότητα αισθητήρες Η αντίληψη του κόσµου τώρα Τι θα γίνει αν κάνω την ενέργεια Α? Πόσο ικανοποιηµένος θα είµαι? Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 34
Πράκτορες βασισµένοι στη χρησιµότητα (Utility-based Agents) n Η χρησιµότητα (utility) είναι µια συνάρτηση που αποδίδει σε µια κατάσταση (ή µια σειρά καταστάσεων) έναν πραγµατικό αριθµό ο οποίος περιγράφει το βαθµό ικανοποίησης του πράκτορα για τη δεδοµένη κατάσταση n Πράκτορες που βασίζονται στη χρησιµότητα µπορούν να αποφασίσουν λογικά για πράξεις ακόµα κι όταν υπάρχουν αλληλοσυγκρουόµενοι στόχοι ή όταν υπάρχουν στόχοι που δεν είναι σίγουρο ότι µπορεί να επιτευχθούν 35
Επισκόπηση µαθήµατος ξανά Θέµατα g Ευφυείς Πράκτορες g Επίλυση Προβληµάτων µε Αναζήτηση g Προβλήµατα Ικανοποίησης Περιορισµών Προτασιακή Λογική Σχεδιασµός Ενεργειών Μηχανική Μάθηση 36
Ευφυείς Πράκτορες ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον αισθητήρες Η αντίληψη του κόσµου τώρα Τι κάνουν οι πράξεις µου Κανόνες Προϋπόθεσης - Δράσης Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 37
Επίλυση Προβληµάτων µε Αναζήτηση ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον Τι κάνουν οι πράξεις µου αισθητήρες Η αντίληψη του κόσµου τώρα Τι θα γίνει αν κάνω την ενέργεια Α? Στόχοι Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 38
Προτασιακή Λογική ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον Τι κάνουν οι πράξεις µου αισθητήρες Η αντίληψη του κόσµου τώρα Τι θα γίνει αν κάνω την ενέργεια Α? Στόχοι Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 39
Σχεδιασµός Ενεργειών ΠΡΑΚΤΟΡΑΣ Κατάσταση Πως εξελίσσεται το περιβάλλον Τι κάνουν οι πράξεις µου αισθητήρες Η αντίληψη του κόσµου τώρα Τι θα γίνει αν κάνω την ενέργεια Α? Στόχοι Τι ενέργεια πρέπει να κάνω? µηχανισµοί δράσης 40
Ανακεφαλαίωση n Η µελέτη της ΤΝ ως σχεδιασµός λογικών πρακτόρων g Τι είναι ένας πράκτορας? g Πως πρέπει να δρουν οι πράκτορες? g Περιβάλλοντα πρακτόρων g Η δοµή ορισµένων ειδών ευφυών πρακτόρων 41