(d) 2 2 => 4 : OXI (Η προτασιακή λογική δεν περιλαμβάνει για άτομα καθαρούς αριθμούς)

Σχετικά έγγραφα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Ασκήσεις μελέτης της 8 ης διάλεξης

Υποδ: Χρησιμοποιήστε τον ορισμό της λογικής συνεπαγωγής (λογικής κάλυψης).

ΜΑΘΗΜΑΤΙΚΗ ΛΟΓΙΚΗ ΚΑΙ ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 9: Προτασιακή λογική. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Λογικοί πράκτορες. Πράκτορες βασισµένοι στη γνώση

HY 180 Λογική Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο 5

Επανάληψη. ΗΥ-180 Spring 2019

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Για παράδειγμα η αρχική και η τελική κατάσταση αναπαριστώνται ως εξής: (ένα λίτρο)

, για κάθε n N. και P είναι αριθμήσιμα.

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 28/02/2019 Ζωγραφιστού Δήμητρα

Μαθηματικά των Υπολογιστών και των Αποφάσεων Τεχνητή Νοημοσύνη 1η Σειρά Ασκήσεων

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

0x2 = 2. = = δηλαδή η f δεν. = 2. Άρα η συνάρτηση f δεν είναι συνεχής στο [0,3]. Συνεπώς δεν. x 2. lim f (x) = lim (2x 1) = 3 και x 2 x 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

1 Συνοπτική ϑεωρία. 1.1 Νόµοι του Προτασιακού Λογισµού. p p p. p p. ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών

Λογική. Προτασιακή Λογική. Λογική Πρώτης Τάξης

Επίλυση Προβλημάτων 1

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

ΑΣΚΗΣΕΙΣ. 1. Εξετάστε αν οι παρακάτω εξαγωγές συμπερασμάτων στον προτασιακό λογισμό είναι έγκυρες.

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

Μαθηματική Λογική και Λογικός Προγραμματισμός

Ψευδοκώδικας. November 7, 2011

ΠΑΙΓΝΙΑ Παιχνίδια Γενική Θεώρηση μεγιστοποιήσει την πιθανότητά

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

===========================================================================

Σειρά Προβλημάτων 5 Λύσεις

με Τέλος πάντων, έστω ότι ξεκινάει ένα άλλο υποθετικό σενάριο που απλά δεν διευκρινίζεται. Για το i) θα έχουμε , 2

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Σειρά Προβλημάτων 1 Λύσεις

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Μη γράφετε στο πίσω μέρος της σελίδας

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Λύσεις Σειράς Ασκήσεων 1

Κανονικές μορφές - Ορισμοί

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

(50 μον.) πάντοτε Διατυπώστε

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

Ασκήσεις μελέτης της 11 ης διάλεξης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Φροντιστήριο 4: Μορφολογική Παραγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 08/03/2018 Ζωγραφιστού Δήμητρα

4.3 Ορθότητα και Πληρότητα

Αναπαράσταση Γνώσης και Συλλογιστικές

Σειρά Προβλημάτων 3 Λύσεις

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 5: Προτασιακός Λογισμός: Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Μορφολογική Παραγωγή. 3 ο φροντιστήριο ΗΥ180 Διδάσκων: Δ. Πλεξουσάκης Τετάρτη 15/03/2017 Ζωγραφιστού Δήμητρα

Προτασιακός Λογισμός (HR Κεφάλαιο 1)

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Σειρά Προβλημάτων 3 Λύσεις

Επίλυση προβλημάτων με αναζήτηση

Τεχνητή Νοημοσύνη. 7η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Πληρότητα της μεθόδου επίλυσης

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Σειρά Προβλημάτων 4 Λύσεις

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Αναπαράσταση Γνώσης και Συλλογιστικές

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

ΗΥ180: Λογική Διδάσκων: Δημήτρης Πλεξουσάκης. Φροντιστήριο 8 Επίλυση για Horn Clauses Λογικός Προγραμματισμός Τετάρτη 9 Μαΐου 2012

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Μαθηματική Λογική και Λογικός Προγραμματισμός

Λύσεις Σειράς Ασκήσεων 4

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Περιγραφή Προβλημάτων

Κεφάλαιο 9. Έλεγχοι υποθέσεων

Άσκηση 2: Λαβύρινθοι και ρομπότ Α. (Σχεδιασμός χώρου καταστάσεων) Ενδεικτική επίλυση

ΚΕΦΑΛΑΙΟ 15 Βασικές Αρχές και Τεχνικές Σχεδιασµού

Σειρά Προβλημάτων 4 Λύσεις

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Πληροφορική 2. Αλγόριθμοι

Μαθηματική Λογική και Λογικός Προγραμματισμός

Παραδείγματα (2) Διανυσματικοί Χώροι

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

Λογική. Φροντιστήριο 3: Συνεπαγωγή/Ισοδυναμία, Ταυτολογίες/Αντινομίες, Πλήρης Αλγόριθμος Μετατροπής σε CNF

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

να είναι παραγωγίσιμη Να ισχύει ότι f Αν μια από τις τρεις παραπάνω συνθήκες δεν ισχύουν τότε δεν ισχύει και το θεώρημα Rolle.

Σειρά Προβλημάτων 3 Λύσεις

Εφαρμοσμένα Μαθηματικά ΙΙ 9ο Σετ Ασκήσεων (Λύσεις) Διανυσματικοί Χώροι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

Β Ομάδα Ασκήσεων "Λογικού Προγραμματισμού" Ακαδημαϊκού Έτους

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Μαθηματική Λογική και Απόδειξη

1.8 ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΘΕΩΡΗΜΑ BOLZANO A. ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

Προτασιακός Λογισμός (HR Κεφάλαιο 1)

Transcript:

Συμβολισμοί: Χρησιμοποιούμε για την άρνηση, για σύζευξη, για διάζευξη, => για συνεπαγωγή, <= για αντ. συνεπαγωγή, και <=> για ισοδυναμία. Χρησιμοποιείστε τους ίδιους συμβολισμούς και στις λύσεις σας. ================================================================= 1. Συντακτικό Αποφασίστε αν τα παρακάτω αποτελούν προτάσεις της προτασιακής λογικής. Απαντήστε με ΝΑΙ ή ΟΧΙ (a) classes homework => time-consuming (b) ((in out) (kreme kreme)) <=> stomachache stomachache (c) false = F (d) 2 2 => 4 (e) sleep(me, night) => zzzzz (f) a (b <= q (p c t) <= s v) <=> ( u m) d (g) (love potion => number9) <=> fullmoonrising (h) one two => notfour (i) true --------------------------------------------------------------------------------------------------------------- (a) classes homework => time-consuming : ΟΧΙ (Το - δεν είναι σύμβολο της προτασιακής λογικής) (b) ((in out) (kreme kreme)) <=> stomachache stomachache : NAI (c) false = F : OXI (Το = δεν είναι σύμβολο της προτασιακής λογικής) (d) 2 2 => 4 : OXI (Η προτασιακή λογική δεν περιλαμβάνει για άτομα καθαρούς αριθμούς) (e) sleep(me, night) => zzzzz : OXI (Είναι μορφή κατηγορηματικής λογικής και όχι προτασιακής) (f) a (b <=q (p c t) <=s v) <=> ( u m) d : OXI (Η αντ. συνεπαγωγή δεν υφίστανται στην προτασιακή λογική. Το αντίθετο του p q είναι το q p) (g) (love potion => number9) <=> fullmoonrising : NAI (h) one two => notfour : NAI (i) true : NAI (Αν το true είναι πρόταση, τότε είναι και το true κοκ άρα και το ----true) ---------------------------------------------------------------------------------------------------------------

