1 / 17

Forme normale (I)

Forme normale (I). Propoziţia 2.6 ( Generalizarea regulilor lui DeMorgan ) Fie  A 1 , …, A n  o mulţime finită de formule. Atunci (a)  ( A 1 & … & A n )  ( A 1  …   A n ) şi (b)  ( A 1  …  A n )  ( A 1 & … &  A n ).

Télécharger la présentation

Forme normale (I)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Forme normale (I) Propoziţia 2.6 (Generalizarea regulilor lui DeMorgan) Fie A1, …, An o mulţime finită de formule. Atunci (a) (A1 & … & An)  (A1 … An) şi (b) (A1 … An)  (A1& … &An). Propoziţia 2.7 (Generalizarea regulilor distributivităţii) Fie A1, …, An şi B1, …, Bm mulţimi finite de formule. Atunci (a) ((A1 …  An) & (B1 …  Bm))  ((A1& B1)  …  (A1& Bm)  …  (An& B1)  …  (An& Bm)), (b) ((A1& … & An)  (B1& … & Bm))  ((A1 B1) & … & (A1 Bm) & … & (An B1) & … & (An Bm)).

  2. Forme normale (II) Teorema 2.2 (Teoremaînlocuirii) Fie B  C. Fie AB o formulă în care B apare ca subformulă şi AC formula obţinută prin înlocuirea în AB a unei apariţii a lui B cu C. Atunci AB  AC. Teorema 2.3Fie B şi C două formule echivalente deductiv. Fie AB o formulă în care B apare ca subformulă şi AC formula obţinută prin înlocuirea în AB a unei apariţii a lui B cu C. Atunci AB şi AC sunt echivalente deductiv.

  3. Forme normale (III) Definiţia 2.13 Se numeşte literal orice atom şi orice negaţie a unui atom (literali pozitivi / negativi). Definiţia 2.14 Se numeşte clauză disjunctivă orice literal şi orice disjuncţie de literali. Definiţia 2.15 Se numeşte clauză conjunctivă orice literal şi orice conjuncţie de literali. Definiţia 2.16 O formulă este în formă normală conjunctivă (FNC) dacă este o conjuncţie de clauze disjunctive. Definiţia 2.17 O formulă este în formă normală disjunctivă (FND) dacă este o disjuncţie de clauze conjunctive. Exemplul 2.26 (p q) & (r  s) & (p  q  r) este în FNC. (p& q)  r  (p & q) este în FND.(p q) & ((p& r)  (q & s) nu este nici în FNC, nici în FND.

  4. Forme normale (IV) Lema 2.1 Fie A o formulă în FNC şi B o formulă în FND. Atunci A este echivalentă cu o formulă în FND şi B este echivalentă cu o formulă în FNC. Demonstraţie Dacă A este în FNC, atunci are forma K1 & … & Kn (n  1), unde fiecare Ki este o clauză disjunctivă, i.e. o formulă de forma L1  …  Lm (m  1), unde fiecare Li este un literal (pozitiv sau negativ). Conform Propoziţiei 2.6 (a), negaţia lui A, (K1 & … & Kn), este echivalentă cu K1 … Kn. Conform Propoziţiei 2.6 (b), negaţia fiecărei clauze, (L1  …  Lm), este echivalentă cu L1& … &Lm. Dacă vreun literal este deja negativ, atunci dubla negaţie poate fi eliminată. Rezultă că A este echivalentă cu o disjuncţie de clauze conjunctive, i.e. cu o formulă în FND. Similar, folosind Propoziţia 2.6, se demonstrează că B este echivalentă cu o formulă în FNC. Teorema 2.4 Orice formulă A este echivalentă semantic cu o formulă A1 în FNC şi cu o formulă A2 în FND.

  5. Forme normale (V) Algoritmul FNC Pasul 1: Înlocuieşte orice subformulă B C cu B  C şi orice subformulă B  C cu (B  C)  (C  B). Pasul 2: Înlocuieşte orice subformulă B cu B, orice subformulă (B & C) cu B  C şi orice subformulă (B  C) cu B & C. Pasul 3: Înlocuieşte orice subformulă de forma (B  (C & D) sau (C & D)  B cu (B  C) & (B  D). Prin aplicarea acestui algoritm se obţine o formulă în FNC, echivalentă cu formula dată spre normalizare. Dacă în Pasul 3 se aplică regula distributivităţii pentru &, se obţine o formulă în FND, echivalentă cu formula dată spre normalizare.

  6. Forme normale (VI) Exemplul 2.27 Demonstrăm algoritmul FNC cu A = (p q)  (q & p). Pasul 1: eliminăm  şi obţinem (p q)  (q & p). În Pasul 2 aplicăm regula lui DeMorgan şi obţinem (p& q)  (q & p). Observăm că formula obţinută în Pasul 2 este în FND. Trecând la Pasul 3, aplicăm distributivitatea pentru  şi obţinem ((p& q) q) & ((p& q) p). Mai avem două  care trebuie să fie distribuite: (q  p) & (q  q) & (p p) & (p q).

  7. Forme normale (VII) Exemplul 2.27 (Continuare) Formula (q  p) & (q  q) & (p p) & (p q) este în FNC, dar nu este scrisă în cea mai “bună” formă. Întrucât (p p) este o tautologie, iar formula (q  q) este echivalentă cu q, formula este echivalentă cu (q  p) & q & (p q). Propoziţia 2.8Orice formulă A este echivalentă deductiv cu o formulă A1 în FNC şi cu o formulă A2 în FND.

  8. Formule Horn (I) Definiţia 2.18 O formulă A este o formulă Horn dacă este în FNC şi fiecare clauză disjunctivă conţine cel mult un literal pozitiv. Exemplul 2.28p & (p  q  r) & (q  s) & (r  q) este o formulă Horn. p qnu este o formulă Horn. Definiţia 2.19 O formulă Horn de bază este o formulă Horn în care nu apare &. Exemplul 2.29p, (p  q  r), (q  s) şi (r  q) sunt formule Horn de bază. Orice formulă Horn este o conjuncţie de formule Horn de bază. Există trei tipuri de formule Horn de bază: (1) cele care conţin un literal pozitiv şi literali negativi (e.g. (p  q  r)), (2) cele care nu conţin nici un literal pozitiv (e.g. (r  q)), (3) cele care nu conţin nici un literal negativ (atomii propoziţionali).

  9. Formule Horn (II) Orice formulă Horn poate fi scrisă ca un condiţional în care apar numai literali pozitivi. De exemplu, formula (p  q  r) este echivalentă cu (p & q)  r, formula (r  q) este echivalentă cu (r & q)  , unde  este o contradicţie, iar p este echivalent cu T  p, unde T este o tautologie. Rezultă că orice formulă Horn poate fi scrisă ca o conjuncţie de condiţionali. Exemplul 2.30 Formula Horn din Exemplul 2.29 poate fi scrisă ca (T  p) & ((p & q)  r) & (q  s) & ((r & q)  ). Problema realizabilităţii Horn: Dată fiind o formulă Horn H, este H realizabilă? Există un algoritm eficient pentru rezolvarea problemei realizabilităţii Horn. Algoritmul are trei paşi, corespunzători celor trei tipuri de formule Horn de bază. Presupunem că H este dată ca o conjuncţie de condiţionali.

  10. Formule Horn (III) Algoritmul Horn Dată fiind o formulă Horn H scrisă ca o conjuncţie de condiţionali, listăm atomii care apar în H. Pasul 1: Marchează fiecare atom din listă care apare într-osubformulă de forma (T  pi). Pasul 2: Dacă există o subformulă de forma (p1 & … & pm)  r în care fiecare pi a fost marcat şi r nu a fost marcat, atunci marchează r. Repetă acest pas până când nu mai apar subformule de acest fel, după care treci la pasul 2. Pasul 3: Consideră subformulele de forma (p1 & … & pm)  . Dacă există o astfel de subformulă în care fiecare pi a fost marcat, atunci conchide “H nu este realizabilă”. Altfel, conchide “H este realizabilă”.

  11. Formule Horn (IV) Exemplul 2.31 Demonstrăm algoritmul Horn cu H = (T p) & (r  s) & ((p & q)  r) & ((r & s)  ) & (T  q). Pasul 1: (T p) & (r  s) & ((p & q)  r) & ((r & s)  ) & (T  q). Pasul 2: (T p) & (r s) & ((p & q)  r) & ((r & s)  ) & (T  q). (T p) & (r s) & ((p & q)  r) & ((r & s)  ) & (T  q). Pasul 3: Întrucât H conţine subformula (r & s)  , algoritmul conchide “H nu este realizabilă”. Pentru formula Horn din Exemplul 2.30, algoritmul Horn furnizează o altă concluzie. Vom arăta că algoritmul Horn funcţionează (este corect) şi este “rapid”. Mai întâi, arătăm că funcţionează.

  12. Formule Horn (V) Teorema 2.5 Algoritmul Horn conchide “H este realizabilă” ddacă H este realizabilă. Demonstraţie Fie S = p1, …, pn mulţimea atomilor din H. După ce algoritmul se încheie, unii dintre aceşti atomi sunt marcaţi. Să presupunem că H este realizabilă. Atunci există o interpretare v a S astfel încât v⊨H. Pentru fiecare subformulă de bază B din H, v(B) = 1. Dacă B are forma T pi, atunci pi este marcat în Pasul 1 şi, conform definiţiei ,v(pi) = 1. Dacă B are forma (p1 & … & pm)  r, unde fiecare pi a fost marcat, atunci v(pi) = 1 pentru fiecare pi, r este marcat în Pasul 2 şi, conform definiţiei ,v(r) = 1. Rezultă că v(pi) = 1 pentru fiecare pi care a fost marcat.

  13. Formule Horn (VI) Demonstraţie (Continuare). Presupunem prin absurd că algoritmul conchide “H nu este realizabilă”. Aceasta înseamnă că există o subformulă B de forma (p1 & … & pm)   unde fiecare pi a fost marcat. Conform celor de mai sus, v(pi) = 1 pentru fiecare pi din B. Conform definiţiilor & şi , v(B) = 0, ceea ce este o contradicţie. Prin urmare, dacă H este realizabilă, algoritmul conchide “H este realizabilă”. Reciproc, presupunem că algoritmul conchide “H este realizabilă”. Fie v1 o interpretare a S definită prin v1(pi) = 1 ddacă pi este marcat. Arătăm că v1⊨H . Fie B o formulă Horn de bază din H. Dacă B are forma T pi, atunci pi este marcat în Pasul 1 şi deci v1(B) = 1. Altfel, B are forma (p1 & … & pm)  u, unde u este un atom sau o contradicţie . Dacă v1(pi) = 0 pentru unii i, atunci v1(B) = 1.

  14. Formule Horn (VII) Demonstraţie (Continuare) Dacă v1(pi) = 1 pentru orice i, atunci fiecare pi a fost marcat. Întrucât algoritmul conchide “Da”, u nu este , ci un atom. Întrucât fiecare pi este marcat, u este marcat (Pasul 2). Întrucât v1(u) = 1, avem v1(B) = 1. Definiţia 2.19 Un algoritm este în timp polinomial dacă există un număr k Nastfel încât, dată fiind orice intrare de mărime n  2, algoritmul se opreşte în cel mult nk paşi. Notăm cu P clasa problemelor de decizie care pot fi rezolvate în timp polinomial. Arătăm că algoritmul Horn este în timp polinomial, deci că problema realizabilităţii Horn este în P. Am văzut că algoritmul are trei paşi, numiţi Pasul 1, Pasul 2 şi Pasul 3. Nu aceasta este ceea ce înţelegem aici prin “pas”. În Exemplul 2.31 am văzut că Pasul 2 trebuie aplicat de două ori.

  15. Formule Horn (VIII) Considerăm că intrarea H este de lungime n, unde n este numărul apariţiilor de simboluri (atomi, T, ) din H. Un pas este o citire a intrării H. Arătăm că algoritmul Horn se opreşte în mai puţin de n2 paşi. Mai întâi citim H simbol cu simbol şi listăm toţi atomii. Lista conţine cel mult n atomi. În Pasul 1 citim din nou H, căutând apariţiile lui T şi marcând atomii respectivi. În Pasul 2 căutăm subformulele de forma (p1 & … & pm)  r în care fiecare pi a fost marcat; dacă r nu a fost marcat, atunci marcăm r. Marcând un nou atom, putem crea noi subformule (p1 & … & pm)  r în care fiecare pi a fost marcat. Ori de câte ori marcăm un atom în Pasul 2, ne întoarcem şi citim din nou H. Întrucât putem marca cel mult n atomi, Pasul 2 se repetă de cel mult n ori. În Pasul 3 citim H, căutând . Avem 1 + 1 + n + 1 = n + 3 şi n + 3  n2 pentru n  2, q.e.d.

  16. Formule Horn (IX) Să considerăm următoarele probleme: • Problema validităţii: Dată fiind o formulă A, este A validă? • Problema realizabilităţii: Dată fiind o formulă A, este A realizabilă? • Problema consecinţei: Date fiind formulele A şi B, este B consecinţă a formulei A? • Problema echivalenţei: Date fiind formulele A şi B, sunt A şi B echivalente? Un algoritm care funcţionează pentru una dintre aceste probleme, funcţionează pentru toate celelalte probleme (exerciţiu). Aşadar, dacă una dintre probleme este în P, toate patru sunt în P.

  17. Formule Horn (X) Tabelele de adevăr furnizează un algoritm pentru rezolvarea fiecăreia dintre cele patru probleme, dar acest algoritm nu este în timp polinomial: un tabel de adevăr pentru o formulă cu n atomi distincţi are 2n rânduri, iar dacă n este suficient de mare în raport cu K, 2nnkpentru orice k. Nu se ştie dacă problema realizabilităţii (şi fiecare dintre celelalte probleme) este în P. Nu se cunoaşte nici un algoritm în timp polinomial pentru realizabilitate, ceea ce nu înseamnă că nu poate exista un astfel de algoritm. Deducţiile formale evită tabelele de adevăr, dar nu rezolvă întotdeauna problemele menţionate. De pildă, dacă găsim o deducţie formală pentru F⊢B, atunci conchidem “B este consecinţă a F”, dar dacă nu găsim o astfel de deducţie, nu putem conchide că B nu este consecinţă a F

More Related