Sunteți pe pagina 1din 14

Platformdeelearningicurriculecontent

pentrunvmntulsuperiortehnic

ProiectareaLogic

02.Fundamentelematematicealeproiectriilogice
Proiectarea Logic

FUNDAMENTELE MATEMATICE ALE PROIECTRII LOGICE




n anul 1854 apare la New York, n editura Dover Publication, lucrarea An Investigation of the
Laws of Thought a matematicianului i logicianului englez George Boole. Aceast lucrare
conine introducerea unei algebre (o structur algebric) intenionat s descrie relaiile
logice complexe ale limbajului natural.
Focalizarea acestei lucrri asupra limbajului natural i relaiilor logice complexe ale acestuia
este deosebit de important dac se privete aceast abordare prin prisma translatrii unei
descrieri, n limbaj natural, a funcionrii unui circuit (bloc funcional) oarecare, ntr-o
descriere riguroas, ne-ambigu i echivalent funcional acesteia.
n linii mari activitatea de proiectare actual n domeniul circuitelor digitale este compus,
ntre altele, dintr-o translatare de acest fel. Termenii au evoluat n complexitate dar ideea este,
n principiu, aceeai.

Exemplul 1. Se consider urmtoarea descriere verbal a unui bloc simplu de
comand al uii unei sli:
- ua este deschis atta timp ct exist n imediata sa proximitate (aproximativ 50
cm de-o parte i de alta a uii) o persoan i rmne deschis pentru un interval,
relativ scurt, de timp t chiar i dup plecarea oricrei persoane din zona de
proximitate.
Se dorete o scriere concis exact, n termenii algebrei comutatorilor, a acestei
descrieri (fcut n termenii limbajului natural) a funcionrii uii.
Fiecare element relevant din descrierea n limbaj natural va fi notat printr-o variabil
care poate lua doar dou valori 0 i 1.
Ua este deschis. Se noteaz prin variabila U. Ct vreme ua este deschis, U =
1, iar cnd ua este nchis U = 0. nchiderea i deschiderea uii are loc n urma unei
acionri, printr-un motor electric de exemplu.
Exist o persoan n zona de proximitate. Determinarea unei persoane n zona de
proximitate se poate realiza printr-un senzor cu traductor inductiv, fotoelectric etc.
Prezena unei persoane n zona de proximitate se noteaz prin variabila P. Ori de
cte ori este o persoana n apropierea uii P = 1, altfel P = 0.
Temporizatorul este activ pentru durata prestabilit t. Se noteaz prin T. Atunci cnd
temporizatorul este activ T = 1, altfel T = 0. Temporizatorul este activat de ndat ce
este sesizat o persoan n zona de proximitate. Activarea temporizatorului se mai
numete i startarea acestuia.
Prezena unei persoane n zona de proximitate face ca ua s se deschid, pe de-o
parte i activeaz temporizatorul, pe de-alt parte. Apariia unei persoane, n zona de
proximitate, pe durata temporizrii are ca efect numai reactivarea temporizrii, ua
fiind deja deschis.
Se poate deduce uor c translatarea descrierii iniiale poate fi fcut succint astfel:
U = SAU(P,T).
Sintetic funcionarea uii poate fi exprimat, utiliznd expresia anterioar cu blocul
funcional SAU, astfel: ua este deschis dac este sesizat, n apropiere, o persoan
sau este activ temporizatorul.
Limbajul natural are, spre deosebire de cel matematic, un anumit grad de ambiguitate.
Enumerri de forma Marcajul poate fi alb i rou sau galben, nu au o ntotdeauna
preceden bine stabilit a operatorilor fundamentali. Operatorii fundamentali au
particulariti care pot depinde de context, n limbajul natural. Astfel, se consider
fraza Colegul meu este mbrcat cu o jachet roie sau cu un sacou verde, spre
exemplu. Aceast fraz are dou dependene n raport cu care este adevrat. Este
adevrat atunci cnd colegul poart o jachet roie sau cnd poart un sacou verde
dar, ambele situaii nu pot fi simultan satisfcute, evident. Deosebirile dintre limbajul
1
Proiectarea Logic

natural i cel matematic fac din procesul de translatare al acestora, n proiectarea
sistemelor i circuitelor digitale, o activitate solicitant.


Modul cel mai uzitat de introducere al algebrei Booleene face apel la setul de postulate
introdus de Huntington n anul 1904. Primul postulat poate fi considerat ca stabilind sistemul
aflat n studiu.

I. Exist o mulime K de obiecte sau elemente, satisfcnd o relaie de echivalen
notat prin =, ndeplinind principiul substituiei.

Prin substituie se nelege c relaia a = b ntre elementele a i b implic faptul c elementul a
poate fi substituit prin elementul b n orice expresie care conine elementul a fr s fie
afectat validitatea expresiei respective.