================================================================= 2. Λογική Ισοδυναμία Αποφασίστε ποια από τα ακόλουθα ζεύγη εκφράσεων (χωρίζονται με ;) είναι ισοδύναμα 1. p q ; p q 2. r r ; s <=> s 3. (p => q) => (r p) ; ((p q) (r p)) (p => r) --------------------------------------------------------------------------------------------------------------- Σε αυτό το ερώτημα θα πρέπει να αποφασίσουμε ποιες από τις δυάδες των ζευγαριών που δίνονται είναι λογικά ισοδύναμες. Για να δείξουμε μια λογική ισοδυναμία ανάμεσα σε ένα ζευγάρι προτάσεων, έστω α και β: Θα πρέπει είτε η ισοδυναμία τους, α<=>β να είναι ταυτολογία, δηλαδή να αληθεύει για όλες τις καταστάσεις των επιμέρους στοιχείων που την απαρτίζουν είτε, Θα πρέπει να ισχύει πως α =β και β =α. Για τα δύο πρώτα θα χρησιμοποιήσουμε τον πρώτο τρόπο ενώ για το τελευταίο ζευγάρι επειδή θα ήταν πολύ μεγάλη η ισοδυναμία θα χρησιμοποιήσουμε το δεύτερο τρόπο. Γνωρίζουμε τα εξής: p p p p p -p p -p p A A A Ψ Α Ψ Ψ Ψ Ψ Α 1. Το ζευγάρι μας είναι p -q με p q Θα δείξουμε αν το p -q<=>p q είναι ταυτολογία ή αντινομία ή τίποτα από τα δύο. (-p -q)<=>(p q) ( (-p -q)=>(p q) ) ( (p q)=>(-p -q) ) ( -(-p -q) (p q) ) ( -(p q) (-p -q) ) ( (p q) (p q) ) ( (-p -q) (-p -q) ) (p q) (-p -q) (p q) -(p q) F Συνεπώς η ισοδυναμία μας είναι αντινομία για κάθε p και q, οπότε δεν είναι ταυτολογική. Άρα, το ζευγάρι μας δεν είναι λογικά ισοδύναμο.

2. Το ζευγάρι μας είναι r -r με s<=>s Θα δείξουμε με τον ίδιο τρόπου αν η ισοδυναμία (r -r)<=>(s<=>s) είναι ταυτολογία. (r -r)<=>(s<=>s) ( (r -r) => (s<=>s) ) ( (s<=>s) => (r -r) ) ( (r -r) => ( (s=>s) (s=>s) ) ) ( ( (s=>s) (s=>s) ) => (r -r) ) ( -(r -r) ( (-s s) (-s s) ) ) ( -( (-s s) (-s s) ) (r -r) ) ( (-r r) ( (-s s) (-s s) ) ) ( ( -(-s s) -(-s s) ) (r -r) ) ( (-r r) ( (-s s) (-s s) ) ) ( ( (s -s) (s -s) ) (r -r) ) ( F ( T T ) ) ( ( F F ) T ) ( F T ) ( F T ) T T T Συνεπώς η ισοδυναμία μας είναι ταυτολογία για κάθε p και q. Άρα, το ζευγάρι μας είναι λογικά ισοδύναμο.

3. Το ζευγάρι μας είναι (p=>q) => (r p) με ( (p q) (r p) ) (p=>r) Για να δείξουμε ότι το ζευγάρι αυτό είναι ισοδύναμο θα ελέγξουμε αν ισχύει: (p=>q) => (r p) = ( (p q) (r p) ) (p=>r) και ( (p q) (r p) ) (p=>r) = (p=>q) => (r p) Για το πρώτο: Έχουμε ότι η βάση γνώσης ΚΒ={(p=>q) => (r p)} και ότι το συμπέρασμα μας είναι ( (p q) (r p) ) (p=>r). Θα προσπαθήσουμε να μέσω της απαγωγής σε άτοπο, να πάρουμε σαν νέα βάση γνώσης, την παλιά με την ένωση του αρνητικού συμπεράσματος. Αν καταλήξουμε σε άτοπο, θα έχουμε δέιξει το ζητούμενο. Η άρνηση του συμπεράσματος είναι ( ( (p q) (r p) ) (p=>r) ) και η νέα βάση γνώσης μας θα είναι ΚΒ = {(p=>q) => (r p)}, ( ( (p q) (r p) ) (p=>r) ) }. Θα φέρουμε κάθε πρόταση της ΚΒ σε συζευκτική κανονική μορφή. Για το 1 ο : (p=>q) => (r p) -(-p q) (r p) (p -q) (r p) (r p p) (r p -q) (r p) (r p -q) Οι επιμέρους προτάσεις είναι (r p) (1) και (r p -q) (2). Για το 2 ο : ( ( (p q) (r p) ) (p=>r) ) ( ( (p q) (r p) ) (-p r) ) -( (p q) (r p) ) -(-p r) ( -(p q) -(r p) ) (p -r) ( (-p -q) (-r -p) ) (p -r) ( (p -r) (-p -q) ) ( (p -r) (-r -p) ) ( (-p -q p) (-p -q -r) ) ( (-r -p p) (-r -p -r) ) (-p -q p) (-p -q -r) (-r -p p) (-r -p -r) (T -q) (-p -q -r) (-r T) (-r -p)

T (-p -q -r) T (-r -q) (-p -q -r) (-r -q) Οι επιμέρους προτάσεις είναι (-p -q -r) (3), και (-r -q) (4). Άρα έχουμε, (r p) (1) (r p -q) (2) (-p -q -r) (3) (-r -q) (4) Από αυτές τις προτάσεις όμως δε μπορούμε να καταλήξουμε σε κενή πρόταση, δηλαδή σε άτοπο. Συνεπώς, δεν ισχύει (p=>q) => (r p) = ( (p q) (r p) ) (p=>r) και αυτές οι δύο προτάσεις δεν είναι ισοδύναμες. ------------------------------------------------------------------------------------------------------------------------

================================================================= 3. Αποδεικτική Διαδικασία Δεδομένων των (p => q) => (q => r), (q => r), και (p => q), αποδείξτε το p Χρησιμοποιώντας 1. Τον κανόνα της ανάλυσης 2. DPLL --------------------------------------------------------------------------------------------------------------- 1. Αποδεικτική διαδικασία με χρήση κανόνα ανάλυσης(επίλυσης): Ξεκινάμε την απόδειξη έχοντας την εξής βάση γνώσης ΚΒ(knowledge base): KB { (p => q) => (q => r), (q => r), (p => q) } Θέλω να φτάσω στο συμπέρασμα φ p, δηλαδή ΚΒ = p Έχω επίσης ότι ΚΒ' ΚΒ U (p) όπου p p φ δηλαδή η άρνηση του συμπεράσματος.θα προσπαθήσουμε λοιπόν να αποδείξουμε την άρνηση του συμπεράσματος.αν καταλήξουμε σε άτοπο θα συμπεράνουμε ότι η άρνηση του συμπεράσματος είναι μη ικανοποιήσιμη πρόταση άρα το συμπέρασμα ισχύει δηλαδή είναι πρόταση έγκυρη-ταυτολογία.αν η άρνηση του συμπεράσματος δεν καταλήξει σε άτοπο τότε η πρόταση μου δεν είναι έγκυρη-ταυτολογία. Ξεκινάμε με την εφαρμογή του ΣΑΕΤ(συνεπαγωγές,αρνήσεις,επιμεριστικές,τελεστές) σε κάθε πρόταση της ΚΒ: Σ: (p => q) => (q => r) (p => q) (q=> r) ( p q) ( q r) A: ( p q) ( q r) (p q r) ( q q r) Tα φέραμε σε κανονική συζευκτική μορφή(σύζευξη διαζεύξεων) Τ: ( q r p ) ( q r q) ( q r ) Σ: (q => r) ( q r ) A: ( q r ) E: ( q r ) T: ( q r ) Άρα οι προτάσεις μου είναι: 1) ( q r p ) 2) ( q r ) 3) ( q r ) 4) ( p q) Σ: (p=>q) ( p q) A: ( p q) E: ( p q) T: ( p q)

5) p ( η άρνηση του συμπεράσματος) Εφαρμόζουμε κανόνα ανάλυσης μεταξύ των προτάσεων 4) και 5): p q p --------- p q p q Άρα τώρα οι προτάσεις που έχω είναι: 1) ( q r p ) 2) ( q r ) 3) ( q r ) 4) ( p q) 5) p 6) q Εφαρμόζουμε κανόνα ανάλυσης μεταξύ των προτάσεων 2) και 3): q r q r -------- q r q r q q q Άρα τώρα οι προτάσεις που έχω είναι: 1) ( q r p ) 2) ( q r ) 3) ( q r ) 4) ( p q) 5) p 6) q 7) q Εφαρμόζω κανόνα ανάλυσης μεταξύ των προτάσεων 6) και 7): q q -------- {} ATOΠΟ! Συνεπώς,συμπεραίνουμε ότι η άρνηση του συμπεράσματος είναι μη ικανοποιήσιμη πρόταση άρα το συμπέρασμα ισχύει δηλαδή είναι πρόταση έγκυρη-ταυτολογία.

2. Αποδεικτική διαδικασία με χρήση DPLL: Ξεκιναμε τον αλγόριθμο DPLL όταν οι προτάσεις μας είναι σε μορφή σύζευξης διαζεύξεων,πάνω στο οποίο έχουμε εργαστεί στο προηγούμενο υποερώτημα, άρα τώρα έχουμε: ( q r p) ( q r ) ( q r ) ( p q ) p Παίρνω μια υπόθεση-δοκιμή, δηλαδή εδώ θα δώσουμε στο p την τιμή true. Διαγράφουμε τους true όρους άρα η πρότασή μας θα γίνει: ( q r p) ( q r ) ( q r ) ( p q ) p Παρατηρούμε πως σβήσαμε και τον όρο p στην προταση (-p q). Αυτό συμβαίνει διότι εφόσον το p είναι true, το p θα είναι false. Συνεπώς, η πρόταση θα γίνει F q, για την οποία το αν θα είναι Τ ή F εξαρτάται καθαρά από το τι αληθοτιμή θα πάρει η μεταβλητή q. Συνεχίζοντας θα δοκιμάσουμε να βάλουμε στο q την τιμή true. ( q r ) ( q r ) q Διαγράφω επίσης και το q διότι ξέρω ότι είναι false. Άρα η πρότασή μας θα γίνει: ( q r ) ( q r ) r r ΑΤΟΠΟ!! Όποια τιμή και να έχει το r η πρόταση θα είναι false.συνεπώς,συμπεραίνω ότι η άρνηση του συμπεράσματος είναι μη ικανοποιήσιμη πρόταση άρα το συμπέρασμα ισχύει δηλαδή είναι πρόταση έγκυρη-ταυτολογία. Παρατηρούμε ότι δε χρειάστηκε να ανατεθεί τιμή σε όλες τις μεταβλητές για να συμπεράνει ο DPLL αν το πρόβλημα είναι true ή false(πρόωρος τερματισμός).αυτός είναι και ο λόγος για τον οποίο ο αλγόριθμος αυτός είναι αποδοτικός. Με αυτό το σκεπτικό τρέχει αυτός ο αλγόριθμος. Παρακάτω βλέπουμε μια πλήρη ανάλυση του αλγορίθμου σε μορφή δέντρου αποφάσεως και εύρεση του τελικού αποτελέσματος. Το πρόβλημα ανάθεσης τιμών για τον DPLL αλγόριθμο μπορεί να επιλυθεί και με αναζήτησεις από τις γνωστές ελέγχοντας ποιος συνδυασμός αληθοτιμών στα άτομα μας δίνει τιμή T για όλη την πρόταση. Πχ με δέντρο απόφασης ------------------------------------------------------------------------------------------------------------------------

================================================================= 4. Προτασιακή μορφή Μετατρέψτε την παρακάτω πρόταση σε κανονική συζευκτική μορφή. (( (p q) r) <=> t) (p r) --------------------------------------------------------------------------------------------------------------- ( ( (p q) r) <=> t ) (p r) ( ( (p q) r) => t ) ( t => ( (p q) r) ) (p r) ( ( (p q) r) t ) ( t ( (p q) r) ) (p r) ( ( (p q) r) t ) ( t ( (p q) r) ) (p r) ( (p q r) t) ( t ( p q r) ) (p r) (p t) (q t) ( t r) (t p q r) (p r) Κανονική συζευκτική μορφή ---------------------------------------------------------------------------------------------------------------

================================================================= 5. Propositional Resolution I Αποδείξτε με τον κανόνα της ανάλυσης ότι η ακόλουθη πρόταση είναι ταυτολογία (άρνηση, μετατροπή σε κανονική συζευκτική μορφή και απόδειξη της κενής πρότασης). ( r => (( q r) => (p q r))) ( p q r) --------------------------------------------------------------------------------------------------------------- Στην προκειμένη περίπτωση η βάση γνώσης μας είναι κενή,γι' αυτό θα αποδείξουμε ότι η πρόταση είναι ταυτολογία, θέτοντας τη δοθείσα πρόταση ως συμπέρασμα και χρησιμοποιώντας άρνηση του συμπεράσματος. Δηλαδή έχουμε: KB {} φ ( r => (( q r) => (p q r))) ( p q r) ΚΒ = φ ΚΒ' ΚΒ U ( φ) φ [ ( r => (( q r) => (p q r))) ( p q r) ] Κάνω χρήση του ΣΑΕΤ: Σ: [ ( r => (( q r) => (p q r))) ( p q r) ] [( r (( q r) => (p q r))) ( p q r) ] [(r (( ( q r) ) (p q r))) ( p q r) ] A: [(r ((q r) (p q r)))] [( p q r)] ( r (( q r) ( p q r))) ( p q r) E: ( r) ( q r) ( p q r) (p q r) T: r q r p q r p q r Άρα οι προτάσεις μας είναι: 1) r 2)( q r ) 3) ( p q r) 4) (p q r) Εφαρμόζουμε κανόνα ανάλυσης μεταξύ των προτάσεων 1) και 2): r q r --------- r q r q

