Sunteți pe pagina 1din 5

Capitolul 4

Formele normale

4.1. Problema deciziei I

Fiind dată o funcţie logică ϕ , să se stabilească dacă ea este


- o tautologie
- o contradicţie
- o propoziţie realizabilă (există cel puţin o alegere a valorilor variabilelor
pentru care este adevărată).
Pentru rezolvarea acestei probleme am utilizat aşa numita metodă a tabelelor de
valori. Dacă, însă, numărul variabilelor este mare, metoda de rezolvare presupune
folosire formelor normale a funcţiilor logice.
Se numeşte formă normală a unei funcţii logice o expresie care satisface următoarele
condiţii
a) conţine numai functorii ∧, ∨, −
b) negaţia apare numai peste propoziţii elementere

4.2. Forma normală conjunctivă

Intr-o formă normală conjunctivă functorul principal, care leagă factorii aflaţi în
paranteze este ∧ .
Însemnă că funcţia logică este o conjuncţie a disjuncţiilor.
Exemplu
(a ∨ b) ∧ (b ∨ c ) ∧ (a ∨ c) . Uneori această formă poate fi scrisă ca (a ∨ b)(b ∨ c )(a ∨ c )
Să observăm că dacă într-o formă normală conjunctivă apare un termen (a ∨ a) , el
poate fi simplificat deoarece (a ∨ a) = 1 .
Dacă într-o formă normală conjunctivă ϕ , unul dintre factori este fals, atunci
expresia este o contradicţie.
Dacă într-o formă normală conjunctivă toţi factorii sunt adevăraţi, atunci ϕ este o
tautologie.

4.3. Forma normală disjunctivă

Intr-o formă normală disjunctivă functorul principal, care leagă factorii aflaţi în
paranteze este ∨ .
Exemplu

(a ∧ b ∧ c ) ∨ (a ∧ c ∧ d ) ∨ (b ∧ c ∧ d ) care mai poate fi scrisă ca abc ∨ acd ∨ bcd


Să observăm că dacă într-o formă normală disjunctivă apare un membru (a ∧ a) , el
poate fi redus deoarece (a ∧ a) = 0 .

4.4. Algoritm de aducere a unei funcţii logice la forma normală


In formele normale apar numai functorii ∧, ∨, − . Pentru a transforma funcţia logică ,
astfel încât să conţină numai functorii ∧, ∨, − , pot fi utilizate următoarele expresii
echivalente:
a) A → B ↔ A ∨ B
b) A↔ A
c) A∨ B ↔ A∧ B A∧ B ↔ A∨ B
d) A ↔ B ↔ ( A → B) ∧ ( B → A) ↔ ( A ∨ B ) ∧ ( B ∨ A)

Algoritmul de aducere a unei funcţii logice la forma normală are următorii paşi:
a) Se elimină functorii, alţii decât ∧, ∨, −
b) Se coboară negaţia pe variabile
c) Se aplică legile de distributivitate şi asociativitate pentru a avea ca functor
principal, functorul dorit.
Exemple de expresii normalizate :
Exemplul 1.

p → q ↔ p ∨ q , expresia din dreapta este în formă normală disjunctivă

Exemplul 2.

p ∨ q ↔ p ∧ q , expresia din dreapta este în formă normală conjunctivă

Exemplul 3.
( p → q ) → r ↔ p → q ∨ r ↔ ( p ∨ q) ∨ r ↔ ( p ∧ q ) ∨ r ↔ ( p ∧ q) ∨ r
Expresie adusă la forma normală disjunctivă.

Exemplul 4.

[( p → q) ∧ ( q → r )] → ( p → r ) ↔
[( p → q) ∧ ( q → r )] ∨ ( p → r ) ↔
[( p → q) ∨ ( q → r )] ∨ ( p ∨ r ) ↔
( p ∨ q) ∨ (q ∨ r ) ∨ ( p ∨ r ) ↔
( p ∧ q) ∨ (q ∧ r ) ∨ ( p ∨ r ) ↔
( p ∧ q) ∨ (q ∧ r ) ∨ ( p ∨ r )
Ultima expresie este în forma normală disjunctivă
Exemplul 5.

p → (q → p ) ↔ p ∨ (q ∨ p ) ↔ p ∧ ( q ∨ p ) ↔
p ∧ (q ∧ p) ↔ p ∧ q ∧ p
Forma normală conjunctivă obţinută ne permite să susţinem că expresia este o
contredicţie.
4.5. Probleme de decizie

Aşa cum am spus, aducerea la forma normală permite stabilirea valorii de adevăr a
funcţiilor logice.

Exemplu. Să se arate că formula X = p ∧ [( p ∨ q ) → p] este o contradicţie.


Demonstraţie.
Aducem pe X la forma normală disjunctivă.
X ↔ p ∧ [( p ∨ q ) ∨ p ] ↔
p ∧ [( p ∧ q) ∨ p ] ↔ p ∧ [( p ∧ q ) ∨ p] ↔
p ∧ ( p ∧ q) ∨ ( p ∧ p) ↔
[( p ∧ p) ∧ q ] ∨ ( p ∧ p ).
valorile expresiilor sunt
0∨0 = 0
Având valoarea 0 pentru orice alegere a variabilelor, formula este o contradicţie.

Observaţie. Dacă se cere echivalenţa a două formule X şi Y, se demonstrează că


formula X ↔ Y este o tautologie.

4.6. Forme normale perfecte

Să începem prin a preciza câteva noţiuni necesare în cele ce urmează. Mai întâi să
observăm că dacă într-o expresie sunt suprimaţi functorii principali, ceea ce rămîne
se vor numi membrii expresiei.
Exemplu. Dacă se dă expresia p → (q ∧ r ) , membrii expresiei sunt p si q ∧ r .
Numim temeni primi variabilele şi negaţiile lor.
De exemplu în expresia p → (q ∧ r ) termenii primi sunt p, q, r .

Se numeşte formă normală perfectă o formă normală care respectă următoarele


restricţii:
a) Fiecare membru conţine toate literele
b) Nici un termen prim nu apare mai mult decât o dată într-un membru.
c) Nici un membru nu apare mai mult decât o dată.
d) Nici o literă nu poate intra într-un membru împreună cu negaţia sa.
Exemplu de formă normală conjunctivă perfectă
( p ∨ q) ∧ (q ∨ p) .
Exemplu de formă normală disjunctivă perfectă
( p ∧ q) ∨ (q ∧ p) .

4.7. Algoritm de aducere a unei expresii la o formă normală perfectă

1) Se aduce expresia la o formă normală conjunctivă sau disjunctivă


2) Se adaugă literele care lipsesc
- pentru formele normale disjunctive se adaugă (t ∧ t ) , expresie cu valoarea 0
şi deoarece , după cum ştim, A ∨ ( B ∧ B) ↔ A , termenul nu va schimba valoarea
expresiei.
- pentru formele normale conjunctive se adaugă (t ∨ t ) , expresie cu valoarea 1.
Deoarece A ∧ ( B ∨ B ) ↔ A
3) Se reduc termenii care se repetă, deoarece
a ∧ a ∧ ... ∧ a ↔ a
a ∨ a ∨ ... ∨ a ↔ a
În continuare vom nota conjucţia prin alăturarea literelor.
Exemple.
1.Să se aducă la forma normală disjunctivă perfectă expresia a (b ∨ c) ∨ bc .
Adăugăm membrii (c ∨ c ), (b ∨ b), (a ∨ a ) şi se obţine:
a (b ∨ c) ∨ bc ↔ ab ∨ ac ∨ bc ↔ ab(c ∨ c) ∨ ac(b ∨ b) ∨ bc(a ∨ a) ↔
abc ∨ abc ∨ abc ∨ acb ∨ abc ∨ bca ↔ abc ∨ abc ∨ abc ∨ abc
Forma obţinută este o formă normală disjunctivă perfectă.
2. Să se aducă la forma normală disjunctivă perfectă expresia
ab ∨ ab ∨ c ↔ ab(c ∨ c) ∨ ab(c ∨ c) ∨ c( a ∨ a) ∨ (b ∨ b) ↔
abc ∨ abc ∨ abc ∨ abc ∨ abc ∨ abc ∨ abc ∨ abc ↔
abc ∨ abc ∨ abc ∨ abc ∨ abc ∨ abc
Forma este normală disjunctivă perfectă.
3. Să se aducă la forma normală conjunctivă perfectă expresia
aab . Adăugând bb si aa , care nu schimbă valoarea expresiei, obţinem:
aab ↔ [a ∨ (bb)][a ∨ (bb)][b ∨ (aa )] ↔
ab ⋅ ab ⋅ ab ⋅ ab ⋅ ab ⋅ ab ↔
ab ⋅ ab ⋅ ab ⋅ ab
Aceasta este forma este normală conjunctivă perfectă.

