Sunteți pe pagina 1din 49

CURS PDN

Algebra Booleana

1. Elemente de algebra booleana







Algebra Boole a fost conceput de ctre matematicianul englez George


Boole (1815 1864) ca o metod simbolic de tratare a funciilor logicii
formale. Abia n 1938, Claude Shannon avea s o utilizeze pentru prima
oar la analiza circuitelor de comutaie.
Algebra Boole, cunoscut i sub denumirea de Algebra logic sau
Calculul propoziional, opereaz cu propoziii despre care se poate
afirma c sunt adevrate sau false. Fiecrei propoziii i se poate asocia o
variabil (numit variabil logic sau binar) care ia valoarea 1 cnd
propoziia este adevrat i 0 cnd propoziia este fals.
Propoziiile pot fi simple sau compuse.
Propoziiile compuse sunt cele a cror valoare de adevr depinde de
valoarea de adevr a propoziiilor simple din care se compun i de tipul
legturilor logice dintre acestea.




Legturile logice (operaiile) de baz sunt prezentate n tab. 1.1.


Se observ c denumirile i simbolurile operaiilor logice difer de la un
domeniu la altul. n cele ce urmeaz, vom utiliza aproape exclusiv
notaiile din matematic




Propoziia compus poart numele de funcie logic sau funcie binar i


ia valoarea logic 1 cnd este adevrat i 0 cnd este fals.
Funcia logic este complet definit cu ajutorul unui tabel finit (tabel de
adevr) avnd n primele coloane valorile logice ale propoziiilor simple
(considerate independente) i n ultima coloan - valorile logice ale
funciei, obinute prin aplicarea operaiilor logice asupra valorilor logice
corespunztoare ale propoziiilor simple.

1.1. Funcii logice elementare




Pornind de la expresia general a unei funcii de n variabile binare,

observm c numrul total de termeni care se pot construi cu ajutorul


celor n variabile binare este m = 2n, iar numrul total de funcii care
rezult combinnd ntre ei cei m termeni este:

Particulariznd relaiile (1.2) pentru n = 0, 1 i 2 variabile, obinem:


pentru n = 0, Nf0 = 2 funcii i anume y1 = 0 i y2 = 1;
pentru n = 1, deci y = f (x), Nf1 = 4 funcii i anume y1 = 0, y2 = 1, y3 = x,
y4 = ;
pentru n = 2, deci y = f (x1, x2), se obin Nf2 = 16 funcii pe care le
prezentm n tabelul 1.2.

Dei tabelul 1.2 este sugestiv prin el nsui, prezentm n continuare


unele observaii i comentarii utile:
- ordinea x2x1 a variabilelor din tabelele de adevr decurge din modul de
scriere binar a unui numr zecimal:
unde xn este - dup cum se observ - bitul cel mai semnificativ, iar x1 bitul cel mai puin semnificativ.

Observatii:
-

cele 16 funcii apar n perechi (funcia i inversa ei);


y1 i y2, nu depind de x1 i x2, deci nu sunt funcii ci constante;
y3 (y5) i y4 (y6), nu depind de x2 (x1), deci nu sunt funcii de dou variabile, ci doar de una
singur;
din tabelele de adevr ale funciilor y7 i y8, care corespund circuitelor I (AND), respectiv INU (NAND), observm c y7=1 (y8=0), numai dac I x1 I x2 sunt 1 logic, deci I
ntreruptorul X1 I ntreruptorul X2 sunt acionate;
din tabelele de adevr ale funciilor y9 i y10, care corespund circuitelor SAU (OR), respectiv
SAU-NU (NOR), observm c y9=1 (y10=0), numai dac SAU x1, SAU x2, SAU ambele sunt 1
logic, deci SAU ntreruptorul X1, SAU X2, SAU ambele sunt acionate;
y11=1, numai atunci cnd valorile logice ale variabilelor de intrare COINCID, deci
ntreruptoarele X1 i X2 sunt fie ambele neacionate, fie ambele acionate;
y12=1, numai atunci cnd SAU x1, SAU x2, EXCLUSIV ambele sunt 1 logic;
y13=0 (y14=1), numai dac x1=1 i x2=0, deci numai dac X1 este acionat i X2 este neacionat;
y15=0 (y16=1), numai dac x1=0 i x2=1, deci numai dac X1 este neacionat i X2 este acionat.

Exprimarea matematic a unei funcii logice necesit introducerea axiomelor i a


regulilor de calcul ale algebrei Boole.

1.2. Axiomele algebrei Boole


Fie o mulime M compus din n elemente (x1, x2, ..., xn) i operaiile "
(produs logic) i "+" (sum logic) deja prezentate.
Spunem c mulimea M formeaz o algebr Boole dac:
1. Mulimea M conine cel puin dou elemente distincte:
2. Pentru orice xi, xj M, avem:
3. Operaiile "" i "+" prezint urmtoarele proprieti:
a) comutativitatea:
b) asociativitatea:
c) distributivitatea (uneia fa de cealalt):

4. Ambele operaii admit cte un "element neutru" cu proprietatea:


5. Pentru orice x M, va exista un element (non x) cu proprietile:

Relaiile 1.14 i 1.15 poart numele de principiul contradiciei, respectiv principiul terului exclus i se enun astfel:
Principiul contradiciei: o propoziie nu poate fi i adevrat i fals n
acelai timp.
Principiul terului exclus: o propoziie este sau adevrat, sau fals, o a
treia posibilitate fiind exclus.

1.3 Regulile de calcul ale algebrei


Boole
Pornind de la axiome, se deduc urmtoarele teoreme care devin reguli
de calcul n cadrul algebrei Boole:
1. Principiul dublei negaii:
2. Idempotena:

3. Absorbia:
4. Legile elementelor neutre:

5. Formulele lui De Morgan:

1.4. Exprimarea algebric a


funciilor booleene
O funcie logic de n variabile independente, y = f (x1, x2, ..., xn), poate fi
exprimat algebric sub form canonic (disjunctiv sau conjunctiv), sub
form elementar (disjunctiv sau conjunctiv) sau sub form
neelementar.

1.4.1. Forma canonic


Forma canonic presupune operarea cu termeni canonici. Prin termen
canonic nelegem un termen n care sunt prezente toate variabilele
independente, luate sub form direct sau negat.
1.4.1.1. Forma canonic disjunctiv
n cadrul formei canonice disjunctive (FCD) termenii sunt legai
ntre ei prin disjuncii, iar variabilele - n cadrul fiecrui termen,
numit "constituent al unitii" - prin conjuncii.

Se observ c exist
funcii de dou variabile, sau, n general,
,
unde s-a notat cu n numrul variabilelor de intrare.
Forma canonic disjunctiv general a unei funcii de dou variabile este
deci:
sau comprimat:

Pentru o funcie de n variabile, FCD este:

1.4.1.2. Forma canonic conjunctiv


n cadrul formei canonice conjunctive (FCC), termenii sunt legai ntre ei
prin conjuncii, iar variabilele - n cadrul fiecrui termen, numit
"constituent al lui zero" - prin disjuncii.

Pentru o funcie de n variabile, FCC este:

1.4.2. Forma elementar


Forma elementar (FE) are n alctuire cel puin un termen elementar.
Prin termen elementar nelegem un termen care nu conine toate cele n
variabile ale funciei, deci care nu este canonic.
La forma elementar se ajunge prin minimizare.

1.4.3. Forma neelementar


Funciile logice scrise sub form canonic sau elementar (ambele,
disjunctive sau conjunctive) pot fi aduse la forma neelementar (FNE)
dac exist variabile sau grupuri de variabile comune mai multor
termeni.
Comparativ cu formele din care provin, formele neelementare se pot
implementa cu circuite logice avnd un numr mai mic de intrri, dar
structurate pe mai multe niveluri logice.

1.5. Reprezentarea fct. booleene


cu diagramele Veitch - Karnaugh



Un alt mod de reprezentare a funciilor booleene n afara tabelului de