IIa. Este definit o lege de compoziie + astfel nct expresia a + b este n K, a, b
K.
IIb. Este definit o lege de compoziie * astfel nct expresia a * b (abreviat ab) este n
K, a, b K.
IIIa. Exist un element 0 K, astfel nct a + 0 = a, a K.
IIIb. Exist un element 1 K, astfel nct a * 1 = a, a K.
IVa. a + b = b + a, comutativitatea legii +.
IVb. a * b = b * a, comutativitatea legii *.
Va. a + (b * c) = (a + b) * (a + c), distributivitatea + fa de *.
Vb. a * (b + c) = (a * b) + (a * c), distributivitatea * fa de +.
VI. a K, a K, astfel nct
a * a = 0, i
a + a = 1.
x,y K, astfel nct x y.

Se poate remarca faptul c nu s-a precizat nimic n legtur cu numrul sau tipul elementelor
care alctuiesc mulimea K. Exist mai multe mulimi care satisfac aceste postulate. Cteva
dintre acestea vor fi exemplificate n continuare.

Pentru ca un set de postulate s fie valid acesta trebuie s fie consistent. Consistena revine la
demonstrarea faptului c nici unul dintre postulate nu contrazice oricare dintre celelalte
postulate din setul considerat. Verificarea consistenei se poate face prin examinarea fiecrui
postulat, pentru a demonstra c nici un postulat nu contravine oricrui grup posibil de
postulate, dar abordarea este extrem de laborioas. Exist, ns, o alte cale mult mai simpl,
pentru verificarea consistenei. Pentru aceasta este necesar s se gseasc doar un singur
exemplu de algebr boolean despre care se tie, n mod independent, c este consistent.
Dac o astfel de structur algebric satisface toate postulatele lui Huntington, atunci
postulatele (n sine) sunt consistente.

Cea mai simpl algebr boolean const din numai dou elemente, notate prin 1 i 0, definite
c satisfac:

1 = 0, 0 = 1
1 * 1 = 1 + 1 = 1 + 0 = 0 + 1 = 1,
i
2
Proiectarea Logic

0 + 0 = 0 * 0 = 1 * 0 = 0 * 1 = 0.

Se remarc faptul c postulatele I, II, III i VII sunt satisfcute prin definiie. Satisfacerea
legilor de comutativitate (IVa i IVb) este evident iar verificarea legilor de distributivitate
(Va i Vb) necesit doar alctuirea listelor de valori de-o parte i de alta a ecuaiilor, pentru
toate combinaiile de valori ale variabilelor a, b i c. Postulatul VI este imediat verificabil
atribuind valori (0 i 1) variabilei a.

O alt cerin important este independena postulatelor. Aceasta revine la verificarea faptului
c nici unul dintre postulate nu poate fi dedus din celelalte. Postulatele, aa cum au fost
exprimate sunt independente. Aceast verificare este mult mai complex, si nu este esenial
pentru scopul acestei abordri. Pe de alt parte, nu este necesar abordarea algebrelor Boole-
ene printr-un set independent de axiome. Exist multe abordri ale subiectului care includ
ntre axiome anumite teoreme, din raiuni de simplificare a modului de prezentare.

Se poate trage o prim concluzie pe marginea aparatului formal introdus.
O algebr Boolean se definete, n general, peste o mulime K B {0,1} nzestrat cu
dou operaii, notate aditiv + i respectiv multiplicativ *, care satisfac legile de comutativitate
i distributivitate. Mulimea B conine ntotdeauna cele dou elemente notate 0 i 1. Acestea
sunt elementele neutre ale operatorului aditiv i, respectiv, multiplicativ:
a* 1 = a, a + 0 = a ,aB.
n fine, oricare element a din B are un complement, notat n cele ce urmeaz prin a. Relaiile
importante dintre un element i complementul su sunt enunate astfel:
a * a = 0 i a + a = 1, aB.

Este important, de reinut, c ambele elemente ale mulimii B nu trebuie privite ca fiind
numere, sunt doar notate prin dou numere. La fel de bine se pot utiliza alte dou simboluri
distincte, dar tradiional se utilizeaz 0 i 1.
Aceste simboluri corespund, din punct de vedere tehnologic, unor stri distincte ale unor
dispozitive fizice care implementeaz operatorii acestor algebre.

Se poate remarca cu uurin faptul c algebra Boolean difer, ca structur algebric, de
algebra obinuit prin distributivitatea ambilor operatori, pe de-o parte, i prin apariia
complementului, pe de-alt parte.