Άρα οι προτάσεις μας τώρα είναι: 1) r 2)( q r ) 3) ( p q r) 4) (p q r) 5) q Εφαρμόζω κανόνα ανάλυσης μεταξύ των προτάσεων 3) και 4): p q r p q r --------- p q r p q r q r Άρα οι προτάσεις μου τώρα είναι: 1) r 2)( q r ) 3) ( p q r) 4) (p q r) 5) q 6) ( q r) Εφαρμόζω κανόνα ανάλυσης μεταξύ των προτάσεων 2) και 6): q r q r --------- q r q r r Άρα οι προτάσεις μου τώρα είναι: 1) r 2)( q r ) 3) ( p q r) 4) (p q r) 5) q 6) ( q r) 7) r Εφαρμόζω κανόνα ανάλυσης μεταξύ των προτάσεων 1) και 7): r r --------- {} ΑΤΟΠΟ!! Συνεπώς,συμπεραίνω ότι η άρνηση του συμπεράσματος είναι μη ικανοποιήσιμη πρόταση άρα το συμπέρασμα ισχύει δηλαδή είναι πρόταση έγκυρη-ταυτολογία. ---------------------------------------------------------------------------------------------------------------

=============================================================== 6. Propositional Resolution II Σε κάποιες από τις παρακάτω περιπτώσεις ο κανόνας ανάλυσης δεν έχει εφαρμοστεί ορθά. Στις περιπτώσεις που δεν έχει εφαρμοστεί ορθά, διορθώστε δείχνοντας τα ορθά αποτελέσματα. a. 1. {p,q,r} Υπόθεση 2. {p,q,s} Υπόθεση 3. {p,q,r,s} Συμπέρασμα από 1,2 b. 1. {p, q} Υπόθεση 2. { q} Υπόθεση 3. {p} Συμπέρασμα από 1,2 c. 1. {p, q, r} Υπόθεση 2. { p,q,r} Υπόθεση 3. {} Συμπέρασμα από 1,2 d. 1. {r, r} Υπόθεση 2. {r, r} Συμπέρασμα από 1,1 --------------------------------------------------------------------------------------------------------------- Ο γενικός κανόνας της πλήρους ανάλυσης (επίλησης), είναι ο εξής: Αν ισχύει ότι bk ai : a1 a2 a3... ai... an Υποθέσεις b1 b2 b3... bk... bn ---------------------------------------------------------------------------- a1 a2 a3... ai... an b1 b2 b3... bk... bn Συμπέρασμα a. 1. {p,q,r} Υπόθεση 2. {p,q,s} Υπόθεση ---------------------------------------- 3. {p,q,r,s} Συμπέρασμα από 1,2 Ο κανόνας της ανάλυσης δεν έχει εφαρμοστεί σωστά καθώς δεν υπάρχει σε καμία υπόθεση η άρνηση κάποιας πρότασης που υπάρχει στην άλλη. Μια σωστή εφαρμογή είναι η εξής: 1. {p,-q,r} Υπόθεση (Άρνηση q!!) 2. {p,q,s} Υπόθεση -------------------------------------------- 3. {p,r,s} Συμπέρασμα από 1,2 b. 1. {p, q} Υπόθεση 2. { q} Υπόθεση ---------------------------------------- 3. {p} Συμπέρασμα από 1,2

Ο κανόνας της ανάλυσης δεν έχει εφαρμοστεί σωστά ούτε εδώ για τον ίδιο λόγο με το προηγούμενο ερώτημα. Μια σωστή εφαρμογή του είναι η εξής: 1. {p, q} Υπόθεση 2. {q} Υπόθεση ---------------------------------------- 3. {p} Συμπέρασμα από 1,2 c. 1. {p, q, r} Υπόθεση 2. { p,q,r} Υπόθεση ----------------------------------- 3. {} Συμπέρασμα από 1,2 Ούτε σε αυτό το ερώτημα έχει εφαρμοστεί ορθά ο κανόνας της ανάλυσης. Παρόλο που υπάρχουν αρνήσεις προτάσεων για κάθε υπόθεση στην άλλη, ο κανόνας λειτουργεί μόνο για ένα ζευγάρι, όχι ταυτοχρόνως για όλα. Το συγκεκριμένο παράδειγμα δείνει πολλαπλά συμπεράσματα αλλά ποτέ την κενή πρόταση. Η σωστή λειτουργία του κανόνα είναι η εξής: 1. {p, q, r} Υπόθεση 2. { p,q,r} Υπόθεση ------------------------------------------ 3. {-q, q, -r, r} ή {p, -p, -r, r} ή {p, -p, q, -q} Όπου σε κάθε συμπέρασμα έχουμε εμείς επιλέξει το ζευγάρι στο οποίο θα γίνει η απαλοιφή. d. 1. {r, r} Υπόθεση --------------------------------------- 1. {r, r} Συμπέρασμα από 1,1 Εδώ έχει εφαρμοστεί σωστά ο κανόνας της ανάλυσης καθώς δεν υπάρχουν άλλα συμπεράσματα και έχουμε μόνο μια υπόθεση. Αν το αναλύαμε πλήρως θα βλέπαμε ότι τα πιθανά συμπεράσματα είναι τα {r, -r}, {r, -r} τα οποία είναι τα ίδια. Συνεπώς και έχουμε σωστή εφαρμογή του κανόνα. ------------------------------------------------------------------------------------------------------------------------