adevr (TA) l constituie diagrama Veitch - Karnaugh (VK).
Relund exemplul funciei de dou variabile I (AND) al crei tabel de
adevr este tab. 1.5, observm corespondena celor patru combinaii
logice ale variabilelor x1 i x2 cu vrfurile unui ptrat de latur l = 1,
desenat n planul (x1, x2), fig. 1.4.
Este uor de sesizat faptul c orice sens de deplasare am alege pe
conturul ptratului din fig. 1.4, coordonatele unui vrf difer de
coordonatele unui vrf vecin prin valoarea logic a unui singur bit.
Fig. 1.4. Un model de ordonare ciclic a
combinaiilor logice ale celor
dou variabile de intrare.

Rearanjnd liniile tabelului de adevr (tab. 1.5) dup modelul sugerat n


fig. 1.4, obinem tab. 1.6 n care oricare dou linii vecine, inclusiv prima
cu ultima, difer ntre ele prin valoarea logic a unei singure variabile.
Tab. 1.5. Tabelul de adevr al funciei
I (AND) de dou variabile

Tab. 1.6. Explicativ pentru construirea


codului binar reflectat al unei
funcii de dou variabile




Examinnd primele dou coloane ale tab. 1.6, constatm c ele se pot
obine prin introducerea unei "oglinzi" dup 21 = 2 linii pentru coloana x1
i dup 22 = 4 linii pentru coloana x2.
Desigur, reflectarea n oglind a valorilor logice ale variabilei x2 nu mai
are loc deoarece numrul de linii ale TA al unei funcii de dou variabile
este 22 = 4.
Codul binar reflectat obinut n tab. 1.6 mai este cunoscut i sub
denumirea de cod ciclic sau cod Gray.
Prezentnd tab. 1.6 ntr-o form n care valorile logice alocate
variabilelor x1 i x2 constituie adresele celor 22 = 4 locaii n care funcia
ia valori, obinem diagrama VK a funciei AND de dou variabile, fig. 1.5.
Faptul c diagrama VK are caracter ciclic este evideniat de prima i
ultima coloan care pot fi considerate vecine deoarece difer ntre ele
prin valoarea logic a unui singur bit de adres (00 - 10).
Fig. 1.5. Diagrama VK a funciei
I (AND) de dou variabile

Diagrama VK din fig. 1.5 poate fi deci privit ca un cilindru obinut prin
curbarea figurii i suprapunerea laturilor din stnga i din dreapta
(ngroate n desen), devenite generatoare.
n cazul unei funcii (AND) de trei variabile, liniile tabelului de adevr
(tab. 1.7) pot fi puse n coresponden cu coordonatele vrfurilor unui
cub, fig. 1.6.

Tab. 1.7. Tabelul de adevr al funciei


I (AND) de 3 variabile

Fig. 1.6. Un model de ordonare


ciclic a combinaiilor logice ale
celor 3 variabile de intrare

Observm i n acest caz, c diferena coordonatelor a dou vrfuri


vecine ale cubului este - orice drum am alege - de un singur bit, fapt care
ne sugereaz o rearanjare a tab. 1.7 pe principiul codului binar reflectat,
tab. 1.8.

Tab. 1.8. Explicativ pentru construirea codului binar


reflectat al unei funcii de 3 variabile






Dispunerea "oglinzilor" n tab. 1.8 se face la fiecare 21 = 2 locaii n coloana lui x1,
la fiecare 22 = 4 locaii n coloana lui x2 i la fiecare 23 = 8 locaii n coloana lui x3.
Diagrama VK corespunztoare tabelului 1.8 poate fi prezentat de maniera din fig.
1.7 a sau b.
Ambele prezentri permit evidenierea ciclicitii prin curbarea figurilor,
suprapunerea laturilor ngroate i transformarea dreptunghiului n cilindru.
n fig. 1.7 b au fost marcate numai zonele n care variabilele iau valoarea logic 1.

Fig. 1.7. Dou modaliti de reprezentare


a diagramei VK a unei funcii de 3 variabile