4.8. Problema deciziei II

A doua problemă de decizie poate fi formulată în felul următor:


Să se construiască o formulă propoziţională cu n variabile Φ ( x1 ,..., xn ) care să fie
adevărată pentru anumite valori prescrise ale variabilelor.
Metodă de rezolvare.
- variabila xi se asociază cu valorile 1
- variabila xi se asociază cu valorile 0
- membrii se leagă prin conjuncţii
- se face disjuncţia conjuncţiilor
Exemplu. Să se construiască o expresie Φ ( x1 ,..., xn ) astfel încât
Φ (1,1,1) = Φ (1, 0,1) = Φ(1, 0, 0) = Φ(0,1,1) = Φ (0, 0,1) = 1 , iar restul să fie 0.
Construim expresia, punând în locul valorilor 1 o variabilă, iar în locul valorilor 0,
negţia variabilei.
Φ ( x, y, z ) = ( xyz ∨ x yz ) ∨ x y z ∨ xyz ∨ x yz
Aceasta este o formă normală disjunctivă perfectă. Urmărim acum simplificarea
formei, scoţând factorii comuni pe baza distributivităţii operaţiilor şi eliminînd apoi
membrii inutili.
Φ ( x, y, z ) = ( xyz ∨ x yz ) ∨ x y z ∨ xyz ∨ x yz ↔
xz ( y ∨ y ) ∨ x y z ∨ xz ( y ∨ y ) ↔ xz ∨ x yz ∨ xz ↔
z ( x ∨ x) ∨ x y z ↔ z ∨ ( x y ) z ↔
( z ∨ x y) ∧ ( z ∨ z ) ↔ z ∨ x y

Se vede imediat că acestă problemă îşi găseşte aplicare în siteza şi simplificarea


schemelor cu contacte. Iată mai jos rezolvarea unei astfel de probleme.

Să se găsească expresia pentru care valorile sunt date mai jos.

Φ (1, 0, 0) = Φ (1,1, 0) = Φ(0,1, 0) = Φ (0,1,1) = 1


Φ (0, 0, 0) = Φ (1,1,1) = Φ(1, 0,1) = Φ (0, 0,1) = 0
Să se scrie forma normală disjunctivă perfectă, să se simplifice şi să se reprezinte
schema care realizează funcţionarea dorită.

Rezolvare.
Urmărind valorile variabilelor pentru care funcţia este 1 pute scrie următoarea funcţie
Φ = abc ∨ abc ∨ abc ∨ abc
Aceasta este o formă normală disjunctivă.
Pentru a o simplifica procedăm astfel:
Φ = ac(b ∨ b) ∨ ab(c ∨ c) = ac ∨ ab
Putem deci reprezenta schema a cărei funcţionare esre dată de funcţia Φ .
Schema este cea din figura de mai jos

Fig. 4.1. Sinteza dipolului