============================================================ 7. Σχεδιασμός Ενεργειών Θεωρώντας τις ακόλουθες δύο καταστάσεις του κόσμου των κύβων ως αρχική και τελική (αντίστοιχα με τη σειρά εμφάνισης από αριστερά προς τα δεξιά) 1)Καθορίστε ακολουθώντας το μoντέλο STRIPS την αρχική κατάσταση, την τελική κατάσταση του κόσμου, και τις ενέργειες που μπορεί να κάνει ένας ρομποτικός βραχίονας. 2)Εφαρμόστε τον αλγόριθμο ΡΟΡ για την κατασκευή ενός πλήρους και συνεπούς πλάνου ενεργειών με βάση αυτά που καθορίσατε στο (1) (εξηγήστε με λεπτομέρεια πως προκύπτει η σειρά εκτέλεσης των ενεργειών στο πλάνο με βάση τον αλγόριθμο). --------------------------------------------------------------------------------------------------------------- 1) Το μοντέλο STRIPS είναι ένα μοντέλο περιγραφής προβλημάτων σχεδιασμού. Ουσιαστικά είναι μια περιοριστική γλώσσα αναπαράστασης που κάνει κάποιες παραδοχές, οι οποίες είναι: Οι ενέργειες είναι αδιαίρετες (indivisible actions) Τα αποτελέσματα είναι προκαθορισμένα (deterministic effects) Υπάρχει πλήρης γνώση του περιβάλλοντος (omniscience) Υπόθεση κλειστού κόσμου (closed world assumption) Ό,τι δεν ξέρουμε ότι είναι true, είναι false Ο κόσμος είναι στατικός (static world) Σε αυτό το μοντέλο ουσιαστικά το μόνο που κάνουμε έιναι να αναφέρουμε ποια είναι η αρχική και η τελική κατάσταση καθώς και τις ενέργειες οι οποίες είναι απαραίτητες και θα οδηγήσουν το ρομποτικό βραχίωνα που τις εκτελεί, στην κατάσταση στόχου, την τελική. Οι ενέργειες που θα είναι διαθέσιμες στο βραχίωνα θα πρέπει να είναι άμεσα εφικτές και καθώς να μην υπάρχει κάποιος πλεονασμός (πχ η ενέργεια να περιστρέφεται γύρω από τον εαυτό του δε θα μας οδηγήσει σε κάποια λύση ούτε θα αποτελέσει κομμάτι της λύσης στον κόσμο των κύβων, στα πλαίσια της άσκησης αυτής). Οι καταστάσεις στο μοντέλο STRIPS αναπαρίστωνται ως συζεύξεις θετικών προτασιακών λεκτικών που εφαρμόζονται σε σταθερές και μόνο! (Δεν υπάρχουν μεταβλητές). Οι ενέργειες στο μοντέλο STRIPS αποτελούνται από 3 συστατικά: Περιγραφή o δηλ. το όνομα της ενέργειας και η λίστα παραμέτρων Προϋποθέσεις o τα γεγονότα που πρέπει να ισχύουν σε μια κατάσταση για να μπορεί να εφαρμοστεί η ενέργεια στην κατάσταση αυτή o είναι μια σύζευξη θετικών λεκτικών χωρίς συναρτήσεις. Οι μεταβλητές που υπάρχουν στις προϋποθέσεις πρέπει να εμφανίζονται και στις παραμέτρους Αποτελέσματα (ή λίστες προσθήκης διαγραφής) o τα γεγονότα που αλλάζουν στη νέα κατάσταση μετά την εκτέλεση της ενέργειας o είναι μια σύζευξη λεκτικών χωρίς συναρτήσεις

Στο δοσμένο παράδειγμα του κόσμου των κύβων η αρχική και η τελική κατάσταση είναι οι εξής: Θεωρούμε ότι οι σταθερές μας είναι : a, b, c, table (κύβοι και τραπέζι). Αρχική κατάσταση: Op ( ACTION: Start, EFFECT: On(a, table) On(c, a) On(b, table) Clear(c) Clear(b) ) Τελική κατάσταση: Op ( ACTION: Finish, PRECOND: On(c, table) On(b, c) On(a, b) clear(a) ) Η On(a, table) πχ δηλώνει πως ο κύβος a βρίσκεται πάνω από το τραπέζι. Η Clear(c) πχ δηλώνει πως πάνω από τον κύβο c δεν υπάρχει τπτ. Θα μπορούσαμε να προσθέσουμε κι άλλα θετικά λεκτικά όπως Block(a), Block(b), Block(c) που δηλώνουν πως τα a, b, c είναι κύβοι, αλλά στα πλαίσια απλούστευσης τα παραλείπουμε. Παρατηρούμε πως η αρχική κατάσταση δεν έχει προυποθέσεις (preconds) και σαν αποτελέσματα (effects) έχει τον κόσμο όπως είναι στην αρχή ενώ η τελική κατάσταση έχει σαν προυποθέσεις τον κόσμο στην τελική του μορφή και δεν έχει αποτελέσματα. Στον σχεδιασμό ενεργειών θα παρατηρήσουμε πως τα λεκτικά δεν αφορούν μόνο σταθερές αλλά μπορούν να αφορούν μόνο μεταβλητές ή και μίξη των δύο αυτών. Για τις ενέργειες δε μας νοιάζει τόσο η ονομασία τους όσο τα αποτελέσματα τα οποία δίνουν. Οι ενδιάμεσες ενέργειες από αυτές της αρχικής και τελικής κατάστασης τις οποίες μπορεί να πραγματοποιήσει ο ρομποτικός βραχίωνας είναι οι εξής: Op (ACTION: Move(x, b, y), PRECOND: On(x, b) Clear(x) Clear(y), EFFECT: On(x, y) On(x, b) Clear(x) Clear(b) Clear(y) ) Αυτή η ενέργεια (Move) αφορά τη μεταφορά ενός κύβου x που βρίσκεται πάνω από έναν κύβο b, σε έναν κύβο y. Θα μπορούσαμε να βάλουμε μέσα και μια 4 η μεταβλητή η οποία θα δηλώνει πάνω από τι βρίσκεται ο κύβος y. Επίσης, θα μπορούσαμε να είχαμε μόνο 2 μεταβλητές, την x και την y, και να δηλώναμε μέσω της ενέργειας τη μεταφορά του x πάνω από το y. Δε βάλαμε 4 ή και παραπάνω μεταβλητές για να είναι πιο κατανοητό, ούτε 2 για να μην είναι πολύ απλουστευμένο. Παρατηρούμε πως το πώς θα οριστούν οι ενέργειες είναι θέμα του planner και πως όσο πιο καλή είναι η σχεδίαση του μοντέλου, τόσο πιο εύκολα θα μπορέσει ο αλγόριθμος να ακολουθήσει τα σωστά βήματα (μέσω του αλγορίθμου POP πχ) ώστε να φτάσει στη σωστή λύση. Op (ACTION: MoveToTable(x, y), PRECOND: On(x, y) Clear(x), EFFECT: On(x, table) Clear(x) On(x, y) Αυτή η ενέργεια αφορά τη μετακίνηση ενός κύβου x, ο οποίος βρίσκεται πάνω από έναν άλλο, y, πάνω στο τραπέζι. Παρατηρούμε πως θα είχαμε θέμα αν το x ήταν το ίδιο το τραπέζι. Δεν χρειάζονται κάποιες άλλες ενέργειες για τη λύση.

2) Για τον αλγόριθμο POP έχουμε τα εξής: Ο αλγόριθμος ξεκινάει γνωρίζοντας την αρχική και την τελική κατάσταση καθώς και τις ενέργειες που υπάρχουν διαθέσιμες. Ώστε να αποφασίσει μια σωστή σειρά ενεργειών που πρέπει να εκτελεσθούν, για να δημιουργηθούν οι σωστές μεταβάσεις καταστάσεων και να φθάσει στη λύση, αντί να ξεκινήσει από την αρχική κατάσταση, ξεκινάει από την τελική. Αυτό θα το κάνει διότι γνωρίζει ότι όλα τα PRECONDS της τελικής κατάστασης και έτσι είναι πιο σαφές το τι ενέργειες θα πρέπει να εφαρμοστούν ώστε να ικανοποιούνται όλα. Έτσι ανεβαίνει ένα επίπεδο πάνω στην αρχική κατάσταση δημιουργώντας τα σωστά μονοπάτια. Οι ενέργειες που θα εφαρμοστούν και θα ικανοποιούν τα PRECONDS της τελευταίας κατάστασης θα είναι τα EFFECTS προηγούμενων ενεργειών που θα μπορούν να εκτελεστούν βρισκόμενοι στις αντίστοιχες καταστάσεις. Αυτό γίνεται για κάθε κατάσταση με τον ίδιο τρόπου μέχρι να φθάσουμε στην αρχή. Τότε, εφόσον θα έχουμε όλες τις ενέργειες σε συγκεκριμένη σειρά, θα πρέπει να ελέγξει το χρόνο. Ουσιαστικά θα θέσει χρονολογική σειρά στις ενέργειες έτσι ώστε να μην υπάρχουν συγκρούσεις (πχ να κάνει κάτι και μετά κάτι άλλο που αναιρεί το προηγούμενο το οποίο απαιτείται να μην αναιρεθεί ώστε να φθάσουμε στη λύση). Ο αλγόριθμος εκκινείται, γνωρίζοντας την αρχική και τελική κατάσταση. Τώρα πρέπει να βρει ενέργειες των οποίων τα αποτελέσματα ικανοποιούν τις προυποθέσεις του finish. On(c, table). Για να την ικανοποιήσει πρέπει να μετακινήσει το c στο τραπέζι, αυτό γίνεται μέσω της MoveToTable(x, y). On(b, c). Για να την ικανοποιήσει πρέπει να μετακινήσει το b πάνω από το c. On(a, b). Ομοίως. Clear(a). Με την On(a, b) ικανοποιείται. Ένα από τα αποτελέσματα της On(a, b) είναι ότι μετά την εκτέλεση της το a θα είναι πάνω από το b αλλά και από πάνω του δε θα υπάρχει κάτι.

Άρα, Γνωρίζει ποιες ενέργειες έπρεπε να βάλει αλλά δεν μπορεί να είναι σε θέση ακόμα να θέσει σταθερές σε όλες τις μεταβλητές. Πχ, για την MoveToTable(c, y): Ο σκοπός ήταν το c να είναι πάνω από το τραπέζι. Η ενέργεια αυτή καθαυτή αρχικά δεν περιέχει σταθερές. Προσθέτωνται βήμα-βήμα. Για να είναι πάνω από το τραπέζι το c, θα πρέπει το c να είναι πάνω από κάτι άλλο y(κύβο ή τραπέζι) πιο πριν, βάσει της ενέργειας. Οπότε θα πρέπει να βρεθεί άλλη ενέργεια, αφού πηγαίνουμε προς τα πίσω, η οποία θα θέτει το c πάνω από το y ώστε να ικανοποιείται η προυποθέση αυτή της ενέργειας MoveToTable(c, y), c πάνω από y, και στη συνέχεια το c θα πάει πάνω από το τραπέζι. Ομοίως για τα υπόλοιπα. Παρατηρώντας τα EFFECTS της αρχικής κατάστασης μπορούμε να αναθέσουμε σταθερές στις μεταβλητές που δεν έχουν πάρει ακόμα τιμή.

Από όλα τα PRECONDS των ενεργειών, αυτό που δεν ικανοποιείται είναι το clear(a) της Move(a, table, b), σύμφωνα πάντα με τις ροές των ενεργειών και την ακολουθία των βέλων(περιορισμών διάταξης). Θα πρέπει να βρούμε ενέργεια όπου το EFFECT της θα το ικανοποιεί. Παρατηρούμε πως η ενέργεια MoveToTable(c, a) έχει σαν EFFECT το Clear(a). Δηλαδή αν εκτελέσουμε πρώτα την MoveToTable(c, a), τότε θα μπορούμε να εκτελέσουμε μετά την ενέργεια Move(a, table, b). Το πόσο μετά εξαρτάται, πρέπει να προσέξουμε πως αν εκτελέσουμε άλλες ενέργειες πριν από αυτή, μπορεί κάποια από τις ενέργειες να της αφαιρέσει την προυπόθεση Clear(a) και να οδηγηθούμε σε αδιέξοδο. Έχουμε σίγουρα καταλήξει ότι πρώτα θα εκτελεστεί η MoveToTable(c, a). Βλέπουμε πως αν εκτελέσουμε τώρα την Move(a, table, b), η Move(b, table, c) θα χάσει την προυπόθεση clear(b). Αν όμως τα εκτελέσουμε με την ανάποδη σειρά δε θα υπάρξει κάποια σύγκρουση. Αυτό είναι και το νόημα του χρονολογικού σχεδιασμού που ο Planner θα πρέπει να λάβει υπόψιν του. Το τελικό σχήμα είναι το εξής: Με κόκκινα βέλη σημειώνεται η χρονολογική σειρά των ενεργειών. Όλες οι προυποθέσεις όλων των ενεργειών ικανοποιούνται. Η σειρά με την οποία πρέπει να γίνουν οι ενέργειες είναι η εξής (με κόκκινο βέλος).

