Esercizi di Preparazione per il 1° compito del 30/03/09
Posted by darkshadow on 22-03-2009 20:19
 
Ciao,
in vista del compito di logica del 30 che ne dite se mettiamo le soluzioni degli esercizi dei vecchi temi d'esame/compitini? Parlo della pate che riguarda l'algoritmo DPLL. Magari controllando anche che questi siano efettivamente giusti.

Ecco quelle che ho fatto io:

1) studiare mediante la procedura DPLL la soddisfacibilità del seguente insieme di clausole:

code:
    C = {p V q, ¬q, r V ¬p, ¬r V s, ¬p V ¬s} Ø ├ C Spezzamento su p Ramo p = 1 ├ C p = 1 ├ {¬q, r, ¬r V s, ¬s} p = 1, q = 0 ├ {r, ¬r V s, ¬s} p = 1, q = 0, r = 1 ├ {s, ¬s} p = 1, q = 0, r = 1, s = 1 ├ {} UNSAT Ramo p = 0 ├ C p = 0 ├ {q, ¬q,¬r V s} p = 0, q = 1 ├ {¬r V s} p = 0, q = 1, r = 0 ├ {} UNSAT



2) studiare mediante la procedura DPLL la soddisfacibilità del seguente insieme di clausole:

code:
    C = {¬p V q, ¬s V ¬t, ¬q, p V ¬r, r V s} Ø ├ C q = 0 ├ {¬p, ¬s V ¬t,p V ¬r, r V s} q = 0, p = 0 ├ {¬s V ¬t,¬r, r V s} q = 0, p = 0, r = 0 ├ {¬s V ¬t, s} q = 0, p = 0, r = 0, s = 1 ├ {¬t} q = 0, p = 0, r = 0, s = 1, t = 0 ├ Ø SAT


3) Applicando l'algoritmo DPLL, determinare se il seguente insieme di clausole è o meno soddisfacibile:

code:
    C = {¬p1 V ¬p2, p2 V p3, ¬p1 V ¬p3 V p4, p2 V ¬p3 V ¬p4, p1 V p4} Ø ├ C Spezzamento su p1 Ramo p1 = 1 ├ C p1 = 1 ├ {¬p2, p2 V p3, ¬p3 V p4, p2 V ¬p3 V ¬p4} p1 = 1, p2 = 0 ├ {p3, ¬p3 V p4, ¬p3 V ¬p4} p1 = 1, p2 = 0, p3 = 1 ├ {p4, ¬p4} p1 = 1, p2 = 0, p3 = 1, p4 = 1 ├ {} UNSAT Ramo p1 = 0 ├ C p1 = 0 ├ {p2 V p3, p2 V ¬p3 V ¬p4, p4} p1 = 0, p4 = 1 ├ {p2 V p3,p2 V ¬p3} p1 = 0, p4 = 1, p2 = 1 ├ {} UNSAT


4) dimostrare che la seguente formula è una tautologia negandola, trasformandola in FNC e applicando l'algoritmo DPLL

                        (((p → q) → q) Λ ¬q) → ((r → ¬p) → ¬r)

code:
¬((((p → q) → q) Λ ¬q)((r → ¬p) → ¬r)) (((p → q)q) Λ ¬q) Λ ¬(((r → ¬p)¬r)) ((¬(pq) V q) Λ ¬q) Λ ¬((¬(r¬p) V ¬r)) (((p Λ ¬q) V q) Λ ¬q) Λ ¬((r Λ p) V ¬r) (p V q) Λ (¬q V q) Λ ¬q Λ ¬(r Λ p) Λ r (¬q V q) = 1, si semplifica. (p V q) Λ ¬q Λ (¬r V ¬p) Λ r     C = {p V q, ¬q, ¬r V ¬p, r} Ø ├ C q = 0 ├ {p, ¬r V ¬p, r} q = 0, p = 1 ├ {¬r, r} q = 0, p = 1, r = 1 ├ {} UNSAT -----> allora è una TAUTOLOGIA


5) Dimostrare che l'insieme formato dalle seguenti 5 clausole è insoddisfacibile applicando l'algoritmo DPLL

code:
    C = {p V q V r, p V ¬q, q V ¬r, r V ¬p, ¬p V ¬q V ¬r} Ø ├ C Spezzamento su p Ramo p = 1 ├ C p = 1 ├ {q V ¬r, r, ¬q V ¬r} p = 1, r = 1 ├ {q, ¬q} p = 1, r = 1, q = 1 ├ {} UNSAT Ramo p = 0 ├ C p = 0 ├ {q V r, ¬q, q V ¬r} p = 0, q = 0 ├ {r, ¬r} p = 0, q = 0, r = 1 ├ {} UNSAT


6) Dimostrare che l'insieme formato dalle seguenti 5 clausole è insoddisfacibile applicando l'algoritmo DPLL

code:
    C = {p V ¬r, r V ¬q, q V p V r, q V ¬p, ¬p V ¬q V ¬r} Ø ├ C Spezzamento su p Ramo p = 1 ├ C p = 1 ├ {r V ¬q, q, ¬q V ¬r} p = 1, q = 1 ├ {r,¬r} p = 1, q = 1, r = 1 ├ {} UNSAT Ramo p = 0 ├ C p = 0 ├ {¬r, r V ¬q, q V r} p = 0, r = 0 ├ {¬q, q} p = 0, r = 0, q = 0 ├ {} UNSAT


7) Applicando l'algoritmo DPLL, determinare se il seguente insieme di clausole è o meno soddisfacibile:

code:
    C = {p1 V ¬p4, ¬p1 V ¬p2, p2 V p3, ¬p1 V ¬p3 V p4, p2 V ¬p3 V ¬p4, p1 V p4} Ø ├ C Spezzamento su p1 Ramo p1 = 1 ├ C p1 = 1 ├ {¬p2, p2 V p3, ¬p3 V p4, p2 V ¬p3 V ¬p4} p1 = 1, p2 = 0 ├ {p3, ¬p3 V p4, ¬p3 V ¬p4} p1 = 1, p2 = 0, p3 = 1 ├ {p4, ¬p4} p1 = 1, p2 = 0, p3 = 1, p4 = 1 ├ {} UNSAT Ramo p1 = 0 ├ C p1 = 0 ├ {¬p4, p2 V p3, p2 V ¬p3 V ¬p4, p4} p1 = 0, p4 = 0 ├ {p2 V p3} QUI COSA DEVO APPLICARE???


Questi sono quelli che ho fatto per ora. Se qualcuno vuole controllare che siano giusti e se ci sono errori posti la soluzione giusta. Inoltre mi sapete dire cosa devo fare nella 7) che a un certo punto non so cosa applicare.

Ciao e grazie a chi vorrà partecipare!

Ds.
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited