Sunteți pe pagina 1din 3

3.3.

Formele canonice ale funciilor booleene


Considerm o funcie boolean de 3 variabile, definit printr-un tabel de adevr (Tabelul 3.3).
Tabelul 3.3. Exemplu de funcie logic definit prin tabelul de adevr.
Cod zecimal 0 1 2 3 4 5 6 7

ABC
000 001 010 011 100 101 110 111

F
0 1 1 0 1 0 0 1

Exist dou forme de exprimare a acestei funcii logice, pornind de la tabelul de adevr. Pentru prima form, considerm combinaiile variabilelor A, B, C pentru care funcia are valoarea 1. Considernd o combinaie dat a variabilelor pentru care valoarea funciei este 1, F se poate exprima sub forma unui produs, n care variabilele care au valoarea 0 sunt complementate, iar cele care au valoarea 1 sunt necomplementate. De exemplu, pentru combinaia A = 0, B = 0, C = 1, valoarea funciei este ABC . Un asemenea termen produs care conine o singur dat fiecare din cele n variabile ale funciei, fie sub form complementat, fie sub form necomplementat, se numete termen minimal sau minterm. Termenul are valoarea 1 numai pentru o anumit combinaie a valorilor variabilelor, iar pentru toate celelalte 2n1 combinaii are valoarea 0. Suma mintermilor corespunztoare combinaiilor pentru care valoarea funciei este 1 va avea valoarea 1 numai pentru aceste combinaii i va avea valoarea 0 pentru celelalte combinaii. Aceast sum, care este o reprezentare algebric a funciei, se numete form canonic sub form de sum de produse sau form disjunctiv normal. Pentru funcia dat ca exemplu, scriind termenii minimali pentru care F = 1 i nsumnd se obine:

F ( A, B, C ) = ABC + ABC + ABC + ABC

(3.1)

Notnd mintermii cu Pi, unde indicele i exprim echivalentul zecimal al unei combinaii a variabilelor pentru care funcia are valoarea 1, se poate scrie pentru acelai exemplu: F(A, B, C) = P1 + P2 + P4 + P7 sau F ( A, B, C ) = sau F ( A, B, C ) = (3.2) (3.3)

P , k = {1, 2, 4, 7}
i ik

(1, 2, 4, 7)

(3.4)

Pentru a doua form de exprimare a funciei, considerm combinaiile variabilelor A, B, C pentru care valoarea funciei este 0. Funcia se poate exprima sub forma unui produs de termeni, fiecare termen fiind o sum a variabilelor, n care variabilele care au valoarea 0 sunt necomplementate, iar cele care au valoarea 1 sunt complementate. De exemplu, pentru combinaia A = 0, B = 0, C = 1, termenul corespunztor este A + B + C . Acest termen are valoarea 0 numai pentru aceast combinaie (001) a variabilelor A, B, C. Un asemenea termen sum care conine o singur dat fiecare din cele n variabile ale funciei, fie sub form complementat, fie sub form necomplementat, se numete termen maximal sau maxterm. Funcia se poate exprima sub forma unui produs al termenilor maximali, numit form canonic sub form de produs de sume sau form conjunctiv normal.

Pentru funcia considerat, aceast form este:

F ( A, B, C ) = ( A + B + C ) ( A + B + C ) ( A + B + C ) ( A + B + C )
Notnd maxtermii cu Si, se poate scrie: F ( A, B, C ) = S 0 S 3 S 5 S 6 sau F ( A, B, C ) = sau F ( A, B, C ) =

(3.5)

(3.6) (3.7)

S , k {0, 3, 5, 6}
i ik

(0, 3, 5, 6)

(3.8)

Cele dou forme canonice ale unei funcii booleene sunt echivalente. Din cele prezentate anterior rezult c mintermii i maxtermii se completeaz reciproc, deci

Pi = S i sau Si = P i . Cele dou forme canonice sunt duale una alteia. O funcie boolean de n variabile conine 2n mintermi i 2n maxtermi, deoarece fiecare variabil poate avea dou valori. Astfel, o funcie boolean de dou variabile conine 4 mintermi i 4 maxtermi. Acetia sunt prezentai n Tabelul 3.4, unde coloana P conine termenii produs (mintermii), iar coloana S conine termenii sum (maxtermii).
Tabelul 3.4. Mintermii i maxtermii unei funcii booleene de dou variabile. AB
00 01 10 11

P0 = AB P1 = AB P2 = AB

S0 = A + B

S1 = A + B S2 = A + B S3 = A + B

P3 = AB

Formele canonice sunt unice. Ele se pot utiliza pentru compararea diferitelor funcii booleene i pentru simplificarea acestor funcii. Dou funcii booleene sunt echivalente dac formele lor canonice sunt identice. Dac o funcie boolean este specificat prin tabelul de adevr, formele canonice se pot scrie direct din tabel. Dac o funcie boolean este specificat sub form de expresie, pentru aducerea la forma disjunctiv normal (sub form de sume de produse) se procedeaz astfel: 1. Se aduce expresia la forma de sum de termeni produs. 2. Se examineaz termenii pe rnd i dac un produs nu este minterm, se nmulete cu sume de forma xi + x i , unde xi sunt variabilele care nu apar n produs. 3. Se aduce expresia la forma sum de produse, aplicnd distributivitatea operatorului fa de operatorul +, i se elimin termenii redundani.

Exemplul 3.1
F = A + BC = A( B + B )(C + C ) + ( A + A) BC = ABC + ABC + ABC + ABC + ABC + ABC = A BC + A BC + ABC + ABC + ABC Pentru aducerea unei expresii la forma conjunctiv normal (sub form de produs de sume) se procedeaz astfel: 1. Se aduce expresia la forma de produs de termeni sum.

2. Se examineaz termenii pe rnd i dac un termen nu este maxterm, se adun produse de forma xi x i , unde xi sunt variabilele care nu apar n sum. 3. Se aduce expresia la forma produs de sume, aplicnd distributivitatea operatorului + fa de operatorul , i se elimin termenii redundani.

Exemplul 3.2
F = A( B + C ) = ( A + B B + C C )( A A + B + C ) = ( A + B B + C )( A + B B + C )( A A + B + C ) = ( A + B + C )( A + B + C )( A + B + C )( A + B + C )( A + B + C )( A + B + C ) = ( A + B + C )( A + B + C )( A + B + C )( A + B + C )( A + B + C )
Trecerea de la o form canonic la duala sa se poate realiza n dou moduri: Pe baza tabelului de adevr; Prin aplicarea succesiv a teoremei dublei negaii i a teoremelor lui De Morgan.

Exemplul 3.3
F = ABC + ABC + ABC + ABC + ABC = F
innd cont de mintermii care apar n expresia funciei F, aceasta se poate scrie sub forma: F = P0 + P + P2 + P3 + P7 1 Complementul funciei F se poate scrie innd cont de mintermii care nu apar n expresia acesteia:

F = P4 + P5 + P6
sau: F = ABC + A BC + ABC Complementnd din nou, se obine funcia iniial:

F = ABC + A BC + ABC = ABC A BC ABC = ( A + B + C )( A + B + C )( A + B + C )


sau F = S 4 S5 S 6

S-ar putea să vă placă și