O privire mai atent asupra postulatelor lui Huntington relev faptul c anumite postulate sunt
grupate n perechi iar fiecare postulat dintr-o pereche poate fi obinut din cellalt postulat prin
interschimbarea simbolurilor 0 i 1, ca i a operatorilor + i *. Astfel se poate remarca:
a + 0 = a, prin interschimbarea amintit devine a * 1 = a, iar
a + (b * c) = (a + b) * (a + c) se transform n a * (b + c) = (a * b) + (a * c).

Oricare teorem care poate fi demonstrat n algebra boolean, are o teorem dual care este,
de asemenea, adevrat. Cu alte cuvinte, fiecare pas din demonstraia unei teoreme poate fi
nlocuit prin dualul acestuia, producnd demonstraia teoremei duale.

3
Proiectarea Logic

Teoremele fundamentale ale algebrei Booleene

n continuare sunt enunate principalele teoreme, cele care permit o manipulare convenabil a
algebrei Booleene. Unele dintre teoreme sun numite leme deoarece acestea au un rol mai
limitat de aplicabilitate, furniznd relaii utilizate n construcia demonstraiei unor rezultate
cu grad ridicat de generalitate, teoremele.
Att lemele ct i teoremele vor fi enunate dar vor fi demonstrate numai o parte (cele mai
semnificative) demonstraiile celorlalte leme i teoreme fiind lsate ca exerciii.

Lema 1
Elementele 0 i 1 sunt unice.

Demonstraie: se presupune c exist dou elemente 0, notate prin 0
1
i 0
2
. n baza
postulatului IIIa, pentru orice elemente w
1
i w
2
din K au loc relaiile:
w
1
+ 0
1
= w
1
i w
2
+ 0
2
= w
2
.
Acum fie w
1
= 0
2
i w
2
= 0
1
:
0
2
+ 0
1
= 0
2
i 0
1
+ 0
2
= 0
1
.
Utiliznd comutativitatea operatorului + i proprietatea de tranzitivitate a egalitii, rezult:
0
1
= 0
2
.
Prin dualitate se poate demonstra i unicitatea elementului 1.

Lema 2
Pentru orice element w

K au loc relaiile:
w + w = w i
w * w = w.
Lema 3
Pentru orice element w

K au loc relaiile:
w + 1 = 1 i
w * 0 = 0.
Lema 4
Elementele 0 i 1 sunt distincte iar 1 = 0.

Lema 5
Pentru orice elemente w
1
i w
2
din K au loc relaiile:
w
1
+ w
1
w
2
= w
1
, i
w
1
(w
1
+ w
2
) = w
1
.
Lema 6
Complementul unui element w K, w, este unic.

Lema 7
Pentru orice element w

K, (w) = w.

Lema 8
Oricare ar fi elementele u, v i w K, are loc relaia:
u * ( (u + v) + w) = ( (u + v) + w) * u.
Teorema 1
Oricare ar fi elementele u, v i w K, au loc relaiile:
u + (v + w) = (u + v) + w, i
u * (v * w) = (u * v) * w.
4
Proiectarea Logic

Teorema 2
Pentru orice pereche de elemente u i v K, se verific relaiile:
u + uv = u + v i
u(u + v) = uv.
Teorema 3
Urmtoarele dou relaii sunt adevrate oricare ar fi elementele u i v K:
(u + v) = u * v i
(u * v) = u + v.


Exist i o definiie alternativ a algebrelor Booleene. Aceasta este utilizat, ntre altele,
pentru construcii ale algebrelor Booleene definite ca latice complementate distributive.
Acest mod de construcie leag algebrele Booleene mai strns de alte structuri matematice.

Definiia alternativ este orientat spre o abordare prin teoria mulimilor (se va vedea, n
continuare, motivaia). Dac S este o mulime de n elemente, atunci exist n
2
perechi de
elemente (u,v) S
2
(produsul cartezian S x S se noteaz prin S
2
).

Definiia 1
O relaie R definit peste S
2
este o submulime din S
2
, iar scrierea (u,v) R S
2

este echivalent scrierii u R v.

Exist dou categorii de relaii care sunt de un interes particular n acest context:
Relaiile de echivalen, i
Relaiile de ordonare parial.

Definiia 2
O relaie de echivalen este reflexiv, simetric i tranzitiv.
Reflexivitatea: u R u;
Simetria: daca u R v, atunci v R u.
Tranzitivitatea: dac u R v i v R w, atunci u R w.

Introducerea relaiei de ordine parial conduce la o latice.

Definiia 3
O ordonare parial peste S este o relaie care satisface urmtoarele proprieti
pentru oricare trei elemente u, v, w S:
Reflexivitatea: u u;
Antisimetria: dac u v i v u atunci u = v;
Tranzitivitatea: dac u v i v w, atunci u w.