Pentru funcii de patru variabile diagrama VK poate fi reprezentat ca n fig.


1.8 a sau b.
Fig. 1.8. Dou modaliti de
reprezentare a diagramei
VK a unei funcii de 4 variabile

n ambele cazuri este respectat principiul ciclitii, ptratul care reprezint


diagrama VK putnd fi transformat n cilindru att n cazul n care se suprapun
laturile verticale, ct i n cazul n care se suprapun laturile orizontale.
ntr-adevr, locaia 0000 este vecin att cu locaia 0010 ct i cu 1000.
Pentru funcii de cinci variabile se utilizeaz dou tabele alturate de tipul celui din
fig. 1.8.a (sau b), unul pentru x5 i altul pentru 5.
Pentru funcii de mai mult de cinci variabile, utilizarea diagramelor VK devine
anevoioas i este preferabil s se recurg la alte metode, algebrice sau tabelare.

1.6. Minimizarea funciilor logice




Cu ct o funcie logic are o expresie mai simpl (conine mai puini


termeni, iar termenii - mai puine variabile), cu att circuitul logic rezultat
prin implementarea funciei este mai simplu (conine mai puine pori
logice, porile avnd un numr mai mic de intrri), fiabilitatea sa crete,
iar preul de cost scade. Suntem, prin urmare, deosebit de interesai n
simplificarea (minimizarea) formei analitice a unei funcii booleene,
avnd astfel garania obinerii unui circuit logic mai simplu i mai
performant.
Operaiunea de minimizare poate fi aplicat funciilor logice exprimate
sub form canonic (disjunctiv sau conjunctiv), precum i funciilor
logice incomplet definite.
Minimizarea unei funcii logice poate fi fcut fie cu ajutorul diagramelor
VK, fie prin metode analitice.

1.6.1. Minimizarea cu ajutorul diagramelor VK




Minimizarea funciilor logice cu ajutorul diagramelor VK const n


parcurgerea urmtoarelor etape:

A. Alctuirea diagramei VK i completarea locaiilor acesteia cu valorile


logice corespunztoare termenilor funciei.
 Astfel, n cazul unei exprimri sub forma canonic disjunctiv (FCD) a
funciei, fiecrui termen i corespunde o locaie care conine "1" logic, iar
n cazul exprimrii sub form canonic conjunctiv (FCC) - o locaie care
conine "0" logic.
 Evident, att n cazul FCD ct i n cazul FCC, locaiile crora nu le
corespunde nici un termen canonic vor primi valori logice complementare
celor menionate mai sus, iar cele ce corespund unor stri nedeterminate
(cazul funciilor incomplet definite) se vor marca cu "*" i vor fi
interpretate, dup caz, ca "0" sau "1" logic, n procesul de minimizare.
B. Minimizarea propriu-zis
 Minimizarea poate fi de tip disjunctiv sau conjunctiv n funcie de
coninutul "1" sau "0" logic al locaiilor cu care se opereaz.
 Ea const din dou etape i anume:

B.1. Gruparea locaiilor vecine ce conin "1" ("0") logic n grupe de cte 20,
21, ..., 2k locaii.
 innd seama de faptul c oricare dou locaii vecine din diagrama VK
difer ntre ele prin valoarea logic a unei singure variabile, gruparea a 2
(21) locaii vecine care au acelai coninut conduce la eliminarea acelei
variabile care, nregistrnd o variaie logic de la o locaie la alta, nu
poate caracteriza grupul. Prin urmare, n cazul unei funcii de n variabile,
doi termeni canonici coninnd cte n variabile fiecare i care corespund
celor dou locaii vecine grupate, vor fi nlocuii cu un singur termen
format din n-1 variabile;
 Generaliznd, gruparea a 2k locaii vecine care au acelai coninut i care
corespund celor 2k termeni canonici formai din cte n variabile fiecare,
conduce la eliminarea a k variabile i, prin urmare, la obinerea unui
singur termen format din n-k variabile.

La realizarea gruprilor de locaii vecine ce conin "1" ("0") logic, este


