Documente Academic
Documente Profesional
Documente Cultură
COMPUTAIONAL
Curs 3: Satisfiabilitate
Introducere.
Metoda tabelei de adevr.
Backtracking.
Alte metode pentru rezolvarea problemelor SAT: DPLL.
Scurt recapitulare
Ce este o propoziie
Operatori logici (conective logice): , , , , ,
Nume, notaii
Conexiunea logic cu limbajul natural
Tabele de adevr i prioriti
Propoziii compuse
Trecerea din limbaj natural n propoziii compuse
Trecerea din propoziii compuse n limbaj natural
Analiza propoziiilor compuse cu ajutorul tabelelor de adevr
Scurt recapitulare
Propoziii:
Atomice, simple
Compuse, complexe
Echivalena propoziiilor
Scurt recapitulare
Propoziie satisfiabil (n ultima coloan a tabelei de adevr
exist cel puin un A).
Propoziie nesatisfiabil (contradicie) - n ultima coloan a
tabelei de adevr are valoarea F pe toate liniile.
Propoziie valid (tautologie) - n ultima coloan a tabelei de
adevr are valoarea A pe toate liniile.
Propoziie contingent (n ultima coloan a tabelei de adevr
exist cel puin un A i cel puin un F).
Scurt recapitulare
Consistena
O mulime de propoziii din limbajul natural este consistent dac
este posibil d.p.d.v. logic ca toate s fie adevrate o dat.
O mulime de propoziii din logica propoziional este consistent
dac exist cel puin o linie dintr-o tabel de adevr n care toate
propoziiile sunt concomitent adevrate. Altfel este inconsistent.
Consistena
Nu necesit construirea unei tabele ntregi de adevr, doar
gsirea unei linii n care toate propoziiile implicate sunt
adevrate.
Pentru a demonstra c o mulime de formule propoziionale este
inconsistent, este necesar construirea unei tabele de adevr
complete.
Trebuie artat c pe fiecare linie a tabelei de adevr exist cel
puin o formul din mulime care este fals.
Exerciiu. S se verifice dac mulimea urmtoare de propoziii
este consistent sau inconsistent:
p (q r), r p, p q
Consistena
Satisfiabilitate
Problema satisfiabilitii propoziionale (denumit SAT) este
problema de a determina dac o mulime de propoziii (din
Logica propoziiilor) este satisfiabil.
Importana: multe alte probleme din Logica propoziiilor pot fi
reduse la aceea a satisfiabilitii propoziionale.
Utilizare: Metodele de rezolvare a problemei SAT sunt utilizate
n: design hardware, analiz software, planificare, matematic,
analiza securitii .a.
(simplification)
propagarea
unitilor
(unit
10
11
12
13
, }
0
14
15
Backtracking
Considerm exemplul de mai devreme.
Observm c pentru a determina dac este satisfiabil, este
necesar o declaraie (interpretare) parial de adevr.
De ex., fie interpretarea { p = 1, q = 0 }. Indiferent de valoarea de
adevr a lui r, observm c este evaluat ca fiind fals; prin
urmare, nu este satisfiabil.
16
Backtracking
17
Backtracking
Cutare n spaiul interpretrilor de adevr
Arbore de cutare fiecare ramur seteaz valoarea A unei singure
propoziii, fiecare nod interior este o atribuire parial de adevr, fiecare
nod frunz este o atribuire complet de adevr.
18
Backtracking Generaliti
este o tehnic de programare extrem de rspndit i de
util n cazul problemelor n care este necesar generarea
tuturor soluiilor posibile.
Ideea algoritmului este de a genera toate soluiile posibile,
dar a renuna la ele n cazul n care se observ c nu
ndeplinesc condiiile necesare.
Datorit
generrii
tuturor
soluiilor,
complexitatea
algoritmului este foarte mare, dar duce sigur la generarea
tuturor posibilitilor valide.
Exemple de probleme care se rezolv cu metoda
backtracking:
Backtracking
Fie = { , , ,
, }
20
Backtracking
= { , , ,
, }
21
Backtracking
= { , , ,
, }
22
Backtracking
= { , , ,
, }
23
Backtracking
= { , , ,
, }
24
Backtracking
= { , , ,
, }
25
Backtracking
= { , , ,
, }
26
Backtracking
= { , , ,
, }
27