Άσκηση 0 (25 μονάδες) Λύσεις Σειράς Ασκήσεων 4 (α) Θεωρήστε το πιο κάτω πρόγραμμα λογικού προγραμματισμού και χρησιμοποιήστε τη μέθοδο της SLD επίλυσης για να φθάσετε σε διάψευση του στόχου. concat([], X, X) concat([x Y], Z, [X T]) concat(y,z,t) reverse([],[]) reverse([x Y], Z) reverse(y,t), concat(t,[x],z) reverse([a,b,c],x) Σημείωση: Αν L = [Χ 1,,Χ n], τότε γράφουμε [X L] για τη λίστα [X,Χ 1,,Χ n]. 1. concat([], X, X) 2. concat([x Y], Z, [X T]) concat(y,z,t) 3. reverse([],[]) 4. reverse([x Y], Z) reverse(y,t), concat(t,[x],z) 5. reverse([a,b,c],x) και εφαρμόζουμε SLD επίλυση ως εξής: 6. reverse([b,c],t), concat(t,[a],z) από (4), (5) και μέσω της αντικατάστασης {[b,c]/y, a/x, Z/X} 7. reverse([c],t ), concat(t,[b],t), concat(t,[a],z) από (4), (6) και μέσω της αντικατάστασης {b/x, [c]/y, T/Z } 8. reverse([],t ), concat(t,[c],t ), concat(t,[b],t), concat(t,[a],z) από (4), (7) και μέσω της αντικατάστασης {c/x, []/Y, T /Z } 9. concat([],[c],t ), concat(t,[b],t), concat(t,[a],z) από (3), (8) και μέσω της αντικατάστασης { []/Χ, []/T } 10. concat([c],[b],t), concat(t,[a],z) από (1), (9) και μέσω της αντικατάστασης { [c]/t } 11. concat([],[b],t ), concat([c T ],[a],z) από (2), (10) και μέσω της αντικατάστασης {c/x,[]/y, [b]/z,[x T ]/T} 12. concat([c,b],[a],z) από (1), (11) και μέσω της αντικατάστασης {[b]/x,[b]/t } 13. concat([b],[a],t ) από (2),(12) και μέσω της αντικατάστασης {c/x,[b]/y,[a]/z,[c T ]/Z} 14. concat([],[a],t ) από (2),(13) και μέσω της αντικατάστασης {b/x,[]/y,[a]/z,[b T ]/T } 15. από (1), (14) και μέσω της αντικατάστασης {[a]/x, [a]/t } H αντικατάσταση ορθής απάντησης είναι η X Z [c T ] [c [b T ]] [c [b [a]]] = [c,b,a] Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 1
(β) Θεωρήστε το πιο κάτω πρόγραμμα λογικού προγραμματισμού και επιδείξτε τις δυνατές εκτελέσεις του μέσω ενός SLD δένδρου. P(X) S(X), T(X) P(X) Q(X) Q(X) R(a,X) Q(b) R(X,Y) W(X,b) R(a,c) S(b) T(X) W(a,X) P(X) Ακολουθεί το ζητούμενο SLD δένδρο. P(x) S(X), T(X) Q(X) T(b) Xb S(X), W(a,X) R(a,X) Χb W(a,b) Xb W(a,b) Χ a, Χb Xc Άσκηση 1 (15 μονάδες) Έστω το σύνολο ατομικών προτάσεων ΑΡ = {train_aroaching, train_leaving, gate_u, gate_down}. Με βάση τις ατομικές προτάσεις ΑΡ διατυπώστε τις πιο κάτω προτάσεις που αφορούν την κατάσταση μιας διασταύρωσης ενός δρόμου με μια σιδηροδρομική γραμμή. (α) H πύλη δεν θα είναι ποτέ ανεβασμένη (gate_u) όταν το τραίνο πλησιάζει (train_aroaching). G (train_aroaching gate_u) (β) Αν το τραίνο πλησιάζει απείρως συχνά τότε η πύλη θα ανεβαίνει και θα κατεβαίνει απείρως συχνά. GF train_aroaching [GF gate_u GF gate_down] Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 2
(γ) Θα επαναλαμβάνεται συνεχώς η εξής συμπεριφορά: gate_u train_aroaching gate_down train_leaving gate_u, όπου κάθε ιδιότητα μπορεί να παραμένει αληθής σε μία ή περισσότερες συνεχόμενες καταστάσεις. G [(gate_u train_aroaching gate_down train_leaving) (gate_u train_aroaching gate_down train_leaving) (gate_u train_aroaching gate_down train_leaving) (gate_u train_aroaching gate_down train_leaving)] G [ (gate_u (gate_u Utrain_aroaching)) (train_aroaching ( train_aroaching U gate_down)) (gate_down( gate_down U train_leaving)) (train_leaving( train_leaving U gate_u)) ] (δ) Αν κάποια στιγμή η πύλη είναι κατεβασμένη, τότε προηγούμενα θα πρέπει σε κάποια στιγμή να υπήρξε ανεβασμένη και το τραίνο πλησίασε. gate_down G[(gate_down F gate_down) ((gate_down gate_u) U train_aroaching)] (ε) Κάθε φορά που το τραίνο πλησιάζει και η πύλη είναι ανεβασμένη, τότε την επόμενη χρονική στιγμή θα κατεβεί και θα παραμείνει κατεβασμένη μέχρις ότου το τραίνο να απομακρυνθεί. G [(train_aroaching gate_u) X (gate_down (gate_down U train_leaving))] Η πιο κάτω δομή δεν ικανοποιεί καμιά από τις ιδιότητες. Άσκηση 2 (24 μονάδες) Θεωρήστε την ακόλουθη δομή Krike. {q} 3 4 5 {,q,s} {} 1 2 {q,s} Για κάθε μια από τις πιο κάτω ιδιότητες να αποφασίσετε (1) κατά πόσο υπάρχει μονοπάτι που να ικανοποιεί την ιδιότητα και, αν ναι, να επιδείξετε ένα τέτοιο μονοπάτι, και (2) κατά πόσο η δομή ικανοποιεί την ιδιότητα. (i) F G q 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 1222 2. Η δομή δεν ικανοποιεί την ιδιότητα αφού αυτή δεν ισχύει για κάθε μονοπάτι που ξεκινά από την αρχική κατάσταση, π.χ. 143434343 Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 3
(ii) G F s 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 1222 2. Η δομή δεν ικανοποιεί την ιδιότητα αφού αυτή δεν ισχύει για κάθε μονοπάτι που ξεκινά από την αρχική κατάσταση, π.χ. 143434343 (iii) X s G F q 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 1222 2. Η δομή ικανοποιεί την ιδιότητα: Tα μονοπάτια που ξεκινούν ως 12 ικανοποιούν το σκέλος X s, ενώ τα μονοπάτια που ξεκινούν ως 14 ικανοποιούν το σκέλος G F q. (iv) ( X q) U s 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 145 2. Η δομή δεν ικανοποιεί την ιδιότητα: δεν ικανοποιεί την ιδιότητα αφού αυτή δεν ισχύει για κάθε μονοπάτι που ξεκινά από την αρχική κατάσταση, π.χ. 143434343 (v) F [ X q ] 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 143143143 2. Η δομή ικανοποιεί την ιδιότητα: από την αρχική κιόλας κατάσταση ικανοποιεί το X q. (vi) F [ X ] 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 143143143 2. Η δομή ικανοποιεί την ιδιότητα: από την αρχική κιόλας κατάσταση ικανοποιεί το X q. Άσκηση 3 Δύο ιδιότητες φ και ψ είναι ισοδύναμες μεταξύ τους, φ ψ, αν, για κάθε δομή Krike M, M φ αν και μόνο αν M ψ. Να αποφασίσετε ποια από τα πιο κάτω ζεύγη προτάσεων περιέχουν ισοδύναμες προτάσεις. Αν δύο προτάσεις είναι ισοδύναμες να δώσετε απόδειξη χρησιμοποιώντας τη σημασιολογία, διαφορετικά να παρουσιάσετε δομή Krike στην οποία να ικανοποιείται η μία ιδιότητα αλλά όχι η άλλη. i. G F G φ F G φ Οι δύο προτάσεις είναι ισοδύναμες. Ακολουθεί η απόδειξη: Έστω μονοπάτι w. Τότε w G F G φ ανν για κάθε i 0 w i F G φ ανν για κάθε i 0 υπάρχει j 0 τέτοιο ώστε w i+j G φ ανν για κάθε i 0 υπάρχει j 0 τέτοιο ώστε για κάθε k 0 w i+j+k φ ανν υπάρχει j 0 τέτοιο ώστε για κάθε k 0 w j+k φ ανν υπάρχει j 0 τέτοιο ώστε w j G φ ανν w F G φ ii. G F G φ G F φ Οι δύο προτάσεις δεν είναι ισοδύναμες: η πιο κάτω δομή ικανοποιεί την ιδιότητα G F φ αλλά όχι τη G F G φ. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 4
{ψ} {φ} iii. φ U ψ F ψ (φ Χ ( φ U ψ )) Οι δύο προτάσεις δεν είναι ισοδύναμες: η πιο κάτω δομή ικανοποιεί την ιδιότητα φ U ψ αλλά όχι τη F ψ (φ Χ ( φ U ψ )). {ψ} iv. φ U ψ ψ (φ Χ ( φ U ψ )) Οι δύο προτάσεις είναι ισοδύναμες. Ακολουθεί η απόδειξη: Έστω μονοπάτι w. Τότε w φ U ψ ανν υπάρχει i 0 τέτοιο ώστε w i ψ και για κάθε 0 k i, w k φ ανν υπάρχει i = 0 τέτοιο ώστε w i ψ και για κάθε 0 k i, w k φ ή υπάρχει i > 0 τέτοιο ώστε w j ψ και για κάθε 0 k i, w k φ ανν w 0 ψ ή υπάρχει i > 0 τέτοιο ώστε w j ψ και για κάθε 0 < k i, w k φ και w 0 φ ανν w 0 ψ ή w 0 φ και υπάρχει i 0 τέτοιο ώστε [w 1 ] j ψ και για κάθε 0 k i, [w 1 ] j φ ανν w 0 ψ ή w 0 φ και w 1 φ U ψ ανν w 0 ψ ή w 0 φ και w X (φ U ψ) ανν w 0 ψ ή w 0 φ X (φ U ψ) ανν w 0 ψ (φ X (φ U ψ)) Άσκηση 4 (20 μονάδες) Θεωρήστε την ακόλουθη δομή Krike και αποφασίστε σε ποιες από τις καταστάσεις της δομής ικανοποιείται κάθε μια από τις CTL ιδιότητες που ακολουθούν. Να εξηγήσετε τις απαντήσεις σας χρησιμοποιώντας τον αλγόριθμο μοντελοελέγχου της CTL. 2 {,q} {} 1 3 4 5 {,q} {} {,r} Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 5
(i) A ( U (EG ( q))) Για ευκολία θα χειριστούμε ανεξάρτητα την ιδιότητα f = EG ( q) = AF ( q) = AF ( q) Εφαρμόζοντας τον αλγόριθμο παίρνουμε το πιο κάτω: {1, 2, 3} AF {4, 5} {4, 5} {1,2,3} {1} q {2,3} {2,3,4,5} Επιστρέφοντας στην αρχική ιδιότητα, έχουμε ότι: A ( U f) = (E [f U ( f)] EG f) = (E [f U ( f)] AF f) Εφαρμόζοντας τον αλγόριθμο στην ιδιότητα, έχουμε ότι: {1, 2, 3} {4, 5} EU {4, 5} {4, 5} AF {1, 2, 3} {1, 2, 3} f {1} {4, 5} f {1, 2, 3} {2, 3, 4, 5} f {1, 2, 3} Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 6
(ii) E (( q) r) U E (r U AG ) Έχουμε ότι: E [(( q) r) U E (r U AG )] = E [(( q) r) U E (r U EF )] = E [(( q) r) U E (r U E(true U ))] Εφαρμόζοντας τον αλγόριθμο μοντελοελέγχου παίρνουμε τα πιο κάτω. EU {2, 3, 4, 5} {2, 3, 4} EU {2,3,4,5} {2, 3} r {4} r {4} {2,3,4,5} {2, 3, 4, 5} q {2, 3} true EU {1} {1} {1, 2, 3, 4, 5} {2, 3, 4, 5} Άσκηση 5 Θεωρήστε το σύνολο ιδιοτήτων I = {F F q, AF AF q, AG ( AF q)}. (α) Υπάρχει μοντέλο (δομή Krike) στο οποίο να ικανοποιούνται όλες οι προτάσεις του συνόλου Ι; (β) Για κάθε φ Ι, υπάρχει μοντέλο που να ικανοποιεί την φ αλλά καμιά από τις υπόλοιπες ιδιότητες του συνόλου Ι; (γ) Εντοπίστε μοντέλο στο οποίο να μην ικανοποιείται καμιά πρόταση από το σύνολο Ι. (α) q Στο πιο πάνω μοντέλο ικανοποιούνται όλες οι προτάσεις του συνόλου Ι. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 7
(β) Ξεχωρίζουμε τις τρεις περιπτώσεις: Έστω φ = ΑF ΑF q. Τότε παρατηρούμε ότι το πιο κάτω μοντέλο ικανοποιεί την φ αλλά δεν ικανοποιεί τις υπόλοιπες προτάσεις. q Έστω φ = F F q. Σε οποιοδήποτε μοντέλο ικανοποιείται η φ ικανοποιείται και η ΑF ΑF q άρα δεν υπάρχει μοντέλο που να ικανοποιεί τη φ και να μην ικανοποιείται καμιά από τις υπόλοιπες ιδιότητες. Έστω φ = AG ( AF q). Σε οποιοδήποτε μοντέλο ικανοποιείται η φ ικανοποιείται και η F F q και κατ' επέκταση και η ΑF ΑF q άρα δεν υπάρχει μοντέλο που να ικανοποιεί την φ και να μην ικανοποιεί τις υπόλοιπες ιδιότητες. (γ) Για οποιοδήποτε μοντέλο στο οποίο ισχύει η στην αρχική κατάσταση και δεν ισχύει η q σε καμιά κατάσταση, δεν ικανοποιείται καμιά πρόταση από το σύνολο. Λύσεις Σειράς Προβλημάτων 4 Χειμερινό Εξάμηνο 2016 Σελίδα 8