================================================================= 8. Προαιρετική άσκηση 2 μονάδων επιπλέον των 10 μονάδων των παραπάνω ασκήσεων: 8.1. ΧΩΡΟΣ ΚΑΤΑΣΤΑΣΕΩΝ Στο πρόβλημα των βάζων έχουμε 2 βάζα, το ένα με χωρητικότητα 5 λίτρα, το άλλο με χωρητικότητα 3 λίτρα, μια ανεξάντλητη πηγή νερού (βρύση) και μια δεξαμενή. Το κάθε βάζο μπορεί να γεμίσει είτε από τη βρύση, είτε μπορούμε να μεταφέρουμε νερό από το ένα βάζο στο άλλο (ανάλογα με την περιεκτικότητά/χωρητικότητά τους). Δηλαδή μπορούμε να μεταφέρουμε σε ένα βάζο τόσο όσο χωράει, ενώ στο άλλο θα μείνει το υπόλοιπο περιεχόμενο Το περιεχόμενο του κάθε βάζου μπορεί να το αδειάσουμε στη δεξαμενή. Ο στόχος είναι ένα από τα δύο βάζα να περιέχει ακριβώς ένα λίτρο νερού. Η αρχική κατάσταση είναι και τα δύο βάζα να είναι άδεια. Περιγράψτε με ακρίβεια (τόσο όσο απαιτείται για να το υλοποιήσετε), τον χώρο κατάστασης, περιγράφοντας κύρια τη συνάρτηση διαδόχων. Προσοχή: Αν το ένα βάζο περιέχει Χ λίτρα και το δεύτερο Υ λίτρα νερού, τότε αδειάζοντας π.χ. το 1ο στο 2ο, τότε το 2ο θα έχει Υ = min(υ+χ,k2) λίτρα νερού, όπου K2 η χωρητικότητα του 2ου βάζου, και το 1ο θα έχει max(0, Χ-Υ ). 8.2. ΣΧΕΔΙΑΣΜΟΣ ΕΝΕΡΓΕΙΩΝ α. Για το πρόβλημα των βάζων (Θέμα 1) καθορίστε ακολουθώντας το μoντέλο STRIPS, και μόνο αυτό, την αρχική κατάσταση, μια τελική κατάσταση του κόσμου, και τις ενέργειες που μπορεί να κάνει ένας ρομποτικός βραχίονας. β. Εφαρμόστε τον αλγόριθμο ΡΟΡ για την κατασκευή ενός πλήρους και συνεπούς πλάνου ενεργειών με βάση αυτά που καθορίσατε στο (1), από την αρχική στην τελική κατάσταση. (εξηγήστε με λεπτομέρεια πως προκύπτει η σειρά εκτέλεσης των ενεργειών στο πλάνο με βάση τον αλγόριθμο). --------------------------------------------------------------------------------------------------------------- 8.1. ΧΩΡΟΣ ΚΑΤΑΣΤΑΣΕΩΝ Χώρος κατάστασης: - Κατάσταση: (X, Y), όπου Χ είναι τα λίτρα του 1 ου βάζου και Υ τα λίστα του 2 ου. Ισχύει πως 0 Χ 5 και 0 Υ 3. - Αρχική κατάσταση: (0, 0). - Τελική κατάσταση: (Χ, 1) ή (1, Υ), όπου 0 Χ 5 και 0 Υ 3.

Συνάρτηση διαδοχών: Έστω κατάσταση (0, Υ). Οι επόμενες δυνατές καταστάσεις είναι: o (5, Υ) Γέμισμα του 1 ου από τη βρύση o (0, 3) Γέμισμα του 2 ου από τη βρύση o (0, 0) Άδειασμα του 2 ου στη δεξαμενή o (min{y+0, 5}, max{0, Y-(min{Y+0, 5}-0)}) Άδειασμα του 2 ου στο 1 ο Έστω κατάσταση (Χ, 0). Οι επόμενες δυνατές καταστάσεις είναι: o (5, 0) Γέμισμα του 1 ου από τη βρύση o (Χ, 3) Γέμισμα του 2 ου από τη βρύση o (0, 0) Άδεισμα του 1 ου στη δεξαμενή o (max{0, X-(min{X+0, 3}-0)}, min{x+0, 3}) Άδειασμα του 1 ου στο 2 ο Έστω κατάσταση (Χ, Υ), Χ,Υ>0. Οι επόμενες δυνατές καταστάσεις είναι: o (5, Υ) Γέμισμα του 1 ου από τη βρύση o (Χ, 3) Γέμισμα του 2 ου από τη βρύση o (0, Υ) Άδειασμα του 1 ου στη δεξαμενή o (Χ, 0) Άδεισμα του 2 ου στη δεξαμενή o (max{0, X-(Y -Υ)}, min{x+y, 3}), όπου Y =min(χ+υ, 3) Άδεισμα του 1 ου στο 2 ο o (min{x+y, 5}, max{0, Y-(X -Χ)}), όπου X =min(x+y, 5) Άδεισμα του 2 ου στο 1 ο 8.2. ΣΧΕΔΙΑΣΜΟΣ ΕΝΕΡΓΕΙΩΝ α. Αρχική κατάσταση: (0, 0) Μια τελική κατάσταση: (Χ, 1) Θεωρούμε τις σταθερές Β1, Β2 όπου είναι τα βάζα. Αρχική κατάσταση: Op ( ACTION: Start, EFFECT: Capacity(B1, 5) Capacity(B2, 3) Concentration(B1, 0) Concentration(B2, 0) ) Αυτό δηλώνει πως στην αρχική μας κατάσταση τα δοχεία δεν περιέχουν νερό καθώς και τις χωρητικότητες τους. Τελική κατάσταση: Op ( ACTION: Finish, PRECOND: Capacity(B1, 5) Capacity(B2, 3) Concentration(B2, 1) ) Αυτό δηλώνει πως στην τελική κατάσταση το δοχείο Υ(B2) θα περιέχει ακριβώς ένα λίτρο νερού. Δεν προσθέσαμε προυπόθεση για το δοχείο Χ(B1) γιατί δε μας ενδιαφέρει το τι θα περιέχει σύμφωνα με την τελική κατάσταση (Χ, 1) που θεωρήσαμε. H Concentration(B1, 0) πχ δηλώνει πως το βάζο B1 δε θα περιέχει νερό. Η Concentration(B2, 1) πχ δηλώνει πως το βάζο B2 θα περιέχει ένα λίτρο νερού.

Οι ενδιάμεσες ενέργειες από αυτές της αρχικής και τελικής κατάστασης τις οποίες μπορεί να πραγματοποιήσει ο ρομποτικός βραχίωνας είναι οι εξής: Op ( ACTION: FillBaseFromSink(a), PRECOND: Capacity(a, x) Concentration(a, y), y<x, EFFECT: Capacity(a, x) Concentration(a, x) ) Αυτή η ενέργεια δηλώνει πως γεμίζουμε από τη βρύση ένα δοχείο. Η χωρητικότητα του πριν θα είναι x και θα περιέχει y νερό και το αποτέλεσμα είναι πως η χωρητικότητα δε θα μεταβληθεί αλλά η περιεκτικότητα του θα είναι ίση με την χωρητικότητα. Op( ACTION: MoveBaseToTank(a), PRECOND: Capacity(a, x) Concentration(a, y), y<x, EFFECT: Capacity(a, x) Concentration(a, 0) ). Αυτή η ενέργεια δηλώνει πως αδειάζουμε ένα δοχείο στη δεξαμενή. Η χωρητικότητα του πριν θα είναι x και θα περιέχει y νερό και το αποτέλεσμα είναι πως η χωρητικότητα δε θα μεταβληθεί αλλά η περιεκτικότητα του θα μηδενιστεί. Op ( ACTION: MoveOneToAnother(a, b), PRECOND: Capacity(a, ka) Capacity(b, kb) Concentration(a, x) Concentration(b, y), EFFECT: Capacity(a, ka) Capacity(b, kb) Concentration( a, max{0, ( x-(y -y) )} ) Concentration( b, min{(y+x), kb} ), y = min{(y+x), kb}, ka=χωρητικότητα του δοχείου που θα του αδειάσουμε το νερό στο άλλο, kb=χωρητικότητα του δοχείου που ρίχνουμε το νερό από το άλλο). Ισχύει πως αν το ένα βάζο περιέχει Χ λίτρα και το δεύτερο Υ λίτρα νερού, τότε αδειάζοντας π.χ. το 1ο στο 2ο, τότε το 2ο θα έχει Υ = min(υ+χ, K2) λίτρα νερού, όπου K2 η χωρητικότητα του 2ου βάζου, και το 1ο θα έχει max(0, Χ-(Υ -Y)). Εμείς θεωρήσαμε kb την χωρητικότητα του βάζου στο οποίο ρίχνουμε νερό από το άλλο. Θα μπορούσαμε εξίσου ισοδύναμα να ορίσουμε δύο ενέργειες, η πρώτη για τη μεταφορά από το 1 ο στο 2 ο και η δεύτερη για τη μεταφορά από το 2 ο στο 1 ο αλλά τα συμπτύξαμε σε μια γενική ενέργεια. Δεν χρειάζονται κάποιες άλλες ενέργειες για τη λύση.