Dac P este o submulime, a mulimii parial ordonate S, atunci elementul u din S este o
margine superioar pentru P, dac i numai dac p u, oricare ar fi p din P.
n mod similar elementul v din S este o margine inferioar pentru P, dac i numai dac v
p, oricare ar fi p din P.
Se noteaz prin U i V mulimea tuturor marginilor superioare, respectiv inferioare pentru P.
Dac u
m
din U este o margine superioar cu proprietatea u
m
u, oricare ar fi u din U, atunci
se spune c u
m
este cea mai mic margine superioar (cmmms) pentru P i se noteaz prin
5
Proiectarea Logic

sup(P). Similar se introduce cea mai mare margine inferioar (cmmmi) care se noteaz prin
inf(P).

Definiia 4
O mulime parial ordonat n care fiecare element are att o cea mai mare
margine inferioar ct i o cea mai mic margine superioar este o latice.

Prin inducie complet se poate arta c n orice latice S exist un cel mai mic element notat
prin 0, astfel nct 0 s pentru orice element s din S. n mod asemntor se arat existena
unui cel mai mare element n S notat prin 1, cu proprietatea s 1, oricare ar fi elementul s din
laticea S. Dac elementele p i q sunt din laticea S atunci, se noteaz, pentru uurina scrierii,
prin p + q = sup(p, q), iar prin p * q = inf(p, q).

Teorema 4
O latice complementat distributiv (o latice care satisface postulatele V i VI ale
lui Huntington) este o algebr Boolean.

Demonstraie: Operatorii postulatului II au fost introdui prin inf i respectiv sup.
Deoarece 0 este cel mai mic element atunci, sup(u, 0) = u + 0 = u, iar dac 1 este cel mai
mare element atunci, inf(u, 1) = u * 1 = u ceea ce demonstreaz satisfacerea postulatului
III. Cel mai mic element p * q = inf(p, q), i respectiv cel mai mare element p + q =
sup(p, q), nu depind de ordinea elementelor astfel nct sunt satisfcute i legile
postulatului IV. Deoarece postulatele V i VI au fost incluse n ipotez, rezult c laticea
este o algebr Boolean.

Astfel, se poate arta c a, b B, z B astfel nct z = inf(a,b) = ab (se spune c z
este marginea inferioar), i a, b B, t B astfel nct t = sup(a,b) = ab (se spune c t
este marginea superioar). Privitor la operatorii i se poate arta c amndoi distribuie
unul n raport cu cellalt i se poate, de asemenea, arta c:
x B, x B astfel nct
x x = 1, unde 1 este elementul maxim, iar
x x = 0, unde 0 este elementul minim.

Proprietile algebrelor Booleene
Spre deosebire de postulate, proprietile sunt, n fapt, teoreme i de aceea sunt demonstrabile.
Metoda general de demonstrare a acestor proprieti se bazeaz pe postulatele algebrelor
Booleene utilizndu-se mult inducia matematic.

(I) Asociativitatea:
a + (b + c) = (a + b) + c = a + b + c,
a * (b* c) = (a * b) * c = a * b * c.
(II) Idempotena:
a + a = a,
a * a = a.
(III)
a + 1 = 1,
a * a = a.

(IV) Absorbia:
6
Proiectarea Logic

a + (a * b) = a,
a * (a + b) = a.

(V) Involuia:
(a) = a

(VI) Legile De Morgan:
(a + b) = a * b,
(a * b) = a + b.
(VII)
a + a * b = a + b,
a * (a + b) = a * b.

(VIII) Consensus:
a * b + a * c + b * c = a * b + a * c ,
(a + b) * (a + c) * (b + c) = (a + b) * (a + c) .

Exceptnd proprietatea (V) Involuia, se poate remarca o dubl reprezentare a fiecrei
proprieti (identiti, n fapt) ale algebrelor Booleene. Aceast remarc se concretizeaz n
principiul Dualitii, aa cum este acesta formulat n definiia urmtoare.

Principiul Dualitii
Orice identitate dintr-o algebr Boolean se transform ntr-o alt identitate dac au loc
urmtoarele inter-schimbri:
Operatorii + i *,
Elementele 0 i 1.

Exemplul 2: Identitatea a + 1 = 1, se transform, prin aplicarea principiului dualitii, n
identitatea: a * 0 = 0.


O algebr Boolean se identific, tradiional, prin numele mulimii suport, B. Exist, n acest
sens, urmtoarele exemple clasice:
Algebra comutatorilor,
Algebra submulimilor unei mulimi (numit i algebra claselor),
Algebra Boolean aritmetic,
Algebra Boolean a funciilor Booleene.

Algebra comutatorilor este un sistem algebric care const din mulimea {0,1}, doi
operatori binari, notai I (*), respectiv SAU (+), i un operator unar, notat NU (), unde:
0 + 0 = 0, 0 * 0 = 0,
0 + 1 = 1, 0 * 1 = 0, 0 = 1,
1 + 0 = 1, 1 * 0 = 0, 1 = 0,
1 + 1 = 1, 1 * 1 = 1.

Se remarc faptul c, n conformitate cu definiia dat, algebra comutatorilor poate fi enunat
astfel: ({0,1}, +, *, 0,1).
Se poate verifica uor validitatea postulatelor pentru aceast algebr Boolean.
De reinut c exist o proprietate exclusiv a acestei algebre:
a + b = 1 dac i numai dac a = 1 ori b = 1,
a * b = 0 dac i numai dac a = 0 ori b = 0.
7
Proiectarea Logic


Algebra submulimilor este un sistem algebric construit peste o mulime nevid S (S )
numit mulimea univers, pentru care se consider toate submulimile distincte posibile ale
acesteia. Dac notm prin |S| cardinalitatea mulimii S, atunci mulimea tuturor submulimilor
mulimii S are 2
|S|
elemente.
Aceast algebr are drept operator aditiv (+) reuniunea (), iar intersecia () este operatorul
multiplicativ (*).

Cu alte cuvinte, se poate scrie: (K, +, *, 0, 1) = (2
|S|
, , , , S), unde s-a notat mulimea
tuturor submulimilor distincte ale mulimii S prin 2
|S|
(notaia tradiional). Dac S = {a, b}
atunci K ={, {a}, {b}, {a, b}}. Verificarea postulatelor n acest caz este, de asemenea,
simpl.

Remarcabil relativ la aceast algebr este de reinut teorema Stone (de reprezentare):

Teorema de izomorfism (Stone)
Orice algebr Boolean finit este izomorf algebrei Booleene a submulimilor
unei anumite mulimi finite S.

Algebra Boolean aritmetic se construiete peste numerele naturale.
Astfel, se consider n numere prime distincte i fie p produsul acestora. Se noteaz prin D
n

mulimea tuturor divizorilor acestui produs (p). Se folosesc notaiile aritmetice consacrate,
cmmdc i cmmmc pentru cel mai mare divizor comun i, respectiv, cel mai mic multiplu
comun.
Se noteaz prin 1, numrul ntreg 1 i va fi distinct de elementul 1 Boolean evideniat n
definiia algebrelor Booleene.

Atunci se poate scrie: (B, +, *, 0, 1) = (D
n
, cmmmc, cmmdc, 1, p).

Dac, spre exemplu, p = 2 x 3 x 5 = 30, atunci D
n
= {1, 2, 3, 5, 6, 10, 15, 30}.
Este interesant de remarcat c atunci cnd D
n
este privit ca fiind alctuit din produse de
divizori primi netriviali, i sunt utilizate n clar mulimile acestor divizori, atunci se poate
scrie o formul apropiat, comparativ, celei realizate pentru algebra submulimilor:
D
n
={,{2},{3},{5},{2,3},{2,5},{3,5},{2,3,5}},
deoarece 1 nu are nici un divizor netrivial.

Acum apare evident izomorfismul acestei algebre cu algebra submulimilor unei mulimi, n
cazul de fa exemplificndu-se pentru raiuni de simplitate - cu doar trei elemente distincte.

Algebra binar este construit peste mulimea suport minimal B = {0,1} iar operaiile
binare + i * sunt disjuncia, respectiv, conjuncia, adesea denumite sum, respectiv, produs
sau, nc, SAU, respectiv I.
Spaiul multidimensional descris de variabilele cu valori binare este notat prin B
n
. Acest
spaiu mai este referit prin cubul n-dimensional (hipercub) din cauza generalizrii
reprezentrii spaiului B
3
care geometric descrie un cub peste triedrul natural.
Un punct din B
n
este reprezentat printr-un vector cu n ranguri binare. Atunci cnd sunt
asociate variabile binare dimensiunilor spaiului boolean B
n
, un punct se poate identifica prin
valorile corespunztoare acestor variabile. Un literal este o valoare, o instaniere, a unei
variabile sau a complementului acesteia. Un produs de n literali reprezint un punct din
8
Proiectarea Logic

spaiul i se spune c reprezint un cub zero-dimensional. Se utilizeaz curent referirea unui
produs de literali prin denumirea generic cub.

Algebra funciilor Booleene de n variabile este construit astfel:
(F
n
(B), +, *, 0, 1 ), unde:
(i) F
n
(B) este mulimea funciilor Booleene de n variabile definite peste B
n
, cu valori n B,
n 1.
(ii) + reprezint adunarea acestor funcii,
(iii) * reprezint multiplicarea acestor funcii,
(iv) 0 este funcia identic nul, iar
(v) 1 este funcia constant 1.

