ΕΠΛ 412 Λογική στην Πληροφορική Χειμερινό Εξάμηνο 2012 Άσκηση 1 Λύσεις Σειράς Ασκήσεων 3Β i. Ανά πάσα στιγμή ο εκτυπωτής χρησιμοποιείται από το πολύ ένα χρήστη. G ( Αλίκη.χρήση Βαγγέλης.χρήση) ii. iii. iv. Κάθε χρήστης μπορεί να χρησιμοποιεί τον εκτυπωτή για πεπερασμένο χρόνο. G [(Αλίκη.χρήση F Αλίκη.αποδεύσμευση) (Βαγγ.χρήση F Βαγγ.αποδεύσμευση)] Η Αλίκη θα χρησιμοποιήσει τον εκτυπωτή ξανά και ξανά. GF Αλίκη.χρήση Αν κάποιος χρήστης κάνει αίτηση για χρήση του εκτυπωτή τελικά θα τον χρησιμοποιήσει. G [(Αλίκη.αίτηση F Αλίκη.χρήση) (Βαγγ.αίτηση F Βαγγ.χρήση)] v. Ανά πάσα στιγμή, κάθε χρήστης μπορεί να αιτηθεί τη χρήση του εκτυπωτή. G (Αλίκη.αίτηση Βαγγέλης.αίτηση) vi. Η χρήση του εκτυπωτή εναλλάσσεται αυστηρά ανάμεσα στους δύο χρήστες (κανένας χρήστης δεν θα τυπώσει δύο φορές συνεχόμενα). G ((F Αλίκη.χρήση) (F Βαγγέλης.χρήση) ((Αλίκη.χρήση) (Αλίκη.χρήση U [ (Αλίκη.χρήση) ( (Αλίκη.χρήση) U (Βαγγέλης.χρήση) ( Αλίκη.χρήση)] ((Βαγγ.χρήση) (Βαγγ.χρήση U [ (Βαγγ.χρήση) ( (Βαγγ.χρήση) U (Αλίκη.χρήση) ( Βαγγ.χρήση)]) vii. Η Αλίκη δεν θα αποδεσμεύσει τον εκτυπωτή πριν να τον χρησιμοποιήσει. ( (Αλίκη.αποδέσμευση)) G [( (Αλίκη.αποδέσμευση) F (Αλίκη.αποδέσμευση) ( (Αλίκη.αποδέσμευση) U (Αλίκη.χρήση))] viii. Κάθε φορά που ο Βαγγέλης στέλνει κάποιο αίτημα στον εκτυπωτή τότε θα τον χρησιμοποιήσει μέσα σε δύο μονάδες χρόνου (βήματα). G Βαγγέλης.αίτηση (Χ Βαγγέλης.χρήση XΧ Βαγγέλης.χρήση) Άσκηση 2 i. H ιδιότητα δεν ικανοποιείται. Αντιπαράδειγμα αποτελεί το μονοπάτι s 2 s 4 s 3 s 4 s 3 s 4 ii. Η ιδιότητα ικανοποιείται, διότι από όλες τις καταστάσεις της δομής και για όλα τα μονοπάτια, υπάρχει κατάσταση στο μέλλον η οποία ικανοποιεί το c. iii. Η ιδιότητα ικανοποιείται, σε όλα τα μονοπάτια που ξεκινούν από μια αρχική κατάσταση η τρίτη κατάσταση του μονοπατιού ικανοποιεί το c.
ΕΠΛ 412 Λογική στην Πληροφορική Χειμερινό Εξάμηνο 2012 iv. Η ιδιότητα δεν ικανοποιείται. Αντιπαράδειγμα αποτελεί το μονοπάτι s 1 s 4, το οποίο δεν ικανοποιεί την ιδιότητα v. Η ιδιότητα ικανοποιείται, διότι όλα τα μονοπάτια που ξεκινούν από το s 1 ικανοποιούν πρώτα το a και στη συνέχεια το δεξί μέλος της ιδιότητας until, ενώ όλα τα μονοπάτια που ξεκινούν από το s 2 ικανοποιούν απευθείας το δεξί μέλος της ιδιότητας until. vi. Η ιδιότητα δεν ικανοποιείται. Η κατάσταση s 1 δεν ικανοποιεί ούτε το b ούτε το c. Όμως υπάρχει το μονοπάτι s 1 s 4 s 2, από το οποίο η s 1 δεν ικανοποιεί ούτε το αριστερό μέλος της ιδιότητας until.
ΕΠΛ 412 Λογική στην Πληροφορική Κατασκευή Προτασιακών Μορφών: 1. {{Κ(Α)}, {Κ(Β)}, {Κ(Γ)}} 4. {{ Ν(Γ, Β)}} 2. {{ Ν(Α, Β)}} 5. {{ Κ(x), Χ(x, Γαλ.),, Χ(x, Πρ.), Χ(x, Πορτ.)}} 3. {{ Ν(Β, Γ) }, {Ν(Β, Γ)}} 6. {{ K(x), K(y), N(x,y), X(x, z) ), X(y, z)}} Εφαρμογή της Μεθόδου Επίλυσης μέσω Ενοποίησης Φθινόπωρο 2012 7. {{ Χ(A, Πορτ.)}, {Χ(Γ, Πρ.)}, { Χ(Β, Γαλ.)}} 7. Χ(A, Πορτ.) K(x), K(y), N(x, y), X(x, z), X(y, z) 5. Κ(x), Χ(x, Γαλ.), Χ(x, Πρ.), Χ(x, Πορτ.) 7. Χ(Β, Γαλ.) 1. Κ(Α) Ν(Α, Β) Κ(Β) 7. Χ(Γ, Πρ.) 1. Κ(Γ) Ν(Γ, Β) K(A), K(y), N(A, y), X(y, Πορτ.) K(Γ), K(y), N(Γ, y), X(y, Πρ.) Κ(B), Χ(Β, Πρ.), Χ(Β, Πορτ.) K(y), N(A, y), X(y, Πορτ.) K(y), N(Γ, y), X(y, Πρ.) Χ(Β, Πορτ.), Χ(Β, Πρ.) K(B), X(B, Πορτ.) K(B), X(Β, Πρ.) X(B, Πορτ.) Χ(Β, Πρ.) ) Χ(Β, Πορτ.)
ΕΠΛ 412 Λογική στην Πληροφορική Φθινόπωρο 2012 Άσκηση 2 (α) f (g(x), z) f (y, h(x)) 1. Τ 1 = f (g(x), z), Τ 2 = f (y, h(x)), σ 0 = {}, i=0 2. σ 1 = σ 0 {g(x))/y}, Τ 1 = f (g(x), z), Τ 2 = f (g(x), h(x)), i=1 3. σ 2 = σ 1 {h(x))/z}, Τ 1 = f (g(x), h(x)), Τ 2 = f (g(x), h(x)), i=2 4. Οι προτάσεις είναι ενοποιήσιμες και η γενικότερη ενοποιήτρια τους είναι η σ 2 = {g(x))/y, h(x))/z}. (β) j(x, y, z) f (f(y,y), f(z, z), f(a,a)) Το j δεν ενοποιείται με το f (γ) j(x, z, x) j(y, f(y), z) 1. Τ 1 = j(x, z, x), Τ 2 = j(y, f(y), z), σ 0 = {}, i=0 2. σ 1 = σ 0 {x/y}, Τ 1 = j(y, z, y), Τ 2 = j(y, f(y), z), i=1 3. σ 2 = σ 1 {f(y))/z}, Τ 1 = j(y, f(y), y), Τ 2 = j(y, f(y), f(y)), i=2 4. Οι προτάσεις δεν είναι ενοποιήσιμες γιατί το y δεν είναι ενοποιήσιμο με το f(y). (δ) j(f(x), y, a) j(y, z, z) 1. Τ 1 = j(f(x), y, a), Τ 2 = j(y, z, z), σ 0 = {}, i=0 2. σ 1 = σ 0 {f(x)/y}, Τ 1 = j(f(x), f(x), a), Τ 2 = j(f(x), z, z), i=1 3. σ 2 = σ 1 {f(x))/z}, Τ 1 = j(f(x), f(x), a), Τ 2 = j(f(x), f(x), f(x)), i=2 4. Οι προτάσεις δεν είναι ενοποιήσιμες. (ε) j(g(x), a, x) j(g(z), y, f(z, z)) 1. Τ 1 = j(g(x), a, x), Τ 2 = j(g(z), y, f(z, z)), σ 0 = {}, i=0 2. σ 1 = σ 0 {z/x}, Τ 1 = j(g(z), a, z), Τ 2 = j(g(z), y, f(z, z)), i=1 3. σ 2 = σ 1 {a/y}, Τ 1 = j(g(z), a, z), Τ 2 = j(g(z), a, f(z, z)), i=2 4. Οι προτάσεις δεν είναι ενοποιήσιμες. Άσκηση 3 Αριθμούμε τις γραμμές: 1. member(x, x:xs) 2. member(x, y:ys) member(x,ys) 3. nonmember(x, []) 4. nonmember(x, y:ys) nonmember(x,ys) 5. intersection ([], ys, []) 6. intersection(x:xs,ys,x:zs) member(x,ys), intersection(xs,ys,zs) 7. intersection(x:xs,ys,zs) nonmember(x,ys), intersection(xs,ys,zs) 8. intersection([a,b,c],[d,c],z)
ΕΠΛ 412 Λογική στην Πληροφορική Φθινόπωρο 2012 9. nonmember(a,[d,c]), intersection([b,c],[d,c],z) από (7) και (8) x 1 a, xs 1 [b,c], ys 1 [d,c],zs 1 Z 10. nonmember(a,[c]), intersection([b,c],[d,c],z) από (4) και (9) x 2 a, y 2 d, ys 2 [c] 11. nonmember(a,[]), intersection([b,c],[d,c],z) από (4) και (10) x 3 a, y 3 c, ys 2 [] 12. intersection([b,c],[d,c],z) από (3) και (11) 13. nonmember(b, [d,c]), intersection([c],[d,c],z) από (7) και (12) x 4 b, xs 4 [c], ys 4 [d,c],zs 4 Z 14. nonmember(b, [c]), intersection([c],[d,c],z) από (4) και (13) x 5 b, y 5 d, ys 5 [] 15. nonmember(b, []), intersection([c],[d,c],z) από (4) και (14) 16. intersection([c],[d,c],z) από (3) και (15) 17. member(c,[d,c]), intersection([],[d,c],zs 6 ) Z c:z, από (6) και (16) x 6 c, xs 6 [], ys 6 [d,c],z c: zs 6 18. member(c,[c]), intersection([],[d,c],zs 6 ) από (2) και (17) x 7 c, y 7 d, ys 7 [c] 19. intersection([],[d,c],zs 6 ) από (1) και (18) 20. zs 6 [], από (6) και (16) Αντικατάσταση ορθής απάντησης: Z c:z 6 c:[] = [c]