β. Όπως έχουμε αναφέρει, ο αλγόριθμος POP εκκινείται, γνωρίζοντας την αρχική και τελική κατάσταση. Γνωρίζει ότι στην τελική κατάσταση το 2 ο δοχείο θα περιέχει 1 λίτρο νερού, το οποίο είναι λιγότερο από τη χωρητικότητα του. Συνεπώς πιο πριν δε θα πρέπει να υπάρχει ενέργεια που γεμίζει το Β2 από τη βρύση διότι τότε το Β2 θα περιέχει το μέγιστο, 3 λίτρα νερού. Επίσης δε θα μπορεί πιο πριν να είχε αδειάσει το Β2 στη βρύση διότι τότε το Β2 δε θα περιείχε νερό, 0. Παρατηρεί πως σαν EFFECT concentration έχει η ενέργεια MoveOneToAnother. Σαν ορίσματα μπορεί να έχει είτε το (Β1, Β2) είτε το (Β2, Β1). Είναι πιο πιθανό να έχουμε ρίξει νερό από το Β2 στο Β1 πιο πριν, συνεπώς θα χρησιμοποιήσει την MoveOneToAnother(B2, B1). Άρα, To B2 θα περιέχει μετά την ενέργεια 1 λίτρο νερού. Άρα, από το EFFECT της ενέργειας έχουμε

Concentration(Β2, max{0, ( x-(y -y) )} ) Concentration( 3, max{0, ( x-(y -y) )} ), και θα πρέπει max{0, (x-(y -y))}=1 x-(y -y) = 1. Εφόσον αδειάσαμε το Β2 στο Β1 και το Β2 μετά δεν είχε μηδενική περιεκτικότητα, σημαίνει πως υπερχείλησε το Β1, δηλαδή έφτασε στο μέγιστο, 5. Άρα μετά την ενέργεια αυτή θα έχουμε πως το Β1 θα περιέχει 5 λίτρα και το Β2 1 λίτρο νερόύ(κατάσταση στόχου). Άρα, από το EFFECT της ενέργειας έχουμε Concentration( Β1, min{(y+x), kb1} ) Concentration( B1, min{(y+x), 5} ) και θα πρέπει min{(y+x), 5} = 5. Επίσης γνωρίζουμε πως το y = min{(y+x), 5} Άρα έχουμε, για x, y, πριν την εκτέλεση της τελευταίας ενέργειας x-(y -y) = 1. min{(y+x), 5} = 5 y = min{(y+x), 5} από το 2 ο είναι ίσο με 5 Αρα x-(y -y) = 1 x-(5-y)=1 x+y = 6, x τα λίτρα του Β2, y τα λίτρα του Β1. Τα πιθανά ζευγάρια (x,y) είναι (2,4), (3,3). Το x δε θα είναι 1 γιατί θα είναι τόσο μόνο στην τελική κατάσταση. Ούτε 0 γιατί στην τελική κατάσταση θα παραμείνει 0. Ούτε 4, 5 γιατί η χωρητικότητα του είναι 3. Μια πιθανή και πιο ρεαλιστική λύση είναι το (3,3). Επειδή σε αυτήν την ενέργεια εμπλέκονται και οι δύο άγνωστες ποσότητες των δύο δοχείων, δε μπορούμε κάπως να βρούμε τη μια και έπειτα να προχωρήσουμε μέσω άλλων ενέργειων και να βρούμε την άλλη, επιλέγουμε τυχαία ένα από τα πιθανά ζευγάρια λύσης. Αν αποτύχουμε, τότε θα οπισθοδρομήσουμε. Άρα,

Τώρα ο Planner πρέπει να βρει ενέργεια η οποία ικανοποιεί τις προυποθέσεις της MoveOneToAnother(B2, B1). Οι προυποθέσεις της είναι: Capacity(B2, 3) Θα ικανοποιείται από όλες Capacity(B1, 5) Θα ικανοποιείται από όλες Concentration(B2, 3) Concentration(B1, 3) Παρατηρούμε πως το δοχείο Β2 περιέχει 3 λίτρα νερού, όσο και η χωρητικότητα του. Αυτό είναι αποτέλεσμα της ενέργειας όπου γεμίζουμε δοχείο από τη βρύση και η περιεκτικότητα του γίνεται ίση με την χωρητικότητα του. Συνεπώς, ο planner θα εφαρμόσει πιο πριν από την MoveOneToAnother την FillBaseFromSink για το δοχείο Β2. Η μόνη προυπόθεση που δεν ικανοποιείται είναι η Concentration(B1, 3). Προχωρόντας, θα εφαρμόσουμε κι άλλες ενέργειες που θα την ικανοποιήσουν χωρίς οι επόμενες να σπάσουν αυτήν την ικανοποίηση. Παρατηρούμε πως προυπόθεση της FillBaseFromSink(B2) είναι το δοχείο Β2 να έχει περιεκτικότητα μικρότερη από την χωρητικότητα, κάτι το οποίο είναι προφανές. Το δοχείο Β2 μπορεί να περιέχει 0, 1, ή 2 λίτρα νερού(όχι 3, y<x). Το να περιείχε 0 λίτρα νερού πριν την εφαρμογή της ενέργειας είναι ένα πιθανό σενάριο και γνωρίζουμε πως υπάρχουν ενέργειες οι οποίες θα μπορέσουν να δώσουν αυτό το αποτέλεσμα σε σχέση με το να είχε 1 ή 2 λίτρα μέσα του. Γιαυτό θεωρήσαμε πως προυπόθεση της FillBaseFromSink(B2) είναι το Β2 να είχε περιεκτικότητα 0. Με την ίδια λογική προχωράμε στο πλάνο ενεργειών.

Θέλουμε η νέα περιεκτικότητα του Β2 να είναι 0. Αυτό σημαίνει ότι γύρισε όλο το νερό στο Β1. Για να ικανοποιεί την προυπόθεση της MoveOneToAnother(B2, B1), θα πρέπει το Β1 να μην είχε νερό έτσι ώστε να μείνει με τα 3 λίτρα που του δώθηκαν από το Β2. Συνεπώς,

Με ακριβώς τον ίδιο τρόπο και σκεπτικό, προκύπτει το τελικό πλάνο καταστάσεων. (Επαναλαμβάνονται τα ίδια βήματα, οπότε το παραθέτουμε αμέσως). Με κόκκινο σημειώνεται η χρονολογική σειρά εκτέλεσης ενεργειών