Aceast algebr a funciilor scalare joac un rol deosebit n fundamentele matematice ale
analizei i sintezei dispozitivelor numerice pentru c operatorii i elementele acesteia se pot
implementa prin dispozitive care se pot produce industrial n mod eficient. Studiul
proprietilor acestei algebre arat modul n care sunt utilizabili operatorii i elementele
acesteia pentru modelarea conceptelor dezvoltate n calculul algebrico-analitic tradiional.

Funciile Booleene
O funcie scalar din F
n
(B) incomplet specificat este definit peste o partiie a mulimii B
n
.
Valorile din domeniul de definiie (adesea referite generic prin puncte) unde funcia nu este
definit, se numesc valori neprecizate ale funciei, sau, condiii neprecizate (dont care, este
termenul anglo-saxon). Aceti vectori din domeniul de definiie al unei funcii se refer, n
fapt, la valori care nu sunt utilizate i, prin urmare valorile funciei respective nu sunt
observate n acele puncte.

Un interes deosebit l prezint funciile vectoriale definite peste B
n
cu valori n B
m
unde m >
1. O astfel de funcie este considerat echivalent unui vector de funcii din F
n
(B). Valorile
neprecizate ale funciilor vectoriale pot fi distincte pentru fiecare dintre cele m componente
ale respectivei funcii. Acest aspect se datoreaz faptului c punctele neprecizate pot fi proprii
unor anumite componente ale vectorului de funcii. Din acest motiv funciile vectoriale
incomplet specificate sunt considerate ca fiind definite peste B
n
, dar cu valori n mulimea
{0,1,*}
m
, unde prin simbolul * s-a notat condiia de nedefinire, de neprecizare, a funciilor
scalare. Pentru fiecare component scalar a unei funcii vectoriale se poate defini o partiie a
domeniului de definiie dup valorile luate. Astfel, toate punctele n care o funcie scalar ia
valorile 0, 1 i * se numesc, tradiional, 0-set, 1-set, i respectiv *-set (off set, on set i
respectiv dc set, n literatura anglo-saxon). Nu exist pericolul unei confuzii ntre notaia
punctelor din codomeniu desemnnd valori nedefinite, pe de-o parte, i operatorul
multiplicativ al acestei algebre deoarece tradiional operatorul multiplicativ este omis
utilizndu-se simpla juxtapunere (juxtapunerea a dou variabile, spre exemplu, este
echivalent produsului acestora).

O generalizare, ntr-un anumit sens, a noiunii de funcie boolean este relaia boolean. O
relaie boolean este definit, n principiu, ntre spaii Booleene. Astfel, unui punct dintr-un
domeniu se asociaz mai multe puncte din codomeniu (spre deosebire de funcii unde se
asociaz un singur punct din codomeniu). Relaiile Booleene i optimizarea acestora joac un
rol deosebit n sinteza i optimizarea circuitelor, reelelor, multi-nivel.

9
Proiectarea Logic

Pentru funciile Booleene, n spe funciile de variabile binare cu valori binare, au fost
introduse numeroase definiii i notaii n vederea evidenierii unor aspecte analitice mai
importante ale acestora. O parte dintre acestea, cele mai semnificative, vor fi, succint,
enunate n cele ce urmeaz.
Mulimea variabilelor unei funcii este numit mulimea suport, sau pe scurt, suportul
funciei.

Reprezentri ale funciilor Booleene
Sunt posibile mai multe modaliti de descriere ale unei funcii Booleene. O caracteristic
comun a acestor funcii, care se va reflecta n toate aceste modaliti de descriere, este faptul
c funciile discrete de variabil discret au domeniul de definiie finit i implicit, astfel de
funcii sunt reprezentabile prin enumerri finite. Adeseori, ns volumul enumerrii acestor
funcii poate fi considerabil sau chiar prohibitiv. Modalitile de reprezentare pot fi clasificate
ca fiind formele tabelare, expresiile sau formulele Booleene i diagramele de decizii binare.

Formele tabelare, cronologic fiind primele utilizate, pot fi privite ca fiind alctuite din
enumerri ordonate de perechi de valori constituite din punctul domeniului de definiie i
valoarea funciei n respectivul punct. Ca mod de implementare au suport evident n alctuirea
memoriilor. Punctele sunt vectori binari, la fel i valorile funciei fiind binare scalare sau
vectoriale. Au fost utilizate n aplicaiile de asisten automat a proiectrii calculatoarelor n
primele tentative de acest fel. Odat cu creterea suportului funciilor reprezentarea devine
incomod iar metodele dezvoltate pentru acest mod de reprezentare nu s-au dovedit a fi
printre cele mai performante.

