ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση: Έστω ότι έχουμε τους παίκτες Χ και Υ. Ο κάθε παίκτης, σε κάθε κίνηση που κάνει, προσπαθεί να μεγιστοποιήσει την πιθανότητά του να κερδίσει. Ο Χ σε κάθε κίνηση που κάνει προσπαθεί να μεγιστοποιήσει την πιθανότητα του να κερδίσει ενώ ο Υ σε κάθε κίνηση του προσπαθεί να ελαχιστοποιήσει την πιθανότητα αυτή (την πιθανότητα να κερδίσει ο Χ). Βολεύει να ονομάζουμε τους παίκτες με τα ονόματα MAX και ΜΙΝ. MAX είναι ο παίκτης που θέλουμε να νικήσει και ο αλγόριθμος προσπαθεί να διαλέξει τις καλύτερες κινήσεις για αυτόν ενώ MIN είναι ο αντίπαλος.
Παίξιμο παιχνιδιών Ανεπαρκής η αρχική πληροφορία για την επίλυση του προβλήματος. Απαιτείται ειδική διαδικασία αναζήτησης. Για μη τετριμμένα παιχνίδια ο χώρος αναζήτησης είναι εξαιρετικά μεγάλος - πρακτικά είναι αδύνατο η εξαντλητική αναζήτηση. Σε πολλά παιχνίδια το ζητούμενο δεν είναι μόνο να νικήσει ο παίκτης αλλά να πετύχει και το μεγαλύτερο δυνατό σκορ (βαθμολογία ) Στην περίπτωση που σημασία έχει μόνο η νίκη ή η ισοπαλία (όπως το σκάκι) μπορούμε να δώσουμε το σκορ 1 για αυτόν που κερδίζει, 0 για αυτόν που κάνει ισοπαλία και -1 για αυτόν που χάνει. Παράδειγμα - τα 7 δεκάρικα Έστω ότι παίζουμε το παιχνίδι με τα 7 δεκαράκια (Grundy s game). Σε αυτό το παιχνίδι έχουμε 7 δεκαράκια τοποθετημένα αρχικά σε μία στοίβα. Οι δύο παίκτες παίζουν ο ένας μετά τον άλλο. Ο κάθε παίκτης, στην σειρά του πρέπει να διασπάσει μία στοίβα σε δύο άλλες στοίβες με άνισο αριθμό από δεκάρικα. Ο παίκτης που δεν μπορεί να το κάνει χάνει.
Παράδειγμα - τα 7 δεκάρικα 7, MAX 6, 1, MIN 5, 2, MIN 4, 3, MIN 5, 1, 1, MAX 4, 2, 1, MAX 3, 2, 2, MAX 3, 3, 1, MAX 4, 1, 1, 1, MIN 3, 2, 1, 1, MIN 2, 2, 2, 1, MIN 3, 1, 1, 1, 1, MAX 2, 2, 1, 1, 1, MAX 2, 1, 1, 1, 1, 1, MIN Παράδειγμα - τα 7 δεκάρικα Δεν αρκεί να βρούμε ένα μονοπάτι στο γράφο από την αρχική κατάσταση σε κάποια νικηφόρα κατάσταση. Η ικανότητα του MIN να διαλέγει ποια θα είναι η κίνησή του κάνει την αναζήτηση πιο περίπλοκη. Ο πιο κατάλληλος τρόπος για να αναπαραστήσουμε την αναζήτηση είναι να χρησιμοποιήσουμε δέντρα AND-OR. Οι απόγονοι των OR κόμβων αντιπροσωπεύουν τις επιλογές κινήσεων που έχει ο παίκτης MAX ενώ οι απόγονοι των AND κόμβων αντιπροσωπεύουν τις επιλογές που έχει ο MIN παίκτης. Για να αξίζει κάποια κίνηση του MAX παίκτη (OR κόμβος) πρέπει κάθε επιτρεπτή επόμενη κίνηση του MIN (κάθε παιδί του OR κόμβου) να συμφέρει τον MAX.
Παράδειγμα - τα 7 δεκάρικα 7 ΜΑΧ 3, 1 5, 2 4, 3 ΜΙΝ 5, 1, 1 4, 2, 1 4, 2, 1 3, 2, 2 3, 3, 1 ΜΑΧ 4, 1, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 ΜΙΝ 3, 1, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 ΜΑΧ 2, 1, 1, 1, 1, 1 ΜΙΝ Η διαδικασία MIN-MAX Κατασκευάζουμε το πλήρες δέντρο του παιχνιδιού (το δέντρο AND-OR). Βαθμολογούμε τους κόμβους φύλα (τελικές καταστάσεις) σύμφωνα με την βαθμολογία που θα έπαιρνε ο παίκτης MAX αν το παιχνίδι κατέληγε σε εκείνη την κατάσταση. Εφαρμόζουμε τα παρακάτω δύο βήματα επαναληπτικά μέχρι όλοι οι κόμβοι του δέντρου να έχουν βαθμολογηθεί: Για κάθε κόμβο MAX (AND κόμβος) τα παιδιά του οποίου έχουν όλα βαθμολογηθεί υπολογίζουμε το μέγιστο αυτών των βαθμών και του αναθέτουμε αυτή την τιμή. Για κάθε κόμβο MIN (OR κόμβος) τα παιδιά του οποίου έχουν όλα βαθμολογηθεί υπολογίζουμε το ελάχιστο αυτών των βαθμών και του αναθέτουμε αυτή την τιμή.
Παράδειγμα ΜΙΝ-ΜΑΧ (7 δεκάρικα) -1 ΜΑΧ 7-1 -1-1 3, 1 5, 2 4, 3 ΜΙΝ 1-1 -1 1-1 5, 1, 1 4, 2, 1 4, 2, 1 3, 2, 2 3, 3, 1 ΜΑΧ 1-1 -1-1 -1 4, 1, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1 3, 2, 1, 1-1 ΜΙΝ 3, 1, 1, 1, 1 1-1 -1 2, 2, 1, 1, 1 2, 2, 1, 1, 1 2, 2, 1, 1, 1-1 -1 2, 2, 1, 1, 1 ΜΑΧ 2, 1, 1, 1, 1, 1 1 ΜΙΝ Πρακτικά προβλήματα Πρόβλημα : συνήθως τα πλήρη δέντρα είναι εξαιρετικά μεγάλα - δεν χωράνε στη μνήμη. Λύση : αναπτύσσουμε μερικώς το δέντρο και εκτιμάμε την τιμή για τους κόμβους φύλα. Προβλήματα : πότε σταματάμε την ανάπτυξη του δέντρου; πώς υπολογίσουμε την τιμή στα φύλα; Λύσεις : ανάπτυξη μέχρι σταθερό βάθος ευριστική συνάρτηση εκτίμησης αξίας
Η τεχνική Alfa-Beta (α-β) Αποφυγή των περιττών πράξεων του ΜΙΝ-ΜΑΧ. Ο αλγόριθμος Alfa-Beta εκμεταλλεύεται ορισμένες ιδιότητες του αλγορίθμου ΜΙΝ-ΜΑΧ και επιτρέπει τον υπολογισμό της επόμενης κίνησης χωρίς να υπολογίσει την τιμή όλων των κόμβων του δέντρου. Δεν επηρεάζει την απόφαση του αλγορίθμου MIN-MAX αφού κάνει περικοπές μόνο σε κλαδιά τα οποία σίγουρα δεν θα επηρεάσουν την τελική απόφαση. Κάνει περικοπή μόνο ασήμαντων κλαδιών : ΜΙΝ (Χ 1, Χ 2,..., X k-1, X k ) = MIN (Χ 1, Χ 2,..., X k-1 ) αν υπάρχει i με 0<i<k και X k > X i. ΜAX (Χ 1, Χ 2,..., X k-1, X k ) = MAX (Χ 1, Χ 2,..., X k-1 ) αν υπάρχει i με 0<i<k και X k < X i. Η τεχνική Alfa-Beta (α-β) Έστω, για παράδειγμα ότι πρέπει να υπολογιστεί η τιμή ενός MIN κόμβου. Έχουμε υπολογίσει την τιμή του πρώτου παιδιού του και για το επόμενο παιδί του ξέρουμε (με κάποιον τρόπο) ότι η τιμή του θα είναι μεγαλύτερη από την τιμή του πρώτου παιδιού. Μπορούμε με σιγουριά να πούμε ότι η ακριβής τιμή του δεύτερου παιδιού δεν θα αλλάξει σε τίποτα την τελική τιμή του κόμβου. Δεν αλλοιώνει το αποτέλεσμα του ΜΙΝ-ΜΑΧ. Μπορεί να χρησιμοποιηθεί και κατα την διάρκεια ανάπτυξης του δέντρου. Έχει σημασία η σειρά εξέτασης των παιδιών ενός κόμβου. Σταματάμε την εξέταση ενός κόμβου όταν ισχύει Alfa>Beta.
Ο αλγόριθμος Alfa-Beta 1. Θέσε α = ένας πολύ μεγάλος αρνητικός αριθμός. 2. Θέσε β = ένας πολύ μεγάλος θετικός αριθμός. 3. Θέσε ρ = η θέση από την οποία πρέπει να παίξει ο παίκτης MAX. 4. H minmax τιμή του κόμβου ρ = TIMH_MAX(ρ, α, β) ΤΙΜΗ_ΜΑΧ(ρ, α, β) 1. Αν Είναι_Φύλλο(ρ) τότε επέστρεψε Αξία_Κόμβου(ρ). 2. Διαφορετικά εκτέλεσε τα παρακάτω βήματα για κάθε παιδί π του ρ. 2.1. Θέσε α = ΜΑΧ(α, ΤΙΜΗ_ΜΙΝ(π, α, β)) 2.2. Αν α β επέστρεψε β. 3. Επέστρεψε α. ΤΙΜΗ_ΜΙΝ(ρ, α, β) 1. Αν Είναι_Φύλλο(ρ) τότε επέστρεψε Αξία_Κόμβου(ρ). 2. Διαφορετικά εκτέλεσε τα παρακάτω βήματα για κάθε παιδί π του ρ. 2.1. Θέσε β = ΜΙΝ(β, ΤΙΜΗ_ΜΑΧ(π, α, β)) 2.2. Αν α β επέστρεψε α. 3. Επέστρεψε β. Παράδειγμα 8 A 3 0 8 B C D 7 8 3 0 6 8 9 E F G H I J K L M N O P Q R S T U V W X Y 7 6 8 5 2 3 0-2 6 2 5 8 9 2 Ο Alfa-Beta δεν θα εξετάσει τους κόμβους : O, I, T, U, Y. Επιπλέον, για τους κόμβους F, C, K δεν θα υπολογιστεί η ακριβής MINMAX τιμή τους.
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ Αναπαράσταση Χρειαζόμαστε μια μέθοδο να εισάγουμε γεγονότα στον υπολογιστή ένα τρόπο ώστε ο υπολογιστής να μπορεί να συνάγει συμπεράσματα με και για τα γεγονότα αυτά. Η φυσική γλώσσα δεν είναι επαρκής. Παράδειγμα: Πολύ σκληρό νόμισμα. Αμφιβολία Ποίος ο μηχανισμός εξαγωγής συμπερασμάτων στην φυσική γλώσσα;
Υπόθεση φυσικών συμβόλων Ευφυΐα μπορεί να επιτυγχάνεται με: 1. σύμβολα που αναπαριστούν τις κρίσιμες πτυχές του δοσμένου προβλήματος. 2. πράξεις πάνω σε σύμβολα που οδηγούν σε εν δυνάμει λύσεις. 3. αναζήτηση λύσεων ανάμεσα στις εν δυνάμει λύσεις. Έχουμε εξετάσει το 3 και τώρα θα εξετάσουμε τα 1,2. Προδιαγραφές γλώσσας τεχν. νοημ. Χειρισμός ποσοτικής πληροφορίας. Δυνατότητα εξαγωγής συμπερασμάτων. οι κανόνες εξαγωγής συμπερασμάτων μας επιτρέπουν να δηλώνουμε γεγονότα χωρίς να τα απαριθμούμε (επαγωγικές βάσεις δεδομένων, deductive database) Αναπαράσταση πολύπλοκων καταστάσεων (χρόνος, αλλαγές, κτλ.) Υποστήριξη meta-συλλογιστικής ανάλυση γνώσης, μάθηση κτλ. εξωτερική αντίληψη του συστήματος.
Τι θα εξετάσουμε; Τρόπους αναπαράστασης γνώσης Λογική Κανόνες Παραγωγής Σημασιολογικά Δίκτυα Πλαίσια Συστήματα που χρησιμοποιούν τέτοιους μηχανισμούς Έμπειρα Συστήματα Κατηγορηματικός λογισμός πρώτης τάξης (ΚΛΠΤ) Η βασική γλώσσα αναπαράστασης. Ως πρός την αναπαράσταση είναι καλά ορισμένος (μαθηματική λογική) Ως πρός την εξαγωγή συμπερασμάτων είναι συνεπής: οι εξαγωγές συμπερασμάτων είναι σωστές. πλήρης: όλες οι δυνατές εξαγωγές συμπερασμάτων μπορούν να παραχθούν μηχανιστικά. Σημ. Μπορούμε να χρησιμοποιήσουμε τον ΚΛΠΤ σαν γλώσσα αναπαράστασης σε ένα πιο αποδοτικό σύστημα εξαγωγής συμπερασμάτων (αλλά λιγότερο συνεπές και πλήρες).
Γλώσσα Πρόβλημα: ποιές είναι οι ατομικές οντότητες (atoms); Λύση: μια λογικά τέλεια (ιδανική) γλώσσα. ένα προς ένα αντιστοιχία μεταξύ γεγονότων και συμβόλων. σχέση μεταξύ γεγονότων [a R b]. Δυο κατηγορίες ατομικές οντότητες, σχέσεις λογικοί τελεστές: and, or, if-then, not κτλ. Θα εξετάσουμε πρώτα τον προτασιακό λογισμό και μετά τον ΚΛΠΤ. Δεν έχει ποσοδείκτες Δεν έχει ισότητα Τύποι Δεδομένων Προτάσεις Αποτιμούνται λογικά (αληθείς, ψευδείς) P, Q, R, δηλώσεις για τα γεγονότα R: δεν-βρέχει-τώρα Σύμβολα αληθείας true, false με την προφανή ερμηνεία
Λογικοί τελεστές και ( ) ή ( ) συνεπάγεται ( ) ισοδυναμεί ( ) όχι ( ) χρησιμοποιούνται για την κατασκευή συνθετών προτάσεων Πίνακες Αληθείας KB = (((P Q) = R) (Q = P) Q) P Q R (P Q) = R Q=P Q KB R KB = R ------------------------------------------------- T T T T T T T T T T T F F T T F F T T F T T T F F T T T F F T T F F F T F T T T F T F T T F T F T F T F F T F F T T T F F T T F F F T T F F F T
Καλά ορισμένες φόρμουλες - (wffs) Προτάσεις: όπως και στις γλώσσες προγραμματισμού, υπάρχουν κανόνες δημιουργίας σύνθετων δηλώσεων. Οι προτάσεις (P, Q, R, ) είναι wffs Τα σύμβολα αληθείας (true, false) είναι wffs Αν A είναι wff, τότε και τα A and (A) είναι wffs Αν A και B είναι wffs, τότε και τα A B A B A B A B είναι wffs Όλες οι wff μπορούν να χαρακτηριστούν αληθείς ή ψευδείς. Παράδειγμα Ερμηνείας [(P Q) R] (S V) Αρχικά χρειαζόμαστε μια ερμηνεία P : T; Q : F; R : T; S : F; V : T Τότε υπολογίζουμε P Q : T (P Q) R : T S V : F συνολικά: F
Λογικοί Τελεστές Μπορούμε να τους φανταστούμε σαν συναρτήσεις με μεταβλητές λογικές τιμές και αποτέλεσμα μια λογική τιμή (true, false). Το αποτέλεσμα των συναρτήσεων εξαρτάται από τους πίνακες αληθείας Επειδή οι πιθανές τιμές των μεταβλητών είναι δύο μπορούμε να απαριθμήσουμε τα αντίστοιχα αποτελέσματα Είναι Wff; P Q R (P Q) (R S) P (Q R)
Παράδειγμα αναπαράστασης γνώσης στον προτασιακό λογισμό R : Βρέχει B : Πάρε το λεωφορείο να πάς στο ΕΜΠ W : Πήγαινε με τα πόδια στο ΕΜΠ Δηλώνουμε στο σύστημα R B ( Αν Βρέχει, (τότε) Πάρε το λεωφορείο να πάς στο ΕΜΠ ) R W ( Αν δέν Βρέχει, (τότε) Πήγαινε με τα πόδια στο ΕΜΠ ) Ιδανικά, θα θέλαμε ένα σύστημα που από μόνο του να εξάγει ότι αν βρέχει τότε πάρε λεωφορείο. Εγκυρότητα Μια wff είναι έγκυρη (valid) αν είναι αληθής με κάθε δυνατή ερμηνεία P P είναι έγκυρη αν P τότε όλη η πρόταση είναι αληθής αν P είναι ψευδής τότε η P είναι αληθής και όλη η πρόταση είναι αληθής (P Q) ( P Q) δεν είναι έγκυρη όταν P είναι αληθής και Q είναι αληθής, η πρόταση δεν είναι αληθής Αρκεί ένα αντιπαράδειγμα για να αποδείξει ότι μια πρόταση δεν είναι έγκυρη.
Ικανοποιησιμότητα Μια wff είναι ικανοποιήσιμη (satisfiable) αν υπάρχει ερμηνεία που την επαληθεύει Παραδείγματα P είναι ικανοποιήσιμη (απλά θεωρούμε P αληθή) P P δεν είναι ικανοποιήσιμη αν P είναι αληθής, P είναι ψευδής και όλη η πρόταση είναι ψευδής, ενώ αν P είναι ψευδής τότε η P είναι αληθής και όλη η πρόταση είναι ψευδής P Q είναι ικανοποιήσιμη π.χ. αν P είναι αληθής και Q είναι αληθής κ.λ.π. Μια wff που δεν μπορεί να ικανοποιηθεί κάτω απο οποιαδήποτε ερμηνεία λέγεται αντίφαση Σύνοψη Ο προτασιακός λογίσμος είναι ένας ακριβής τρόπος για να δηλώσουμε γεγονότα στον υπολογιστή Το συντακτικό δηλώνει τι είναι γραμματικώς ορθό. Η σημειολογία καθορίζει αν ένα wff είναι αληθές, δεδομένης μιας ερμηνείας. Η μέταφραση αναφέρεται στο πως οι χρήστες δηλώνουν αναθέσεις σε βασικές προτάσεις.
Εξαγωγή κανόνων στον προτασιακό λογισμό Με χρήση των κανόνων εξαγωγής παράγουμε νέα wffs Συμβολισμός <δοσμένα wff που ταιριάζουν σ αυτή τη μορφή> --------------------------------------------------- <παραγόμενα wff> Απάλειψη του και Έστω: A 1 Α 2... Α ν Εξάγουμε: A i Αν μια σύζευξη είναι αληθής τότε και κάθε στοιχείο της είναι αληθές Εισαγωγή του και Έστω: A 1, A 2,, A n Εξάγουμε: A 1 Α 2... Α ν Αν γνωρίζουμε ότι κάποια γεγονότα είναι αληθή τότε και η σύζευξη τους είναι αληθής
Απάλειψη Διπλής άρνησης Έστω: A, Εξάγουμε: A Δυο αρνήσεις αλληλοαναιρούνται Εισαγωγή Διπλής άρνησης Έστω: A Εξάγουμε: A Εισαγωγή του ή Έστω: A Εξάγουμε : A B Αν A είναι αληθής, τότε A B είναι αληθής, για κάθε B Συνεπαγωγή (modus ponens) Έστω: A B και A Εξάγουμε: B Εναλλακτικά: Έστω: A B, και A τότε B Αν «ξέρουμε» ότι ένας κανόνας ισχύει και ότι η υπόθεση του είναι αληθής τότε και το συμπέρασμα του είναι αληθές
Επίλυση (resolution) Έστω: A B και B Εξάγουμε: A Εναλλακτικά: άν A B, B τότε A Μια παραλλαγή του modus ponens Αν τουλάχιστον μια από τις δύο wwf είναι αληθής και γνωρίζουμε ότι η μια είναι ψευδής τότε η άλλη είναι απαραίτητα αληθής Resolution [πιο δύσκολο] Έστω: A B, και B C Εξάγουμε: A C Εναλλακτικά: έστω: A B και B C τότε A C
Αποδείξεις στον προτασιακό λογισμό σαν διαδικασία αναζήτησης Πίνακες Αληθείας Πολλές μεταβλητές παράγουν μεγάλους πίνακες Χρήση Κανόνων Αναπαράσταση Κατάστασης: μία λίστα των wff που είναι αληθείς Πράξεις: οι κανόνες εξαγωγής Αρχική κατάσταση: τα δεδομένα μας (τι ισχύει αρχικά) Τελική κατάσταση: τα wff την αλήθεια των οποίων πρέπει να αποδείξουμε Αλγόριθμος Γράφουμε και αριθμούμε όλα τα δεδομένα Παράγουμε νέες προτάσεις χρησιμοποιώντας τους κανόνες εξαγωγής δικαιολογούμε την παραγωγή αποτελέσματος με βάση τους αριθμούς των wff και των κανόνων που χρησιμοποιούνται μπορούμε να χρησιμοποιήσουμε προτάσεις που έχουν παραχθεί προηγουμένως δώσε έναν νέο αριθμό σε κάθε νέα πρόταση Όταν το επιθυμητό wff παραχθεί έχουμε τελειώσει ποιά είναι η στρατηγική αναζήτησης;
Χρησιμοποιώντας προτασιακό λογισμό Κάθε άνθρωπος είναι θνητός. Ο Σωκράτης είναι άνθρωπος άρα ο Σωκράτης είναι θνητός. Προφανώς ο συλλογισμός είναι σωστός. Δυστυχώς δεν μπορούμε να το αποδείξουμε σε προτασιακό λογισμό P: Κάθε άνθρωπος είναι θνητός Q: Ο Σωκράτης είναι άνθρωπος R: Ο Σωκράτης είναι θνητός (P Q) R δεν ισχύει ΠΑΝΤΑ