necesar respectarea urmtoarelor reguli:
r1) fiecare locaie din diagrama VK care prezint interes din punct
de vedere al tipului de minimizare utilizat, poate face parte din orict de
multe grupri, dar cel puin din una;
r2) cel mai avansat grad de simplificare se obine dac locaiile ce
conin "1" ("0") logic din diagrama VK formeaz un numr minim de
grupuri, fiecare grup coninnd la rndul su un numr ct mai mare de
locaii.

B.2. Scrierea formei minimale a funciei


 Forma minimal disjunctiv (FMD) sau conjunctiv (FMC) conine atia
termeni cte grupri de locaii au fost realizate. Locaiilor izolate, care nu
au putut fi cuprinse n nici o grupare, le vor corespunde termenii canonici
iniiali din care au provenit. Grupurilor de 2k locaii le vor corespunde
termeni elementari formai din cte n-k variabile care caracterizeaz
grupul.

n cadrul FMD (FMC), termenii canonici i/sau elementari, vor fi legai


ntre ei prin disjuncii (conjuncii) iar variabilele n cadrul fiecrui termen
se vor afla n conjuncie (disjuncie) i vor fi luate direct sau negat astfel
nct termenul respectiv s devin un constituent al unitii (al lui zero).

Exemplu:
Considerm o funcie logic
de 3 variabile dat fie prin
tabelul de adevr (tab. 1.9),
fie prin FCD (rel 1.40) sau
FCC (rel. 1.41):

Indiferent de la care din cele 3 forme pornim, se obine aceeai diagram


VK din fig. 1.9, n care am notat cu P1, P2, ..., P5 locaiile ce conin "1"
logic i corespund termenilor din FCD, iar cu S1, S2, S3 locaiile ce conin
"0" logic i corespund termenilor din FCC.
Fig. 1.9. Diagrama VK a funciei
din exemplul considerat

e1) Obinerea FMD


Grupnd, spre exemplu, P1P2, observm c gruparea a 21 = 2 locaii va
trebui s conduc la eliminarea unei singure variabile de intrare din cele
3: x3 = 0 - caracterizeaz ambele locaii i se reine sub forma ; x2 = 1
- caracterizeaz ambele locaii i se reine sub forma x2; n sfrit, x1 este
1 pentru locaia P1 i 0 pentru locaia P2, deci x1 variaz n cadrul
grupului de locaii P1P2 i dispare. Termenul elementar care
caracterizeaz complet grupul P1P2 este
i se trece n fig. 1.9.
Procednd analog cu grupul P4P5 se obine termenul elementar x3x2, iar
pentru grupul P3P4, termenul x3x1.
Relaia 1.40 devine, prin urmare:

dar aceasta nu reprezint o form minimal!

ntr-adevr, conform regulii r2, se poate obine un grad i mai ridicat de


simplificare a funciei, grupnd mpreun locaiile P1P2P4P5. Dup cum
rezult din consideraiile expuse la punctul B.1, gruparea a 22 = 4 locaii
va conduce la eliminarea a dou din cele 3 variabile. Termenul
elementar ce va corespunde grupului P1P2P4P5 se obine astfel: x3 este 0
pentru P1P2 i 1 pentru P4P5, deci variaz n cadrul grupului de 4 locaii i
dispare; x2 este 1 pentru P1P4 i tot 1 pentru P2P5, deci nu variaz i se
reine sub forma x2; n sfrit, x1 este 1 pentru grupul P1P4 i 0 pentru
P2P5, deci variaz n cadrul grupului de 4 locaii i dispare. Termenul
elementar rezultat este x2, iar forma minimal disjunctiv a funciei (1.40)
este:

e2) Obinerea FMC


Pentru scrierea FMC, se grupeaz S1S2 i S1S3.
Grupul de locaii S1S2 este caracterizat de x3 = 0 i x2 = 0. Variabila x1
variaz n cadrul grupului i, necaracterizndu-l, dispare. Termenul
elementar rmas este (x3 + x2).

Pentru grupul de locaii S1S3 se elimin x3 care variaz n cadrul grupului