Formulele Booleene, pe scurt formulele sau expresiile, au avantajul unei dezvoltri analitice
de referin. ntreg aparatul teoretic utilizeaz aceast form de reprezentare. Exist
numeroase aplicaii care, sub o form sau alta, sunt dezvoltate avnd la baz obiecte
implementate prin structuri echivalente acestei forme de reprezentare. Ca form de
reprezentare are cele mai multe metode dezvoltate i cu performane printre cele mai bune.
Dimensiunile reale ale funciilor reprezentabile prin formule sunt superioare celor
reprezentabile prin formele tabelare. Printre obiectele dezvoltate cu aceast reprezentare cele
mai cunoscute sunt cele corespunztoare sumelor de produse (produselor de sume) n dou
sau mai multe nivele.

Diagramele de decizii binare (Binary Decision Diagrams, termenul n original, abreviat BDD)
au fost iniial introduse de Lee i apoi reluate de Akers, pentru reprezentarea prin arbori sau
grafuri aciclice direcionate cu rdcini, a funciilor binare de variabile binare, scalare. Aceste
reprezentri permit manipulri de funcii cu complexitate superioar celor reprezentabile prin
formule Booleene.

Reprezentarea propus de Akers utilizeaz pentru o decizie evaluarea unei variabile din
suportul funciei. Utiliznd aceast structur, ulterior, Bryant a introdus diagramele de decizii
ordonate (Ordered Binary Decision Diagrams, cu abrevierea OBDD) i a demonstrat
existena unor algoritmi performani de manipulare a acestor forme de reprezentare.
Schimbnd maniera de decizie prin evaluarea unei funcii n locul evalurii unei variabile,
Karplus a introdus grafele aciclice direcionate numite ITE (abrevierea sintagmei if-then-else)
apreciate ca fiind o generalizare a OBDD. Exist funcii ale cror reprezentri prin ITE sunt
mai compacte dect prin OBDD.

10
Proiectarea Logic

Formulele Booleene
Exist numeroase situaii n care anumite proprieti ale unor dispozitive, reale sau simulate,
virtuale, sunt exprimate prin formule construite peste algebrele Booleene. Exist o legtur de
mare importan ntre formulele Booleene, pe de-o parte, i funciile Booleene, pe de-alt
parte.

O variabil Boolean este o variabil care ia valori din mulimea B. Prin literali se neleg
variabile Booleene care pot fi asertate sau complementate (negate). Variabilele sunt cele mai
simple exemple de funcii Booleene.

Expresiile construite prin simboluri legate prin operatorii * i + sunt cele mai simple exemple
de formule Booleene. Formulele pot fi dezvoltate ierarhic utiliznd paranteze. O formul
boolean se definete dup cum urmeaz.

Definiia 2: Se consider o algebr Boolean B i n simboluri x
1
, x
2
, , x
n
, atunci
mulimea formulelor Booleene peste cele n simboluri este alctuit din:
1. Elementele mulimii B care sunt formule,
2. Simbolurile x
1
, x
2
, , x
n
care sunt formule,
3. Dac g i h sunt formule, atunci tot formule sunt i
(g) + (h),
(g) * (h) i
(h).
Un ir de caractere este o formul Boolean dac i numai dac aceasta se obine
printr-un numr finit de aplicri ale regulilor 1, 2 i 3.



Se poate remarca din definiia anterioar c numrul formulelor Booleene de n variabile este
infinit.

Este esenial de vzut modul n care unei formule Booleene F, corect definite, i se poate
asocia o funcie Boolean, de asemenea, corect definit.

Se consider F, o formul Boolean coninnd n simboluri, atunci funcia f , de n variabile,
corespunztoare acestei formule se definete astfel:

Definiia 3: Dac F = b B, atunci formula reprezint funcia constant definit
prin:
f(x
1
, x
2
, , x
n
) = b, (x
1
, x
2
, , x
n
) B
n
;
Dac F = x
i
, atunci formula reprezint o funcie proiecie definit prin:
f(x
1
, x
2
, , x
n
) = x
i
, (x
1
, x
2
, , x
n
) B
n
;
Dac formula este de forma G + H, ori G * H, ori G, atunci funcia de n variabile
corespunztoare se definete dup cum urmeaz:
(g + h) (x
1
, x
2
, , x
n
) = g(x
1
, x
2
, , x
n
) + h(x
1
, x
2
, , x
n
),
(g * h) (x
1
, x
2
, , x
n
) = g(x
1
, x
2
, , x
n
) * h(x
1
, x
2
, , x
n
),
(g) (x
1
, x
2
, , x
n
) = (g(x
1
, x
2
, , x
n
))
(x
1
, x
2
, , x
n
) B
n
.