i rmne termenul elementar (x2 + x1).
Forma minimal conjunctiv a funciei (1.41) este, prin urmare:
Comparnd relaiile 1.40 cu 1.43 sau 1.41 cu 1.44, minimizarea formelor
algebrice ale funciei este evident. Totui, pentru eliminarea oricror
semne de ntrebare, implementm n fig. 1.10 i fig. 1.11 formele
canonice i cele minimale.
Simplificarea structurilor logice prin minimizare este acum absolut
vizibil.

Observaii:
1. Cele dou forme minimale (rel. 1.43 i 1.44) sunt convergente.
ntr-adevr, prelucrnd relaia (1.44) obinem:

2. Forma minimal (disjunctiv sau conjunctiv) nu este unic, dei ea


conine un anumit numr (minim) de termeni, fiecare dintre acetia fiind
constituit dintr-un anumit numr (minim) de variabile de intrare. Prin
urmare, se pot obine dou sau mai multe forme "la fel de minimale", dar
niciodat o form "mai minimal" dect alta!

Considernd, pentru exemplificare, diagrama VK din fig. 1.12, constatm


c gruprile P1P3 i P2P5 sunt "obligatorii", n timp ce P4 se poate grupa
fie cu P3, fie cu P5, n ambele variante rezultnd forme "la fel de
minimale".

Fig. 1.12. Explicativ pentru obinerea


unor forme "la fel de minimale"

1.6.2. Minimizarea prin metoda analitic


Minimizarea prin metoda analitic are acelai domeniu de aplicabilitate
ca i cea realizat cu ajutorul diagramei VK.
 Minimizarea de tip disjunctiv pornete de la FCD n care se grupeaz
termenii care difer prin valoarea logic a unei singure variabile
(proprietatea de distributivitate), dup care se elimin variabila care este
n disjuncie cu negata sa (principiul terului exclus).
Exemplu:
Relund exemplul de la paragr. 1.6.1, rel. 1.40, etapele minimizrii prin
metoda analitic sunt:
- gruparea perechilor de termeni P1P2, P3P4 i P4P5, dnd factor comun
grupurile de variabile comune; observm c termenul P4 a fost "prins" n
dou grupri, ceeace echivaleaz cu scrierea sa de dou ori, fapt permis de
principiul idempotenei;


- eliminarea parantezelor pe baza principiului terului exclus;


- gruparea termenilor elementari P12 P45, dnd factor comun variabila
comun x2;
- eliminarea parantezelor (principiul terului exclus);
- scrierea FMD.
Schematic, etapele minimizrii sunt prezentate mai jos:

Minimizarea de tip conjunctiv este similar celei de tip disjunctiv cu


urmtoarele deosebiri: se pornete de la FCC n care se fac gruprile
respective, dup care se elimin variabila care se afl n conjuncie cu
negata sa (principiul contradiciei).
Prezentm, pe acelai exemplu, etapele minimizrii de tip conjunctiv:

1.6.3. Minimizarea funciilor incomplet definite




n cazul funciilor incomplet definite, vom asocia n diagrama VK simbolul


"*" pentru acele puncte din domeniul de definiie n care funcia nu este
definit.
n timpul minimizrii funciei, simbolului "*" i se atribuie valoarea logic
"0" sau "1", dup cum dicteaz interesele minimizrii.

1.6.4. Concluzii





Dei minimizarea prin metoda analitic urmeaz practic aceiai pai cu


minimizarea bazat pe diagrama VK, ea este mult mai dificil dearece
gruprile de termeni sunt mai greu de observat.
Minimizarea bazat pe diagramele VK devine complicat pentru mai mult
de 5 variabile de intrare.
ntruct FMD i FMC sunt convergente, este indicat s se utilizeze acea
variant de minimizare care conduce la o form mai simpl. Adeseori se
opteaz ns pentru varianta implementabil cu circuitele logice
disponibile la utilizator: FMC n cazul n care se dispune n majoritate de
pori NOR i FMD n cazul n care se dispune n majoritate de pori
NAND.

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