Numrul de funcii Booleene de n variabile definite peste o algebr boolean finit este finit.
11
Proiectarea Logic


Exemplul 2. Se consider algebra construit peste mulimea B = {0,1, a,a}.
Se consider mulimea simbolurilor ca fiind {x,y}, atunci, o formul Boolean cu
aceste dou simboluri poate fi, spre exemplu, F = a * x + a * y. (Tradiional
operatorul * se poate omite, fiind subneles, utilizndu-se simpla juxtapunere a
simbolurilor.)
Funcia Boolean de dou variabile f: B
2
B, corespunztoare formulei Booleene
F = a * x + a * y, va avea domeniul de definiie:
B
2
= {(0,0), (0,1), (0,a), (0,a), (1,0), (1,1), (1,a), (1,a), (a,0), (a,1), } i poate
fi definit punctual (deoarece domeniul de definiie este finit) evalund expresia
considerat n fiecare punct al domeniului de definiie:
f(0,0) = a, f(0,1) = 0, f(0,a) = a, f(0,a) = 0, f(1,0) = 1, .


Teorema de descompunere a unei funcii Booleene (Claude Shannon).

Fie f: B
n
B o funcie Boolean, atunci are loc identitatea:
f(x
1
, x
2
, , x
n
) = x
1
f(0, x
2
, , x
n
) + x
1
f(1, x
2
, , x
n
),
(x
1
, x
2
, , x
n
) B
n
,




Formulele canonice

Formulele canonice de reprezentare ale unei funcii sunt unice pentru o funcie dat. Exist
forme canonice din categoria expresiilor Booleene, dar exist i forme canonice din categoria
diagramelor de decizii binare, acestea sunt diagramele de decizii binare ordonate.
Atunci cnd se compar dou forme canonice se ine seama de specificul respectiv. Astfel,
dac se compar reprezentri canonice OBDD atunci comparaia va avea loc ntre doi arbori
sau dou grafe aciclice orientate cu rdcini.

Astfel de forme sunt utile atunci cnd se compar dou funcii n vederea stabilirii identitii
lor. Adeseori n proiectare se aleg anumite formule de reprezentare ale unei funcii n funcie
de natura tehnologiei utilizate, criteriile de performan etc. Pentru evitarea unor erori care pot
aprea n procesul de calcul al unei formule de implementare pentru o funcie dat se
procedeaz, n general, la validarea funcional a formulei implementate. Exist mai multe
metode de validare funcional. Una dintre cele mai simple este calculul formei att pentru
funcia considerat ct i pentru formula sa de implementare.

Teorema de reprezentare

O funcie f: B
n
B este Boolean dac i numai dac aceasta poate fi exprimat
prin identitatea:

=
n
A
A
X A f X f
} 1 , 0 {
) ( ) (

n identitatea de mai nainte s-au utilizat notaiile :

12
Proiectarea Logic

13
0
X = (x
1
, x
2
, , x
n
), A = (a
1
, a
2
, , a
n
) {0,1}
n
, iar .
an
n
a a A
x x x X
2 1
2 1
=

Prin expresia se nelege dac
i
a
i
x
'
i
x =
i
a , i dac 1
i
x =
i
a . Termenii produs X
A

astfel construii se numesc mintermi i sunt fiecare n parte unic asociai unui
anumit punct din domeniul de definiie al funciei.
Prezena lor n forma canonic disjunctiv este validat de valorile (nenule)
corespunztoare ale funciei.
Demonstraia acestei teoreme decurge simplu, utiliznd sistematic teorema
Shannon.



Exemplul 3
Se consider o funcie de trei variabile (cazul n = 3). Aplicnd teorema de
reprezentare se obine urmtoarea formul canonic:
3 2 1
'
3
2 1 3
'
2
1
'
3
'
2
1 3 2
'
1
'
3
2
'
1
3
'
2
'
1
'
3
'
2
'
1 3 2 1
) 1 , 1 , 1 (
) 0 , 1 , 1 ( ) 1 , 0 , 1 ( ) 0 , 0 , 1 ( ) 1 , 1 , 0 (
) 0 , 1 , 0 ( ) 1 , 0 , 0 ( ) 0 , 0 , 0 ( ) , , (
x x x f
x x x f x x x f x x x f x x x f
x x x f x x x f x x x f x x x f
+ + + +
+ + + =

Termenii produs utilizai, mintermii, sunt prezeni n formula canonic disjunctiv
a unei funciei oarecare dac funcia respectiv are valori nenule n punctele
corespunztoare.
Se remarc faptul c formula reflect valorile funciei n toate punctele domeniului
su de definiie. Particularizarea sau personalizarea formulei canonice este
exclusiv dependent de aceste valori.

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