Sunteți pe pagina 1din 120

UNIVERSITATEA TEHNIC A MOLDOVEI

Victor Beliu

CICLU DE PRELEGERI
la disciplina "Matematica discret"

Chiinu 2002
Ciclu de prelegeri la cursul Matematica discret

n lucrare sunt prezentate compartimentele principale ale matematicii


discrete, utilizate n informatic: mulimi, relaii i algebre, inclusiv algebra
relaional cu aplicaii n bazele de date, elemente de logic matematic -
logica boolean, logica fuzzy, logica de ordinul unu, grafuri i algoritmi pe
grafuri, modele algoritmice i mainile Turing. Este propus o gam
variat de exemple, exerciii i probleme.

Pentru studenii specialitilor Tehnologii Informaionale,


Automatizri, Calculatoare, Microelectronic i dispozitive cu
semiconductori, grupele de masterat i doctoranzi.

Aprobat prin Hotrrea Consiliului Metodic al Facultii Calculatoare,


Informatic i Microelectronic a Universitii Tehnice a Moldovei
protocol Nr. 1 din 15 ianuarie 2002

Recenzeni: Doctor habilitat n tiine tehnice Anatol Popescu


Doctor n tiine fizico-matematice Vasile Moraru

Redactor: Doctor n tiine fizico-matematice Alexandru Moloniuc

Victor Beliu

2
Ciclu de prelegeri la cursul Matematica discret

CUPRINSUL

PREFA.......................................................................................................... 6

1. INTRODUCERE............................................................................................. 7

2. SISTEME ALGEBRICE ................................................................................ 7


2.1. MULIMI I SUBMULIMI........................................................................ 7
2.1.1. Noiuni generale............................................................................ 7
2.1.2. Metode de definire a mulimilor .................................................... 9
2.2. MULIMI VAGI ..................................................................................... 10
2.3. OPERAII CU MULIMI .......................................................................... 11
2.4. DEMONSTRAREA ECHIVALENEI CU AJUTORUL INCLUZIUNILOR ........... 13
2.5. VECTORI I PRODUS CARTEZIAN ........................................................... 15
2.5.1. Definiii ....................................................................................... 15
2.5.2. Cardinalul produsului cartezian ................................................. 17
2.6. CORESPONDENE I FUNCII ................................................................ 17
2.6.1. Cardinalul booleanului unei mulimi .......................................... 19
2.6.2. Mulimi numrabile i continuale ............................................... 19
2.6.3. Funcii. Compoziia i superpoziia funciilor ............................. 20
2.7. RELAII I PROPRIETILE LOR............................................................. 21
2.7.1. Noiuni introductive .................................................................... 21
2.7.2. Proprietile relaiilor................................................................. 22
2.7.3. Alte metode de descriere a relaiilor ........................................... 24
2.8. OPERAII I ALGEBRE. PROPRIETILE OPERAIILOR ........................... 25
2.9. MODELE SI SISTEME ALGEBRICE. ALGEBRA RELAIILOR ...................... 27
2.10. ALGEBRA RELAIONAL .................................................................. 29
2.11. EXERCIII I PROBLEME ................................................................... 32
3. ELEMENTE DE LOGIC MATEMATIC ............................................. 36
3.1. FUNCIILE ALGEBREI LOGICII ............................................................... 37
3.2. TRANSFORMRI ECHIVALENTE I DECOMPOZIIA FB ........................... 40
3.2.1. Formule echivalente .................................................................... 40
3.2.2. Decompoziia funciilor booleene ............................................... 41
3.2.3. Algebra boolean. Proprietile operaiilor booleene ................ 42
3.3. FORME CANONICE ................................................................................ 43
3.3.1. Forma canonic disjunctiv........................................................ 43

3
Ciclu de prelegeri la cursul Matematica discret
3.3.1. Forma canonic conjunctiv ...................................................... 44
3.4. ALTE FORME DE REPREZENTARE A FUNCIILOR BOOLEENE .................. 46
3.4.1. Diagrame Karnaugh ................................................................... 46
3.4.2. Circuite logice ............................................................................. 47
3.4.3. Diagrame temporale ................................................................... 48
3.5. SISTEME COMPLETE DE FUNCII BOOLEENE.......................................... 49
3.6. MINIMIZAREA FUNCIILOR BOOLEENE ................................................. 50
3.6.1. Metoda lui Quine ........................................................................ 51
3.6.2. Metoda Quine McCluskey ........................................................ 53
3.7. LOGICA ENUNURILOR ......................................................................... 55
3.7.1. Conectori logici i formule.......................................................... 55
3.7.2. Interpretarea formulelor n logica enunurilor ........................... 57
3.7.3. Forme normale i consecine logice ........................................... 59
3.7.4. Aplicaii ale logicii enunurilor ................................................... 62
3.8. LOGICA DE ORDINUL UNU .................................................................... 64
3.8.1. Noiuni de baz ........................................................................... 64
3.8.2. Interpretarea formulelor n logica de ordinul unu...................... 68
3.8.3. Forma normal Prenex ............................................................... 70
3.8.4. Aplicaii ale logicii de ordinul unu ............................................. 72
3.9. LOGICA FUZZY ..................................................................................... 75
3.10. EXERCIII I PROBLEME ................................................................... 81
4. GRAFURI ...................................................................................................... 82
4.1. NOIUNI GENERALE ............................................................................. 82
4.1.1. Definiia grafului ........................................................................ 82
4.1.2. Numr cociclomatic i numr ciclomatic.................................... 84
4.1.3. Numr cromatic. Grafuri planare. Arbori .................................. 85
4.2. METODE DE REPREZENTARE A GRAFULUI............................................. 86
4.2.1. Matricea de inciden ................................................................. 86
4.2.2. Matricea de adiacen ................................................................ 87
4.2.3. Lista de adiacen i lista de inciden ....................................... 88
4.3. STRUCTURI DE DATE ............................................................................ 89
4.3.1. Liste ............................................................................................. 89
4.3.2. Fire de ateptare ......................................................................... 89
4.3.3. Stive ............................................................................................. 89
4.3.4. Arbori .......................................................................................... 90
4.4. ALGORITMI PE GRAFURI ....................................................................... 90
4.4.1. Cutare n adncime ................................................................... 90
4.4.2. Algoritmul de cutare n lrgime ................................................ 92
4.4.3. Graf de acoperire ........................................................................ 93

4
Ciclu de prelegeri la cursul Matematica discret
4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru determinarea
drumului minim ........................................................................................... 94
4.4.5 Algoritmul Bellman - Calaba ...................................................... 95
4.5. REELE DE TRANSPORT ........................................................................ 96
4.5.1. Noiuni generale.......................................................................... 96
4.5.2. Algoritmul Ford-Fulkerson ......................................................... 97
4.6. EXERCIII I PROBLEME ....................................................................... 99
5. MODELE ALGORITMICE ...................................................................... 102
5.1. PRECIZAREA NOIUNII DE ALGORITM ................................................. 102
5.1.1. Proprietile algoritmilor.......................................................... 103
5.1.1.1. Obiecte algoritmice ........................................................... 103
5.1.1.2. Memoria ............................................................................ 104
5.1.1.3. Paii algoritmului ............................................................. 104
5.1.1.4. Determinism ...................................................................... 104
5.1.1.5. Rezultativitate ................................................................... 105
5.1.1.6. Descrierea i mecanismul de realizare a algoritmului ....... 105
5.1.2. Metode de precizare a noiunii algoritm .............................. 105
5.2. MAINI TURING ................................................................................. 106
5.2.1. Componentele unei MT i principiul de funcionare ................. 106
5.2.2. Configuraia unei maini Turing ............................................... 108
5.2.3. Funcii calculabile Turing ........................................................ 108
5.2.3.1. Maina Turing T+ .............................................................. 109
5.2.3.2. Maina Turing Tcop ............................................................ 110
5.2.4. Maina matematic Turing ....................................................... 110
5.2.5. Operaii cu mainile Turing ...................................................... 111
5.2.5.1. Maina T2x ................................................................................ 112
5.2.6. Calcularea predicatelor cu ajutorul mainii Turing ................. 113
5.2.6.1. Maina - numr par..................................................... 113
5.2.6.2. Maina salt condiionat .................................................. 114
5.2.7. Maina Turing universal ......................................................... 114
5.2.8. Teza lui Turing .......................................................................... 116
5.2.9. Problema opririi ....................................................................... 117
5.3. EXERCIII I PROBLEME ..................................................................... 119
BIBLIOGRAFIE. ............................................................................................ 120

5
Ciclu de prelegeri la cursul Matematica discret
PREFA
Lucrarea prezint o introducere n metodele matematice utilizate n
informatic i este o ncercare de a oferi, n primul rnd studenilor, un material
util, dar i cu gndul la nespecialist i la viitorul specialist. Sunt tratate doar
cteva din compartimentele matematicii discrete, care studiaz organizarea i
ordonarea structurilor, legate de mulimi finite: corespondene i relaii, algebre
i logici, grafuri i modele de algoritmi. Lipsesc unele capitole, cum ar fi
combinatorica i probabilti discrete, automate i limbaje formale, etc, care sunt
studiate conform planului de studiu n cadrul altor discipline.
Am ncercat s combin stricteea demonstraiilor cu exemple relaxante,
tinznd s prezint n mod unitar unele concepte care, de obicei, sunt obiectul unor
lucrri separate de electronic, calculatoare sau chiar inteligen artificial.
Dup o succint introducere, n capitolul 2 (de nceput), sunt tratate noiuni
fundamentale, cum ar fi mulimi, corespondene, funcii, operaii, relaii, algebre,
modele, sisteme algebrice. Am acordat o atenie deosebit algebrei relaionale,
care este fundamentul bazelor de date relaionale.
Capitolul 3 este consacrat prezentrii bazelor logicii matematice, ncepnd cu
logica boolean i pn la logica fuzzy. Noiunile de funcii ale algebrei logicii,
forme canonice, circuite logice sau minimizarea funciilor booleene, extrem de
importante pentru un viitor calculatorist, au migrat din domeniul tehnic n cel
fundamental matematic. Acelai lucru s-a produs i cu logica enunurilor, logica
de ordinul unu sau logica fuzzy - fundamentul matematic al dispozitivelor
tehnice, bazate pe inteligena artificial.
n capitolul 4 sunt expuse bazele teoriei grafurilor de la noiuni generale i
metode de reprezentare pe calculator pn la algoritmi clasici, propui de
matematicieni cu mult nainte de apariia informaticii, dar fr de care
tehnologiile informaiei nu pot exista.
ncercarea de a preciza noiunea de algoritm este fcut n ultimul capitol.
Dintre toate modelele algoritmice cunoscute sunt prezentate doar mainile Turing
n sperana c acestea vor trezi cititorului un interes ct de mic pentru a face
cunotin cu celelalte modele.
Ciclul de prelegeri a fost testat pe mai multe generaii de studeni, pe care i
mulumesc i pe aceast cale, corespunde programei analitice a cursului
Matematica discret pentru facultatea Calculatoare, Informatic i
Microelectronic de la Universitatea Tehnic a Moldovei, dar, sper, poate fi util
tuturor celor interesai de domeniu.

6
Ciclu de prelegeri la cursul Matematica discret

1. INTRODUCERE
Prezenta lucrare este dedicat metodelor matematicii discrete, aplicate n
informatic i are ca destinatari pe studenii i specialitii n tiina
calculatoarelor i tehnologia informaiei, la fel ca i pe toi doritorii s fac
cunotin cu acest domeniu matematic.
Matematica tradiional, inclusiv matematica aplicat, care formeaz
fundamentul tiinelor tehnice clasice, s-a conformat pe parcursul anilor
cerinelor acestora. Exist monografii i manuale, lucrri metodice i ndrumare
consacrate problemelor legate de tiinele tehnice clasice i metodele matematice
respective. Nimeni nu mai consider necesar s explice noiunile legate de
calculul diferenial sau integral n cadrul electrotehnicii sau termodinamicii. Nu
este aceeai situaie i n cazul disciplinelor din tiina calculatoarelor,
informatica teoretic i aplicat, inclusiv, sisteme expert sau inteligena
artificial. Foarte muli autori sunt convini de necesitatea de a ncepe de la
"zero", explicnd ce este o funcie logic sau un tabel de adevr, un circuit sau un
ciclu ntr-un graf. Lucrarea de fa este o ncercare de a permite viitorilor autori
s se concentreze totalmente problemelor tehnice tratate.
Un alt obiectiv este legat de faptul c majoritatea inginerilor consider
matematica un fel de dicionar mare. Este suficient s poi doar localiza
informaia necesar, deschizndu-l la pagina respectiv. Inginerii sunt obligai s
"iubeasc" formulele, dar nu i teoremele (ca s nu vorbim de demonstrarea lor).
ns domeniile de vrf ale tiinei contemporane cer cu insisten s fie schimbat
aceast mentalitate, or problemele tehnico-tiinifice principale sunt legate nu att
de lucrul cu modele cunoscute, ct de elaborarea unor modele noi. Pentru aceasta
este necesar ca matematica s fie nu numai o metod de calcul, ci i una de
gndire.

2. SISTEME ALGEBRICE
2.1. Mulimi i submulimi
2.1.1. Noiuni generale
Teoria mulimilor studiaz conceptele de mulime i de infinit i legile de
operare cu mulimile. Noiunea de mulime este una din noiunile primare ale
matematicii i, ca i majoritatea noiunilor primare nu are o definiie unanim
acceptat. George Cantor (1845-1918) a definit astfel aceast noiune: "neleg
prin mulime, n general, tot ceea ce este mult, dar care poate fi conceput ca o
entitate, adic orice colecie de anumite obiecte putnd fi nchegate ntr-un

7
Ciclu de prelegeri la cursul Matematica discret
ntreg cu ajutorul unei legi oarecare". Obiectele care formeaz mulimile se
numesc elemente. De obicei, elementele se noteaz cu litere mici, iar mulimile
cu litere mari cu sau fr indici. Elementele se iau n acolade i se separ prin
virgule.
Vom nota apartenena elementului a mulimii C n felul urmtor: a C, iar
dac g nu aparine mulimii C se va scrie g C. Mulimile pot fi finite sau
infinite.
Expresia x S semnific, deci, faptul c elementul x este un element al
mulimii S. Dac x1, x2,..., xn sunt toate elemente ale mulimii S, atunci poate fi
scris S={x1, x2,..., xn}. Fiecare x trebuie s fie distinct; nu putem repeta scrierea
unui element ntr-o mulime. Ordinea n care elementele sunt scrise n cadrul
mulimii este arbitrar - mulimile nu posed o structur intern.
Numrul elementelor unei mulimi finite se numete cardinalul acestei
mulimi.
Cardinalul mulimii A se noteaz prin |A|. Despre cardinalul mulimilor
infinite se va discuta n paragrafele urmtoare. Un loc aparte i este rezervat
mulimii de cardinal zero (fr elemente, { }). Aceast mulime se numete
mulime vid i se noteaz prin .
Exemplul 2.1. Fie A = {1, 3, 6}; altfel spus, A este mulimea care are ca elemente
valorile ntregi 1, 3 i 6, alte elemente nu exist. Putem scrie 1A, 3
A i 6 A. Din contra, afirmaia 2 A este fals ca i oricare alta,
care afirm c altceva poate fi element din A.
Mulimile pot avea ca elemente alte mulimi. De exemplu, fie B = {{1,
2, 3}, 3, }. B are aici trei elemente. Primul element este mulimea {1,
2, 3}, al doilea este numrul ntreg 3, iar al treilea este mulimea vid.
Urmtoarele afirmaii sunt juste: {1, 2, 3} B, 3 B, i B.
Afirmaia 1 B est fals. Adic, din faptul c 1 este element al unuia
dintre elementele lui B nu rezult c 1 este i element al lui B.

Mulimea A se va numi submulime (sau parte) a mulimii B (se va nota A


B, simbolul se numete simbol de incluziune), dac fiecare element al
mulimii A este i element al mulimii B. Se va mai spune c B acoper A. Dou
mulimi A i B se vor considera egale dac conin aceleai elemente, altfel, dac
AB i BA, atunci A = B. n cazul n care A B i A B se va scrie A B, iar
A se va numi submulime proprie sau strict a lui B.
Exemplul 2.2. Mulimea A, format din numerele ntregi, care se mpart fr rest la 6,
este o submulime B, format din numerele ntregi pare.
N.B. Mulimea vid este submulime a oricrei mulimi.

8
Ciclu de prelegeri la cursul Matematica discret
Exemplul 2.3. Toate relaiile de mai jos sunt adevrate:
1. {1, 2, 3} {1, 2, 3, 5}
2. {1, 2, 3} {1, 2, 3, 5}
3. {1, 2, 3} {1, 2, 3}
Remarcm, c o mulime este ntotdeauna i submulime a sa (p.3), dar
niciodat submulime proprie, adic afirmaia {1, 2, 3} {1, 2, 3} este
fals.
Pentru fiecare mulime A exist o mulime (A) care conine toate prile lui A
(inclusiv mulimea vid i A). Aceast mulime (A) se va numi booleanul lui A.
Exemplul 2.4. Pentru mulimea F = {a, b, c} vom avea (F)= {, {a}, {b}, {c}, {a,b},
{a,c}, {b,c}, {a,b,c}}. Adic, (F) este o mulime cu opt elemente, fiecare
element fiind la rndul lui o mulime. Un alt exemplu, () = {}
deoarece S. Notm c {}, mulimea care conine mulimea vid nu
este aceeai ca i mulimea vid. Prima are un element - , iar mulimea
vid nu are nici unul.
Mulimea tuturor obiectelor posibile n cadrul unei cercetri concrete vom
numi mulime universal sau universum (fr pretenii de strictee) i se
noteaz prin E sau U.

2.1.2. Metode de definire a mulimilor


Mulimile pot fi definite prin simpla enumerare a elementelor lor, dar
aceast metod este valabil doar pentru mulimile finite cu un numr mic de
elemente.
O alt metod propune s se porneasc de la o mulime S i o proprietate P a
elementelor, definind o mulime ca toate elementele lui S care verific
proprietatea P. Notaia acestei operaii, numit abstracie este
{x | x S i P(x)}
sau toate elementele x din S, care verific proprietatea P. Variabila x din ultima
expresie este local, adic putem scrie cu acelai succes {y | y S i P(y)} pentru
a descrie aceeai mulime.
Exemplul 2.5. Fie A, mulimea {1, 3, 6} din exemplul 2.1 i P(x) proprietatea x este
impar. Atunci, {x | x A i x este impar} este o alt modalitate de a
defini mulimea {1, 3}. Altfel, noi acceptm elementele 1 i 3 din A
pentru c ele sunt impare, dar refuzm elementul 6, pentru c el nu este
impar.
Considerm mulimea B = {{1, 2, 3}, 3, } din exemplul 2.1. Atunci, {A |
A B i A este o mulime } definete mulimea {{1, 2, 3}, }.
Alt exemplu: mulimea numerelor ntregi nenegative, sau naturale, este
adesea notat prin N. Fie P(x) proprietatea x este numr primar (adic x
> 1 i nu are ali divizori dect 1 i el nsui). Mulimea numerelor

9
Ciclu de prelegeri la cursul Matematica discret
primare va fi notat n acest caz {x | x N i P(x)}. Aceast expresie
definete mulimea infinit {2, 3, 5, 7, 11, ...}.
Este tentant s presupunem, c mulimile sunt finite sau c exist un ntreg n
i mulimea considerat are exact n elemente. De exemplu, mulimea {1, 3, 6} are
trei elemente. ns, n foarte multe cazuri mulimile sunt infinite, adic nu exist
un ntreg care ar limita numrul elementelor mulimii. Iat cteva exemple:
N - mulimea numerelor naturale;
Z - mulimea numerelor ntregi;
R mulimea numerelor reale;
C - mulimea numerelor complexe.
Plecnd de la aceste mulimi pot fi create prin abstracie alte mulimi infinite.
Exemplul 2.6. Mulimea {x | x Z i x < 3} este mulimea tuturor numerelor ntregi
negative la care se adaug 0, 1 i 2. Mulimea {x | x Z i x Z}
reprezint mulimea numerelor ntregi care sunt ptrate perfecte, {0, 1,
4, 9, 16, ...}.
A treia metod const n definirea mulimilor prin intermediul unei
proceduri generatoare, care va descrie modalitatea de obinere a elementelor
mulimii din elemente iniiale i/sau elemente, care au fost obinute anterior. Se
vor considera elemente ale mulimii toate obiectele care pot fi construite cu
ajutorul acestei proceduri. De pild, mulimea M = {1, 2, 3, 5, 8, 13,...} poate fi
definit cu ajutorul urmtoarei proceduri:
1) x1 = 1, x2 = 2;
2) xi+2 = xi+1 + xi, i = 1, 2, 3,....
O mulime poate fi definit cu ajutorul funciei caracteristice, care are
domeniul de definiie mulimea universal U, iar domeniul de valori mulimea {0,
1}:
1, dac x U aparine lui M
i (x) =
0, n caz contrar.

2.2. Mulimi vagi


Definirea unei mulimi cu ajutorul funciei caracteristice presupune c
elementul x U aparine sau nu aparine mulimii M, o a treia posibilitate este
exclus. ns n realitate, pentru o mare diversitate de obiecte nu exist criterii
exacte de apartenen: funcia caracteristic doar pentru unele elemente este zero
(se cunoate precis neapartenena elementului la mulimea dat) sau unu
(elementul aparine sigur mulimii considerate). Pentru restul elementelor funcia

10
Ciclu de prelegeri la cursul Matematica discret
(x) ar trebui s ia valori ntre 0 i 1. Aceste elemente formeaz obiectul teoriei
mulimilor vagi (fuzzy) [1].
Exemplul 2.7. Mulimea A = {x | x>>1} este definit ca setul de numere mult mai mari
ca unu. n sensul obinuit A nu poate fi considerat o mulime. Se poate
spune precis, c numerele mai mici dect 1 nu aparin lui A. Numerele mai
mari ca 1 pot fi considerate elemente din A cu un anumit grad de
subiectivism: cu ct numrul considerat este mai mare cu att pare mai
corect s admitem, c acesta aparine lui A. Ultima afirmaie poate fi
descris, de exemplu, cu ajutorul funciei caracteristice de mai jos
0, dac x 1
A(x) = 1 , dac x > 1.
1
1
x 1
O mulime fuzzy A se va defini utiliznd aplicaia mulimii universale U n
segmentul [0, 1], adic A(x):U[0, 1], care determin gradul de apartenen a
fiecrui x U mulimii fuzzy A. n acest caz funcia A(x) se numete funcie de
apartenen. Altfel spus, o mulime fuzzy A poate fi definit ca o mulime de
perechi (x, A(x)), n care xU, iar A(x) este funcia de apartenen.
Exemplul 2.8. Mulimea fuzzy a numerelor naturale "nu prea mari" poate fi definit ca
mulimea A a perechilor {(1,1), (2,1), (3,1), (4,0.9), (5,0.8), (6,0.7),
(7,0.6), (8,0.5), (9,0.3), (10,0.1), (11,0),(12,0),...}.
Mulimea universal n acest caz este mulimea numerelor naturale, iar
funcia de apartenen este definit, evident, subiectiv.

Mulimea fuzzy vid are funcia de apartenen egal cu 0: xU (x) = 0.


Mulimea universal are funcia de apartenen identic 1: xU U(x) =1.
Noiunea de egalitate a dou mulimi fuzzy se introduce de asemenea cu
ajutorul funciei de apartenen: dou mulimi fuzzy A i B se numesc egale
dac xU avem A(x) = B(x).
La fel i relaia de incluziune: vom spune, c mulimea fuzzy A este
submulime a mulimii fuzzy B (este inclus n B, AB), dac xU are loc
inegalitatea A(x)B(x). Mulimea fuzzy vid este submulime a oricrei
mulimi.
2.3. Operaii cu mulimi
n acest paragraf vom defini trei operaii cu mulimi: reuniunea, intersecia
i complementara, operaii de baz, i dou operaii suplimentare: diferena i
diferena simetric.

11
Ciclu de prelegeri la cursul Matematica discret
Reuniunea a dou mulimi A i B se va numi mulimea C (C = AB), care
conine toate elementele lui A i toate elementele mulimii B, alte elemente nu
are.
De exemplu, pentru A = {a, b, c, d} i B = {c, d, e, f} reuniunea lor va fi
mulimea C = {a, b, c, d, e, f}. Cu alte cuvinte, C = A B = {x | xA sau xB}.
Reuniunea este o operaie
a) comutativ: A B = B A;
b) asociativ: (A B) C = A (B C) = A B C
c) este elementul su neutru: A=A
d) idempotent: AA=A
Remarcm, c A B atunci i numai atunci, cnd A B = B.
Intersecia a dou mulimi A i B se va numi mulimea C = AB, care
conine toate elementele comune ale acestor dou mulimi: C = {x | xA i xB}.
Pentru aceleai A i B din exemplul precedent AB = {c, d}.
Intersecia este o operaie
e) comutativ: A B = B A;
f) asociativ: (A B) C = A (B C) = A B C
g) este elementul su absorbant: A=
h) idempotent: AA=A
Remarcm, c A B atunci i numai atunci, cnd A B = A.
Operaiile de reuniune i intersecie pot fi definite pentru o familie de mulimi
Ai, i = 1,...,n:
Ai = {x | xA1 sau xA2 sau ... xAn},
Ai = {x | xA1 i xA2 i ... xAn}.
Diferena a dou mulimi A i B, notat A B (sau A\B) se numete mulimea
C={x | xA i xB}. Pentru aceleai A i B vom avea A - B = {a, b}, iar B - A={e,
f}. Observm necomutativitatea acestei operaii.
Diferena simetric se definete ca C = A B = {x | xA i xB sau xA i
xB}. Pentru exemplul precedent vom avea AB = BA = {a, b, e, f}.
Exemplul 2.9. Fie S, mulimea {1, 2, 3} i T mulimea {3, 4, 5}. Atunci S T = {1, 2, 3,
4, 5}, S T = {3}, i S - T = {1,2}. Adic S T conine toate elementele
care apar fie n S fie n T. Chiar dac 3 apare o dat n S i nc o dat n
T, el va fi regsit o singur dat n ST, deoarece elementele nu pot s se
repete, analogic pentru mulimea ST. Mulimea S - T conine elementele

12
Ciclu de prelegeri la cursul Matematica discret
1 i 2, deoarece ele sunt n S, dar nu se afl n T. Elementul 3 nu este n
mulimea S - T deoarece, dei este n S, el aparine i lui T.

Complementara mulimii A n U (A U) notat cu CUA se va numi


mulimea care conine toate elementele mulimii U ce nu aparin mulimii A: CUA
= {x | xU i xA}. Atunci cnd este evident care este mulimea U, indicele
poate fi omis. Complementara lui A se va mai nota prin (A barat).
De exemplu, dac U = {a, b, c, d, e, f, g}, atunci pentru aceleai mulimi A i
B vom avea CUA=U = {e, f, g}, iar CUB = {a, b, g}.
Numim partiie a mulimii A orice set de pri X1, X2, X3,..., Xn ale lui A, care
verific condiiile:
1. Xi , i = 1, 2,..., n;
2. Xi Xj, = , i j; (2.1)
3. Xi = A, i =1, 2,...,n
Utiliznd funcia de apartenen, operaiile de determinare a complementarei
unei mulimi fuzzy A, a reuniunii i a interseciei a dou mulimi fuzzy A i B sunt
definite astfel:
Complementara unei mulimi fuzzy A se numete mulimea fuzzy cu funcia
de apartenen
(x) = 1 - A(x); (2.2)
Reuniunea a dou mulimi fuzzy A i B numim mulimea fuzzy AB cu
funcia de apartenen
AUB(x) = max[A(x), B(x)]; (2.3)
Intersecia a dou mulimi fuzzy A i B numim mulimea fuzzy AB cu
funcia de apartenena
AB(x) = min[A(x), B(x)]; (2.4)
Exist i alte definiii ale ultimelor dou operaii.

2.4. Demonstrarea echivalenei cu ajutorul incluziunilor


Dou mulimi S i T sunt egale dac i numai dac S T i T S; adic
fiecare este simultan o submulime a celeilalte. Aceasta este analogic regulii
aritmetice care afirm c a = b atunci i numai atunci cnd simultan a b i b a
sunt adevrate. Putem demonstra echivalena a dou expresii E i F artnd c
fiecare este inclus n cealalt. Altfel
1. se va lua un element arbitrar x din E i se va demonstra c el aparine de
asemenea i lui F,

13
Ciclu de prelegeri la cursul Matematica discret
2. se va lua un element arbitrar x din F i se va demonstra c el aparine de
asemenea i lui E.
Exemplul 2.10. S demonstrm asociativitatea reuniunii i diferenei, (S - (T R)) ((S
- T) - R). ncepem cu presupunerea, c x aparine expresiei din stng.
Secvena etapelor este artat n tab.2.1.
Tabelul 2.1. Prima jumtate a demonstraiei.
Etapa Justificarea
1) x este din S - (T R) dat
2) x este din S definiia operaiei - i (1)
3) x nu este n T R definiia operaiei - i (1)
4) x nu este n T definiia operaiei i (1) (3)
5) x nu aparine lui R definiia operaiei i (3)
6) x aparine lui S - T definiia operaiei - cu (2) i (4)
7) x este n (S - T) - R definiia operaiei - cu (6) i (5)
Am ajuns la concluzia, c x aparine i prii drepte. Concluzie:
deoarece x a fost luat arbitrar, partea stng este submulime a prii
drepte. Dar asta nu-i totul. Mai trebuie s demonstrm, c i partea
dreapt este submulime a prii stnga, adic dac un x arbitrar este din
(S-T)R, atunci el se conine i n S - (T R).
Tabelul 2.2. A doua jumtate a demonstraiei.
Etapa Justificarea
1) x este din S - (T - R) dat
2) x este din S-T definiia operaiei - i (1)
3) x nu este n R definiia operaiei - i (1)
4) x este n S definiia operaiei - i (2)
5) x nu aparine lui T definiia operaiei - i (2)
6) x nu aparine lui R T definiia operaiei cu (3) i (5)
7) x este n S (T R) definiia operaiei - cu (6) i (4)
Am artat acest lucru n tabelul 2.2.
Exemplul 2.11. Demonstrm, c dac S T, atunci S T T. Admitem c x S T.
Conform definiiei reuniunii
1. x aparine sau lui S,
2. sau lui T.
n primul caz, deoarece noi am presupus S T, concluzionm c x T.
n cazul (2), x este imediat n T. Deci, n ambele cazuri x este element de
T, i am terminat prima jumtate a demonstraiei.
Fie acum x T. n acest caz x S T conform definiiei de reuniune.
Deci, T (ST), ceea ce constituie partea a doua a demonstraiei.
Concluzia: (S T) T.

14
Ciclu de prelegeri la cursul Matematica discret
2.5. Vectori i produs cartezian
2.5.1. Definiii
Un set ordonat de elemente se va numi vector sau cortej. Aceasta nu este
definiia noiunii de vector, care la fel ca i noiunea de mulime nu se definete.
Elementele, care formeaz vectorul se numesc coordonate sau componente i se
numeroteaz de la stnga spre dreapta. n acest sens se va nelege noiunea de
set ordonat. Vectorii se scriu n paranteze rotunde, componentele se vor separa,
la necesitate, prin virgul. Numrul de componente se numete lungimea sau
dimensiunea vectorului.
De exemplu, v = (2,3,0,3) este un vector de lungime 4 i difer de b =
(3,2,0,3). Observm, c este admis coincidena coordonatelor. Vectorul de
lungime 2 se mai numete pereche sau cuplu, iar de lungime n - n-uplu.
Doi vectori sunt egali dac au aceeai lungime, iar componentele respective
coincid.
Se numete produs cartezian a dou mulimi A i B (se noteaz AxB)
mulimea tuturor perechilor (a,b) pentru care aA, bB. Pentru A = B vom avea
AxA = A2. Prin analogie, A1xA2x...xAn se va numi mulimea tuturor vectorilor de
lungime n (a1,a2,...,an) pentru care a1A1, a2A2,..., anAn. Dac
A1=A2=...=An=A produsul cartezian A1xA2x...xAn se va nota An.
Exemplul 2.12. Mulimea R x R = R2 este mulimea tuturor perechilor (a,b) pentru care
a, bR i reprezint coordonatele punctelor unui plan. Aceast
reprezentare a punctului unui plan a fost propus de ctre
matematicianul i filosoful francez Rn Descartes (1596-1650) din care
cauz produsul a dou mulimi i poart numele.
Fie A o mulime finit de simboluri (litere, cifre, semne de operaii i
ortografice, etc.), care, de obicei, se numete alfabet. Elementele
mulimii An se numesc cuvinte de lungime n n alfabetul A. Mulimea A
=A1A2A3... definete toate cuvintele alfabetului A.
Exemplul 2.13. Dac A = {c, d} i B = N3, elementele produsului AxB sunt 6 cupluri (c,
1), (c, 2), (c, 3), (d, 1), (d, 2), (d, 3), iar elementele mulimii BxA sunt:
(1,c), (2, c), (3, c), (1, d), (2, d), (3, d).
Ultimul exemplu arat cum poate fi format lista elementelor produsului AxB,
cnd A i B sunt definite prin enumerarea elementelor. Metoda este general:
produsul a dou mulimi, definite prin enumerare, poate totdeauna fi evideniat
prin enumerare. O alt metod de inventariere a cuplelor unui produs AxB sunt
diagramele carteziene. O diagram cartezian este un dreptunghi mprit n
celule (casete), fiecare caset corespunznd unui cuplu (fig. 2.1 2.4). Fiecare

15
Ciclu de prelegeri la cursul Matematica discret
linie a dreptunghiului corespunde unui element al mulimii A, vom avea aici toate
cuplurile, care au prima component din A. Fiecare coloan corespunde unui
element din B i n acest mod vom depista n acest dreptunghi toate cuplurile,
care au acest element n calitate de componenta a doua.
Exemplul 2.14. Pentru mulimile din exemplu 2.13, figura 2.1 reprezint diagrama
cartezian a produsului AxB, iar figura 2.2 pe cea a produsului BxA.
Ordinea de aranjare a elementelor n A i B determin poziia cuplurilor
n diagram; dac va fi modificat aceast ordine diagrama nu va mai fi
aceeai.
(1, c) (1, d)
(c, 1) (c, 2) (c, 3) (1, c) (1, d)
(d, 1) (d, 2) (d, 3) (1, c) (1, d)
Fig.2.1. Diagrama produsului AxB Fig.2.2. Diagrama produsului BxA
c d
1 2 3 1
c 2
d
3
Fig.2.3. Diagrama produsului AxB
Fig.2.4. Diagrama produsului BxA
Adesea elementele mulimilor A i B sunt indicate n partea stng i,
respectiv, superioar a dreptunghiului, elementele lui A corespunznd
liniilor, iar cele ale lui B coloanelor diagramei (fig.2.3 i 2.4).
La concret, a construi un n-uplu nseamn s alegem un prim obiect
(component) din prima mulime, un al doilea obiect dintre elementele mulimii a
doua i tot aa pn la componenta cu numrul n din mulimea cu acelai numr.
Putem ntlni foarte multe n-upluri n viaa de toate zilele.
Exemplul 2.15. Figura de mai jos reprezint lista bucatelor, propuse ntr-o oarecare zi la
cantina studeneasc. Vom considera, c a compune un meniu nseamn
s se aleag un aperitiv, un fel unu, un fel doi i un desert. Dac vom
nota prin A
Lista bucatelor la cantin pentru ______2002
Aperitive Felul doi
1. Salat de roii 1. Cotlet
2. Salat de varz 2. Antrecot
3. Salat de castravei 3. Ciulama de puior
4. Julien de ciuperci 4. Tocni cu mmligu
Felul unu Desert
1. Ciorb de burt 1. Suc de mere
2. Ciorb cu perioare 2. Compot de ananas
3. Zeam de puior 3. Suc mango fresh

16
Ciclu de prelegeri la cursul Matematica discret
mulimea aperitivelor, prin F1, F2 mulimile felurilor unu i doi,
respectiv, iar prin D deserturile, fiecare meniu, de exemplu: (salat
de roii, ciorb de burt, tocni cu mmligu, suc mango fresh),
este un element al produsului AxF1xF2xD.

2.5.2. Cardinalul produsului cartezian


Teorema 2.1. Dac A1, A2,..., An sunt mulimi finite cu |A1|=m1, |A2|=m2,...,
|An|=mn, atunci |A1xA2x...xAn|= m1m2...mn.
Demonstraie. Vom apela la metoda induciei matematice. Pentru n = 1 teorema
este evident corect. Presupunem c teorema are loc pentru n = k i vom
demonstra justeea ei pentru n = k+1.
Conform presupunerii |A1xA2x...xAk| = m1m2...mk. Vom considera un vector
arbitrar (a1,a2,...,ak)A1xA2x...xAk i vom aduga pe locul k+1 componenta
ak+1Ak+1. Vom obine mk+1 vectori diferii din A1x...xAk+1. Cu alte cuvinte,
adugnd la m1m2...mk vectori de lungime k componenta cu numrul k+1 din Ak+1
se vor obine m1m2...mkmk+1 vectori diferii din A1xA2x...xAkxAk+1. Ali vectori n
acest produs cartezian nu exist. Teorema este adevrat pentru n=k+1 i, deci,
este adevrat pentru n arbitrar.
Consecin. |An| = |A|n.
Proiecia vectorului v pe axa i se va numi componenta cu numrul i a acestui
vector:
dac v=(a1,a2,...,ai,...,an), atunci priv=ai.
Proiecia lui v pe axele i1, i2,..., ik se numete vectorul de lungime k:
pri1,i2,...,ikv=(ai1,...,aik).
Pentru o mulime V de vectori de aceeai lungime se introduce noiunea de
proiecie a lui V pe axa i i pe axele i1, i2,..., ik: priV = {priv | vV} i pri1,i2,...,ikV
= {pri1,i2,...,ikv | vV}.
2.6. Corespondene i funcii
Vom numi coresponden ntre mulimile A i B submulimea G AxB. Dac
(a, b) G se va spune c b corespunde lui a n corespondena G.
Mulimea pr1G se va numi domeniu de definiie (sau mulimea surs), iar
pr2G - domeniu de valori (sau imaginea lui A) ale corespondenei G. Dac pr1G
= A corespondena se va numi total definit (n caz contrar - parial definit).
Corespondena pentru care pr2G = B se numete surjectiv. Corespondena G se
va numi funcional, dac fiecrui element din pr1G i va corespunde un singur

17
Ciclu de prelegeri la cursul Matematica discret
element din pr2G = B i injectiv dac fiecare element din domeniul de valori
corespunde unui singur element din domeniul de definiie.
O coresponden se numete biunivoc (coresponden 1:1) dac ea este
total definit,
surjectiv,
funcional,
injectiv.
Exemplul 2.16. Reprezentarea lunilor anului prin numerele lor este o coresponden
biunivoc ntre mulimea lunilor i mulimea N12 a numerelor ntregi
de la 1 pn la 12.
Teorema 2.2. Dac ntre dou mulimi A i B exist o coresponden biunivoc,
atunci
|A|=|B|.
Demonstraia este banal i poate fi realizat prin metoda reducerii la absurd.
ntr-adevr, dac teorema nu este just, pot avea loc dou cazuri:
1. |A| > |B|
2. |A| < |B|
n primul caz, deoarece corespondena este total definit, n A pot fi
determinate dou elemente crora le va corespunde unul i acelai element bB -
nu se respect injectivitatea. Cazul |A| > |B| trebuie exclus.
n al doilea caz, corespondena fiind surjectiv n B vor fi cel puin dou
elemente care corespund unuia i aceluiai aA - nu se respect funcionalitatea.
i ntr-un caz i n altul am ajuns la contradicie, deci, nu ne rmne dect s
fim de acord cu afirmaia teoremei.
Prima afirmaie din teorema precedent, care mai poate fi formulat dac |A|
> |B|, atunci nu poate exista o injecie de la A la B, este o formulare a celebrei
proprieti, cunoscute sub numele principiul sertarelor (celulelor) sau principiul
lui Dirichlet: Dac trebuie s repartizm o mulime de obiecte n sertare i
avem mai multe obiecte dect sertare, exist ntotdeauna cel puin un sertar,
care conine mai mult de un obiect.
Teorema 2.2 permite:
stabilirea egalitii cardinalelor a dou mulimi fr calcule i
determinarea cardinalului unei mulimi prin stabilirea unei corespondene
biunivoce a acestei mulimi cu o alt mulime, cardinalul creia este
cunoscut sau uor de calculat.

18
Ciclu de prelegeri la cursul Matematica discret
2.6.1. Cardinalul booleanului unei mulimi
Teorema 2.3. Dac A este o mulime finit i |A|= n, atunci numrul tuturor
submulimilor mulimii A este 2n (|(A)|=2|A|=2n).
Demonstraie. Vom numerota elementele mulimii A cu numere de la 1 pn la
n: A = {a1, a2,..., an} i vom considera mulimea Bn de vectori binari de lungime
n. Fiecrei submulimi A*A i vom pune n coresponden un vector v = (v1,
v2,...,vn) Bn n aa mod nct vi=0 dac aiA* i vi=1 dac aiA*. Astfel,
mulimii vide i va corespunde vectorul (00...0), iar lui A vectorul (11...1).
Evident corespondena stabilit ntre mulimea prilor lui A i mulimea
vectorilor binari de lungime n este biunivoc i de aceea |(A)| = |Bn|. Dar Bn =
BxBx...xB i B = {0, 1}. Conform consecinei teoremei 2.1, |Bn| = |B|n = 2n, ceea
n
ce trebuia demonstrat.

2.6.2. Mulimi numrabile i continuale


Dou mulimi au acelai cardinal dac ntre ele exist o coresponden
biunivoc. Pentru mulimile finite aceast afirmaie a fost demonstrat, iar pentru
cele infinite servete drept definiie a acestui concept.
Definiie. Mulimile de acelai cardinal cu N (mulimea numerelor naturale) se
numesc numrabile.
Teorema 2.4. Mulimea numerelor reale din segmentul [0;1] nu este numrabil.
Demonstraia a fost propus de Georg Cantor i poart denumirea de metoda
diagonal Cantor. Presupunem c aceast mulime este numrabil i, deci, exist
o numerotare a elementelor ei. S reprezentm toate numerele, care, n caz
general au forma unor fracii zecimale infinite, conform acestei numerotri:
0,a11a12a13a14...
0,a21a22a23a24...
0,a31a32a33a34...
..........................
Vom considera o fracie zecimal oarecare 0,b1b2b3b4... pentru care b1 a11,
b2 a22, b3a33 s.a.m.d. Aceast fracie nu se conine n secvena de mai sus
deoarece se deosebete de primul numr prin prima cifr dup virgul, de al
doilea - prin a doua, etc. Deci, toate numerele segmentului [0;1] nu pot fi
numerotate i mulimea numerelor reale ale acestui segment este nenumrabil.
Cardinalul mulimilor de acest tip se numete continuum, iar mulimile -
continuale.

19
Ciclu de prelegeri la cursul Matematica discret
2.6.3. Funcii. Compoziia i superpoziia funciilor
Se numete funcie o coresponden funcional. Dac funcia f stabilete o
coresponden ntre mulimile A i B se va spune c f are tipul de la A la B i se
va nota f: AB. Dou funcii f i g se numesc egale, dac f(x)=g(x) pentru orice
valoare a lui x (se mai noteaz f=g). Funcia total definit f: AB se numete
aplicaie (funcie total) a lui A n B. Dac corespondena f n acest caz este
surjectiv vom spune c are loc aplicaia lui A pe B. Aplicaia de tipul AA se
numete transformarea (transformata) lui A.
Funcia f: A1xA2x...xAnB se numete funcie n-ar (funcie de n argumente).
Pentru n = 1 vom vorbi de funcii unare, pentru n = 2 funcii binare, etc.
Exemplul 2.17. a) ntr-o arhiv dosarele sunt plasate n csue speciale pentru
pstrare i accesare rapid. Asociind fiecrui dosar csua, care l
conine, se va defini o funcie de tipul mulimea dosarelor n
mulimea csuelor. Imaginea acestei funcii este mulimea csuelor
ocupate (nevide). Zicnd c aceasta este o aplicaie spunem c toate
dosarele sunt plasate n csue. Aplicaia dat este injectiv, dac
fiecare csu conine cel mult un dosar. Dac nu exist csue libere
aplicaia este surjectiv.
b) Numrul de nmatriculare a unui automobil este format dintr-o
succesiune de litere i cifre n felul urmtor: 2, 3 sau 4 litere urmate de
2, 3 sau 4 cifre, de exemplu, CES 919. n termeni matematici
nmatricularea automobilelor definete o funcie, care pune n
coresponden mulimii automobilelor A mulimea B, elementele
creia sunt obinute n modul susnumit.
c) Dac A={Andrei, Elena, Mihai, Ana, Victor, Valentina, Eugen,
Corina, Christian} este o mulime de persoane concrete i B o
mulimea format din zilele anului, poate fi definit o aplicaie f :
AB asociind fiecrui element din A ziua sa de natere. Aplicaia dat
poate fi reprezentat prin tabelul su de valori. Este uor s se ajung
la concluzia c aceast aplicaie poate s nu fie injectiv.
Exemplul 2.18. Fie A o submulime a unei mulimi B. Aplicaia f: AB definit prin
f(x) = x pentru orice xA se numete injecie canonic a lui A n B.
Dup cum reiese i din denumire aceast aplicaie este injectiv.

Fie GAxB. Dac corespondena HBxA are loc atunci cnd perechea
(b,a) aparine lui H dac i numai dac (a,b)G, H se va numi inversa lui G
i se va nota prin G-1. Dac corespondena invers funciei f:AB este
funcional ea se va numi funcie invers funciei f i se va nota prin f -1.

20
Ciclu de prelegeri la cursul Matematica discret
Fie f:AB i g:BC. Funcia h:AC se va numi compunerea funciilor f i
g (vom nota fog), dac are loc egalitatea h(x)=g(f(x)), n care x A. Se mai spune
c h a fost obinut prin substituirea lui f n g.
Menionm fr demonstraie [2]:
Teorema 2.5. Dac f i g sunt injective, la fel va fi i gof.
Teorema 2.6. Dac f i g sunt surjective, la fel va fi i gof.
Teorema 2.7. Dac f i g sunt bijective, la fel va fi i gof i f-1og-1.
Pentru funcii de mai multe argumente f:AmB, g:BnC sunt posibile mai
multe variante de substituie, care conduc la funcii de diferite tipuri. Un interes
aparte prezint cazul cnd avem funcii de tipul f1:Am1A,..., fn:AmnA. n acest
caz sunt posibile orice substituii de funcii i redenumiri de argumente. Funcia
obinut din f1,..., fn printr-o substituire oarecare i redenumirea argumentelor se
numete superpoziia f1,..., fn.
2.7. Relaii i proprietile lor
2.7.1. Noiuni introductive
Se numete relaie n-ar submulimea R a produsului cartezian A1xA2An:
R A1xA2An. Vom zice c a1,..., an, sunt n relaia R dac (a1,..., an)R.
Cardinalul mulimii vectorilor, care formeaz relaia se numete cardinalul
relaiei.
O relaie unar este o parte a mulimii M i determin o proprietate a
elementelor unei submulimi a mulimii M din care cauz pentru n = 1 denumirea
de relaie practic nu este utilizat. Un interes mai mare prezint cazul cnd n = 2
- relaiile binare. Dac a i b se afl n relaia R, aceasta se va scrie aRb.
Exemplul 2.19. Pentru mulimea N: relaia "<" are loc n cazul perechii (3,9) i nu are
loc pentru perechea (6,4). Relaia "a fi divizor" are loc pentru
perechea (7,35) i nu are loc pentru (18,2) sau (4,9). Pentru o mulime
de oameni pot fi relaii de tipul "a fi prieteni", "a locui in acelai
ora", "a fi fiu", etc.
Restricia lui R pe M1M este R1 = RM12.
Pentru definirea unei relaii pot fi utilizate oricare din metodele de definire a
mulimilor. O posibilitate suplimentar este matricea de relaie. Pentru mulimea
M = {a1, a2,..., am} aceasta este o matrice mxm n care
1 dac aiRaj,
a(i,j) =
0 n caz contrar.

21
Ciclu de prelegeri la cursul Matematica discret
Deoarece relaia este n ultim instan o mulime, pot fi executate aceleai
operaii (reuniune, intersecie, etc.) i cu relaiile.
Noiunea relaie formeaz fundamentul bazelor de date de tip relaional.
Relaiile sunt analogul matematic al tabelelor. Chiar termenul reprezentarea
relaional a datelor, introdus de ctre Edgar Codd [3], provine de la termenul
relation. Dou momente trebuie subliniate n mod deosebit.
Primul moment: toate elementele unei relaii sunt vectori (cortejuri) de
acelai tip. Din aceast cauz cortejurile sunt analogul liniilor ntr-un simplu
tabel, adic un tabel n care fiecare linie conine acelai numr de cmpuri, iar n
cmpurile respective sunt pstrate date de acelai tip. De exemplu, relaia, care
conine trei cortejuri {(1, Petrescu Diana, TI-981), (3, Popescu Adrian, TI-982),
(5, Ivanov Vadim, TI-983)} poate fi considerat tabel cu date despre trei studeni
(numrul de ordine, numele i prenumele i grupa academic). Acest tabel are
trei linii i trei coloane, n fiecare coloan coninndu-se date de acelai tip.
Din contra, mulimea {(1), (1, 2), (1, 2, 3)}, care conine cortejuri numerice
de tipuri diferite, nu este relaie nici n R, nici n R2, nici n R3. Din cortejurile,
care intr n aceast mulime nu poate fi construit un tabel simplu.
Al doilea moment: relaia poate s nu cuprind toate cortejurile posibile ale
produsului cartezian (cu excepia cazului extrem, cnd relaia este chiar produsul
cartezian). Aceasta nseamn, c fiecrei relaii i corespunde un criteriu, care
permite s se determine care dintre cortejuri aparin relaiei date i care nu. Acest
criteriu determin sensul (semantica) relaiei.
O relaie se numete inversa relaiei R (se va nota R-1) dac aiRaj are loc
atunci i numai atunci cnd are loc ajR-1ai.

2.7.2. Proprietile relaiilor


Relaia poate poseda o serie de proprieti dintre care vom meniona
reflexivitatea, simetria i tranzitivitatea. Dac pentru aM are loc aRa
relaia R se numete reflexiv. Diagonala principal a matricei relaiei R conine
numai uniti. Relaia R se numete antireflexiv dac nu exist aM pentru care
ar avea loc aRa. Diagonala principal a matricei unei astfel de relaii conine
numai zerouri. Relaiile "", "a avea un divizor comun" sunt reflexive. Relaiile
"a fi fiu", ">" - sunt antireflexive.
Dac pentru o pereche (a,b)M2 din aRb rezult bRa (relaia are loc n
ambele pri sau nu are loc de fel), relaia R se numete simetric. Pentru astfel
de relaii c(i,j) = c(j,i): matricea este simetric fa de diagonala principal.

22
Ciclu de prelegeri la cursul Matematica discret
Relaia se va numi antisimetric, dac din aiRaj i ajRai rezult c ai=aj .
Relaia "" este antisimetric, iar "a locui n acelai ora" - simetric.
Relaia R se numete tranzitiv dac pentru oricare a, b i c din aRb i bRc
rezult aRc. Relaiile "a locui n acelai ora", "egal", "<" sunt tranzitive, iar "a
fi fiu" nu este tranzitiv.
O relaie binar se numete relaie funcional, dac atunci cnd (x, y) R i
(y, z) R vom avea n mod obligator x=z (univocitatea funciei).
Pentru oricare relaie R poate fi definit noiunea de nchidere tranzitiv R*:
aR b (a se afl n relaia R* cu b), dac n M exist o secven de n elemente
*

a=a1,..., an-1, an = b n care pentru elementele vecine are loc R: aRa2, a2Ra3,...,
an-1Rb. Dac R este tranzitiv, atunci R*=R. Pentru relaia "a fi fiu" relaia "a fi
descendent direct" este nchidere tranzitiv (este reuniunea relaiilor "a fi fiu", "a
fi nepot", "a fi strnepot" s.a.m.d.).
O relaie care posed proprietile reflexivitate, simetrie i tranzitivitate se
numete relaie de echivalen.
Se numete relaie de ordine oricare relaie care posed proprietile
reflexivitate, antisimetrie i tranzitivitate. O relaie antireflexiv, antisimetric i
tranzitiv se numete relaie de ordine strict. Dou elemente a i b se numesc
comparabile conform relaiei de ordine R dac are loc aRb sau bRa. O mulime
M cu o relaie de ordine definit pe M se numete total ordonat dac oricare
dou elemente din M sunt comparabile i parial ordonat, n caz contrar.
Exemplul 2.20. Relaiile "", "" pentru o mulime de numere sunt relaii de ordine,
iar "<", ">" - de ordine strict. Relaia de subordonare n cadrul unei
ntreprinderi definete o ordine strict (dar parial - nu pot fi
comparai colaboratorii diferitor departamente).
n alfabetul latin literele sunt aranjate ntr-o ordine binecunoscut: se
afl n relaia de precedare a literelor. Conform acestei relaii poate fi
stabilit relaia de precedare a cuvintelor - ordinea lexicografic a
cuvintelor (utilizat de exemplu n dicionare). Relaia de ordine
lexicografic poate fi definit i pentru informaii numerice. De
exemplu, n calculator data i anul sunt memorizate sub forma "anul,
luna, ziua" pentru ca ordinea de cretere a datei totale s coincid cu
ordinea lexicografic.
Exemplul 2.21. B este mulimea tuturor cuvintelor binare de orice lungime i
desemneaz unicul cuvnt binar de lungime 0. Dac m este un cuvnt

Termenul antisimetric nu a fost ales prea norocos, deoarece se poate crede c o relaie, care nu este
simetric este totdeauna antisimetric, ceea ce nu este corect.

23
Ciclu de prelegeri la cursul Matematica discret
binar de lungime p, vom nota biii acestuia m1, m2,..., mp. Relaia de
ordine , definit peste B, se numete de ordine lexicografic, dac:
a) m, m
b) pentru m i n de lungime p i q cu proprietatea 0 < p q
m n, dac m1=n1, m2=n2,..., mp=np,
m n, dac m1=n1, m2=n2,..., ms-1=ns-1, ms < ns, pentru 1s p,
n m, dac m1=n1,..., ms-1=ns-1, ms > ns, pentru 1 s p.

2.7.3. Alte metode de descriere a relaiilor


Fie mulimea tinerilor {Vlad, Petre, Maria, Elena}despre care se cunoate c:
1. Vlad l iubete pe Vlad (egoism),
2. Petre o iubete pe Maria (reciproc),
3. Maria l iubete pe Petre (reciproc),
4. Maria o iubete pe Maria (egoism feminin),
5. Cristina l iubete pe Petre (dragoste nefericit).
Informaia despre relaiile dintre aceti tineri poate fi descris cu ajutorul
relaiei binare a iubi, definite peste mulimea iniial. Relaia dat poate fi
descris prin cteva metode.
Metoda 1. Enumerarea faptelor sub form de text de form arbitrar (vezi mai
sus).
Metoda 2. Grafic (graful relaiei):

Cristina Vlad

Maria
Petre

Metoda 3. Cu ajutorul matricei de relaie:


Vlad Petre Maria Cristina
Vlad 1 0 0 0
Petre 0 0 1 0
Maria 0 1 1 0
Cristina 0 1 0 0

24
Ciclu de prelegeri la cursul Matematica discret
Metoda 4. Cu ajutorul unui tabel al faptelor:
Cine iubete Pe cine iubete
Vlad Vlad
Petre Maria
Maria Petre
Maria Maria
Cristina Petre
Din punctul de vedere al bazelor de date de tip relaional mai convenabil
este ultima metod, deoarece permite pstrarea i manipularea cea mai simpl,
eficient i comod a datelor. ntr-adevr, enumerarea faptelor n form textual
este binevenit n cazul unei opere literare, dar este dificil de algoritmizat. Forma
grafic este cea mai elocvent i poate fi utilizat pentru reprezentarea final a
informaiilor, dar pstrarea datelor n form grafic presupune eforturi
suplimentare. Matricea relaiei este mai aproape de cerinele unui sistem
informaional, fiind comod pentru manipulare, dei adesea puternic rarefiat.
ns modificri neeseniale (de exemplu a aprut un oarecare Vasile care s-a
ndrgostit de nefericita Elena) pot conduce la modificarea ntregii matrice (vor
apare i linii i coloane noi). Tabelul faptelor este liber de toate acestea.
Ultima relaie nu este nici tranzitiv, nici simetric sau antisimetric, nici
reflexiv. Din aceast cauz ea nu este nici relaie de echivalen, nici relaie de
ordine, nici o oarecare alt relaie care ar conduce la ceva raional. Cea mai mare
parte a literaturii universale prezint interes anume din cauza, c relaia binar a
iubi nu este o relaie de echivalen. n particular, asta este cauza, c omenirea
nu se mparte n clase de echivalen de oameni, care se iubesc reciproc. De
cercetarea caracteristicilor acestei relaii s-au ocupat (i continu s se ocupe)
foarte muli experi, dintre care amintim pe M. Eminescu, L.Tolstoi, W.
Shakespeare, etc.

2.8. Operaii i algebre. Proprietile operaiilor


Funcia de tipul : MnM se va numi operaie n-ar pe M. Setul A = <M,
>, n care este o mulime de operaii definite pe M, se numete algebr.
Mulimea M se va numi mulime de baz sau suportul, iar = {1, 2,..., m,...} -
signatura algebrei A. Vectorul, componentele cruia sunt aritile operaiilor 1,
2,... se numete tipul algebrei A.
Operaia se numete:
a) comutativ, dac ab = ba,
b) asociativ, dac pentru oricare a, b, c are loc (ab)c = a(bc),
c) idempotent, dac aa = a,

25
Ciclu de prelegeri la cursul Matematica discret
d) distributiv stnga fa de operaia g, dac pentru oricare a, b, c are loc
relaia
e) a(bgc) = (ab)g(ac), i distributiv dreapta dac (agb)c =
(ac)g(bc).
Dac exist un element e pentru care are loc ae = ea = a, atunci acest
element se numete neutru (sau unitate).
Exemplul 2.22. a) Pentru o mulime arbitrar U i mulimea tuturor prilor B(U),
algebra A = {B(U), , , } se numete algebr booleana a
mulimilor. Tipul ei este (2,2,1).
b) Algebra A = {R,+,x} se numete cmp al numerelor reale. Ambele
operaii sunt binare, deci tipul este (2,2).

Algebrele L = {M,,} (cu dou operaii binare - reuniunea i intersecia) se


numesc latice, dac au loc axiomele:
P1: ab = ba, ab = ba - comutativitate,
P2: a(bc) = (ab)c, a(bc) = (ab)c - asociativitate,
P3: a(ba) = a, a(ba) = a - absorbie,
pentru oricare a, b, cM.
Se poate observa c n acest sistem de axiome se pot schimba ntre ele
simbolurile i , proprietate cunoscut sub denumirea de principiul dualitii
pentru latici. De asemenea, plecnd de la axiomele de mai sus se poate demonstra
proprietatea numit idempoten aa = a, aa = a pentru oricare aM. Prin
definiie, o latice finit (mrginit) are un element care este cea mai mic margine
superioar, numit prim element al laticii, notat prin 1, astfel nct a1 = 1, a1
= a, aM i un element care este cea mai mare margine inferioar, numit ultim
element al laticii, notat prin 0, astfel nct a0 = 0a = a, a0 = 0a = 0,
aM.
Fie L = {M, , , 0, 1} o latice finit i aM. Un element complementar sau
pe scurt un complement al elementului a este elementul (non a), astfel nct
a = 1 - principiul terului exclus,
a = 0 - principiul contradiciei.
Evident, nu oricare element dintr-o latice finit are un complement, iar dac
acesta exist, nu este n mod necesar unic. Subliniem aici, c elementele 0 i 1 au
fiecare un complement unic, respectiv 1 i 0: 0 = 1, 1= 0.
Dac ntr-o latice finit orice element a are un complement , aceast latice se
numete complementar.

26
Ciclu de prelegeri la cursul Matematica discret
O latice L este distributiv dac i numai dac
(ab)c = (ac)(bc),
(ab)c = (ac)(bc), a, b, cM.
Pentru dou algebre A = {C, 1,2,...,n} i B = {D, g1,g2,...,gn} de acelai tip
se numete omomorfismul algebrei A n algebra B aplicaia : CD, care
verific condiia
(i(cj1,..., cjl(i))) = gi((cj1),...,(cjl(i))) (2.5)
pentru toi i =1,..., n i toate elementele cjrC.
Un omomorfism biunivoc se numete izomorfism al algebrei A n algebra B.
Dac exist izomorfismul lui A n B, atunci exist i izomorfismul lui B n A -
algebrele A i B se vor spune izomorfe.
Pentru cazul A = B izomorfismul se va numi automorfism.

2.9. Modele si sisteme algebrice. Algebra relaiilor


Noiunea de model este una din noiunile de baz n matematica discret. Se
va numi model M setul care const din mulimea D - suportul modelului, i o
mulime de relaii S definite pe D:
M = <D, S>, (2.6)
n (2.6) S = {R11, R12,..., R1,n1, R21, R22,..., R2,n2,..., Rm1, Rm2,..., Rm,nm} este
signatura modelului, RijMi. Exponenta suportului determin aritatea relaiei.
Dou relaii Ri i Rj care au aceeai aritate se numesc compatibile.
Setul care conine mulimea D, operaiile i relaiile definite pe D
A = <D, F, S> (2.7)
se numete sistem algebric.
Modelul este un caz particular al sistemului algebric, cnd mulimea F este
vid, iar pentru o algebr mulimea S este vid.
Un alt caz particular al sistemelor algebrice l constituie algebra relaiilor i
extensia acesteia - algebra relaional. Pentru o algebr a relaiilor drept suport
servete mulimea relaiilor considerate, iar signatura o formeaz operaiile de
reuniune, intersecie, diferen i produsul cartezian extins al relaiilor. S facem
cunotin cu aceste operaii.
Reuniunea RiRj a dou relaii compatibile Ri i Rj este mulimea tuturor
cortejurilor, fiecare dintre care aparine cel puin uneia din relaii.

27
Ciclu de prelegeri la cursul Matematica discret
Intersecia RiRj a dou relaii compatibile Ri i Rj se va numi mulimea
tuturor cortejurilor care aparin simultan ambelor relaii.
Diferena Ri\Rj a dou relaii compatibile Ri i Rj se numete mulimea
tuturor cortejurilor care aparin lui Ri i nu aparin lui Rj .
Produs cartezian extins RixRj a dou relaii Ri i Rj se va numi mulimea
tuturor cortejurilor formate prin concatenarea lui aRi i a lui bRj.
De exemplu, dac Ri={(a,b),(a,c),(a,e)}, iar Rj = {(a,b,c),(c,d,e)}, atunci RixRj
= {(a,b,a,b,c), (a,b,c,d,e), (a,c,a,b,c), (a,c,c,d,e), (a,e,a,b,c), (a,e,c,d,e)}.
Algebra relaiilor i modelele sunt utilizate pentru formalizarea unor obiecte
reale. Vom exemplifica prin folosirea algebrei relaiilor n cazul bazelor
relaionale de date.
O baz de date de tip relaional este un tablou bidimensional n care
coloanele determin aa numitele domene (atribute), iar liniile sunt cortejuri de
valori concrete ale atributelor, care se afl n relaia R.
Exemplul 2.23. Relaia R5 - "examene" (v.tab. 2.3). Relaia R5 este o submulime a
produsului cartezian D1xD2xD3xD4xD5. Elemente ale domenului Di
sunt valorile atributelor:
D1 = {3-101, 3-501, 3-502, 3-310} - numerele auditoriilor unde au loc examenele;
D2 = {Matematica discret n inginerie, Microelectronica, Fizica, Circuite integrate,
Electrotehnica} - denumirea disciplinelor;
D3 = {conf.V.Popescu, conf. V.Negur, conf.A.Diligul, conf.V.ontea, prof.I.Samusi} -
examinatorii;
D4 = {3 iunie, 4 iunie, 8 iunie, 13 iunie} - data examenului;
D5 = {TI-961, TI-962, TI-963, C-941, C-942, C-951, C-952} - codul grupei.
Tabelul 2.3. Relaia examene.
R5 D1 D2 D3 D4 D5
1 3-101 Matematica discret conf. V.Popescu 3 iunie TI-961
2 3-202 Microelectronica prof. V.ontea 4 iunie C-951
3 3-310 Fizica prof. I.Samusi 3 iunie TI-962
4 3-101 Circuite integrate conf. V. Negur 4 iunie C-941
5 3-104 Electrotehnica conf. A. Diligul 3 iunie TI-951
6 3-101 Matematica discret conf. V. Popescu 8 iunie TI-962
7 3-101 Matematica discret conf. V. Popescu 13 iunie TI-963
8 3-202 Microelectronica prof. V. ontea 8iunie C-952
9 3-310 Fizica prof. I. Samusi 8iunie TI-961
10 3-101 Circuite integrate conf. V. Negur 8iunie C-942

Numerele 1, 2,..., 10 din prima coloan identific elemente ale relaiei R5.

28
Ciclu de prelegeri la cursul Matematica discret
2.10. Algebra relaional
Algebra relaional este o extensie a algebrei relaiilor n sens c signatura S
n afar de cele 4 operaii descrise anterior mai conine cteva operaii speciale,
cum ar fi proiecia, selecia, jonciunea. Mai pot fi incluse operaia de atribuire,
care permite s se pstreze n baza de date rezultatele calculelor unor expresii
algebrice, operaia de redenumire a atributelor, care d posibilitatea formrii
corecte a schemei relaiei rezultante, etc. Ideea principal a algebrei relaionale
const n faptul c, deoarece relaiile sunt mulimi, mijloacele de manipulare a
relaiilor se pot baza pe operaiile tradiionale cu mulimi, completate cu cteva
operaii suplimentare, specifice bazelor de date.
Exist mai multe abordri n definirea algebrei relaionale, care difer prin
setul de operaii i interpretarea lor, abordri n ultim instan echivalente. Vom
descrie n continuare o extensie a variantei iniiale, propuse de Codd [3]. Aici
signatura algebrei relaionale conine apte operaii, patru legate de mulimi i trei
speciale:
reuniunea relaiilor;
intersecia relaiilor;
diferena relaiilor;
produsul cartezian extins;
selecia;
jonciunea,
proiecia.
Operaiile enumerate mai sus pot fi interpretate dup cum urmeaz.
Din reuniunea a dou relaii rezult relaia, care include toate cortejurile
din cadrul relaiilor-operanzi.
Din intersecia a dou relaii rezult relaia, care include doar cortejurile
prezente n ambele relaii-operanzi.
Relaia diferena a dou relaii conine toate cortejurile primului operand,
care nu sunt prezente i n cel de-al doilea operand.
n rezultatul calculrii produsului cartezian extins obinem o nou relaie,
cortejurile creia sunt concatenarea (n sensul descris mai sus) cortejurilor
din prima i a doua relaie.
Operaia selecie permite evidenierea unei submulimi de cortejuri care
posed o proprietate dat. De exemplu, operaia selecie permite evidenierea
relaiei orarul conf. V. Popescu - liniile n care valoarea domenului D3 este conf.
V. Popescu:

29
Ciclu de prelegeri la cursul Matematica discret
Tabelul 2.4. Rezultatul operaiei selecie pentru valoarea conf. V. Popescu
R5 D1 D2 D3 D4 D5
1 3-101 Matematica discret conf. V.Popescu 3 iunie TI-961
6 3-101 Matematica discret conf. V.Popescu 8 iunie TI-962
7 3-101 Matematica discret conf. V.Popescu 13 iunie TI-963

Operaia proiecie se definete introducnd pentru suportul D al algebrei


relaionale o partiie de n submulimi (n este aritatea relaiei) RnDn. Proiecia
relaiei binare R2AxB pe A (PrR2/A) se numete mulimea {ai | (ai,bi)R2}.
Proiecia PrRn/Ai1,...,Aim a relaiei n-are RnA1xA2x...xAn, m n, pe Ai1, Ai2,..., Aim
se numete mulimea cortejurilor (ai1, ai2,..., aim), n care ai1Ai1, ai2Ai2,...,
aimAim i fiecare cortej este parte a unui element al relaiei n-are Rn. Cu alte
cuvinte, operaia proiecie permite construirea unei submulimi verticale a relaiei
(a unei mulimi de submulimi de atribute care se obine prin alegerea unor
domene concrete). De exemplu, Pr(R5/D2,D3) determin denumirea examenelor i
numele examinatorilor (liniile care coincid se scriu o singur dat, v.tab. 2.5).
Tabelul 2.5. Rezultatul operaiei proiecie.
D2 D3
Matematica discret conf. V.Popescu
Microelectronica prof. V.ontea
Fizica prof. I.Samusi
Circuite integrate conf. V.Negur
Electrotehnica conf. A.Diligul

Operaia jonciune (join) a dou tabele care au un domen comun permite


construirea unui tabel nou n care fiecare linie se va obine din unirea a dou linii
din tabelele iniiale. Aceste linii corespund aceluiai atribut din domenul comun.
Domenul comun se va scrie o singur dat. De exemplu, pentru tabele 2.6 i 2.7
domenul comun este D5, rezultatul operaiei de jonciune este prezentat n tabelul
2.8.
Tabelul 2.6.
D1 D2 D3 D4 D5
3-202 Microelectronica prof. V.ontea 4 iunie C-951
3-310 Fizica prof. I.Samusi 3 iunie TI-962
3-104 Electrotehnica conf. A.Diligul 3 iunie TI-951

30
Ciclu de prelegeri la cursul Matematica discret
Tabelul 2.7.
D1 D2 D3 D4 D5
3-104 Electrotehnica conf. A.Diligul 13 iunie C-951
3-310 Matematica conf. L.Dogotaru 13 iunie TI-962
3-202 Microelectronica prof. V.ontea 14 iunie TI-951

Tabelul 2.8. Rezultatul operaiei join.


D1 D2 D3 D4 D11 D21 D31 D41 D5
3-202 Microele conf. 4 3- Electroteh conf. 13 C-951
ctronica V.ontea iunie 104 nica A.Diligul iunie
3-310 Fizica prof. 3 3- Matematic conf. 13 TI-
I.Samusi iunie 310 a L.Dogotaru iunie 962
3-104 Electroteh conf. 3 3- Microelec prof. 14 TI-
nica A.Diligul iunie 202 tronica V.ontea iunie 951

Operaia join este definit nu numai pentru condiia de egalitate a dou


domene, ci pot fi i alte condiii de comparare, de exemplu, >, , <, , etc.

31
Ciclu de prelegeri la cursul Matematica discret

2.11. Exerciii i probleme


2.1. Care sunt elementele mulimii {{a, b, c}, {a}, {b, c}} ?
2.2. Demonstrai, c (A) (B), dac A B.
2.3. Este oare just relaia {a}{a, b, c}? Formai lista prilor mulimii A={a, b,
c}.
2.4. Pentru cazurile de mai jos determinai dac mulimile A i B sunt egale.
a) A={xR | x>0} B={x R | x |x|};
b) A={xR | x>0} B={x R | x |x|};
c) A=Z B={x Z | x2 x este numr par};
d) A={xN20 | x - impar i nu se mparte la 3} B={x N20 | x2-1 este
divizibil prin 24}.
2.5. Pentru B={0, 1} determinai:
a) Este oare just relaia B B?
b) Care sunt elementele lui (B)?
c) Care sunt elementele lui ((B))?
2.6. Definii mulimile:
a) Mulimea numerelor ntregi mai mari ca 100.
b) Mulimea numerelor ntregi pare.
2.7. Propunei cte o procedur generatoare pentru mulimile de mai jos.
a) A={1, 2, 4, 8, 16, 32, 64,};
b) B={1, 2, 7, 14,};
c) C={4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20}.
2.8. Definii prin enumerare urmtoarele mulimi:
a) A={xR | x(x+5)=14};
b) B={xN | x(2x+3)=14};
c) C={xN25 | x este suma ptratelor a dou numere naturale; Nn ={1,
2,..., n}}.
d) D={xN12 | x este numr perfect}.
e) E={xN10 | x4 1 se mparte la 5}.
2.9.Demonstrai echivalenele:
a) (S (T R)) ((S T) (S R))
b) ((S T) - R) ((S - R) (T - R))
c) (S - (T R)) ((S - T) - R)
2.10. Fie S T, demonstrai c:
a) (ST) = S
b) (S -T) =
c) (S) (T).

32
Ciclu de prelegeri la cursul Matematica discret
2.11. Artai c
a) (S) (T) (S T)
b) (S T) (S) (T)
Pot (a) sau (b) fi adevrate dac incluziunea este nlocuit prin echivalen
? Ce reprezint ( ( ()))?
2.12. Determinai reuniunea mulimilor A i B:
a) A = {x N | x este impar} B = {x N | x nu se mparte la 5}
b) A = {x R | 0 < x < 4} B = {x R | 1 < x < 3}
c) A = {(x, y) R2 | x +y < 2} B = {x R | 3 < 4x - y}
2.13. Pentru trei mulimi se cunoate c A B C = . Sunt ele oare n mod
obligator disjuncte dou cte dou? Exemplificai.
2.14. Asociem fiecrui numr real a R mulimea Ea = {x R | (1-a2) x (1-
a2)}, ceea ce genereaz o familie de mulimi indexate cu elemente din R.
Determinai reuniunea i intersecia mulimilor acestei familii.
2.15. Pentru fiecare dintre cazurile care urmeaz s se determine dac mulimile
A i B sunt egale, sau dac una se conine n cealalt, sau dac exist o
injecie a uneia n alta.
a) A = (ExF) B = (E) x (F)
b) A = (E1xE2x...xEi) B = (E1) x (E2) x...x (Ei), iI
c) A = (EF) B = (E) (F)
d) A = (EF) B = (E) (F)
2.15. Reprezentai grafic A2, B2, C2, AxB, AxC, BxC, dac A= [-3; -1]U[1; 3],
B={-3, -1}U[1; 3], C={-3, -1}U{1, 3}.
2.16. Sunt date mulimile E, F i G. Pentru fiecare dintre cazurile care urmeaz
s se determine dac mulimile A i B sunt egale sau dac una se conine n
cealalt.
a) A = E x (F G) B = (E x F) (E x G)
b) A = E x (F G) B = (E x F) (E x G)
c) A = E (F G) B = (E F) (E G)
d) A = E (F G) B = (E F) (E G)
e) A = E (F x G) B = (E F) x (E G)
f) A = E (F x G) B = (E F) x (E G)
2.17. Definii dou mulimi A i B i o coresponden (o aplicaie f:AB) care ar
permite interpretarea fiecrei dintre situaiile de mai jos
a) registrul unui hotel cu 100 camere;
b) o carte de telefoane;
c) rezultatele unui tiraj Superloto;
d) cuprinsul unei cri.
Ce putei spune despre proprietile acestor corespondene (aplicaii)?

33
Ciclu de prelegeri la cursul Matematica discret
2.18. Pentru fiecare dintre cazurile de mai jos s se stabileasc dac
corespondena dintre A i B (aplicaia f:AB) este surjectiv, injectiv sau
bijectiv. Determinai inversa, atunci cnd f este bijectiv.
a) A=R B=R, f(x)=x+7
b) A=R B=R, f(x)=2x2+12x+16
c) A={xR | |x|3} B={xR | 20 |x| 100} f(x)=x2+6x+8
d) A=R B=R, f(x)=5x-4|x|
e) A=R B=R, f(x)=ex+2
f) A=N B=N, f(x)=x2+x.
2.19. Fie aplicaiile f i g: N10 N10 definite cu ajutorul tabelelor de mai jos
x 1 2 3 4 5 6 7 8 9 10
f(x) 5 4 6 3 2 8 1 9 10 7

x 1 2 3 4 5 6 7 8 9 10
g(x) 1 2 2 8 5 6 7 4 9 10
a) Reprezentai n acelai mod aplicaiile: fof, fog, gof, gog;
b) Stabilii care din aplicaiile iniiale (f sau g) este bijectiv i stabilii
inversa ei.
2.20. Aducei exemple de produs cartezian, analogice exemplului
2.21. Demonstrai c dac x i y sunt numere naturale arbitrare numrul
((x+y)(x+y+1))/2 este la fel un numr natural. Fie A mulimea punctelor din
plan cu coordonatele x i y, numere naturale. Demonstrai c aplicaia f:
AN definit de f(x, y) = x + ((x+y)(x+y+1))/2 este bijectiv.
2.22. Demonstrai c mulimea cuvintelor binare este numrabil.
2.23. Demonstrai c Nn este numrabil oricare ar fi n.
2.24. Demonstrai c mulimea submulimilor finite ale mulimii N este
numrabil.
2.25. Demonstrai c produsul i reuniunea a dou mulimi numrabile sunt
numrabile.
2.26. Asociem fiecrui cuplu (x, y) N2 numrul natural u = 2y(2x+1)-1.
a) Reprezentai n baza 2 x i u, dac x = 5, y = 3.
b) Cum poate fi exprimat reprezentarea n baza doi a lui u n caz
general?
c) Demonstrai c aplicaia care pune n coresponden u cuplului (x, y)
este o bijecie ntre N i N2.
2.27. Fie x i y Z, iar relaiile R1 i R2 definite dup cum urmeaz:
x R1 y dac x+y este un numr par
x R2 y dac x-y este un numr par
Sunt oare aceste dou relaii egale?
2.28. Ce putei spune despre proprietile relaiilor de mai jos?

34
Ciclu de prelegeri la cursul Matematica discret
a) A = R i x y dac |x| = |y|
b) A = R i x y dac sin2x+cos2y = 1
c) A = R i x y dac exist p i q ntregi astfel ca y = pxq.
d) A este mulimea punctelor unui plan i x y dac distana dintre x i y
este mai mic de 50 km.
2.29. Definim o relaie R peste cuvintele limbii romne astfel: cuvntul A este
legat de cuvntul B, dac B este o anagram a lui A. Demonstrai c R este
o relaie de echivalen. Care este clasa de echivalen a cuvnului ras?
2.30. Peste mulimea numerelor ntregi definim relaia S: x S y, dac x+y este
par. Demonstrai, c S este o relaie de echivalen. Descriei clasele sale
de echivalen.
2.31. Peste mulimea numerelor cuvintelor binare de lungime 7 definim relaia :
m n cnd cuvintele m i n nu difer mai mult dect n 5 bii. Este oare
aceast relaie o relaie de echivalen?
2.32. Noiunea de ordine lexicografic peste B a fost definit n exemplul 2.20.
a) Demonstrai c ordinea lexicografic este o relaie de ordine.
b) Cuvntul 111 are oare un succesor imediat? Este el oare succesor
imediat i al altui cuvnt?
c) Care cuvinte se afl ntre cuvintele 111 i 1111?
d) Generalizai noiunea de ordine lexicografic nlocuind B cu o
mulime finit oarecare total ordonat (de exemplu, cele 26 litere ale
alfabetului latin).

35
Ciclu de prelegeri la cursul Matematica discret

3. ELEMENTE DE LOGIC MATEMATIC


Logica matematic reunete teoria mulimilor, teoria algoritmilor, teoria
modelelor i teoria demonstraiilor. Vom face cunotin cu unele momente
legate de teoria algoritmilor, care studiaz modelele matematice ale operaiilor
mecanice executate de oameni sau dispozitive speciale atunci cnd rezolv
probleme de mas de acelai tip, n capitolul 5. Teoria modelelor a aprut prin
aplicarea metodelor logicii matematice la algebr, transformndu-se ntr-o
disciplin de-sine-stttoare, care studiaz modelele matematice ale teoriilor
tiinifice, punnd n eviden legile comune tuturor teoriilor ce se exprim
printr-un limbaj formalizat dat. Teoria demonstraiilor, care reprezint partea
principal a logicii matematice, studiaz modelele matematice ale procesului
gndirii, structura gndirii, ale raionamentelor utilizate n matematic. Orice
proces de gndire, printre care i cel utilizat n matematic, este legat de
urmtoarele patru obiecte:
1. Un limbaj L n care se exprim premisele iniiale (datele) ale gndirii, diferite
momente ale gndirii, rezultatele obinute prin raionament. De obicei, L este
limba unui popor, mbogit cu termeni i concepte caracteristice teoriei
obiectelor studiate.
2. O clas K a obiectelor studiate N.
3. Un concept de adevr al enunului a n limbajul L privind obiectul studiat NK.
4. Un proces de elaborare a enunurilor folosite n raionament, constnd n trecerea
de la unele enunuri, numite premise, la un enun nou, numit consecin a
enunurilor iniiale.
Modelul matematic al procesului gndirii const din urmtoarele modele:
Limbajul formalizat Lf - modelul matematic al limbajului L;
Modelul matematic Nm al obiectului studiat N;
Definiia exact a conceptului de adevr a enunului din limbajul Lf n modelul
Nm;
Calculul logic sau modelul matematic al trecerii de la premise la consecine.
Dintre principalele orientri ale logicii matematice pot fi menionate logica
clasic, logica intuiionist, logica polivalent, logica hibrid, logica fuzzy, etc.
Definirea riguroas a problemelor legate de tiina calculatoarelor,
informatica teoretic i aplicat este bazat pe principiile logicii matematice.
Problemele tehnice privind circuitele logice i comenzile secveniale, majoritatea
modelelor matematice utilizate n inteligena artificial nu pot fi concepute n
afara acestui domeniu.

36
Ciclu de prelegeri la cursul Matematica discret
3.1. Funciile algebrei logicii
Vom evidenia n mod deosebit mulimea B care conine dou elemente,
notate de obicei prin 0 i 1 B={0,1}. Aceste elemente nu vor fi considerate
numere n sensul obinuit. Ne vom opri la interpretarea logic: 0 n sens de nu
sau fals i 1 n sens de da sau adevrat; (v amintii de programare - FALS i
TRUE). ntr-un caz mai general aceast interpretare nu este obligatorie - adesea
elementele mulimii B pot fi considerate simboluri formale care nu au un sens
aritmetic.
Algebra A = <B, F>, n care F este mulimea operaiilor f: BnB, n = 1, 2,...,
m se numete algebra logicii sau boolean, dup numele matematicianului i
logicianului englez George Boole (1815 - 1864). Operaiile f: BnB se numesc
funcii ale algebrei logicii sau funcii logice, funcii booleene (FB). Cu alte
cuvinte, o funcie boolean de n argumente f(x1, x2,..., xn) are domeniul de valori
i domeniul de definiie mulimea B={0,1}. Mulimea tuturor funciilor logice de
n argumente notm prin P2(n).
Lund n locul lui B o mulime finit M de cardinal k de simboluri formale
mpreun cu toate operaiile definite pe M vom ajunge la logica polivalent.
Mulimea tuturor funciilor logice n logica polivalent se va nota prin Pk(n).
O algebr boolean mai poate fi definit ca o latice complementar i
distributiv cu axiomele i proprietile respective (v.p. 2.8).
O funcie logic f(x1, x2,..., xn) poate fi definit cu ajutorul unui tabel care
conine n+1 coloane. Primele n coloane vor enumera toate combinaiile posibile
ale argumentelor, iar ultima determin valorile posibile ale funciei.
Exemplul 3.1. Pentru o funcie de trei argumente f(x1, x2, x3) putem avea urmtorul
tabel:
Tabelul 3.1. Tabel de adevr
x1 x2 x3 f(x1,x2,x3) x1 x2 x3 f(x1,x2,x3)
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 0
0 1 1 0 1 1 1 1
Se va mai spune c combinaia (000) este aplicat n 1, (001) - n 0
.a.m.d. Combinaiile au fost enumerate n ordine lexicografic,
ncepnd de la 0, reprezentat n binar prin (000) pn la 7 - (111).
Avem 8 combinaii posibile n cazul unei funcii de trei argumente.
Pentru cazul unei funcii de n argumente observm c combinaiile posibile
ale argumentelor sunt vectori binari de lungime n. Este uor de demonstrat, c

37
Ciclu de prelegeri la cursul Matematica discret
mulimea tuturor combinaiilor posibile este k = 2n (v. teorema 2.1). Din aceleai
2n
considerente pot exista 2k = 2 funcii booleene distincte. ntradevr, mulimea
tuturor vectorilor binari de lungime n prin definiie reprezint produsul cartezian
Bn. Cardinalul acestui produs este |B| = 2n. Analogic, deoarece oricare funcie
n
boolean de n argumente este un vector binar de lungime k = 2n, exist 22
funcii booleene.
Tabelele de tipul lui 3.1 se numesc tabele de adevr.
Exist situaii cnd pentru unele combinaii ale valorilor argumentelor
valoarea FB nu este determinat. Funciile Booleene nedeterminate pentru una
sau mai multe combinaii ale valorilor argumentelor se numesc incomplet
definite. n tabelul de adevr valorile nedefinite le vom indica cu asterisc (*).

Exemplul 3.2. Fie f(x1, x2, x3) o FB dat prin tabelul de adevr 3.2.
Tabelul 3.2. Exemplu de FB
x1 x2 x3 f(x1,x2,x3) x1 x2 x3 f(x1,x2,x3)
0 0 0 1 1 0 0 *
0 0 1 * 1 0 1 0
0 1 0 0 1 1 0 0
0 1 1 0 1 1 1 *
Funcia este nedeterminat pentru combinaiile (001), (100) i (111)
ale valorilor argumentelor, ele putnd fi aplicate uneori arbitrar n 0
sau 1. Funciile incomplet definite se ntlnesc frecvent n practica
comenzilor secveniale, evidenierea situaiilor nedefinite i atribuirea
unor valori la necesitate fiind extrem de important pentru
simplificarea lor.

Funcii booleene de un singur argument pot fi patru:

Tabelul 3.3. FB de un argument


x f0(x) f1(x) f2(x) f3(x)
0 0 0 1 1
1 0 1 0 1

Funciile f0 i f3 se numesc constanta 0 si, respectiv, constanta 1. Valorile lor


nu depind de valoarea argumentului. n acest caz se va spune c argumentul este
nesemnificativ, redundant sau fictiv. Funcia f1 repet valoarea argumentului x:

38
Ciclu de prelegeri la cursul Matematica discret
vom scrie f1(x) = x. Funcia f2(x) se numete negaia lui x (NONx) i se noteaz x
(x barat) sau x.
Exista 16 FB de dou argumente:
Tabelul 3.4. FB de dou argumente
x1 x2 f0 f1 f2 f3 f4 f5 f6 f7
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
x1 x2 f8 f9 f10 f11 f12 f13 f14 f15
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
FB fo(x1,x2) i f15(x1,x2) sunt aceleai constante 0 i 1, respectiv, numai c n
acest caz ambele argumente sunt fictive, iar funciile mai pot fi numite
degenerate.
Funcia f1(x1,x2), care aplic combinaiile celor dou argumente n 1 atunci i
numai atunci, cnd ambele argumente au valoarea 1, se numete conjuncie,
produs logic sau funcia logic I, (AND). Se noteaz x1&x2, x1x2 sau x1x2.
Funcia f7(x1,x2) are valoarea 1 dac cel puin unul din argumente este 1 i se
numete disjuncie, sum logic, funcia logic SAU (OR). Se noteaz x1vx2
sau x1+x2.
FB f6(x1,x2) se numete suma modulo 2, funcia SAU-EXCLUSIV sau
neechivalen i se noteaz f6(x1,x2) = x1x2.
Funciile f3(x1,x2) i f5(x1,x2) corespund valorilor argumentelor: f3(x1,x2) = x1 i
f5(x1,x2) = x2 i se numesc funcii identitate, iar f10(x1,x2) i f12(x1,x2) corespund
funciilor f3(x1,x2) i f5(x1,x2) negate.

Funcia f8(x1,x2) = f7 (x1 , x2 ) poart denumirea de funcia lui Pierce i se


noteaz: f8(x1,x2) = x1x2. Se mai numete aceast funcie NICI sau NOR din
cauza c coincide cu x1 x2 .

FB f9(x1,x2) care are valoarea 1 atunci i numai atunci cnd valorile


argumentelor coincid se numete funcia de echivalen i se noteaz prin
f9(x1,x2) = x1x2 sau x1x2.

39
Ciclu de prelegeri la cursul Matematica discret
Funcia f13(x1,x2) are valoarea 0 numai n cazul cnd x1 este 1, iar x2 = 0. Ea se
numete implicaie. Se va mai spune c x1 implic x2 sau dac x1 atunci x2 i
vom nota x1 x2. Analogic, funcia f11(x1,x2) este implicaia lui x2, n x1: x2x1.
FB f14(x1,x2) este 0 dac i numai dac ambele argumente sunt 1 i se numete
funcia lui Sheffer sau I-NU (n englez NAND). Se noteaz f14(x1,x2) = x1|x2 sau
x1 x2 .
Observm, c n cazul funciilor de un argument jumtate din FB sunt
degenerate (cu argumente fictive). n cazul a dou argumente din 16 funcii
booleene ase sunt cu argumente fictive. Odat cu creterea lui n numrul
funciilor degenerate descrete, tinznd ctre 0, cnd n tinde spre infinit.

3.2. Transformri echivalente i decompoziia FB


3.2.1. Formule echivalente
n 2.6 am numit superpoziie a funciilor f1, f2,...,, fn funcia f obinut prin
substituiri i redenumiri de argumente n aceste funcii, iar prin formul
nelegem expresia care descrie aceast superpoziie. Vom concretiza noiunea de
formul pentru funciile logice, introducnd noiunea de formul peste = {f1,
f2,...,, fm,...}, fiind o mulime de funcii logice date.
Considerm formul peste toate expresiile care conin numai simboluri
de variabile, simboluri de funcii i paranteze.
Exemplul 3.3. Poate fi considerat formul expresia: f=((x1x3)(x2x4)).
Valoarea funciei dat de o formul poate fi calculat,
cunoscnd valorile argumentelor i tabelele de adevr ale
funciilor logice elementare (v. tab.3.4). Dac x1=1, x2=1, x3=0
i x4=0, avem x1x3=1, x2x4=0 i f=0.
Deci, o formul, pune n coresponden fiecrui set de valori ale argumentelor
o anumit valoare de adevr i poate servi, mpreun cu tabelele de adevr, drept
metod de definire i calculare a valorilor funciilor logice. Se mai spune c o
formul reprezint sau realizeaz o funcie logic. Calculnd valorile FB pentru
toate 2n combinaii ale argumentelor restabilim tabelul de adevr al acestei
funcii. ns, spre deosebire de tabelele de adevr, o funcie logic poate fi
realizat prin mai multe formule. Cu alte cuvinte, dac ntre mulimea tabelelor
de adevr i mulimea funciilor logice exist o coresponden biunivoc, alta
este situaia cu formulele: o FB poate fi prezentat printr-o infinitate de formule.
De exemplu, funcia Pierce f8(x1,x2) = x1x2 mai poate fi realizat prin formulele

40
Ciclu de prelegeri la cursul Matematica discret
x1 x2 sau x1 x2 , iar funcia Sheffer f14(x1,x2) = x1|x2 prin x1 x2 sau
x1 x2 .
Formulele, care realizeaz aceeai funcie logic se numesc echivalente.
Echivalena a dou formule se va nota prin simbolul = sau . Metoda general de
stabilire a echivalenei a dou formule const n construirea tabelelor lor de
adevr i compararea acestora. Alt metod, denumit metoda transformrilor
echivalente, presupune transformarea uneia dintre formule (sau a ambelor) pn
se ajunge la o form evident comun. Un interes aparte l prezint procedeele de
reprezentare a funciilor booleene prin aa numitele forme normale sau canonice
i forme minimale.

3.2.2. Decompoziia funciilor booleene


Notm x0= x , x1=x. Este simplu s ne convingem (de exemplu prin
construirea tabelului de adevr), c pentru un parametru egal cu 0 sau cu 1,
reieind din notaia introdus, avem

x=1 cnd x=
i x=0, dac x (3.1)
Teorema 3.1. Orice funcie boolean f(x1, x2,..., xn) poate fi pus sub forma:
1 2 m
f(x1,..., xm, xm+1,..., xn)= x1 x2 ... xm
...
f(1,..., m, xm+1,..., xn) (3.2)
1 m

n care mn, iar disjunciile se vor lua pentru toate 2m seturi, formate din
variabilele x1, x2,..., xm.
Relaia (3.2) se numete decompoziia funciilor booleene pentru variabilele
x1, x2,..., xm.
Demonstrm prin introducerea unui set arbitrar de valori (1,...,m,m+1,...,n)
ale argumentelor n ambele pri ale relaiei (3.2). Deoarece x=1 numai n cazul
n care x=, dintre toate cele 2m conjuncii ale prii drepte a relaiei (3.2) numai
una este egal cu 1 (restul sunt 0), cea pentru care 1=1, 2=2,..., m=m.
Obinem
f(1,2,...,n) = 1 2 ... m f(1,2,...,m,m+1,...,n) = f(1,2,...,n),
1 2 m

i, deoarece setul de valori a fost luat arbitrar, teorema este demonstrat.


Pentru m=1 avem decompoziia FB pentru o singur variabil (de exemplu
x1):
f(x1, x2,..., xn)= x1 f(0, x2,..., xn) x1 f(1, x2,..., xn).

41
Ciclu de prelegeri la cursul Matematica discret
Prezint interes deosebit cazul m = n - decompoziia FB pentru toate
variabilele x1, x2,..., xn. Avem:

f(x1, x2,..., xn)= x1 1 x 2 2 ... x n n f(1,..., n) = x1 1 x 2 2 ... x n n ,
f ( 1... n ) 1
(3.3)
1... n

n care disjunciile se iau pentru combinaiile argumentelor aplicate de f n 1, iar


conjunciile respective se numesc elementare, termeni canonici conjunctivi sau
termeni minimali (mintermi).
Definiie. Numim formul boolean orice formul care n afar de variabile i
paranteze conine doar funciile disjuncie, conjuncie i negaie.
Teorema 3.2. Orice funcie logic poate fi prezentat printr-o formul
boolean.
Demonstraia este imediat i reiese din teorema 3.1, relaia (3.3) i ultima
definiie. Constanta 0 poate fi reprezentat prin formula x x .

3.2.3. Algebra boolean. Proprietile operaiilor booleene


Algebra A = <P2, {, , }>, suportul creia este mulimea tuturor funciilor
logice, iar n calitate de operaii sunt luate disjuncia, conjuncia i negaia, se
numete algebra boolean a funciilor logice. Operaiile acestei algebre se mai
numesc operaii booleene.
Pentru operaiile booleene s-a convenit a se considera urmtoarea ordine de
ndeplinire: mai nti vor fi ndeplinite toate operaiile de negaie (cea mai nalt
prioritate), apoi conjunciile, iar cea mai mic prioritate o are disjuncia. La
necesitate pot fi utilizate parantezele.
Este simplu de stabilit (prin construirea tabelelor de adevr, de exemplu), c
operaiile booleene posed proprietile:
asociativitate x1(x2x3 ) = (x1x2)x3;
x1(x2x3 ) = (x1x2)x3; (3.4)
comutativitate x1x2 = x2x1;
x1x2 = x2x1; (3.5)
distributivitate x1(x2x3 ) = x1x2x1x3;
x1(x2x3 ) = (x1x2)(x1x3); (3.6)
idempoten xx = x;
x x = x; (3.7)
principiul involuiei x = x; (3.8)
operaii cu constante x&1=x; x&0=0;
x1=1; x0=x; 0 =1; 1 =0; (3.9)

42
Ciclu de prelegeri la cursul Matematica discret
legile lui de Morgan xx = x x ;
1 2 1 2

x x = x .x
1 2 1 2
(3.10)
contradicie x x = 0; (3.11)
legea terului exclus x+ x = 1. (3.12)
Operaiile booleene posed proprietile (3.4) - (3.12) chiar dac argumentele
xi sunt la rndul lor funcii sau vor fi obinute n rezultatul unor calcule. Ca
rezultat, aceste proprieti se mai numesc relaii de echivalen, iar transformrile
care pot fi operate cu ajutorul lor se numesc transformri echivalente. Relaiile de
echivalen (3.4) - (3.12), mpreun cu unele relaii suplimentare, obinute din
primele, prezint un interes deosebit n tratarea problemei de echivalen a
formulelor, datorit eficacitii mai mari n comparaie cu tabelele de adevr.
Mai aducem cteva relaii de echivalen suplimentare (demonstraiile se
bazeaz pe proprietile de mai sus i se propun ca exerciiu):
absorbie xxy = x; x(xy) = x;
alipire xyx y = x;
alipire generalizat xz y z xy = xz y z

3.3. Forme canonice


3.3.1. Forma canonic disjunctiv
Decompoziia (3.3) se numete form canonic disjunctiv (FCD) sau
form normal disjunctiv perfect (FNDP) a funciei f(x1, x2,..., xn). FCD
conine tot attea conjuncii elementare cte uniti sunt n tabelul de adevr al
funciei date: fiecrui set de valori ale argumentelor pentru care f = 1 i
corespunde o conjuncie n care xi este negat, dac =0 i fr negaie, dac =1.
Cu alte cuvinte, exist o coresponden biunivoc ntre tabelul de adevr al
funciei f(x1, x2,..., xn) i FCD a acestei funcii. Unica funcie boolean care nu
posed FCD este constanta 0.
Relaia (3.3) conduce la un algoritm simplu de elaborare a FCD pentru o FB
arbitrar:
1o. Se construiete tabelul de adevr al funciei;
2o. Pentru fiecare combinaie de valori ale argumentelor aplicate n 1
se scriu termenii canonici conjunctivi n care argumentul x i este luat
ca atare sau negat dup cum valoarea lui n combinaia respectiv
este 1 sau 0;

43
Ciclu de prelegeri la cursul Matematica discret
3o. Se reunesc toi termenii canonici conjunctivi, obinui la pasul
precedent, cu operaia disjuncie.
Dac pentru un termen canonic conjunctiv fiecare variabil va fi nlocuit
prin 1 sau 0, dup cum este prezent n acest TCC (fr negaie sau negat,
respectiv) vom avea reprezentarea binar a unei conjuncii elementare. De
exemplu, reprezentarea binar a conjunciei elementare x1 x 2 x3 x 4 este 0100.
Reprezentarea binar poate fi transformat n zecimal, adic conjuncia
elementar de mai sus poate fi considerat 4 zecimal. Prin utilizarea acestor
notaii FCD este mult mai compact. Notnd prin disjuncia unui set de TCC,
forma canonic disjunctiv a unei funcii booleene oarecare poate avea forma
f(x1,x2,...,xn) = (0,2,4,...).

3.3.1. Forma canonic conjunctiv


Reprezentarea unei FB se poate face i sub o alt form, numit forma
canonic conjunctiv.
Pentru aceasta numim numrul combinaiei numrul i ataat unei combinaii
de valori (1,2,...,n) conform relaiei:
i = 12n-1+22n-2+...+n20
i introducem funcia Si(x1, x2,..., xn) definit astfel:
0, dac numrul combinaiei este i
Si = (3.13)
1, n caz contrar.
Aceast funcie se numete funcia caracteristic a lui zero sau constituentul lui
zero.
Poate fi demonstrat
Teorema 3.3. Orice FB poate fi scris sub urmtoarea form
f(x1, x2,..., xn) = & Si (3.14)
iM
0
unde M0 este mulimea combinaiilor valorilor argumentelor pentru care funcia
f(x1, x2,..., xn) ia valoarea 0.
Demonstraie. Se consider un set arbitrar de valori ale argumentelor
(1,2,...,n). Sunt posibile dou cazuri distincte: funcia s aplice acest set de
valori a) n 0 i b) n 1.

44
Ciclu de prelegeri la cursul Matematica discret
Dac valoarea funciei este 0, atunci n partea dreapt a relaiei (3.14) se afl
funcia Sik al crei indice ik corespunde numrului setului considerat. n acest caz,
conform cu (3.13), pentru setul respectiv de valori ale argumentelor Sik va fi
egal cu 0. Conform proprietii x&0 = 0 partea dreapt a relaiei (3.14) va fi
egal cu 0. Dac ns pentru setul considerat valoarea funciei este 1, atunci
conform formulrii teoremei, printre funciile Sik din (3.14) nu va fi nici una
pentru care indicele s coincid cu numrul combinaiei. n acest caz, conform cu
(3.13), toi membrii conjunciei din partea dreapt a relaiei (3.14) vor fi egali cu
1, deci partea dreapt va fi egal cu 1. Deoarece s-a demonstrat c ambele pri
ale relaiei (3.14) sunt identice pentru un set arbitrar de valori ale argumentelor
rezult c este adevrat pentru orice alt set de valori. Teorema este demonstrat.
Pentru a stabili expresiile funciilor Sik se consider expresia boolean

x11 x2 2 ... xn n . (3.15)

Conform relaiei (3.1) funcia (3.15) este 0 atunci i numai atunci, cnd x1 1, x2
2,..., xn n, fiind 1 pentru toate celelalte cazuri. Aplicnd (3.13) pentru
funcia constituentul lui 0, rezult:

Si(x1, x2,..., xn)= x1 1 x 2 2 ... x n n
cu condiia ca i = 12n-1+22n-2+...+n20.
Deci, orice FB poate fi descris printr-o expresie de forma

f(x1, x2,..., xn) = &0 ( x1 1 x 2 2 ... x n n ) (3.16)

unde prin &0 s-a notat faptul c se consider conjuncia termenilor disjunctivi
(3.15) pentru care funcia f ia valoarea 0.
Reprezentarea FB sub forma (3.16) se numete forma canonic conjunctiv
(FCC), iar termenii (3.15) cu condiia xii termeni canonici disjunctivi (TCD),
termeni maximali sau maxtermi.
Relaia (3.16) permite stabilirea algoritmului realizrii FCC dac se cunoate
tabelul de adevr al funciei, care conine urmtorii pai:
10. Din tabelul de adevr al funciei se consider toate combinaiile pe
care funcia le aplic n 0;
20. Se scriu TCD, care corespund acestor combinaii. n expresia TCD
argumentul xi intr direct sau negat dup cum n combinaia
considerat are valoarea 0 sau 1;
30. TCD obinui la pasul 2 se reunesc prin semnul conjunciei.

45
Ciclu de prelegeri la cursul Matematica discret
Formele canonice sunt unice pentru o funcie logic complet definit. Este
recomandat FCD n cazul n care tabelul de adevr al funciei conine un numr
mai mic de valori 1, dect de valori 0, i FCC, n caz contrar.

3.4. Alte forme de reprezentare a funciilor booleene


n afar de reprezentarea FB cu ajutorul tabelelor de adevr i a formelor
canonice mai sunt cunoscute alte forme cum ar fi diagramele Karnaugh, schemele
logice, diagramele de timp, etc.

3.4.1. Diagrame Karnaugh


Diagramele Karnaugh au fost concepute pentru simplificarea FB i reprezint
un tablou bidimensional, care pentru o funcie de n argumente conine 2p linii i
2q coloane, iar p+q = n. Dac n este par, atunci p = q i p = q+1, n caz contrar.
De obicei, pot fi utilizate cu succes pentru n = 4, 5, mai dificil pentru n = 6 i
mai mare. ntr-un tabel bidimensional Karnaugh titlurile coloanelor i liniilor
sunt formate din combinaiile de valori posibile dispuse n cod Gray (binar
reflectat). Acest cod fiind continuu i ciclic asigur relaia de adiacen ntre
cmpurile diagramei (numim adiacente dou cmpuri dac titlurile lor difer
printr-un singur rang).
Exemplul 3.4. Pentru FB de 4 argumente cu tabelul de adevr 3.5 diagrama
Karnaugh este prezentat n figura 3.1.
Tabelul 3.5. Tabelul de adevr al unei FB
x1 x2 x3 x4 f(x1,x2,x3,x4) x1 x2 x3 x4 f(x1,x2,x3,x4)
0 0 0 0 0 1 0 0 0 0
0 0 0 1 1 1 0 0 1 0
0 0 1 0 1 1 0 1 0 1
0 0 1 1 0 1 0 1 1 1
0 1 0 0 0 1 1 0 0 0
0 1 0 1 0 1 1 0 1 0
0 1 1 0 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1

x1x2 00 01 11 10
x3x4 00 0 0 0 0
01 1 0 0 0
11 0 1 1 1
10 1 1 1 1

Fig. 3.1. Diagram Karnaugh

46
Ciclu de prelegeri la cursul Matematica discret
Combinaiile valorilor argumentelor x1 i x2 sunt dispuse n partea superioar
a diagramei, iar cele ale argumentelor x3 i x4 vertical n partea stng. La
intersecia unei coloane i a unei linii este cmpul diagramei n care se trece 0 sau
1, conform valorii funciei n tabelul de adevr.
3.4.2. Circuite logice
Circuitul logic (sau schema logic) este o reprezentare grafic a FB, obinut
prin adoptarea unor semne convenionale pentru
Tab.3.6. Reprezentarea FB prin scheme logice
Reprezentarea grafic
Denumirea funciei
Standardele fostei URSS Standarde internaionale

x x x x
Negaia f(x) = x

Disjuncia x1 1 x1x2 x1 x1x2


f(x1,x2) = x1x2 x2 x2

Conjuncia x1 & x1
x1&x2 x1&x2
f(x1,x2) = x1x2 x2 x2

Pierce x1
x1 &
x1 & x2 (x1&x2)
f(x1,x2) = x1x2 x2 x2

Sheffer x1
x1 1 (x1x2)
f(x1,x2) = x1/x2 x2 x1 x2 x2

operaiile logice. Simbolurile grafice adoptate constituie o reprezentare a


circuitelor logice, care materializeaz funciile logice elementare. Prin

47
Ciclu de prelegeri la cursul Matematica discret
implementarea unei funcii logice se nelege realizarea ei cu ajutorul
circuitelor de baz. Unele dintre cele mai des utilizate semne grafice pentru FB
elementare sunt prezentate n tab. 3.6.
Exemplul 3.5. S se reprezinte prin schem logic funcia f(x1, x2, x3)
= x 1 x 2 x 3 x1 x 2 x 3 .
Utiliznd figurile grafice din tab.3.6 schema logic este prezentat
n fig. 3.2.

x1

&
x3
1 f(x1,x2,x3
)

&

x1 x 2 x3
Nivelul 0 Nivelul 1 Nivelul 2
Fig.3.2. Schem logic
Pot fi indicate i nivelele logice - mulimea elementelor fizice care
opereaz simultan. Aici avem nivelele logice 0, 1 i 2.

3.4.3. Diagrame temporale


Dac vom reprezenta grafic argumentele xi ca funcii de timp, atand
valorilor 0 i 1 valori distincte (de exemplu, valorii 0 un nivel cobort, iar valorii
1 un nivel ridicat), astfel ca s existe o difereniere evident a acestor nivele, i
vom face acelai lucru i cu valorile funciei vom obine reprezentarea unei FB
prin diagrame n timp (diagrame temporale), reprezentare extrem de util n
studiul sistemelor secveniale n evoluia crora intervine timpul.
Exemplul 3.6. Diagrama temporal a funciei f(x1, x2, x3) = x 1 x 3 x1 x 2 are forma
prezentat n fig. 3.3.

48
Ciclu de prelegeri la cursul Matematica discret
x1

t
x2

t
x3

t
f

t
Fig.3.3. Exemplu de diagram temporal
3.5. Sisteme complete de funcii booleene
Definiie. Numim sistem complet de funcii booleene (baz) n clasa
sistemul S=(f1, f2,..., fk), dac orice funcie poate fi reprezentat prin
superpoziia funciilor din acest sistem.
n calitate de poate fi luat mulimea P2(n). n aceast clas exist un
n
sistem complet i anume toate cele 2 2 funcii de n argumente. Conform
teoremei 3.2, orice funcie logic de n argumente de asemenea poate fi
reprezentat utiliznd doar funciile negaie, disjuncie i conjuncie. Deci, n
aceeai clas pot exista mai multe sisteme complete cu un numr diferit de
funcii. Un interes deosebit prezint problema alegerii bazei, care conine un
numr minim de funcii.
Numim baz minimal (sistem complet minimal) un sistem complet arbitrar
de funcii booleene (f1, f2,..., fk), care odat cu eliminarea oricrei funcii
aparinnd sistemului devine incomplet.
Pentru a stabili completitudinea unui sistem oarecare de FB este suficient s
se arate c funciile sistemului considerat pot reprezenta funciile sistemului (,
, ). Pot fi demonstrate teoremele:
Teorema 3.4. Sistemul (, ) este un sistem complet n clasa P2(n).
Teorema 3.5. Sistemul (, ) este un sistem complet n clasa P2(n).
Teorema 3.6. Funcia lui Pierce () formeaz n clasa P2(n) un sistem complet.
Teorema 3.7. Funcia lui Sheffer () formeaz n clasa P2(n) un sistem complet.

49
Ciclu de prelegeri la cursul Matematica discret
Pentru a demonstra, de exemplu, teorema 3.5 este suficient s se arate c
funcia disjuncie poate s fie reprezentat prin funciile negaie i conjuncie.
Utiliznd principiul involuiei i una din relaiile lui De Morgan, avem
f(x1, x2,..., xn)= x1 x2...xn= x1 x 2 ... x n = x1 x 2 ... x n
ceea ce trebuia demonstrat.

Analogic se demonstreaz teorema 3.4. Am stabilit c sistemul ( , , ) este


redundant. Una din funcii (disjuncia sau conjuncia) poate fi eliminat, sistemul
rmnnd complet.
Pentru a demonstra teorema 3.6 vom arta c funcia lui Pierce poate
reprezenta sistemul (, ). Negaia se poate scrie astfel:
x = x x = xx.
Funcia conjuncie poate fi exprimat n modul urmtor:

x1x2 = x1 x2 = x1 x 2 = (x1x2)(x1x2).
Analogic demonstrm i teorema 3.7.
Teoremele 3.6 i 3.7 prezint un interes deosebit datorit numrului minim
posibil de elemente care formeaz baza: putem utiliza un singur tip de circuit
pentru materializarea oricrei funcii booleene. n acest context este
important trecerea de la FCD sau FCC la forme cu funcii Pierce (SAU-NU) sau
Sheffer (I-NU), trecere denumit implementare.

3.6. Minimizarea funciilor booleene


Problema reprezentrii funciilor booleene prin sisteme complete care conin
un numr minim de funcii elementare vizeaz posibilitatea folosirii unui numr
ct mai redus de tipuri de circuite logice pentru materializarea FB considerate.
Exist i un alt aspect al problemei - cel care privete utilizarea unui numr ct
mai mic de circuite standard. Teoretic aceast problem se reflect n simplitatea
funciilor booleene. Este evident c formele canonice sunt departe de a fi cele
mai simple. Obinerea unor forme mai simple poate fi realizat prin metoda
transformrilor echivalente utiliznd relaiile p.3.2. ns simplitatea final
depinde de miestria i experiena cercettorului, mai mult - nu exist sigurana
c forma obinut este cea mai simpl. Din aceast cauz au fost cutate metode
sistematice pentru obinerea expresiilor minimale a FB.

50
Ciclu de prelegeri la cursul Matematica discret
3.6.1. Metoda lui Quine

Numim termen normal conjunctiv (TNC) conjuncia x1 1 x2 2 ... xk k (kn), n
care fiecare variabil se ntlnete numai o singur dat. Numrul literelor unui
termen normal conjunctiv numim rangul termenului, iar disjuncia TNC - form
normal disjunctiv (FND). Reieind din aceste definiii putem spune c FCD a
unei FB de n argumente este FND la care toi termenii sunt de rang n (forma
normal cea mai complex).
Definiie. Forma normal disjunctiv care conine cel mai mic numr de litere
xii n comparaie cu toate celelalte FND ale unei FB date numim form
disjunctiv minim (FDM).
Definiie. Numim implicani primi ai unei FB de n argumente termenii

conjunctivi de forma x1 1 x2 2 ... xk k (kn) care implic funcia fr a se putea
elimina vre-o variabil (TNC de rang minim care implic funcia). De exemplu,
dac pentru f(x1,x2,x3,x4) avem
x1 x 2 x3 x 4 f(x1,x2,x3,x4) x1 x 2 x3 x 4 este implicant al f(x1,x2,x3,x4)
x1x3 x 4 f(x1,x2,x3,x4) x1x3 x 4 este implicantul funciei f(x1,x2,x3,x4)
x1x3 f(x1,x2,x3,x4) x1x3 este implicantul funciei f(x1,x2,x3,x4)
x1 f(x1,x2,x3,x4) x1 nu este implicantul funciei f(x1,x2,x3,x4)
x3 f(x1,x2,x3,x4) x3 nu este implicantul funciei f(x1,x2,x3,x4)
atunci x1x3 este un implicant prim al funciei f(x1,x2,x3,x4).
Implicanii primi pot fi determinai plecnd de la FCD prin aplicarea
sistematic la cte doi termeni conjunctivi care se deosebesc printr-un singur rang
(sunt adiaceni) proprietatea de alipire parial (v.p. 3.2)
AxiA x i = A (3.17)
Adesea, n rezultatul efecturii operaiei de alipire parial, pot aprea termeni
normal disjunctivi n repetare sau asupra crora poate fi executat operaia
absorbie. Primii, conform proprietii idempoten se vor scrie o singur dat,
pentru cei de categoria a doua se va opera absorbia.
Teorema 3.8. Executnd asupra FCD a unei FB toate operaiile posibile de
alipire parial i de absorbie obinem disjuncia implicanilor
primi.
Demonstraie. Conform teoremei are loc relaia
f(x1,x2,...,xn)= k, (3.18)
k

n care k este setul respectiv de implicani primi. Aceast relaie trebuie s fie
adevrat i atunci cnd f(x1,x2,...,xn)=0 i pentru cazul n care f(x1,x2,...,xn) = 1.
n primul caz toi implicanii primi sunt egali cu 0, altfel am avea valoarea 0

51
Ciclu de prelegeri la cursul Matematica discret
pentru funcia if(x1,x2,...,xn), unde i 0 (deci i nu ar fi implicantul funciei
f(x1,x2,...,xn), v.p.3.2). n cel de-al doilea caz va exista cel puin un implicant prim
j = 1, drept rezultat partea dreapta a relaiei (3.18) va fi ca i partea stng egal
cu 1.
Expresia (3.18) se numete form disjunctiv prescurtat (FDP). n FDP
exist n caz general implicani primi de prisos (redundani, care implic
suplimentar funcia), deci FDP nu este minim. Implicanii primi strict necesari
(obinui dup eliminarea implicanilor redundani) se numesc implicani
eseniali. Disjuncia implicanilor eseniali conduce la FDM. n concluzie, putem
afirma c minimizarea unei FB pornind de la FCD presupune urmtorii doi pai:
1o. determinarea formei disjunctive prescurtate (3.18);
2o. alegerea implicanilor eseniali.
Implicanii eseniali pot fi alei construind un tabel special, numit tabelul
implicanilor primi sau tabel de acoperire. Fiecare linie n acest tabel corespunde
unui implicant prim, iar fiecare coloan unui TCC din FCD iniial. Vom spune
c un implicant prim se afl n relaia de acoperire cu un TCC, dac el se conine
n acesta. Se va construi matricea acestei relaii binare (la intersecia liniei i cu
coloana j se va pune 1, dac implicantul prim cu numrul i se afl n relaia de
acoperire cu TCC cu numrul j, i 0 n caz contrar.) Vom alege cel mai mic
numr de implicani primi strict necesari (eseniali) pentru ca s fie acoperii toi
TCC.
Fie funcia f(x1,x2,x3,x4) definit prin FCD:
f(x1,x2,x3,x4) = x1 x 2 x 3 x 4 x1 x2 x 3 x 4 x1 x2 x 3 x4x1x2 x 3 x4
x1 x 2 x 3 x4x1 x 2 x 3 x 4 .

S se determine forma disjunctiv minim.


1o. Determinm FDP evideniind toi implicanii primi:
x1 x 2 x 3 x 4 x1 x2 x 3 x 4 = x1 x 3 x 4 ,
x1 x 2 x 3 x 4 x1 x 2 x 3 x 4 = x 2 x 3 x 4 ,
x1 x2 x 3 x 4 x1 x2 x 3 x4 = x1 x2 x 3 ,
x1 x2 x 3 x4 x1x2 x 3 x4 = x2 x 3 x4,
x1x2 x 3 x4 x1 x 2 x 3 x4 = x1 x 3 x4,
x1 x 2 x 3 x4 x1 x 2 x 3 x 4 = x 1 x 2 x 3 .

52
Ciclu de prelegeri la cursul Matematica discret
Deoarece alipiri pariale pentru termenii normali de rang 3 nu se pot opera, avem
urmtoarea form disjunctiv prescurtat:

f(x1,x2,x3,x4)= x1 x 3 x 4 x 2 x 3 x 4 x1 x2 x 3 x2 x 3 x4 x1 x 3 x4 x1 x 2 x 3
2o. Construim tabelul de acoperire:

Tabelul 3.7. Tabel de acoperire


Implicanii Termenii canonici conjunctivi (n binar)
primi 0000 0100 0101 1101 1001 1000
x1 x 3 x 4 1 1 0 0 0 0

x2 x 3 x4 1 0 0 0 0 1

x1 x2 x 3 0 1 1 0 0 0

x2 x 3 x4 0 0 1 1 0 0

x1 x 3 x4 0 0 0 1 1 0

x1 x 2 x 3 0 0 0 0 1 1

Avem dou posibiliti de alegere:

f(x1,x2,x3,x4) = x1 x 3 x 4 x2 x 3 x4 x1 x 2 x 3 ,

f(x1,x2,x3,x4) = x1 x 3 x 4 x1 x2 x 3 x1 x 3 x4,
alegerea fcndu-se la opiune. Concluzionm, c o FB poate avea mai multe
forme minime.

3.6.2. Metoda Quine McCluskey


Metoda prezentat mai sus poart numele lui Quine, care a propus-o, i are un
neajuns evident, datorat necesitii comparrii la primul pas a tuturor perechilor
de termeni (complexitatea crete n mod factorial). Dar aceasta nu este necesar,
deoarece operaia de alipire parial poate fi executat doar dac doi termeni se
deosebesc ntr-un singur bit. McCluskey a propus s se transcrie n binar TCC i
s se mpart pe grupe dup numrul de bii 1. Vom avea grupa 0, grupa 1, etc.
Alipirile pariale pot avea loc numai pentru elementele grupelor vecine, deoarece

53
Ciclu de prelegeri la cursul Matematica discret
aceste grupe difer ntre ele cu un singur bit 1. n locul variabilelor eliminate la
alipire se trece o liniu.
Metoda Quine-McCluskey presupune ndeplinirea pai lor:
1. Ordonarea echivalenilor binari ai TCC, corespunztori valorilor 1 ale FB,
pe nivele ncepnd cu nivelul 0;
2. Determinarea implicanilor primi prin comparaii succesive ale
echivalenilor binari, aparinnd nivelelor adiacente;
3. Determinarea tabelului de acoperire al funciei;
4. Calculul formal de determinare a tuturor soluiilor funciei.
Exemplul 3.7. [4] Fie funcia f(x1,x2,x3,x4) = (0,1,2,3,4,7,8,11,12,13,15).
1. Ordonarea pe nivele
Nivelele Echivalentul binar Echivalentul zecimal
0 0000 0
1 0001 1
0010 2
0100 4
1000 8
2 0011 3
1100 12
3 0111 7
1011 11
1101 13
4 1111 15
Fig. 3.4. Nivelele funciei booleene
2. Determinarea implicanilor primi.
Vom nota prin A, B,... implicanii primi, adic acei termeni ce nu se mai
pot reduce. Putem cupla mai departe conjuncii vecine, cu simbolul - n
acelai rang i pentru care echivalenii binari difer ntr-un singur rang.
Conjuncia, care nu se mai poate cupla cu nici o alt conjuncie din tabel, va fi
un implicant prim al funciei date.
Primul element de comparaie se noteaz cu (), iar al doilea cu (*). Prin
cuplarea conjunciei cu echivalentul binar (0 0 0 -) cu conjuncia cu (0 0 1 -)
rezult conjuncia cu echivalentul binar (0 0 - -), etc. innd cont de cele de
mai sus, rezult primul tabel de comparare (alipire), prezentat n figura 3.5.
Avem implicanii primi
A=x1x2 x 3 , B=x1x2x4, C= x1 x 2 , D= x 3 x 4 i E=x3x4.

54
Ciclu de prelegeri la cursul Matematica discret
000-
000
000
-000
001 *
001 *
-100 *
100 *
011
-011
A 110-
-111 *
111 *
B 111
Fig. 3.5. Prima alipire
n figura 3.6 este prezentat al doilea tabel de comparare.
C 00--
D --00
E --11
Fig.3.6. A doua alipire
3. Tabelul de acoperire
Implicantul Echivalentul zecimal al TCC iniial
prim 0 1 2 3 4 7 8 11 12 13 15
A 1 1
B 1 1
C 1 1 1 1
D 1 1 1 1
E 1 1 1 1
Funcia poate avea dou expresii
1) f(x1,x2,x3,x4) =A+C+D+E = x1x2 x 3 x1 x 2 x 3 x 4 x3x4 sau

2) f(x1,x2,x3,x4) =B+C+D+E = x1x2x4 x1 x 2 x 3 x 4 x3x4.

3.7. Logica enunurilor


3.7.1. Conectori logici i formule
n logica enunurilor [5] prezint interes propoziiile afirmative, care pot fi
adevrate sau false, dar nici ntr-un caz i una i alta n acelai timp. Propoziiile
afirmative de acest tip se numesc enunuri. Mai strict, numim enun o
propoziie afirmativ, care este sau adevrat sau fals, dar nu i una i alta

55
Ciclu de prelegeri la cursul Matematica discret
instantaneu. Exemple de enunuri: Soarele este fierbinte, Zpada este alb,
UTM este instituie superioar de nvmnt, Logica este o tiin. Valoarea
adevrat, sau fals atribuit unui enun se numete valoare de adevr. De
obicei, valoarea de adevr adevrat este notat cu T sau cu 1, iar valoarea fals
cu F sau 0. Convenim s folosim litere mari sau lanuri de litere mari pentru a
nota enunurile. De exemplu, putem nota enunurile astfel:
P - Soarele este fierbinte,
Q - Zpada este alb,
R - Logica este o tiin.
Simbolurile P, Q, R, etc., care sunt utilizate pentru notarea enunurilor, se
numesc formule atomare sau atomi.
Din enunuri putem construi enunuri compuse, folosind conectorii logici. De
exemplu, Cerul este albastru i zpada este alb, Soarele nfierbnt puternic
i vara este torid, Dac pisica nu-i acas, atunci oarecii urc pe mas.
Conectori logici n aceste enunuri compuse sunt i, dac..., atunci. n logica
enunurilor sunt utilizai cinci conectori logici: (nu), (i), (sau),
(dac..., atunci), (atunci i numai atunci). Aceti conectori sunt folosii
pentru a construi enunuri compuse, din enunuri compuse enunuri i mai
complexe, etc. De exemplu, notm Umiditatea este mare prin P, Temperatura
este nalt prin Q i Ne simim bine prin E. Atunci propoziia Dac
umiditatea este mare i temperatura nalt, atunci nu ne simim bine poate fi
scris astfel: ((P Q) ()). Observm, c un enun compus poate exprima o
idee relativ complex. n logica enunurilor expresia, care reprezint un enun, de
exemplu, P sau un enun compus ((PQ)()) se numete formul construit
corect (formul corect, formul).
Definiie. Numim formul corect sau formul propoziional:
1. Un atom este formul.
2. Dac E este formul, atunci i () este formul.
3. Dac G i H sunt formule, atunci (GH), (GH), (GH) i (GH) sunt formule.
4. Nu exist alte formule, dect cele generate de regulile 1 3.

Nu este dificil s observm, c expresiile (G), (G), (H) nu sunt formule.


n unele cazuri, cnd nu pot s apar nenelegeri, unele perechi de paranteze pot
fi omise. Pentru aceasta menionm, c exist o ordine a prioritilor conectorilor
logici. Prioritatea cea mai mare o are conectorul nu, urmeaz i, sau,
dac..., atunci, atunci i numai atunci. Deci, aceasta este ordinea de
descretere a prioritilor i atunci cnd parantezele sunt lips, calculele se vor
face conform acestei convenii. Dac exist mai multe operaii cu aceeai
prioritate, calcule se vor face de la stnga la dreapta n ordinea n care sunt scrise

56
Ciclu de prelegeri la cursul Matematica discret
n expresie. Astfel, PQ va nsemna ((P Q) ()), iar PQS
respectiv (P((Q())S)).
Valorile de adevr ale formulelor (), (GH), (GH), (GH) i (GH) sunt
date de tabele de adevr ale funciilor booleene NON (negaie), I (produs
logic), SAU (sum logic), IMPLICAIE, i ECHIVALEN (v. 3.1).
3.7.2. Interpretarea formulelor n logica enunurilor
Valoarea de adevr a unei formule poate fi calculat plecnd de la valorile de
adevr ale atomilor i folosind tabelele de adevr ale celor cinci formule de baz.
Definiie. Fie G o formul propoziional dat, iar A1, A2, ..., An, atomii acestei
formule. Numim interpretare a formulei G atribuirea valorilor de
adevr atomilor A1, A2, ..., An, astfel nct fiecrui atom Ai i se atribuie
sau T, sau F (dar nu ambele instantaneu).
Definiie. Vom spune, c formula G este adevrat ntr-o interpretare
oarecare atunci i numai atunci, cnd G ia valoarea T n aceast
interpretare. n caz contrar vom spune, c G este fals n aceast
interpretare.
Dac o formul are n atomi diferii, atunci exist 2n interpretri diferite ale
acestei formule. Pot fi construite tabele de adevr analogic celor din 3.1. Adesea,
dac A1, A2, ..., An sunt toi atomii unei formule este mai comod s prezentm o
interpretare prin vectorul (m1, m2, ..., mn), unde mi este Ai sau i. De exemplu,
vectorul (P, , ) reprezint interpretarea n care atomilor P, A, E le-au fost
atribuite valorile de adevr T, F, F, respectiv. Altfel, dac n calitate de
component a vectorului n cauz intr atomul A ca atare, atunci acestui atom i se
atribuie valoarea de adevr T, iar dac intr negaia lui, atunci acestui atom i se
atribuie valoare F.
n logica enunurilor prezint un interes aparte formulele care au valoarea de
adevr T i formulele care au valoarea de adevr F n toate interpretrile
posibile.
Fie formula G = ((PQ) P)Q. Atomii acestei formule sunt P i Q,
formula avnd 22=4 interpretri. Valorile de adevr sunt prezentate n tabelul 3.8.
Observm, c formula G este adevrat n toate interpretrile. Formulele de acest
tip se numesc identic adevrate sau tautologii.
Tabelul 3.8. Exemplu de funcie identic adevrat
P Q (PQ) (PQ) P ((PQ) P)Q
F F T F T
F T T F T
T F F F T
T T T T T

57
Ciclu de prelegeri la cursul Matematica discret
Fie acuma formula G = (PE) (P). Tabelul de adevr al acestei
formule este prezentat n tabelul 3.9. Observm, c G este fals n toate
interpretrile posibile. Formulele de acest tip se numesc formule contradictorii
sau simplu contradicii.
Tabelul 3.9. Exemplu de contradicie
P E (PE) (P) (PE)(P)
F F T T F F
F T F T F F
T F T F T F
T T F T F F
Definiie. Numim o formul identic adevrat dac i numai dac ea este
adevrat n toate interpretrile posibile.
Definiie. Numim o formul contradictorie (sau nerealizabil) dac i numai
dac ea este fals n toate interpretrile posibile. Numim o formul
necontradictorie (realizabil) atunci i numai atunci cnd ea nu este
contradictorie.
n baza definiiilor de mai sus sunt evidente urmtoarele observaii:
1. O formul este identic adevrat atunci i numai atunci cnd negaia ei este
nerealizabil.
2. O formul este nerealizabil atunci i numai atunci cnd negaia ei este tautologie.
3. O formul nu este identic adevrat atunci i numai atunci cnd exist cel puin o
interpretare n care aceast formul este fals.
4. O formul este realizabil atunci i numai atunci cnd exist cel puin o
interpretare n care aceast formul este adevrat.
5. Dac o formul este identic adevrat, atunci ea este necontradictorie, dar nu i
invers.
6. Dac o formul este nerealizabil, atunci ea nu este identic adevrat, dar nu i
invers.
Construind tabelele de adevr putem stabili c:
a) (E) este contradictorie.
b) (E) este identic adevrat, deci nu este contradictorie.
c) (E) nu este identic adevrat, dar nici contradictorie.
Dac o formul F este adevrat n interpretarea I, se spune c I satisface F
sau F este realizabil n interpretarea I. Pe de alt parte, dac o formul F este
fals n interpretarea I, se spune c I rstoarn F sau F este rsturnat n
interpretarea I. De exemplu, formula (P()) este realizabil n interpretarea (P,
) i rsturnat n interpretarea (P, E). Dac interpretarea I satisface formula F, I
se mai numete modelul lui F.

58
Ciclu de prelegeri la cursul Matematica discret
Vom vedea mai jos, c demonstrarea c o formul este identic adevrat sau
contradicie este de o importan foarte mare. n logica enunurilor, dac numrul
interpretrilor este finit, putem rezolva aceast problema prin metoda enumerrii.

3.7.3. Forme normale i consecine logice


Observm, c noiunea de atom din logica enunurilor coincide cu cea de
argument din logica boolean. Mai mult, dac lum n consideraie ultima
observaie, cei cinci conectorii logici i funciile booleene respective difer doar
la nivel frazeologic. Evident, toate rezultatele din 3.1 3.6 pot fi extinse i pentru
logica enunurilor, inclusiv i cele legate de echivalena a dou formule,
transformrile echivalente, proprietile 3.4 3.12, formele canonice i algoritmii
de obinere a formelor canonice, etc. Utiliznd rezultatele paragrafelor
precedente putem afirma, c o formul poate fi reprezentat n forma sa canonic
disjunctiv sau conjunctiv (forma disjunctiv normal perfect (FDNP), forma
conjunctiv normal perfect (FCNP)) sau, pentru cazul n care unii atomi pot fi
lips n cadrul mintermilor (maxtermilor), cu ajutorul formelor normale
disjunctive sau conjunctive. Aceste forme normale dau posibilitatea s se
stabileasc, dac dou formule sunt echivalente, adic dac reprezint acelai
enun compus. Pot fi utilizate metodele de minimizare pentru a ajunge la o
reprezentare ct mai simpl a unui enun, reprezentare care prezint diferite
avantaje n cercetare i implementare.
De exemplu, formula (A)R conform rezultatelor precedente, poate fi
pus sub forma sa normal disjunctiv (E)R, iar formula (A(QE))S sub
forma normal conjunctiv (SQ) (S).
Adesea este necesar s se stabileasc, dac o afirmaie dat reiese din cteva
afirmaii iniiale. Fie urmtorul exemplu [5]:
Presupunem, c cursul aciunilor scade, dac preul pentru vnzarea lor
crete. Presupunem, de asemenea, c majoritatea oamenilor sunt nefericii, dac
cursul aciunilor cade.
Fie c preul de vnzare al aciunilor crete. Putem concluziona, c
majoritatea oamenilor sunt nefericii.
Pentru a verifica aceast concluzie, notm afirmaiile astfel:
P - Preul de vnzare crete
S - Cursul aciunilor scade
U - Majoritatea oamenilor sunt nefericii
n exemplul nostru avem patru afirmaii.
(1) Dac preul de vnzare al aciunilor crete, atunci cursul aciunilor scade.
(2) Dac cursul aciunilor scade, atunci majoritatea oamenilor sunt nefericii.

59
Ciclu de prelegeri la cursul Matematica discret
(3) Preul de vnzare al aciunilor crete.
(4) Majoritatea oamenilor sunt nefericii.
Reprezentarea simbolic a acestor afirmaii este urmtoarea:
(11) PS,
(21) SU,
(31) P,
(41) U.

Trebuie s demonstrm, c (41) are valoare de adevr T, dac (11)(21)(31)


este adevrat.
Aducerea la forma normal a ((PS)(SU)P), care reprezint
(11)(21)(31) i care este lsat ca exerciiu, ne conduce la PSU.
Deci, dac ((PS)(SU)P) are valoare de adevr T, atunci i (PSU)
este adevrat. Deoarece (PSU) este T numai dac P, S i U sunt adevrate,
concluzionm, c U este adevrat. Deoarece U este adevrat numai dac
(PS), (SU) i P sunt adevrate, U se numete consecin logic a (PS),
(SU) i P.
Definiie. Fie date formulele F1, F2,..., Fn i formula G. Numim G consecin
logic a formulelor F1, F2,..., Fn (sau G reiese logic din F1, F2,..., Fn)
atunci i numai atunci, cnd pentru orice interpretare I, n care
F1F2...Fn este adevrat, G la fel este adevrat. F1, F2,..., Fn se
numesc axiome (sau postulate, sau premise) ale formule G.
Teorema 3.9. Dac sunt date formulele F1, F2,..., Fn i formula G, atunci G este
consecin logic ale F1, F2,..., Fn dac i numai dac formula
((F1F2...Fn) G este identic adevrat.
Demonstraie. () Presupunem, c U este consecin logic a formulelor F1,
F2,..., Fn. Fie I o interpretare arbitrar. Dac F1, F2,..., Fn sunt adevrate n I,
atunci conform definiiei noiunii de consecin logic, U este adevrat n I.
Drept rezultat ((F1F2...Fn) U) este adevrat n I. Pe de alt parte, dac nu
toate formulele F1, F2,..., Fn sunt adevrate n I, atunci ((F1F2...Fn) U) tot
una este adevrat n I. Am demonstrat c ((F1F2...Fn) U) este adevrat n
orice interpretare, adic ((F1F2...Fn) U) este o formul identic adevrat.
() Presupunem, c (F1F2...Fn) U este o formul identic adevrat.
Pentru orice interpretare I, dac (F1F2...Fn) este adevrat n I, atunci U
trebuie s fie adevrat n I (conform tabelului de adevr). Deci, U este
consecin logic a formulelor F1, F2,..., Fn, c.c.t.d.
Teorema 3.10. Dac sunt date formulele F1, F2,..., Fn i formula U, atunci U
este consecin logic ale F1, F2,..., Fn dac i numai dac
formula ((F1F2...Fn) este identic contradicie.

60
Ciclu de prelegeri la cursul Matematica discret
Demonstraie. Conform teoremei precedente U este consecin logic a
formulelor F1, F2,..., Fn dac i numai dac formula ((F1F2...Fn)U) este
identic adevrat. Deci, U este consecin logic a formulelor F1, F2,..., Fn dac
i numai dac negaia formulei ((F1F2...Fn)U) este contradicie. Deoarece
negaia acestei formule este egal cu ((F1F2...Fn), concluzionm, c
teorema 2.2 este demonstrat.
Aceste dou teoreme sunt foarte importante. Conform lor putem afirma, c
demonstrarea faptului, c o formul oarecare este consecin logic a unei
mulimi finite de formule este echivalent cu demonstrarea faptului c o formul
legat de formulele iniiale este tautologie sau contradicie.
Dac U este consecin logic a formulelor F1, F2,..., Fn, atunci formula
((F1F2...Fn)U) se numete teorem, iar U se numete concluzia teoremei.
n viaa de toate zilele, ca i n matematic, multe probleme pot fi formulate sub
forma unor teoreme i demonstrarea lor. Mai jos este adus un exemplu simplu,
care arat cum pot fi folosite teoremele 3.9 i 3.10.
Exemplul 3.8. Fie formulele F1 (EU), F2 , G . Vom arta,
c G este consecin logic a formulelor F1 i F2.
Metoda 1. Putem construi tabelele de adevr pentru a arta, c formula G este
adevrat n fiecare dintre modelele formulei (EU) .
Tab. 3.10. Tabelul de adevr pentru (EU) i
E U EU (EU)
F F T T T T
F T T F F T
T F F T F F
T T T F F F
Observm, c exist doar un model pentru (EU) , anume (,
). Formula este adevrat n acest model i, n baza definiiei
noiunii consecin logic, conchidem c G este consecin logic a
formulelor (EU) i .
Metoda 2. Putem folosi teorema 3.9, extinznd tabelul precedent de adevr.
Tab. 3.11. Tabelul de adevr pentru ((EU) )
E U EU (EU) ((EU) )
F F T T T T T
F T T F F T T
T F F T F F T
T T T F F F T

61
Ciclu de prelegeri la cursul Matematica discret
Tabelul 3.11 arat, c formula ((EU) ) este adevrat n
orice interpretare, adic tautologie i, conform teoremei 3.9, G este
consecin logic a formulelor (EU) i .
Metoda 3. Putem folosi teorema 3.10, artnd c formula ((EU) ) E este
contradicie.
Tab. 3.12. Tabelul de adevr pentru ((EU) ) E
E U EU (EU) ((EU) ) E
F F T T T T F
F T T F F T F
T F F T F F F
T T T F F F F
Tabelul 3.12 arat, c formula ((EU))E este fals n orice
interpretare, adic este contradicie i, conform teoremei 3.10, G
este consecin logic a formulelor (E U) i .

3.7.4. Aplicaii ale logicii enunurilor


Dup ce n paragrafele precedente au fost discutate diferite noiuni de baz, s
facem acum cunotin cu unele aplicaii ale logicii enunurilor. Aceasta poate fi
ilustrat prin exemple.
Exemplul 3.9. Presupunem, c are loc o grev. Greva nu se va termina, dac parlamentul
refuz s adopte legi noi, cerute de greviti, cu condiia c greva nu
dureaz mai mult de un an i Preedintele nu demisioneaz. Se va termina
oare greva, dac parlamentul refuz s adopte legi noi, iar greva numai ce
a nceput?
Mai nti vom transforma afirmaiile n simboluri:
P : Parlamentul refuz s acioneze,
Q : Greva se termin,
R : Preedintele demisioneaz
S : Greva dureaz mai mult de un an.
Datele iniiale pot fi atunci reprezentate prin urmtoarele formulele:
F1 : (P R S ) Q - Dac Parlamentul refuz s adopte legi noi
___ ___ ___

sau Preedintele nu demisioneaz i greva nu dureaz mai mult de un an,


atunci greva nu se va termina,
F2 : P - Parlamentul refuz s adopte legi noi,
S - Greva a nceput recent.
___

F3 :
Putem oare din F1, F2 i F3 s concluzionm, c greva nu se va termina,
___

adic putem arta, c Q este consecin logic a formulelor F1, F2 i F3?


Conform teoremei 3.9 asta este echivalent cu afirmaia c este identic
adevrat formula (((P R S ) Q )P S ) Q .
___ ___ ___ ___ ___

62
Ciclu de prelegeri la cursul Matematica discret
Notnd R S prin 1, (P R S ) prin 2, ((P R S ) Q ) prin 3,
___ ___ ___ ___ ___ ___ ___

((P R S ) Q )P prin 4, (((P R S ) Q )P S ) prin 5, iar


___ ___ ___ ___ ___ ___ ___

(((P R S ) Q )P S ) Q prin F, tabelul de adevr al formulei F


___ ___ ___ ___ ___

are forma prezentat n tabelul 3.13.


Tab. 3.13. Tabelul de adevr al formulei F
___ ___ ___

P Q R S S R 1 2 Q 3 4 5 F
F F F F T T T T T T F F T
F F F T F T F F T T F F T
F F T F T F F F T T F F T
F F T T F F F F T T F F T
F T F F T T T T F F F F T
F T F T F T F F F T F F T
F T T F T F F F F T F F T
F T T T F F F F F T F F T
T F F F T T T T T T T T T
T F F T F T F T T T T F T
T F T F T F F T T T T T T
T F T T F F F T T T T F T
T T F F T T T T F F F F T
T T F T F T F T F F F F T
T T T F T F F T F F F F T
T T T T F F F T F F F F T
Acest tabel demonstreaz, c formula (((P R S ) Q )P S ) Q este
___ ___ ___ ___

identic adevrat, iar concluzia este, c greva nu se va termina.


Exemplul 3.10. Sunt cunoscute urmtoarele reacii chimice:
Mg+H2 Mg+H2O,
C+O2 CO2,
CO2+H2O H2CO3.
Presupunem c avem la dispoziie o oarecare cantitate de MgO, H 2, O2
i C. Trebuie s artm, c putem obine H2CO3.
Pentru aceasta vom considera MgO, H2, O2 i C formule atomare.
Atunci formulele de mai sus pot fi reprezentate cu ajutorul formulelor
urmtoare:
(Mg H2) (Mg H2O) : A1,
(C O2) CO2 : A2,
(CO2 H2O) H2CO3 : A3.
Afirmaia, c avem la dispoziie o oarecare cantitate de MgO, H2, O2 i
C poate fi prezentat prin formulele:

63
Ciclu de prelegeri la cursul Matematica discret
MgO : A4,
H2 : A5,
O2 : A6,
C : A7.
Trebuie s demonstrm, c H2CO3 este consecin logic a formulelor
A1, A2,..., A7. Conform teoremei 3.10 aceasta este corect, dac formula
(A1, A2,..., A7) H 2CO3 este contradicie.
Aceasta poate fi demonstrat, construind tabelul de adevr sau opernd
transformri echivalente (lsm ca exerciiu).
Am artat, c logica enunurilor poate fi aplicat pentru rezolvarea unor
probleme foarte diferite. ns, metoda transformrilor echivalente sau a tabelelor
de adevr poate fi utilizat doar pentru cazuri relativ simple. n caz general, avem
nevoie de programe eficiente de calculator, construite n baza unor metode
matematice speciale i algoritmi sofisticai.

3.8. Logica de ordinul unu


Elementele iniiale n logica enunurilor sunt atomii. Din atomi construim
formule, iar aceste formule sunt utilizate pentru a exprima idei complexe. Atomul
este considerat un tot ntreg. Structura i componena sa nu sunt analizate. ns
exist idei, care nu pot fi exprimate ntr-o manier att de simpl. Cu titlu de
exemplu urmtorul raionament:
Fiecare om este muritor. Deoarece Confucius este om, el este muritor.
Acest raionament este corect. ns, dac vom introduce notaiile
P: Fiecare om este muritor,
Q: Confucius este om,
R: Confucius este muritor,
putem constata, c R nu este consecin logic a formulelor P i Q n cadrul
logicii enunurilor. Aceasta are loc din cauza c n logica enunurilor structura
enunurilor P, Q i R nu este folosit. Vom introduce n paragrafele care urmeaz
logica de ordinul unu, care spre deosebire de logica enunurilor, mai conine trei
noiuni logice, numite termi, predicate i cuantificatori. Partea cea mai mare a
unei limbi naturale, ca i a limbajului matematic, poate fi formalizat n cadrul
logicii de ordinul unu.
3.8.1. Noiuni de baz
La fel ca i pentru logica enunurilor, vom defini mai nti atomii logicii de
ordinul unu. Vom ncepe cu cteva exemple. Fie c vrem s reprezentm
afirmaia x este egal cu 5. Definim mai nti predicatul EGAL(x,y), care

64
Ciclu de prelegeri la cursul Matematica discret
nseamn x este egal cu y. Atunci expresia x este egal cu 5 poate fi
prezentat prin expresia EGAL(x,5). Analogic, n loc de A iubete pe B scriem
IUBETE(A,B).
n logica de ordinul unu mai pot fi folosite simbolurile funcionale. De
exemplu, putem scrie plus(x,y) pentru a nota x+y, mama(x), care ar nsemna
mama persoanei x. n acest caz, propoziia mama lui Eugen l iubete pe
Eugen poate fi reprezentat simbolic IUBETE(mama(Eugen),Eugen), iar
expresia x+y este egal cu z se va scrie EGAL(plus(x,y),z).
n exemplele de mai sus expresiile EGAL(x,5), IUBETE(A,B),
EGAL(plus(x,y),z) i IUBETE(mama(Eugen),Eugen) sunt atomi ai logicii de
ordinul unu n care EGAL i IUBETE sunt simboluri predicative, x, y, z, A, B
sunt variabile, Eugen i 5 sunt simboluri individualizatoare sau constante, iar
mama i plus simboluri funcionale.
n caz general, pentru construirea atomilor sunt permise urmtoarele patru
tipuri de simboluri:
1. Simboluri individualizatoare sau constante (nume de obiecte sau valori
numerice),
2. Simboluri de variabile (litere mici x, y, z,..., este posibil utilizarea indicilor),
3. Simboluri funcionale (litere mici f, g, h,... sau cuvinte cu sens din litere mici,
cum ar fi mama, plus),
4. Simboluri predicative (de obicei litere mari P, Q, R,...sau cuvinte din litere mari
EGAL, IUBETE).
O funcie sau un predicat pot fi unare, binare, ternare, etc. De exemplu, EGAL i
IUBETE sunt predicate binare, mama este simbol funcional unar, iar plus binar.
O funcie aplic lista argumentelor ntr-o constant. De exemplu, mama este o
funcie, care pentru valoarea dat a argumentului (Eugen), stabilete persoana,
care este mama lui Eugen, chiar dac numele acestei persoane nu este
concretizat. Expresia de tipul mama(Eugen) se numete n logica de ordinul unu
term.
Iat definiia formal a noiuni term:
1. O constant este term.
2. O variabil este term.
3. Dac f este un simbol funcional n-ar i t1, t2,..., tn sunt termi, atunci f(t1, t2,..., tn)
este term.
4. Ali termi, dect cei generai cu ajutorul regulilor 1 3 nu exist.
Exemplul 3.11. Deoarece x i 7 sunt termi, iar plus este un simbol funcional binar,
expresia plus(x,7), conform definiiei de mai sus este term. Este uor
s ne convingem, c expresiile plus(plus(x,5),x) i

Am putea spune c un predicat este o relaie, ceea ce nu-i tocmai corect. Predicatul este o funcie,
care ia valoarea T pentru seturile, care verififc relaia dat i F b caz contrar.

65
Ciclu de prelegeri la cursul Matematica discret
mama(mama(Eugen)) sunt termi cu valorile respective x+5+x i
bunica lui Eugen.
Predicatul este o aplicaie, care aplic o list de constante (argumentele
predicatului) n T sau F. De exemplu, predicatul EGAL pentru perechea (5,9) are
valoarea F, iar pentru (7,7) T. Cunoscnd ce sunt termii n cadrul logicii de
ordinul unu, putem defini noiunea de atom.
Definiie. Dac P este un simbol predicativ n ar i t1, t2,..., tn termi, atunci
P(t1, t2,..., tn) este atom.
Pentru construirea formulelor, n afara celor cinci conectori logici, introdui
n paragraful precedent, vor mai fi utilizate dou simboluri speciale i , care
sunt chemate s caracterizeze variabilele. Aceste simboluri se numesc
cuantificatori: este cuantificatorul generalizrii, iar de existen. Dac x este
o variabil, atunci (x) se citete pentru orice x, pentru fiecare x sau pentru
toi x, iar (x) poate fi citit exist x, pentru unele valori ale lui x sau cel
puin pentru un x. (x) i (x) mai sunt numite complexe cuantificatoriale.
Exemplul 3.12. Vom prezenta printr-o formul afirmaiile:
(a) Orice numr raional este numr real.
(b) Exist un numr, care este numr prim.
(c) Pentru orice numr x exist un numr y, astfel nct x<y.
Notm afirmaia x este numr prim prin P(x), x este numr raional
prin Q(x), x este numr real prin R(x) i x este mai mic ca y prin
MAI_MIC(x, y). Expresiile de mai sus pot fi scrise dup cum urmeaz:
(a1) (x)(Q(x)R(x)),
(b1) (x)P(x),
(c1) (x)(y) MAI_MIC(x, y).
Fiecare din expresiile (a1), (b1) i (c1) se numete formul. nainte de a
defini formal noiunea de formul, introducem noiunile de variabile
legate i variabile libere. Pentru aceasta definim mai nti domeniul de
aciune a unui cuantificator, care intr n componena unei formule
este acea formul n care acest cuantificator este aplicat. De exemplu,
domeniul de aciune a cuantificatorului de existen n formula
(x)(y)MAI_MIC(x, y) este formula MAI_MIC(x,y), iar a
cuantificatorului generalizrii formula (y) MAI_MIC(x, y). Domeniul
de aciune al cuantificatorului generalizrii n formula ( x)(Q(x)R(x))
este formula (Q(x)R(x)).
Definiie. Intrarea unei variabile ntr-o formul se numete legat atunci i numai
atunci, cnd ea (intrarea) sau coincide cu intrarea n componena unui
complex cuantificator ((x) sau (x)), sau se afl n domeniul de

66
Ciclu de prelegeri la cursul Matematica discret
aciune a unui atare complex. Intrarea unei variabile ntr-o formul
este liber atunci i numai atunci cnd ea nu este legat.
Definiie. O variabil este liber ntr-o formul, dac cel puin o intrare a acestei
variabile n formula dat este liber. O variabil este legat ntr-o
formul, dac cel puin o intrare a acestei variabile n formula dat este
legat.
n formula (x)P(x,y) variabila x este legat, deoarece ambele intrri ale lui x
sunt legate. Variabila y este liber, deoarece unica intrare a acesteia este liber. O
variabil poate fi n cadrul unei formule i liber i legat n acelai timp. De
exemplu, n cadrul formulei (x)P(x, y) (y)Q(y) variabila y este i liber i
legat.
Utiliznd noiunile atom, conectori logici i cuantificatori, putem defini
formal conceptul de formul.
Definiie. Formulele construite corect (sau simplu formule) n logica de
ordinul unu pot fi definite recursiv astfel:
1. Un atom (o formul atomar) este formul.
2. Dac E i F sunt formule, atunci i () (EF), (EF), (EF) i (EF)
sunt formule.
3. Dac F este formul, iar x este o variabil liber n F, atunci (x)F i
(x)F sunt formule.
4. Nu exist alte formule, dect cele generate de regulile 1 3.
Exemplul 3.13. S exprimm prin formul exemplul de la nceputul acestui paragraf.
Notm x este om prin OM(x), x este muritor prin MURITOR(x).
Atunci afirmaia fiecare om este muritor poate fi reprezentat cu
ajutorul formulei (x)(OM(x) MURITOR(x)), afirmaia Confucius
este om prin formula OM(Confucius), iar ultima afirmaie Confucius
este muritor MURITOR(Confucius).
Afirmaia final n ntregime poate fi exprimat cu ajutorul formulei:
(x)(OM(x)MURITOR(x))OM(Confucius)MURITOR(Confucius).
Exemplul 3.14. S exprimm prin formule axiomele de baz ale numerelor naturale:
A1 : Pentru orice numr exist un numr, i numai unul singur, care
urmeaz imediat dup numrul dat (succesorul lui x).
A2 : Nu exist un numr dup care urmeaz imediat 0.
A3 : Pentru orice numr, diferit de 0, exist un numr, i numai unul
singur, care se afl imediat naintea numrului dat (predecesorul
lui x).

67
Ciclu de prelegeri la cursul Matematica discret
Fie f(x) i g(x) succesorul i, respectiv, predecesorul lui x, iar afirmaia
x este egal cu y este notat prin E(x, y). Atunci axiomele de mai sus
pot fi reprezentate prin formulele:
A11: (x)(y)(E(y, f(x))(z)(E(z, f(x))E(y, z))),
A12: ((x) E (0, f ( x))) ,
A13: (x)( E (x,0) ((y)(E(y, g(x)) (z)(E(z, g(x))E(y, z))))).

3.8.2. Interpretarea formulelor n logica de ordinul unu


n logica enunurilor prin interpretarea unei formule am considerat atribuirea
unor valori de adevr atomilor, care intr n componena formulei. n logica de
ordinul unu trebuie s facem mai multe, deoarece suntem obligai s lum n
consideraie variabilele. Pentru a defini interpretarea unei formule trebuie s
indicm domeniul obiectiv (domeniul de valori al variabilelor obiective) i
valorile constantelor, simbolurilor funcionale i predicative, care sunt n cadrul
formulei.
Definiie. Interpretarea formulei F n logica de ordinul unu const dintr-un
domeniu (obiectiv) nevid D i indicaia estimrilor (valorilor)
constantelor, simbolurilor funcionale i predicative, care formeaz F:
1. Fiecrei constante i punem n coresponden un element oarecare din D.
2. Fiecrui simbol funcional n-ar punem n coresponden aplicaia Dn n D.
3. Fiecrui simbol predicativ punem n coresponden aplicaia Dn n {T, F}.
Pentru a sublinia, c este vorba despre domeniul D, vom mai spune c
interpretm formula F n D. Atunci cnd estimm, adic determinm valoarea
de adevr a formulei n interpretrile din domeniul D, complexul (x) va fi
interpretat ca pentru toi x din D, iar (x) exist un element x din D.
Pentru orice interpretare a formulei F n D, formulei i se vor atribui valori de
adevr n conformitate cu urmtoarele reguli:
1. Dac sunt date valorile de adevr ale formulelor G i H, atunci valorile de adevr ale
formulelor G , GH, GH, GH, GH sunt calculate reieind din tabelele de
adevr ale acestor conectori logici.
2. (x)G ia valoare de adevr T, dac G are valoarea T pentru orice x din D; n caz
contrar valoarea F.
3. (x)G ia valoare de adevr T, dac G are valoarea T pentru cel puin un x din D; n caz
contrar valoarea F.
Notm, c formula, care conine variabile libere, nu poate avea valoare de
adevr. Variabilele libere sunt, de obicei, considerate constante.
Exemplul 3.15. Fie formulele (x)P(x) i (x) P (x ) i urmtoarea interpretare:

68
Ciclu de prelegeri la cursul Matematica discret
Domeniul: D = {1, 2}.
Estimarea formulei P:
P(1) P(2)
T F
Este uor s ne convingem, c (x)P(x) are valoarea F n aceast
interpretare, deoarece P(x) nu este T i pentru x=1, i pentru x=2. Pe de
alt parte, deoarece P ( 2) este T n aceast interpretare, (x) P (x ) este la
fel T.
Exemplul 3.16. Considerm formula (x) (y)P(x, y).
Definim interpretarea dup cum urmeaz:
Domeniul: D = {1, 2},
P(1, 1) P(1, 2) P(2, 1) P(2, 2)
T F F T
Cnd x=1, putem observa, c exist o valoare a lui y (anume y=1),
pentru care P(1, y)=T. Dac x=2, de asemenea exist un y pentru care
P(2, y)=T.
Deci, n interpretarea dat pentru orice x din D exist o astfel de
valoare a lui y, nct P(x, y) este T, adic (x) (y)P(x, y) are valoarea
T n aceast interpretare.
Exemplul 3.17. Fie formula G (x)(P(x)Q(f(x), a)).
n G avem o constant a, un simbol funcional unar f, un simbol
predicativ unar P i un simbol predicativ binar Q. Fie urmtoarea
interpretare I a formulei G:
Domeniul: D = {1, 2},
Estimarea pentru a:
a
1
Estimarea pentru f:
f(1) f(2)
2 1
Estimrile pentru P i Q:
P(1) P(2) Q(1, 1) Q(1, 2) Q(2, 1) Q(2, 2)
F T T T F T
Dac x=1, atunci P(x)Q(f(x), a) = P(1)Q(f(1), a) = P(1)Q(2, 1)
= F F = T.
Analogic, dac x=2, atunci P(x)Q(f(x), a) = P(2)Q(f(2), a) =
P(2)Q(1, 1) = T T = T.
Deoarece P(x)Q(f(x), a) are valoare de adevr T pentru toate
elementele x D, formula G (x)(P(x)Q(f(x), a)) este adevrat
n interpretarea I.
Exemplul 3.18. S estimm n interpretarea exemplului precedent formulele
urmtoare:

69
Ciclu de prelegeri la cursul Matematica discret
(a) (x)(P(f(x)) Q(x, f(a)))
(b) (x)(P(x) Q(x, a))
(c) (x) (y)(P(x) Q(x, y))
Pentru (a): dac x=1, atunci P(f(x)) Q(x, f(a)) = P(f(1)) Q(1, f(a))
= P(2) Q(1, f(1)) = P(2) Q(1, 2) = T T = T, iar dac x=2 -
P(f(x)) Q(x, f(a)) = P(f(2)) Q(2, f(a)) = P(1) Q(2, f(1)) = P(1)
Q(2, 2) = F T= F.
Deoarece n domeniul D exist un element, anume x = 1, petnru care
P(f(x)) Q(x, f(a)) are valloarea T, formula (x)(P(f(x))Q(x, f(a)))
este adevrat n interpretarea I.
Pentru (b): dac x = 1, atunci P(x) Q(x, a) = P(1) Q(1, 1) = F
T= F;
dac x = 2, atunci P(x) Q(x, a) = P(2) Q(2, 1) = T F= F.
Deci, n D nu este mcar un element pentru care P(x) Q(x, a) ar fi
adevrat, formula (x)(P(x) Q(x, a)) este fals n interpretarea I.
Pentru (c): dac x = 1, atunci P(x) = P(1) = F, iar P(x) Q(x, y) = F i
pentru y = 1, i pentru y = 2. Deoarece exist un element x (anume x =
1) pentru care (y)(P(x) Q(x, y)) este fals, formula (x) (x)(P(x)
Q(x, y)) este fals n interpretarea I.
Noiunlie introduse n 3.7 (tautologie, contradicie, consecine logice) pot fi
definite i pentru logcia de ordinul unu, inclusiv pot fi demonstrate teoreme
analogice despre consecinele logice (lsm ca exerciiu pentru cititor).

3.8.3. Forma normal Prenex


Au fost introduse formele normale disjunctive i conjunctive pentru logica
enunurilor. i n logica de gradul 1 exist o form normal, numit form
normal Prenex. Scopul introducerii acestei noiuni este simplificarea
demonstrrii teoremelor.
Definiie. Formula F n logica de gradul 1 se spune c este n forma normal
Prenex, dac i numai dac formula F este de forma
(Q1x1)...(Qnxn)(M),
unde fiecare (Qixi), i = 1, 2,..., n, reprezint sau (xi), sau (xi), iar (M) este
formul care nu conine cuantificatori. (Q1x1)...(Qnxn) se numete prefix, iar M
matricea formulei F.
Iat cteva exemple de formule n forma normal Prenex:
(x)(x)(P(x,y) Q(y)),
(x)(x)( P ( x, y ) Q(y)),
(x)(x)(z)(Q(x,y)R(z)).

70
Ciclu de prelegeri la cursul Matematica discret
S facem cunotin cu o metod de transformare a unei formule n forma
normal Prenex. Pentru aceast trebuie s cunoatem cteva formule de baz,
echivalente n logica de gradul 1. n afar de formulele echivalente din logica
boolean, care sunt adevrate i n logica de gradul 1, exist i alte perechi de
formule, care conin cuatificatori. Fie F o formul, care conine variabila liber x.
Pentru a sublinia, c x intr n F i este liber vom scrie F[x]. Fie G o formul,
care nu conine variabila x. Avem n acest caz urmtoarele perechi de formule
echivalente (aici Q este sau sau ):
(Qx)F[x] G = (Qx)(F[x] G); (3.19a)
(Qx)F[x] G = (Qx)(F[x] G); (3.19b)
((x) F [ x]) = (x)( ( F [ x]) ); (3.20a)
= (x)( ( F [ x]) ).
((x) F [ x]) (3.20b)
(x)F[x](x)H[x] = (x)(F[x]H[x]); (3.21a)
(x)F[x](x)H[x] = (x)(F[x]H[x]); (3.21b)
Demonstrarea relaiilor (3.19a) (3.21b) este dat ca exerciiu.
Subliniem c repartizarea cuantificatorului poate fi fcut doar pentru
conectorul , ca i repartizarea cuantificatorului poate fi fcut doar pentru
conectorul , adic trebuie s avem n vedere c:
(x)F[x](x)H[x] (x)(F[x]H[x]);
(x)F[x](x)H[x] (x)(F[x]H[x]).
n cazuri asemntoare vom proceda n mod special. Deoarece fiecare
variabil legat ntr-o formul poate fi considerat doar ca locul n care poate fi
introdus oricare alt variabil, orice variabil legat x poate fi redenumit n z i
formula (x)H[x] va trece n (z)H[z], adic (x)H[x] = (z)H[z]. Presupunem,
c alegem variabila z, care nu este n F[x]. Atunci avem
(x)F[x](x)H[x] = (x)F[x](z)H[z] = (x)(z)(F[x]H[z]).
n mod analogic putem scrie
(x)F[x](x)H[x] = (x)F[x](z)H[z] = (x)(z)(F[x]H[z]).
n caz general:
(Q1x)F[x](Q2x)H[x] = (Q1x)(Q2z)(F[x]H[z]), (3.22a)
(Q3x)F[x](Q4x)H[x] = (Q3x)(Q4z)(F[x]H[z]) (3.22b)
unde Q1, Q2, Q3, i Q4 sunt sau , iar z nu intr n F(x). Evident, dac Q1 = Q2
= i Q3 = Q4 = , variabila x nu va fi schimbat n z, ci vor fi utilizate direct
relaiile (3.21a) i (3.21b).

71
Ciclu de prelegeri la cursul Matematica discret
Folosind relaiile (3.4 3.12) i (3.19 3.22), orice formul poate fi adus la
forma normal Prenex confrom algoritmului de mai jos:
10. Eliminm conectorii i folosind relaiile
F G = (FG)(GF),
(FG) = F G,
20. Folosim principiul involuiei, legile De Morgan i
((x) F [ x]) = (x) ( F [ x]) ,
((x) F [ x]) = (x) ( F [ x]) ,
pentru a introduce semnul negaiei n interiorul formulei.
30. Redenumim variabilele legate la necesitate.
40. Folosim legile (3.19 3.22) pentru a scoate cuantificatorii la nceputul formulei.
Exemplul 3.19. S se determine forma normal Prenex a formulei
(x)P(x) (x)Q(x).
Rezolvare.
(x)P(x) (x)Q(x) = ((x) P( x)) (x)Q(x) conform relaiei
(FG) = F G,
= (x) ( P[ x]) (x)Q(x) conform relaiei
((x) F [ x]) = (x) ( F [ x]) ,
= (x)( ( P[ x]) Q(x)) conform relaiei
(3.21b).
Exemplul 3.20. S se determine forma normal Prenex a formulei
(x)(y)(((z)P(x,z) P(y,z)) (u)Q(x,y,u)).
Rezolvare.
(x)(y)(((z)P(x,z) P(y,z)) (u)Q(x,y,u)) =
(x)(y)( ((z ) P( x, z ) P( y, z )) ) (u)Q(x,y,u)) =
= (x)(y)((z)( P ( x, z ) P ( y, z ) ) (u)Q(x,y,u)) =
(x)(y)(z)(u)( P ( x, z ) P ( y, z ) Q(x,y,u)).

3.8.4. Aplicaii ale logicii de ordinul unu


n acest paragraf sunt aduse cteva exemple [5] care ilustreaz posibilitile
logicii de ordinul unu n rezolvarea unor probleme simple. Ca i n cazul logicii
enunurilor, va trebui s scriem mai nti problemele prin formule, apoi s
demonstrm, c formula este identic adevrat sau contradictorie.
Exemplul 3.21. Fie exemplul de la nceputul lui 3.8. Sunt date dou axiome
A1: (x)(OM(x)MURITOR(x)),

72
Ciclu de prelegeri la cursul Matematica discret
A2: (OM(Confucius)).
S se demonstreze c MURITOR(Confucius) este consecin logic a
premiselor A1 i A2.
Rezolvare. Avem A1 A2: (x)(OM(x)MURITOR(x))
(OM(Confucius)). Dac A1 A2 are valoarea de adevr T ntr-o
interpretare oarecare I, atunci ambele formule sunt adevrate n I.
Deoarece (OM(x)MURITOR(x)) este adevrat pentru orice x,
atunci cnd nlocuim x prin Confucius formula
(OM(Confucius)MURITOR(Confucius)) este la fel adevrat n I,
adic (OM(Confucius) MURITOR(Confucius) este adevrat n I.
Reiese c MURITOR(Confucius) trebuie s fie adevrat n I, ceea ce
conform definiiei nseamn c MURITOR(Confucius) este consecin
a premiselor iniiale A1 A2.
Exemplul 3.22. Nici un vnztor de automobile de ocazie nu cumpr astfel de maini
pentru familia sa. Unele persoane, care cumpr maini de ocazie
pentru familiile lor sunt absolut necinstii. Putem considera c unii
oameni absolut necinstii nu sunt vnztori de maini de ocazie?
Rezolvare. Notm prin U(x) persoana x este vnztor de
automobile de ocazie,
B(x) persoana x a cumprat automobil de ocazie pentru
familia sa,
D(x) - persoana x este absolut necinstit.
Avem n acest caz:
A1 : (x)(U(x) B(x) ),
A2 : (x)(B(x)D(x)).
Trebuie s demonstrm, c
A3 : (x)(D(x) U(x) )
este consecin logic a premiselor A1 i A2.
Presupunem, c A1 i A2 sunt adevrate n interpretarea I cu domeniul
E. Deoarece A2 este adevrat n I, exist un element x din E, pe care l
notm prin a, astfel nct B(a)D(a) este adevrat n I. Reiese c B(a)
este adevrat n I, adic B(a) este fals n I. A1 poate fi transcris
astfel:

A1 : (x)( U(x) B(x) ).


Deoarece A1 este adevrat n I, iar B(a) este fals n I, U(a) trebuie
s fie adevrat n I. ns, deoarece B(a)D(a) este adevrat n I,
adevrat n I este i D(a). Deci, D(a) U(a) este adevrat n I. Astfel

73
Ciclu de prelegeri la cursul Matematica discret
A3, adic A3 : (x)(D(x) U(x) ), este adevrat n I sau A3 este
consecin logic a formulelor A1 i A2.
Exemplul 3.23. Unii pacieni i iubesc medicii. Nici un pacient nu-i iubete pe
vrciuitori. Putem oare concluziona, c nici un medic nu este
vrciuitor?
Rezolvare. Notm: P(x) : x este pacient,
D(x) : x este doctor,
Q(x) : x este vrcuitor,
L(x,y): x l iubete pe y.
Datele iniiale i concluzia pot fi reprezentate simbolic dup cum
urmeaz:
F1 : (x)(P(x)(y)(D(y)L(x,y))),
F2 : (x)(P(x)(y)(Q(y) L(x, y) )),
G : (x)(D(x) Q(x) ).
Trebuie s artm, c G este consecin logic a F1 i F2.
Fie I o interpretare arbitrar cu domeniul obiectiv D. Presupunem c F1 i
F2 sunt adevrate n I. Deoarece F1, adic (x)(P(x)(y)(D(y)L(x,y))),
este adevrat n I, n D exist un element, notat aici prin e, pentru care
(P(e)(y)(D(y)L(e,y))) este adevrat n I. Asta nseamn, c att
(P(e), ct i (y)(D(y)L(e,y))) sunt adevrate n I. Pe de alt parte,
deoarece (P(x)(y)(Q(y) L(x, y) )) este adevrat n I pentru toate
elementele x din D, evident i (P(e)(y)(Q(y) L(e, y) )) este adevrat
n I. Deoarece P(e) este adevrat n I, i (P(e)(y)(Q(y) L(e, y) ))
trebuie s fie adevrat n I. Drept rezultat avem, c pentru orice element y
din D, att (D(y)L(x,y)), ct i (Q(y) L(e, y) )) sunt adevrate n I. Dac
D(y) este fals n I, atunci (D(y) Q(y) ) este adevrat n I. Dac D(y)
este adevrat n I, atunci L(e,y) trebuie s fie adevrat n I, deoarece
(D(y)L(e,y)) este adevrat n I. n rezultat, Q(y) trebuie s fie fals n I,
deoarece (Q(y)L(e,y)) este adevrat n I. Deci, (D(y) Q(y) ) este
adevrat n I. Din aceast cauz (D(y) Q(y) ) este adevrat pentru orice
y din D, adic (y)(D(y) Q(y) ) este adevrat n I. Am demonstrat n
aa mod, c dac F1 i F2 sunt adevrate n I, atunci (y)(D(y) Q(y) )
este adevrat n I, adic G este consecin logic a F1 i F2.
n exemplele precedente am artat cum consecinele pot reiei din fapte
concrete. Argumentarea faptului, c o consecin reiese din axiome (premise) se

74
Ciclu de prelegeri la cursul Matematica discret
numete demonstrare. Procesul de determinare a demonstraiei se numete
procedura demonstraiei.

3.9. Logica fuzzy


Logica fuzzy a devenit astzi o tehnologie extrem de util. Aceasta se
datoreaz n mare parte asemnrii foarte mari cu procesul de luare a deciziilor
de ctre factorii umani, care pot adopta decizii exacte n baza unor informaii
aproximative.
Spre deosebire de metodele obinuite, care implic utilizarea unor relaii
matematice exacte pentru descrierea modelelor comportamentului real al
sistemelor, metodele logicii fuzzy ofer posibilitatea construirii unei puni ntre
limbajului natural, care poate conine multe ambiguiti i logica matematic.
Logica fuzzy pune la dispoziie o metod intuitiv pentru specificarea sistemelor
n termeni obinuii omeneti permind automatizarea transformrii acestor
specificaii n modele eficiente.
Non-Fuzzy Fuzzy
1.0
nalt
Grad de Relativ nalt
adevr (0.9)
Relativ
Scund scund (0.2)
0.0
nlime nlime

Fig.3.4. Relaia Fuzzy - Non-Fuzzy


Primele aplicaii ale logicii fuzzy au fost n industrie. n 1987 n oraul
japonez Sendai a fost deschis primul metrou comandat de logica fuzzy:
controlerele, construite n baza logicii fuzzy sporesc confortul cltoriilor n
metrou, deoarece pornirea i oprirea trenurilor este mult mai lin. Dar cel mai
important este c toat comanda unui tren se reduce la apsarea butonului
Start! Logica fuzzy este pe larg utilizat n domeniul lifturilor, micornd
timpul de ateptare, n domeniul mainilor de splat sau a cuptoarelor cu
microunde, sporind satisfacia gospodinelor.

75
Ciclu de prelegeri la cursul Matematica discret
Bazele logicii fuzzy au fost puse n 1965 de Lotfi A. Zadeh, profesor de
informatic la Universitatea Berkeley din California, prin introducerea noiunii
de mulimi fuzzy (v. capitolul 2). L.Zadeh a motivat urmtoarele caracteristici
obligatorii ale logicii fuzzy:
n logica fuzzy raionamentele exacte sunt considerate caz particular al
raionamentelor aproximative;
n logica fuzzy totul depinde de gradul de apartenen;
orice sistem logic poate fi fuzzy-ficat;
n logica fuzzy cunotinele sunt interpretate ca un set de restricii flexibile (vagi)
peste o mulime de variabile;
procesul de elaborare a unei concluzii logice este considerat un proces de
extindere a restriciilor flexibile.
Logica boolean este n acest caz o submulime a logicii fuzzy. n afara celor
dou valori de adevr FALS i ADEVRAT sunt introduse valori intermediare
(fuzzy), cum ar fi PROBABIL FALS, POSIBIL, PROBABIL ADEVRAT.
Operaia de trecere de la valori concrete numerice din domeniul de cercetare la
aceste valori fuzzy se numete fuzzyficare, iar operaia invers defuzzyficare.
Valorile de adevr ale unei funcii fuzzy, ca i valorile argumentelor, sunt de tipul
FALS, PROBABIL FALS, POSIBIL, PROBABIL ADEVRAT i ADEVRAT. De
la FALS la ADEVRAT pot fi i alte valori intermediare. Calcularea valorii de
adevr a funciei fuzzy se produce conform unor reguli, legate de domeniul de
cercetare, reguli generate de legitile domeniului, cunotinele unor experi,
intuiie sau anumii factori obiectivi i chiar subiectivi.
Exemplul care urmeaz [6] descrie posibilitatea utilizrii logicii fuzzy n
proiectarea controlerului unui semafor inteligent. Controlerul are ca funcie
modificarea valorii curente a duratei ciclului de comutare a culorilor n
dependen de intensitatea traficului (fluxului de automobile).
ntr-un semafor standard durata ciclului de comutare a unei culori este
constant, ceea ce nu poate fi optimal. Ideal ar fi ca durata ciclului de comutare
s varieze n aa mod, nct ntr-o unitate de timp pe verde s poat trece ct
mai multe automobile, iar pe rou s atepte ct mai puine. Elaborarea
matematic a modelului unui atare sistem n cadrul logicii obinuite este o
problem foarte dificil. Logica fuzzy este de un ajutor esenial n acest caz.
Schema unei intersecii este reprezentat in fig.3.5. La cele 4 semafoare
tradiionale sunt adugate opt contoare c1 c8, repartizate conform schemei.
Contoarele plasate mai aproape de semafor (contoarele cu numerele pare) duc
evidena automobilelor, care au trecut intersecia pe perioada unui ciclu, iar
contoarele cu numerele impare calculeaz numrul de automobile, care se

76
Ciclu de prelegeri la cursul Matematica discret
ndreapt spre semafor. Numrul de automobile, care se afl naintea semaforului
este determinat de diferena celor dou contoare. De exemplu, numrul de
automobile din faa semaforului strzii Sud este egal cu c3-c4. Distana D
dintre dou contoare permite calcularea densitii critice (densitatea maximal,
permis pentru ateptare n caz de situaie apropiat de saturaie). n acest scop se
va calcula numrul de uniti de transport pentru ambele sensuri (Nord-Sud sau
Vest-Est) de deplasare, iar suma se va mpri la 2D. Pentru direcia Est-Vest
vom avea [(c1-c2)+(c5-c6)]/(2D).
N
c7
V E
D
S
c8

c6 c5
D

D
c1 c2

c4

c3

Fig.3.5. Schema unei intersecii


Procesul de decizie fuzzy presupune executarea urmtorilor trei pai:
1o. Fuzzyficarea. Trebuie s determinm intrrile i ieirile proiectului. Fie c
culoarea roie este pentru strzile Nord i Sud, distana D este constant, iar
intrrile modelului sunt
1) Durata ciclului de comutare a culorii,
2) Numrul de automobile n faa semafoarelor pe rou,
3) Numrul de automobile n faa semafoarelor pe verde.
Prin numrul de automobile n faa semafoarelor nelegem numrul maxim
de automobile n ambele direcii.

77
Ciclu de prelegeri la cursul Matematica discret
Prin ieirea sistemului vom nelege probabilitatea schimbrii valorii curente
a duratei ciclului de comutare pc.
Vom exprima n termeni matematici situaiile posibile, adic vom pune n
coresponden diapazoanelor posibile ale duratei ciclului i ale numrului de
automobile valori fuzzy - nivele. Pentru intrrile 1 i 2 prin valoare nul (durat
nul a ciclului sau numr nul de automobile) vom considera cazul, cnd valoarea
duratei ciclului este ntre 0 i 2 uniti de timp sau exist de la 0 pn la dou
uniti de transport, adic nul (0, 2). Analogic jos (1, 7), mediu (4, 11),
nalt (7, 18) i haos (14, 20). De la nul pn la haos funciile de apartenen
acoper cinci diapazoane.
Analogic pentru intrarea 3: nivel relativ scurt de la 0 pn la 15
automobile, scurt (10, 35), mediu (18, 60), lung (35, 88), foarte lung
(65, 100) i mrginit (85, 100). Funcia de apartenen acoper 6 diapazoane.
Valorile ieirii (probabilitatea schimbrii valorii curente a ciclului de
comutare - pc), asociate nivelelor vor fi: nu 0, probabil nu 0.25, posibil
0.5, probabil da 0.75 i da 1.0, cinci valori pentru cinci nivele. Observm,
c pentru ieire o valoare este asociat unui singur nivel i nu unui diapazon de
valori.
2o. Elaborarea semnalului fuzzy de comand. Regulile de calculare a
gradului de apartenen pot fi formulate utiliznd o serie de afirmaii logice de
tipul DAC-ATUNCI, unite cu ajutorul conectorilor I-SAU. De exemplu: DAC
durata ciclului este medie I numrul de automobile pe rou este jos I numrul
de automobile pe verde este mediu, ATUNCI modificarea valorii duratei ciclului
probabil nu. Pentru cazul nostru (3 intrri cu 5, 5 i 6 diapazoane pentru
funciile de apartenen) sunt posibile 150 de combinaii. Studiind mai atent
problema, folosind criterii speciale, numrul de combinaii, care prezint interes
poate fi micorat. La acest pas se va obine valoarea funciei de apartenen
pentru fiecare dintre cele 5 valori posibile ale ieirii.
3o. Defuzzyficarea. Procesul de defuzzyficare transform ieirea fuzzy ntr-o
valoare concret non-fuzzy. Decizia final (se va comuta sau nu culoarea
semaforului) va fi luat n dependen de valoarea non-fuzzy a variabile pc. De
exemplu dac valoarea calculat (care depinde de metoda adoptat pentru
defuzzyficare) este mai mare ca 0,5, atunci culoarea va fi comutat, n caz contrar
nu. Prezentm mai jos o formul de dificultate medie de calculare a valorii
numerice a variabilei pc:
n n
pc = ( f ai * val( poz)) / f ai ,
i 1 i 1

78
Ciclu de prelegeri la cursul Matematica discret
n care f ai este valoarea funciei de apartenen, calculat la pasul precedent
pentru fiecare din nivelurile ieirii, iar val(poz) valoarea respectiv precis din
relaia nivel valoare a ieirii.
De exemplu, dac dup calcularea valorilor funciei de apartenen conform
regulilor de mai sus obinem tabelul urmtor

Valoarea fuzzy a ieirii Valoarea fa


Nu se va schimba 0,1
Probabil nu 0,3
Posibil 0,9
Probabil da 0,6
Da 0,0
atunci valoarea precis a ieirii va fi
pc=(0,1*0+0,3*0,25+0,9*0,5+0,6*0,75+0.0*1.0)/(0,1+0,3+0,9+0,6+0,0)=0,513,
i decizia este culoarea va fi comutat.
Acest semafor a fost testat pentru 7 tipuri de trafic (de la trafic foarte slab
pn la foarte intens). n conformitate cu aceste condiii de trafic au fost alese la
ntmplare 35 de densiti ale automobilelor i ordonate n dependen de
perioada zilei. Acelai lucru s-a fcut i pentru un semafor obinuit i un expert n
reglarea circulaiei. Pentru comparare n calitate de criterii a fost luat numrul de
automobile, crora a fost permis trecerea i timpul mediu de ateptare. A fost
elaborat un indice de performan, care maximizeaz traficul i minimizeaz
timpul mediu de ateptare.

Rezultatele comparrii celor trei tipuri de reglare a traficului sunt prezentate n


figura 3.6. Din aceste grafice poate fi fcut urmtoarea concluzie: controlerul
fuzzy a permis trecerea unui numr de automobile cu 31% mai mare i cu timpul
mediu de ateptare cu 5% mai mic dect un semafor obinuit. Eficiena a fost mai
mare cu 71%, ceea ce era de ateptat. Chiar i n comparaie cu un operator uman
controlerul fuzzy a permis trecerea a unui numr mai mare de automobile (plus
14%), cu valoarea timpului mediu de ateptare mai mic i cu indicile de
performan cu 36% mai nalt.
Logica fuzzy permite crearea unor maini-automate mai performante, care
sporesc nivelul de trai al omului.

79
Ciclu de prelegeri la cursul Matematica discret

Semafor fuzzy
Indice de performan

Operator uman

Semafor standard

7 categorii de trafic
Fig.3.6. Compararea indicilor de performan

80
Ciclu de prelegeri la cursul Matematica discret

3.10. Exerciii i probleme


3.1. Construii tabelele de adevr, determinai formele canonice disjunctiv i
conjunctiv, stabilii forma minim i implementai n bazele I-NU, SAU-
NU funciile logice:

y1= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 | x 4 ) ~ ( x 2 x3 ))

y2= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 | x 4 ) ( x 2 ~ x3 ))

y3= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 ~ x 4 ) ( x 2 | x3 ))

3.2. ntr-o cldire cu n etaje exist m lifturi, comandate la fiecare etaj cu ajutorul
unui singur buton. S se determine funcia logic a butonului unui etaj dat, care
avnd la intrare starea lifturilor, va apela cel mai apropiat lift liber. S se
construiasc circuitul logic ataat butonului unui etaj oarecare pentru n=20 i
m=5.
3.3. Elaborai circuitul logic, care va vizualiza pe un dispozitiv cu 7 elemente -
cristale lichide (exemplul unui ceas electronic) cifrele de la 0 la 9, prezentate n
cod binar.
3.4. Exprimai n termeni ai mulimilor fuzzy situaia temperatura ntr-o sal de
studiu
a) din punctul de vedere al studenilor ,
b) din punctul de vedere al administraiei facultii .
3.5. Cum poate fi exprimat noiunea persoan tnr n cadrul mulimilor
fuzzy?
3.6. Elaborai modelul matematic al procesului examen obinerea notei de
examinare n dependen de nivelul cunotinelor, dificultatea cursului, stricteea
profesorului.

81
Ciclu de prelegeri la cursul Matematica discret

4. GRAFURI
Anul 1736 este considerat pe bun dreptate de nceput pentru teoria
grafurilor. n acel an L.Euler a rezolvat problema despre podurile din
Knigsberg, stabilind criteriul de existen n grafuri a unui circuit special,
denumit astzi ciclu Euler. Acestui rezultat i-a fost hrzit s fie mai bine de un
secol unicul n teoria grafurilor. Doar la jumtatea secolului XIX inginerul
G.Kirchof a elaborat teoria arborilor pentru cercetarea circuitelor electrice, iar
matematicianul A.Caly a rezolvat problema enumerrii pentru trei tipuri de
arbori. n aceeai perioad apare i cunoscuta problem despre patru culori.
Avndu-i nceputurile n rezolvarea unor jocuri distractive (problema calului
de ah i reginelor, "cltoriei n jurul Pmntului" despre nuni i haremuri,
etc.), astzi teoria grafurilor s-a transformat ntr-un aparat simplu i accesibil,
care permite rezolvarea unui cerc larg de probleme. Grafuri ntlnim practic peste
tot. Sub form de grafuri pot fi reprezentate sisteme de drumuri i circuite
electrice, hri geografice i molecule chimice, relaii dintre oameni i grupuri de
oameni.
Foarte fertile au fost pentru teoria grafurilor ultimele trei decenii, ceea ce a
fost cauzat de creterea spectaculoas a domeniilor de aplicaii. n termeni grafo-
teoretici pot fi formulate o mulime de probleme legate de obiecte discrete. Astfel
de probleme apar la proiectarea circuitelor integrate i sistemelor de comand, la
cercetarea automatelor finite, circuitelor logice, schemelor-bloc ale programelor,
n economie i statistic, chimie i biologie, teoria orarelor i optimizarea
discret. Teoria grafurilor a devenit o parte component a aparatului matematic al
ciberneticii, limbajul matematicii discrete.

4.1. Noiuni generale


4.1.1. Definiia grafului
Se numete graf, ansamblul format dintr-o mulime finit X i o aplicaie F a
lui X n X. Se noteaz G = (X,F). Numrul elementelor mulimii X determin
ordinul grafului finit. Dac card X = n, graful G = (X,F) se numete graf finit de
ordinul n. Elementele mulimii X se numesc vrfurile grafului. Geometric,
vrfurile unui graf le reprezentm prin puncte sau cerculee. Perechea de vrfuri
(x,y) se numete arc; vrful x se numete originea sau extremitatea iniial a
arcului (x,y), iar vrful y se numete extremitatea final sau terminal. Un arc
(x,y) l reprezentm geometric printr-o sgeat orientat de la vrful x la vrful y.

82
Ciclu de prelegeri la cursul Matematica discret
Dac un vrf nu este extremitatea nici unui arc el se numete vrf izolat, iar
dac este extremitatea a mai mult de dou arce - nod. Un arc pentru care
extremitatea iniial coincide cu cea final se numete bucl.
Arcele unui graf le mai notm i cu u1, u2,..., iar mulimea arcelor grafului o
notm cu U. Se observ c mulimea U a tuturor arcelor unui graf determin
complet aplicaia F, precum i reciproc, aplicaia F determin mulimea U a
arcelor grafului. Un graf G poate fi dat fie prin ansamblul (X,F) fie prin
ansamblul (X,U).
Dou arce se zic adiacente dac sunt distincte i au o extremitate comun.
Dou vrfuri se zic adiacente dac sunt distincte i sunt unite printr-un arc.
Un arc (x,y) se spune c este incident cu vrful x spre exterior i este incident
cu vrful y spre interior.
Fie G = (X,F) i x X. Mulimea tuturor arcelor incidente cu x spre exterior
(interior) se numete semigradul exterior (interior) a lui x i se noteaz d+x (d_x).
Dac pentru un vrf x, d+x=0 sau d_x=0 atunci el se numete vrf terminal
ntr-un graf G = (X,U) se numete drum un ir de arce (u1,...,uk), astfel nct
extremitatea terminal a fiecrui arc uI coincide cu extremitatea iniial a arcului
urmtor ui+1. Un drum care folosete o singur dat fiecare arc al su se numete
drum simplu. Un drum care trece o singur dat prin fiecare vrf al su se
numete drum elementar. Lungimea unui drum este numrul de arce din care este
compus drumul.
u2 u3

x4 x7
x1 u1
u4

x3
u5 u8
u6 x6
x2 x5

u7

Fig. 4.1. Exemplu de graf


Un drum elementar ce trece prin toate vrfurile grafului se numete drum
hamiltonian. Un drum simplu ce conine toate arcele grafului se numete drum

83
Ciclu de prelegeri la cursul Matematica discret
eulerian. Un drum finit pentru care vrful iniial coincide cu vrful terminal se
numete circuit.
Graful obinut din graful iniial suprimnd cel puin un vrf al acestuia
precum i toate arcele incidente cu el se numete subgraf. Graful obinut
suprimnd cel puin un arc se numete graf parial.
Un graf se numete complet dac oricare ar fi x i y din X exist un arc de la x
la y sau de la y la x.
Un graf G = (X,F) se zice tare conex dac pentru orice x, y X (x diferit de
y) exist un drum de la x la y sau c oricare pereche de vrfuri x, y cu x diferit de
y se afl pe un circuit.
Fie G = (X,F) i x X. Mulimea Cx format din toate vrfurile xi X pentru
care exist un circuit ce trece prin x i xi se numete component tare conex a lui
G corespunztoare vrfului x.
Componentele tari conexe ale unui graf G = (X,F) constituie o partiie a lui X.
Noiunile introduse sunt valabile pentru grafurile orientate.
n cazul n care orientarea arcelor nu are nici o importan graful se va numi
neorientat. Arcele se vor numi muchii, drumul - lan, circuitul - ciclu. La fel se
introduce noiunea de lan elementar i simplu, lan Euler i hamiltonian. Graful
tare conex se va numi conex.
Cele dou concepte de graf orientat i graf neorientat se pot sprijini n
practic unul pe altul. De la un graf orientat se poate trece la omologul su
neorientat cnd se abordeaz o problem ce nu presupune orientarea i invers,
dac se precizeaz orientarea.
Unui graf orientat simetric i se poate asocia un graf neorientat, legtura dintre
dou vrfuri x i y realizat de cele dou arce (x,y) i (y,x) de sensuri contrarii
nlocuindu-se cu muchia [x,y]. De asemenea un graf neorientat poate fi
identificat cu mai multe grafuri orientate nlocuind fiecare muchie cu dou arce
orientate n sens opus.
Fie G = (X,U) un graf neorientat i x X. Se numete gradul vrfului x
numrul muchiilor care au o extremitate n vrful x. Se noteaz g(x). Un vrf este
izolat dac g(x) = 0.

4.1.2. Numr cociclomatic i numr ciclomatic


Fie G = (X,F) un graf neorientat cu n vrfuri, m muchii i p componente
conexe. Numim numr cociclomatic asociat grafului G numrul

84
Ciclu de prelegeri la cursul Matematica discret
r(G) = n - p
iar numrul ciclomatic numrul
s(G) = m - r(G) = m - n + p.
Se numete multigraf un graf neorientat n care exist perechi de vrfuri unite
prin mai multe muchii. Se numete q - graf un multigraf pentru care numrul
maxim de muchii ce unesc dou vrfuri este q.
Teorema. Fie G = (X,U) un multigraf, iar G1 = (X,U1) un multigraf obinut
din G adugnd o muchie. Dac x, y X i [x,y] este muchia care
se adaug la mulimea muchiilor grafului G, atunci:
(1) dac x = y sau x i y sunt unite printr-un lan
r(G1) = r(G), s(G1) = s(G) + 1
(2) n caz contrar
r(G1) = r(G) + 1, s(G1) = s(G).
Demonstraia este evident.
Consecin. Numerele cociclomatic i ciclomatic sunt nenegative.

4.1.3. Numr cromatic. Grafuri planare. Arbori


Un graf G = (X,U) se zice ca este graf p-cromatic daca vrfurile lui se pot
colora cu p-culori distincte astfel ca dou vrfuri adiacente s nu fie de aceeai
culoare. Cel mai mic numr ntreg i pozitiv pentru care graful este p-cromatic se
numete numr cromatic.

u2 x4
x7
x1
u1 u4
x3

u5 u3

u6 x5 x6
x2

Fig. 4.2. Exemplu de arbore


Un graf se zice c este planar dac poate fi reprezentat pe un plan astfel ca
dou muchii s nu aib puncte comune n afar de extremitile lor. Un graf
planar determin regiuni numite fee. O fa este o regiune mrginit de muchii i

85
Ciclu de prelegeri la cursul Matematica discret
care nu are n interior nici vrfuri, nici muchii. Conturul unei fee este format din
muchiile care o mrginesc. Dou fee sunt adiacente dac contururile au o muchie
comun. S-a demonstrat c numrul cromatic al unui graf planar este patru.
Cu privire la numrul cromatic s-a demonstrat urmtoarea
Teorema (Knig). Un graf este bicromatic dac i numai dac nu are cicluri de
lungime impar.
Se numete arbore oricare graf conex fr bucle i cicluri.
Se numete arborescen un graf orientat fr circuite astfel ca s existe un
vrf i numai unul care nu e precedat de nici un alt vrf (rdcina) i orice alt vrf
s fie precedat de un singur vrf.

4.2. Metode de reprezentare a grafului


Exist trei metode de baz de definire a unui graf:
1. Matricea de inciden;
2. Matricea de adiacen;
3. Lista de adiacen (inciden).
Vom face cunotin cu fiecare dintre aceste metode.

4.2.1. Matricea de inciden


Este o matrice de tipul mxn, n care m este numrul de muchii sau arce
(pentru un graf orientat), iar n este numrul vrfurilor. La intersecia liniei i cu
coloana j se vor considera valori de 0 sau 1 n conformitate cu urmtoarea regul:
1 - dac muchia i este incident cu vrful j (dac arcul i "intr" n
vrful j n cazul unui graf orientat);
0 - dac muchia (arcul) i i vrful j nu sunt incidente;
-1 - numai pentru grafuri orientate, dac arcul i "iese" din vrful j.
x1 x2 x3 x4 x5 x6 x7
u1 -1 0 1 0 0 0 0
u2 -1 0 0 1 0 0 0
u3 0 0 0 -1 0 0 1
u4 0 0 -1 0 0 0 1
u5 0 -1 1 0 0 0 0
u6 0 -1 0 0 1 0 0
u7 0 -1 0 0 0 1 0
u8 0 0 -1 0 0 1 0
Fig. 4.3. Exemplu de matrice de inciden (v.fig.1)

86
Ciclu de prelegeri la cursul Matematica discret
Este uor de observat c aceast metod este de o eficacitate mic n sensul
utilizrii memoriei calculatorului: fiecare linie conine doar dou elemente
diferite de zero (o muchie poate fi incident cu nu mai mult de dou vrfuri).
n limbajul Pascal matricea de inciden poate fi redat printr-un tablou
bidimensional mxn:
Matr_Incd: array [1..LinksCount, 1..TopsCount] of integer;
4.2.2. Matricea de adiacen
Este o matrice ptrat nxn, aici n este numrul de vrfuri. Fiecare element
poate fi 0, dac vrfurile respective nu sunt adiacente, sau 1, n caz contrar.
Pentru un graf fr bucle putem observa urmtoarele:
diagonala principal este format numai din zerouri;
pentru grafuri neorientate matricea este simetric fa de diagonala
principal.
x1 x2 x3 x4 x5 x6 x7
x1 0 0 1 1 0 0 0
x2 0 0 1 0 1 1 0
x3 0 0 0 0 0 1 1
x4 0 0 0 0 0 0 1
x5 0 0 0 0 0 0 0
x6 0 0 0 0 0 0 0
x7 0 0 0 0 0 0 0
Fig. 4.4. Exemplu de matrice de adiacen (v.fig.1)
n limbajul Pascal matricea de adiacen poate fi reprezentat n modul
urmtor:
Matr_Ad :array [1..TopsCount,1..TopsCount] of byte,
sau
Matr_Ad :array [1..TopsCount,1..TopsCount] of boolean;
Dup cum este lesne de observat i n acest caz memoria calculatorului este
utilizat nu prea eficace din care cauz matricea de adiacen ca i matricea de
inciden se vor utiliza de obicei doar n cazul n care se va rezolva o problem
concret pentru care reprezentarea grafului n aceast form aduce unele faciliti
algoritmului respectiv.
Pentru pstrarea grafurilor n memoria calculatorului (n deosebi, memoria
extern) se va utiliza una din posibilitile de mai jos.

87
Ciclu de prelegeri la cursul Matematica discret
4.2.3. Lista de adiacen i lista de inciden
Lista de adiacen este o list cu n linii (dup numrul de vrfuri n), n linia
cu numrul i vor fi scrise numerele vrfurilor adiacente cu vrful i.
Lista de inciden se definete n mod analogic cu deosebirea c n linia i vor
fi scrise numerele muchiilor (arcelor) incidente cu vrful i.
Reprezentarea grafurilor prin intermediul acestor liste permite utilizarea mai
eficace a memoriei calculatorului, ns aceste forme sunt mai complicate att n
realizare, ct i n timpul procesrii. Pentru a lua n consideraie lungimea
variabil a liniilor vor fi utilizate variabile dinamice i pointeri.
Vom exemplifica pentru un graf cu n vrfuri. Deoarece fiecare element al
listei conine numere de vrfuri este evident s considerm c vom avea un ir de
variabile dinamice de tip INTEGER care se vor afla n relaia respectiv de
precedare (succedare). Aceast relaie se va realiza prin pointeri, unii mpreun
cu variabila de tip ntreg n nregistrarea (Pascal: record). Pentru a pstra
indicatorii de intrare n aceste iruri se va folosi un tablou unidimensional de
indicatori de lungime n. n calitate de simbol de terminare a irului se va utiliza
un simbol care nu a fost folosit la numeraia vrfurilor (de exemplu 0), care va fi
introdus n calitate de variabil de tip ntreg al ultimului bloc.
De exemplu, lista de adiacen (fig.1.1):
1 - 3, 4, 0
2 - 3, 5, 6, 0
3 - 6, 7, 0
4 7, 0
5-0
6-0
7-0
va avea reprezentare intern din fig.4.5.

2
3 5 6 0
3
^ ^ ^
4

variabile dinamice (pointer i variabil de tip ntreg)


masiv de indicatori

Fig. 4.5. Reprezentarea intern a listei de adiacen

88
Ciclu de prelegeri la cursul Matematica discret
Va fi necesar de realizat urmtoarea declaraie:
Type
BlockPtr = ^BlockType;
BlockType = record;
Number : integer;
Point : BlockPtr;
end;
Var In_Ptr :array [1..TopsCount] of BlockPtr;
Lista de adiacen (i realizarea reprezentrii interne) se va implementa cu
ajutorul procedurii New(BlockPtr_Type_Variable), n care
BlockPtr_Type_Variable este o variabil de tip BlockPtr.

4.3. Structuri de date


4.3.1. Liste
Fiecare tip de list definete o mulime de iruri finite de elemente de tipul
declarat. Numrul de elemente care se numete lungimea listei poate varia pentru
diferite liste de acelai tip. Lista care nu conine nici un element se va numi vid.
Pentru list sunt definite noiunile nceputul, sfritul listei i respectiv primul i
ultimul element, de asemenea elementul curent ca i predecesorul i succesorul
elementului curent. Element curent se numete acel unic element care este
accesibil la momentul dat.

4.3.2. Fire de ateptare


Firele de ateptare (FA, rnd, coad, ir de ateptare) se vor folosi pentru a
realiza algoritmul de prelucrare a elementelor listei n conformitate cu care
elementele vor fi eliminate din list n ordinea n care au fost incluse n ea
(primul sosit - primul servit).
Operaiile de baz cu firele de ateptare:
Formarea unui FA vid;
Verificare dac FA nu este vid;
Alegerea primului element cu eliminarea lui din FA;
Introducerea unei valori noi n calitate de ultim element al FA.

4.3.3. Stive
Stiva se utilizeaz pentru a realiza algoritmul de prelucrare a elementelor
dup principiul "ultimul sosit - primul prelucrat" (LIFO).
Operaiile de baz cu stivele sunt urmtoarele:
Formarea unei stive vide;

89
Ciclu de prelegeri la cursul Matematica discret
Verificare la vid;
Alegerea elementului din topul stivei cu sau fr eliminare;
Introducerea unui element nou n topul stivei.

4.3.4. Arbori
Se va defini o mulime de structuri fiecare din care va consta dintr-un obiect
de baz numit vrf sau rdcina arborelui dat i o list de elemente din mulimea
definit, care (elementele) se vor numi subarbori ai arborelui dat. Arborele
pentru care lista subarborilor este vid se va numi arbore trivial, iar rdcina lui -
frunz.
Rdcina arborelui se va numi tatl vrfurilor care servesc drept rdcini
pentru subarbori; aceste vrfuri se vor mai numi copiii rdcinii arborelui:
rdcina primului subarbore se va numi fiul cel mai mare, iar rdcina fiecrui
subarbore urmtor n list se va numi frate.
Operaiile de baz pentru arbori vor fi:
Formarea unui arbore trivial;
Alegerea sau nlocuirea rdcinii arborelui;
Alegerea sau nlocuirea listei rdcinilor subarborilor;
Operaiile de baz care sunt valabile pentru liste.

4.4. Algoritmi pe grafuri


4.4.1. Cutare n adncime
La cutarea n adncime (parcurgerea unui graf n sens direct, n preordine)
vrfurile grafului vor fi vizitate n conformitate cu urmtoarea procedur
recursiv: mai nti va fi vizitat rdcina arborelui q, apoi, dac rdcina
arborelui nu este frunz - pentru fiecare fiu p al rdcinii q ne vom adresa
recursiv procedurii de parcurgere n adncime pentru a vizita vrfurile tuturor
subarborilor cu rdcina p ordonate ca fii ai lui q.
n cazul utilizrii unei stive pentru pstrarea drumului curent pe arbore, drum
care ncepe din rdcina arborelui i se termin cu vrful vizitat n momentul dat,
poate fi realizat un algoritm nerecursiv de forma:
Viziteaz rdcina arborelui i introdu-o n stiva vid S;
WHILE stiva S nu este vid DO
BEGIN
fie p - vrful din topul stivei S;
IF fiii vrfului p nc nu au fost vizitai
THEN viziteaz fiul mai mare al lui p i introduce-l n S

90
Ciclu de prelegeri la cursul Matematica discret
ELSE BEGIN
elimin vrful p din stiva S
IF p are frai THEN viziteaz pe fratele lui p i
introduce-l n stiva S
END
END
Acest algoritm poate fi modificat pentru a putea fi utilizat la parcurgerea
tuturor vrfurilor unui graf arbitrar. n algoritmul de mai jos se va presupune c
este stabilit o relaie de ordine pe mulimea tuturor vrfurilor grafului, iar
mulimea vrfurilor adiacente cu un vrf arbitrar al grafului este de asemenea
ordonat:
WHILE va exista cel puin un vrf care nu a fost vizitat DO
BEGIN
fie p - primul din vrfurile nevizitate;
viziteaz vrful p i introduce-l n stiva vid S;
WHILE stiva S nu este vid DO
BEGIN
fie p - vrful din topul stivei S;
IF m vrfuri ale lui p sunt vrfuri adiacente
nevizitate
THEN BEGIN
fie z primul vrf nevizitat din vrfurile
adiacente cu p;
parcurge muchia (p,z), viziteaz vrful
z i introduce-l n stiva S;
END
ELSE elimin vrful p din stiva S
END
END
n cazul n care se va lucra cu un graf conex arbitrar cu relaia de ordine lips,
nu va mai avea importan ordinea de parcurgere a vrfurilor. Propunem un
algoritm care utilizeaz mai larg posibilitile stivei, cea ce face programul mai
efectiv n sensul diminurii timpului de calcul necesar. De exemplu, acest
algoritm n varianta recursiv este pe larg utilizat n programele de selectare
global n subdirectori (cazul programelor antivirus).
Introdu n stiv vrful iniial i marcheaz-l;
WHILE stiva nu este vid DO
BEGIN
extrage un vrf din stiv;
IF exist vrfuri nemarcate adiacente cu vrful extras

91
Ciclu de prelegeri la cursul Matematica discret
THEN marcheaz-le i introduce-le n stiv;
END
4.4.2. Algoritmul de cutare n lrgime
Parcurgerea grafului n lrgime, ca i parcurgerea n adncime, va garanta
vizitarea fiecrui vrf al grafului exact o singur dat, ns principiul va fi altul.
Dup vizitarea vrfului iniial, de la care va ncepe cutarea n lrgime, vor fi
vizitate toate vrfurile adiacente cu vrful dat, apoi toate vrfurile adiacente cu
aceste ultime vrfuri .a.m.d. pn vor fi vizitate toate vrfurile grafului. Evident,
este necesar ca graful s fie conex. Aceast modalitate de parcurgere a grafului
(n lrgime sau postordine), care mai este adesea numit parcurgere n ordine
orizontal, realizeaz parcurgerea vrfurilor de la stnga la dreapta, nivel dup
nivel.
Algoritmul de mai jos realizeaz parcurgerea n lrgime cu ajutorul a dou
fire de ateptare O1 i O2.
Se vor forma dou fire de ateptare vide O1 i O2;
Introduce rdcina n FA O1;
While cel puin unul din firele de ateptare O1 sau O2 nu va fi vid do
If O1 nu este vid then
begin
fie p vrful din topul FA O1;
viziteaz vrful p eliminndu-l din O1;
viziteaz pe toi fiii lui p n FA O2, ncepnd cu cel
mai mare;
END
ELSE
n calitate de O1 se va lua FA O2, care nu este vid,
iar n calitate de O2 se va lua FA vid O1;
Vom nota c procedura parcurgerii grafului n lrgime permite s realizm
arborele de cutare i n acelai timp s construim acest arbore. Cu alte cuvinte,
se va rezolva problema determinrii unei rezolvri sub forma vectorului (a1,
a2,...) de lungime necunoscut, dac este cunoscut c exist o rezolvare finit a
problemei.
Algoritmul pentru cazul general este analogic cu cel pentru un graf n form
de arbore cu o mic modificare care const n aceea c fiecare vrf vizitat va fi
marcat pentru a exclude ciclarea algoritmului.

92
Ciclu de prelegeri la cursul Matematica discret
Algoritmul parcurgerii grafului n lrgime:
Se vor defini dou FA O1 i O2 vide;
Introdu vrful iniial n FA O1 i marcheaz-l;
WHILE FA O1 nu este vid DO
BEGIN
viziteaz vrful din topul FA O1 i elimin-l din FA;
IF exist vrfuri nemarcate adiacente cu vrful dat THEN
introdu-le n FA O2;
END
4.4.3. Graf de acoperire
Fie H un subgraf care conine toate vrfurile unui graf arbitrar G. Dac pentru
fiecare component de conexitate a lui G subgraful H va defini un arbore atunci
H se va numi graf de acoperire (scheletul sau carcas) grafului G. Este evident c
graful de acoperire exist pentru oricare graf: eliminnd ciclurile din fiecare
component de conexitate, adic eliminnd muchiile care sunt n plus, vom
ajunge la graful de acoperire.
Se numete graf aciclic orice graf care nu conine cicluri. Pentru un graf
arbitrar G cu n vrfuri i m muchii sunt echivalente urmtoarele afirmaii:
1. G este arbore;
2. G este un graf conex i m = n - 1;
3. G este un graf aciclic i m = n - 1;
4. oricare dou vrfuri distincte (diferite) ale lui G sunt unite printr-un lan
simplu care este unic;
5. G este un graf aciclic cu proprietatea c, dac o pereche oarecare de vrfuri
neadiacente vor fi unite cu o muchie, atunci graful obinut va conine exact un
ciclu.
Consecin: numrul de muchii pentru un graf arbitrar G, care va fi necesar a fi
eliminate spre a obine un graf de acoperire nu depinde de ordinea eliminrii lor
i este egal cu
m(G)-n(G)+k(G),
unde m(G), n(G) i k(G) sunt numrul de muchii, vrfuri i componente conexe,
respectiv.
Numrul s(G) = m(G)-n(G)+ k(G) se numete rang ciclic sau numr
ciclomatic al grafului G. Numrul r(G) = n(G)-k(G) rang cociclomatic sau
numr cociclomatic.
Deci, s(G)+r(G)=m(G).

93
Ciclu de prelegeri la cursul Matematica discret
Este adevrat urmtoarea afirmaie: orice subgraf a unui graf arbitrar G se
conine ntr-un graf de acoperire a grafului G.
Exist mai muli algoritmi de determinare a grafului de acoperire. Algoritmul
de mai jos nu este un algoritm-standard, ci este unul elaborat n baz algoritmului
de cutare n lrgime. Esena algoritmului const n aceea c folosind dou fire
de ateptare n unul din care sunt nscrise (pe rnd) numerele vrfurilor adiacente
cu vrfurile din cellalt FA (ca i n cazul cutrii n lrgime), vor fi eliminate
muchiile dintre vrfurile unui FA i toate muchiile n afar de una dintre fiecare
vrf al FA curent i vrfurile din FA precedent. n cazul n care ambele FA vor
deveni vide procedura se va termina.
Pentru a nu admite ciclarea i ca s fim siguri c au fost prelucrate toate
componentele conexe se va utiliza marcarea vrfurilor. Dac dup terminarea
unui ciclu ordinar nu au mai rmas vrfuri nemarcate procedura ia sfrit, n caz
contrar n calitate de vrf iniial se va lua oricare din vrfurile nemarcate.
Descrierea algoritmului:
1. Se vor declara dou FA (FA1 i FA2) vide.
2. Se va lua n calitate de vrf iniial un vrf arbitrar al grafului.
3. Se va introduce vrful iniial n firul de ateptare vid FA1 i se va
marca acest vrf.
4. Se vor introduce n FA2 toate vrfurile adiacente cu vrfurile din
FA1 i se vor marca. Dac FA2 este vid se va trece la p.7, n caz
contrar - la p. 4.
5. Se vor elimina toate muchiile care leag vrfurile din FA2.
6. Pentru toate vrfurile din FA2 vor fi eliminate toate muchiile n
afar de una care leag vrful dat cu vrfurile din FA1.
7. Se vor schimba cu numele FA1 i FA2 (FA1 va deveni FA2 i
invers).
8. Dac exist cel puin un vrf nemarcat se va lua n calitate de
vrf iniial oricare din acestea i se va trece la p.1, altfel
9. STOP.
Graful obinut este graful de acoperire.

4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru


determinarea drumului minim
Pentru un graf orientat G = (X,U) se va numi drum un ir de vrfuri D = (x0,
x1,..., xr) cu proprietatea c (x0, x1), (x1, x2),..., (xr-1, xr) aparin lui U, deci sunt
arce ale grafului i extremitatea final a arcului precedent coincide cu
extremitatea iniial a arcului urmtor.

94
Ciclu de prelegeri la cursul Matematica discret
Vrfurile x0 i xr se numesc extremitile drumului D. Lungimea unui drum
este dat de numrul de arce pe care le conine. Dac vrfurile x0, x1,..., xr sunt
distincte dou cte dou drumul D este elementar.
Adeseori, fiecrui arc (muchii) i se pune n coresponden un numr real care
se numete ponderea (lungimea) arcului. Lungimea arcului (xi, xj) se va nota
w(i,j), iar n cazul n care un arc este lips ponderea lui va fi considerat foarte
mare (pentru calculator cel mai mare numr pozitiv posibil). n cazul grafurilor
cu arce ponderate (grafuri ponderate) se va considera lungime a unui drum suma
ponderilor arcelor care formeaz acest drum. Drumul care unete dou vrfuri
concrete i are lungimea cea mai mic se va numi drum minim iar lungimea
drumului minim vom numi distan. Vom nota distana dintre x i t prin d(x, t),
evident, d(x,x)=0.
Permite determinarea drumului minim care ncepe cu un vrf iniial xi pn la
oricare vrf al grafului G. Dac prin Lij se va nota ponderea arcului (xi, xj) atunci
algoritmul conine urmtorii pai:
1. Fiecrui vrf xj al grafului G se va ataa un numr foarte mare Hj().
Vrfului iniial i se va ataa Ho = 0;
2. Se vor calcula diferenele Hj - Hi pentru fiecare arc (xi, xj). Sunt posibile
trei cazuri:
a) Hj - Hi < Lij,
b) Hj - Hi = Lij,
c) Hj - Hi > Lij.
Cazul "c" permite micorarea distanei dintre vrful iniial i xj din care cauz
se va realiza Hj = Hi + Lij.
Pasul 2 se va repeta atta timp ct vor mai exista arce pentru care are loc
inegalitatea c. La terminare, etichetele Hi vor defini distana de la vrful iniial
pn la vrful dat xi.
3. Acest pas presupune stabilirea secvenei de vrfuri care va forma
drumul minim. Se va pleca de la vrful final xj spre cel iniial. Predecesorul lui xj
va fi considerat vrful xi pentru care va avea loc Hj - Hi = Lij. Dac vor exista
cteva arce pentru care are loc aceast relaie se va alege la opiune.
4.4.5 Algoritmul Bellman - Calaba
Permite determinarea drumului minim dintre oricare vrf al grafului pn la
un vrf, numit vrf final.

95
Ciclu de prelegeri la cursul Matematica discret
Etapa iniial presupune ataarea grafului dat G a unei matrice ponderate de
adiacen, care se va forma n conformitate cu urmtoarele:
1. M(i,j) = Lij, dac exist arcul (xi, xj) de pondere Lij;
2. M(i,j) = , unde este un numr foarte mare (de tip ntreg
maximal pentru calculatorul dat), dac arcul (xi, xj) este lips;
3. M(i,j) = 0, dac i = j.
La etapa a doua se va elabora un vector V0 n felul urmtor:
1. V0(i) = Lin, dac exist arcul (xi, xn), unde xn este vrful final
pentru care se caut drumul minim, Lin este ponderea acestui
arc;
2. V0(i) = , dac arcul (xi, xn) este lips;
3. V0(i) = 0, dac i = j.
Algoritmul const n calcularea iterativ a vectorului V n conformitate cu
urmtorul procedeu:
1. Vk(i) = min{Vk-1; Lij+Vk-1(j)}, unde i = 1, 2,, n - 1, j = 1, 2,...,
n; i<>j;
2. Vk(n) = 0.
Cnd se va ajunge la Vk = Vk-1 - STOP.
Componenta cu numrul i a vectorului Vk cu valoarea diferit de zero ne va da
valoarea minim a drumului care leag vrful i cu vrful n.

4.5. Reele de transport


4.5.1. Noiuni generale
Un graf orientat G = (X, U) se numete reea de transport dac satisface
urmtoarele condiii:
a) exist un vrf unic a din X n care nu intr nici un arc sau d_(a)=0;
b) exist un vrf unic b din X din care nu iese nici un arc sau d+(a)=0;
c) G este conex i exist drumuri de la a la b n G;
d) s-a definit o funcie c: UR astfel nct c(u) 0 pentru orice arc u din U.
Vrful a se numete intrarea reelei, vrful b se numete ieirea reelei, iar
c(u) este capacitatea arcului u.
O funcie f: UR astfel nct f(u) 0 pentru orice arc u se numete flux n
reeaua de transport G cu funcia de capacitate c, care se noteaz G = (X, U, c),
dac sunt ndeplinite urmtoarele dou condiii:
a) Condiia de conservare a fluxului: Pentru orice vrf x diferit de a i b
suma fluxurilor pe arcele care intr n x este egal cu suma fluxurilor
pe arcele care ies din x.

96
Ciclu de prelegeri la cursul Matematica discret
b) Condiia de mrginire a fluxului: Exist inegalitatea f(u) c(u) pentru
orice arc u U.
Dac f(u) = c(u) arcul se numete saturat. Un drum se va numi saturat dac
va conine cel puin un arc saturat. Fluxul, toate drumurile cruia sunt saturate se
va numi flux complet. Cel mai mare dintre fluxurile complete se numete flux
maxim.
Pentru orice mulime de vrfuri A U vom defini o tietur w_(A) = {(x, y) |
x A, y A, (x,yU}, adic mulimea arcelor care intr n mulimea A de
vrfuri.
Prin w+(A) vom nota mulimea arcelor care ies din mulimea A de vrfuri.
Este just afirmaia: suma f(u) pentru u w+(A) este egal cu suma f(u) pentru
arcele uw_(A). Aceast valoare comun se va nota fb.
4.5.2. Algoritmul Ford-Fulkerson
Are loc urmtoarea teorem (Ford-Fulkerson):
Pentru orice reea de transport G = (X, U, c) cu intrarea a i ieirea b valoarea
maxim a fluxului la ieire este egal cu capacitatea minim a unei tieturi, adic:
max fb = min c(w_(A)).
n baza acestei teoreme a fost elaborat urmtorul algoritm de determinare a
fluxului maxim (Ford-Fulkerson) la ieirea b a unei reele de transport G = (X, U,
c), unde capacitatea c ia numai valori ntregi [7]:
1o. Se definete fluxul iniial avnd componente nule pe fiecare arc al reelei,
adic f(u) = 0 pentru orice arc u U;
2o. Se determin lanurile nesaturate de la a la b pe care fluxul poate fi mrit,
prin urmtorul procedeu de etichetare:
a) Se marcheaz intrarea a cu [+];
b) Un vrf x fiind marcat, se va marca:
cu [+x] oricare vrf y nemarcat cu proprietatea c arcul u = (x, y)
este nesaturat, adic f(u)<c(u);
cu [-x] - orice vrf y nemarcat cu proprietatea c arcul u = (x, y) are
un flux nenul, adic f(u)>0.
Dac prin acest procedeu de marcare se eticheteaz ieirea b, atunci fluxul fb
obinut la pasul curent nu este maxim. Se va considera atunci un lan format din
vrfurile etichetate (ale cror etichete au respectiv semnele + sau -) care unete
pe a cu b i care poate fi gsit uor urmrind etichetele vrfurilor sale n sensul
de la b ctre a.
Dac acest lan este v, s notm cu v+ mulimea arcelor (x, y), unde marcajul
lui y are semnul +, deci care sunt orientate n sensul de la a ctre b i cu v_

97
Ciclu de prelegeri la cursul Matematica discret
mulimea arcelor (x, y), unde marcajul lui y are semnul -, deci orientate n
sensul de la b ctre a.
Determinm cantitatea:
e = min {min(c(u) - f(u)), min f(u)}. u v+, u v_
Din modul de etichetare rezult e > 0.
Vom mri cu e fluxul pe fiecare arc u din v+ i vom micora cu e fluxul pe
fiecare arc u v_, obinnd la ieire un flux egal cu fb+e. Se repet aplicarea
pasului 2 cu fluxul nou obinut.
Dac prin acest procedeu de etichetare nu putem marca ieirea b, fluxul fb are
o valoare maxim la ieire, iar mulimea arcelor care unesc vrfurile marcate cu
vrfurile care nu au putut fi marcate constituie o tietur de capacitate minim
(demonstrai c se va ajunge n aceast situaie dup un numr finit de pai).

98
Ciclu de prelegeri la cursul Matematica discret

4.6. Exerciii i probleme


4.1. Utiliznd metoda Bellman - Kalaba s se determine drumul minim ntre
vrfurile v0 i v8 n graful:

v1 2 v4 10
1 v8
2
3 6
v0 v2 2
v6
4 1 5 3
2 v7
v3 v5
Care este drumul de valoare minim ntre vrfurile v2 i v8 ?
4.2. ntr-o secie a unei ntreprinderi se aplic asupra unui produs anumite
operaii de prelucrare. Prelucrrile ce se pot face, tehnologiile posibile de
ordonare a lor i costurile unitare asociate fiecrei prelucrri sunt date ntr-
un model-graf ponderat cu reprezentarea geometric dat prin figura:

v2 2 6
v5 v7
2 1 7
2
3 5 2
v1 v4
4
6 6 v8
4
3
v3 2 v6

S se determine tehnologia corespunztoare celui mai sczut cost unitar total.


4.3. Prezentai sub form de graf relaiile de incluziune.
Fie date urmtoarele mulimi:
A = {nZ / n2 17}
B = {-2, 0, 2}
C = {E(x) / x R}, aici E(x) este funcia partea ntreag
D = intersecia mulimii B cu mulimea R+
E = {2p / pZ}
F = mulimea rdcinilor polinomului (x2-4)(x2-1)(x3-3x2)

99
Ciclu de prelegeri la cursul Matematica discret
Utiliznd una din variantele relaiilor de mai jos determinai locul corect al
fiecrei mulimi n unul din vrfurile grafului astfel ca toate relaiile, alese din
lista de mai jos, s fie corecte simultan.
x2 2 x3

1 3
4 5 6

7 8 9

x1 x5 x6 x4
Relaiile 1 5, 7 - 9:
a) xi este inclus n xj i nu sunt egale
b) xi este egal cu xj.
Relaia 6:
a) x3 este inclus n x6 i nu sunt egale
b) x3 este egal cu x6
c) x3 nu este n nici o relaie de incluziune cu x6 i invers.
Rspunsul va specifica care mulime a fost pus n x1, care n x2 i aa mai
departe pn la x6 i care este relaia 1 din cele dou posibile (arcul 1 al grafului),
care este relaia 2 (arcul 2 al grafului), pn la arcul 9.
4.4. Fie funciile reale definite pe [-1, 1] cu proprietile:
a) f1 este continu n 0;
b) f2 este derivabil pe [-1, 1] cu derivata 0;
c) f3 este derivabil, cresctoare pe [-1, 1];
d) f4 este continu pe [-1, 1];
e) f5 este derivabil n 0;
f) f6 este continu i par pe [-1, 1].
Utiliznd una din variantele relaiilor de mai jos determinai locul corect al
fiecrei funcii n unul din vrfurile grafului astfel ca toate relaiile, alese din lista
de mai jos, s fie corecte simultan.
1 2
x1 x2 x3

4 6 7
3

8 9
x4 x5 x6

100
Ciclu de prelegeri la cursul Matematica discret
Relaiile 1, 2, 4, 6-9: fi implic fj, dar fj nu implic fi
fi implic fj i fj implic fi
fi nu implic fj i fj nu implic fi,
Relaiile 3, 5: fi implic fj, dar fj nu implic fi
fi implic fj i fj implic fi
fi nu implic fj i fj nu implic fi,
fj implic fi, dar fi nu implic fj
Exemplu: funcia f4 implic funcia f1.
Rspunsul va specifica care funcie a fost pus n x1, care n x2 i aa mai
departe pn la x6 i care este relaia 1 din cele posibile (arcul 1 al grafului), care
este relaia 2 (arcul 2 al grafului), pn la arcul 9.

101
Ciclu de prelegeri la cursul Matematica discret

5. MODELE ALGORITMICE
5.1. Precizarea noiunii de algoritm
Algoritmii, nelegnd prin aceasta proceduri stricte i eficiente de obinere n
mod univoc a rezultatului [2], plecnd de la datele iniiale, sunt prezeni peste tot
n matematic. Adunarea i nmulirea n coloni, substituirea necunoscutelor
la rezovarea unui sistem de ecuaii liniare, construirea unui triunghi, fiind date
cele trei laturi, sunt exemple de algoritmi. ns pn la momentul n care
matematica opera doar cu numere, iar conceptul de algoritm era echivalent cu
noiunea de metod de calcul, necesitatea studierii acestui concept nu putea s
apar. Tradiiile de organizare a calculelor s-au format pe parcursul secolelor,
devenind parte component a culturii, n aceeai msur cu aptitudinile
elementare de a gndi logic. Toat mulimea calculelor consta din cteva operaii
aritmetice, trigonometrice i din analiza matematic, cauz din care noiunea de
metod de calcul prea din start clar i nu avea nevoie de cercetri speciale.
Pn la mijlocul secolului XIX unica ramur matematic, care opera cu
obiecte diferite de numere, era geometria. Neavnd posibilitatea s foloseasc
intuiia omului de a calcula, geometria se deosebea n mod evident de restul
matematicii prin stricteea sporit a formulrilor. Apariia n partea a doua a
secolului XIX a geometriei lui Lobacevski, a teoriilor abstracte algebrice a sporit
necesitatea abordrii ntr-un mod strict a problemelor matematice. Un moment
principial n schimbarea fundamentului matematicii a fost crearea de ctre Georg
Cantor a teoriei mulimulor. n scurt timp a devenit evident, c teoria mulimilor
st la baza tuturor fenomenelor matematice. ns la fel de repede a fost artat, c
unele raionamente, aparent corecte n cadrul acestei teorii, conduc la contradicii
nerezolvabile paradoxurile teoriei mulimilor. Toate acestea au generat
necesitatea unor studii stricte a principiilor raionamentelor matematice (care
pn la acea perioad preau intuitiv clare) cu ajutorul unor mijloace matematice.
A aprut astfel o nou ramur a matematicii bazele matematicii sau
metamatematica. Teoria algoritmilor este partea component a metamatematicii
n care se face ncercarea de a clarifica, care obiecte i operaii asupra lor pot fi
considerate strict definite, care sunt proprietile i posibilitile unor combinaii
ale operaiilor elementare, etc. Aportul principal, adus de teoria algoritmilor
matematicii a fost demonstrarea imposibilitii rezolvrii algoritmice (exacte i
univoce) a unor probleme matematice. Aceste demonstraii, ca i formularea
precis a afirmaiilor, care sunt demonstrate, sunt imposibile fr o noiune
exact a noiunii de algoritm. Termenul algoritm a aprut n tehnic odat cu
apariia ciberneticii [8]. Noiunea de proces de control (de comand), partea
component a acesteia legea (algoritmul) de comand trebuiau precizate strict

102
Ciclu de prelegeri la cursul Matematica discret
matematic. Era necesar s se neleag, care sunt proprietile unei secvene de
acionri pentru a putea fi considerat definit exhaustiv, adic pentru avea
posibilitatea s se numeasc algoritm de comand. n contientizarea acestei
situaii un rol extraordinar l-au jucat calculatoarele electronice, care au
transformat noiunea de algoritm ntr-o realitate palpabil. Din punctul de vedere
al practicii contemporane algoritmul este un program, iar criteriul c un proces
este algoritmic este posibilitatea de a fi programat. Datorit acestei existene
reale a algoritmilor, dar i faptului c inginerii ntotdeauna au abordat n mod
constructiv metodele matematice, noiunea de algoritm a devenit foarte popular
n tehnic.
Necesitatea unei contientizri a noiunii de algoritm este important nu doar
pentru o utilizare corect, ci i pentru elaborarea unor algoritmi concrei,
ndeosebi dac se urmrete scopul crerii ulterioare a unor programe n baza lor.
i mai important este nelegerea acestui concept pentru a face o ordine n
mulimea algoritmilor, mulime n care se observ o cretere exponenial. Pentru
a fi posibil s ne orientm n aceast diversitate trebuie s putem compara diferii
algoritmi, care rezolv aceeai problem i nu doar din punctul de vedere al
calitii soluionrii problemei, ci i conform caracteristicilor algoritmilor
numrul de operaii, memoria necesar, etc. O atare comparare este imposibil
fr a introduce un limbaj precis de cercetare a acestor concepte, adic chiar
algoritmii trebuie s devin obiecte de studiu matematic, ca i obiectele asupra
crora ei sunt destinai s acioneze. Pentru a introduce un astfel de limbaj
suntem obligai s cunoatem, care sunt proprietile principale ale unui algoritm.
5.1.1. Proprietile algoritmilor
5.1.1.1. Obiecte algoritmice
Vom sublinia mai nti c algoritmul prelucreaz date iniiale i prezint
rezultate finale. n sens tehnic, un algoritm are intrri i ieiri, iar n rezultatul
execuiei unui algoritm apar date intermediare. Altfel spus, orice algoritm
opereaz cu date de intrare, de ieire i intermediare. Deoarece dorim s
precizm noiunea de algoritm, va trebui s precizm i noiunea de date, adic s
indicm care sunt proprietile la care vor rspunde obiectele cu care vor opera
algoritmii.
Este evident c aceste obiecte trebuie s fie strict definite i distincte att
unele de altele, ct i de elemente, care nu pot fi considerate obiecte. n multe
cazuri totul este clar din start. Obiecte algoritmice pot fi considerate numerele,
vectorii, matricele, formulele. Imaginile (de exemplu, reprezentarea grafic a
unui graf) par obiecte algoritmice mai puin evidente. Iar cu obiecte de tipul un
film interesant, timp frumos, care nu prezint probleme pentru o fiin uman

103
Ciclu de prelegeri la cursul Matematica discret
(fiecare nelegnd n felul su aceste noiuni), algoritmul ar putea s nu vrea s
opereze.
n teoria algoritmilor n locul unei definiii verbale stricte a conceptului de
obiect sunt fixate seturi finite de obiecte iniiale concrete (numite elementare) i
un set de mijloace de construire a altor obiecte din cele elementare i, poate, cele
intermediare. Setul de obiecte elementare formeaz alfabetul finit al simbolurilor
iniiale (cifre, litere, etc.) din care sunt obinute alte obiecte (v. procedurile
generatoare din 2.1.2, definiiile inductive din 3.7.1 sau definiia noiunii de
identificator ntr-un limbaj de programare). Cuvintele de lungime finit n
alfabete finite (v. exemplul 2.12) reprezint cel mai frecvent tip de date
algoritmice, iar numrul de simboluri ntr-un cuvnt este unitatea natural de
msurare a volumului de informaii procesate.
Un alt exemplu, mai complicat, de obiecte algoritmice, pot fi formulele. Ele,
la fel pot fi definite inductiv i sunt cuvinte finite n alfabete finite. ns nu orice
cuvnt n acest alfabet este o formul. n acest caz, de obicei naintea algoritmilor
de baz exist un set de algoritmi auxiliari, care verific, dac datele iniiale
respect cerinele necesare, verificare numit analiz sintactic.
5.1.1.2. Memoria
Pentru pstrarea datelor este nevoie de memorie. Memoria, de obicei, este
considerat omogen i discret, adic const din locaiuni (celule) de acelai fel
(banalizate), fiecare locaiune pstrnd un simbol al alfabetului de date. Am
coordonat n acest mod unitile de msur pentru date i memorie. Rspuns la
ntrebarea, dac avem nevoie de mai multe tipuri de memorie n dependen de
cele trei tipuri de date se rezolv n diverse moduri i nu prezint interes special
n cazul dat.
5.1.1.3. Paii algoritmului
Un algoritm const din pai elementari distinci, sau operaii, mulimea
pailor unui algoritm, este finit. Un exemplu tipic de mulime de operaii
elementare este sistemul de instruciuni de baz al unui calculator electronic.
5.1.1.4. Determinism
Secvena pailor unui algoritm este determinat, adic dup executarea unui
pas este n mod univoc indicat, care va fi pasul urmtor sau se va da comanda de
oprire, dup care algoritmul este considerat ncheiat.

104
Ciclu de prelegeri la cursul Matematica discret
5.1.1.5. Rezultativitate
Este normal s cerem ca un algoritm s fie rezultativ, adic algoritmul trebuie
s se opreasc dup un numr finit de pai (care depinde de datele procesate),
indicndu-se rezultatul. Nu este obligator ca acest rezultat s ne plac; dac nu
s-a ajuns la ceea ce s-a sperat, algoritmul poate specifica cauza opririi.
5.1.1.6. Descrierea i mecanismul de realizare a algoritmului
Va trebui s facem o deosebire ntre
a) descrierea algoritmului (set de instrucii sau program);
b) mecanismul de realizare a algoritmului (de exemplu, calculatorul
electronic), care include mijloacele de lansare, executarea pailor
elementari, garantarea determinismului i extragerea rezultatelor
(controlul procesului de execuie);
c) procesul de realizare a algoritmului, adic secvena de pai, care va fi
generat de aplicarea algoritmilor pentru date concrete.
Vom considera, c descrierea unui algoritm i mecanismul lui de realizare
sunt finite.
5.1.2. Metode de precizare a noiunii algoritm
Am subliniat mai sus proprietile, pe care trebuie s le posede un set de
reguli pentru a putea fi considerat algoritm. Dar aceste proprieti (de exemplu,
strictee, univocitate, pai elementari, etc.) trebuie la rndul lor precizate.
Definiiile acestora vor conine noiuni noi, care de asemenea vor trebui
precizate, .a.m.d. Pentru a exclude aceasta, n teoria algoritmilor a fost ales un
set finit de obiecte iniiale, declarate elementare i un set finit de mijloace de
construire din aceste obiecte a unor obiecte noi. De exemplu, vom preciza
noiunea de date, considernd datele mulimi de cuvinte finite n alfabete finite.
Pentru precizarea determinismului vom utiliza organigramele (schemele-bloc),
descrierile verbale sau mecanismul de realizare a unui algoritm. n afar de
acestea, trebuie s fixm setul de pai elementari i s convenim n privina
organizrii memoriei. Vom obine un model algoritmic concret.
Modelele algoritmice pot fi considerate entiti matematice abstracte,
destinate formalizrii conceptului algoritm, doar dac vor fi universale, adic
vor permite descrierea oricrui algoritm. Dar, alegnd nite instrumente concrete
pentru formalizare, nu vom pierde oare cadrul general al formalizrii? Reieind
din scopurile principale, care stau la baza crerii teoriei algoritmilor
universalitatea i posibilitatea cercetrii proprietilor algoritmilor acest semn
de ntrebare poate fi exclus n modul urmtor.

105
Ciclu de prelegeri la cursul Matematica discret
1. Se va demonstra convergena modelelor, adic orice algoritm, descris prin
mijloacele unui model, poate fi descris i cu resursele altui model.
2. Datorit convergenei reciproce a modelelor n teoria algoritmilor a fost elaborat
un sistem de noiuni invariante de model, set care permite cercetarea proprietilor
algoritmilor independent de tipul ales de formalizare. Acest sistem de noiuni este
bazat pe conceptul de funcie calculabil, adic funcie, pentru calcularea valorilor
creia exist un algoritm.
Totui, dei cadrul general al formalizrii nu este pierdut, diferite posibiliti
de alegere a resurselor iniiale conduc la modele diferite. Pot fi evideniate trei
tipuri de baz de modele algoritmice universale, n dependen de modul de
nelegere euristic iniial al noiunii de algoritm.
Primul tip leag noiunea de algoritm de cele mai tradiionale concepte
matematice calcule i funcii numerice. Modelul algoritmic din aceast
categorie - funciile recursive cronologic este prima ncercare de formalizare a
noiunii de algoritm.
Tipul al doilea reprezint algoritmul sub forma unui dispozitiv ingineresc,
capabil s ndeplineasc la un moment dat de timp doar cele mai elemenare
operaii. n acest caz nu pot s apar semne de ntrebare, legate de univocitatea
algoritmului sau de simplitatea pailor. Mai mult, euristica acestor modele este
apropiat de principiile de funcionare a calculatoarelor, adic i de intuiia
inginereasc, ceea ce le face foarte populare n acest mediu. Modelul teoretic
principal din aceast categorie, propus la nceputul anilor 1930, este maina
Turing.
Transformrile cuvintelor n cadrul unor alfabete arbitrare reprezint al treilea
tip de modele algoritmice. n calitate de operaie elementar este considerat
substituirea, adic nlocuirea unei pri de cuvnt cu alt cuvnt. Principalul
avantaj al acestui tip este abstractizarea maxim i posibilitatea utilizrii noiunii
de algoritm pentru obiecte de natur arbitrar (nu obligator numeric). Exemplele
cele mai elocvente sunt n acest caz sistemele formale Post i algoritmii
normali Markov.

5.2. Maini Turing


Construcia i principiul de funcionare a unei maini Turing (MT) sunt
elementare, din care cauz respectarea cadrului formal i metodologic este
evident. Totui vom sublinia, acolo unde vom considera necesar, modul n care
este prezent o proprietate anume n modelele de acest tip.
5.2.1. Componentele unei MT i principiul de funcionare
O main Turing este format din urmtoarele pri componente:

106
Ciclu de prelegeri la cursul Matematica discret
1. dispozitivul de comand, care poate s se afle n una din strile, care
aparin mulimii finite de stri Q = {q1, q2,, qn};
2. banda mainii, mprit n celule (locaiuni), n fiecare celul fiind
posibil scrierea unui simbol al alfabetului finit A = {a1, a2,, am};
3. dispozitivul de accesare a benzii, adic un cap de citire i scriere, care la
fiecare moment de timp citete coninutul unei celule a benzii i, n
dependen de simbolul citit i starea dispozitivului de comand, scrie n
celula dat un simbol (care poate coincide cu simbolul precedent sau
poate fi un simbol vid, adic terge coninutul celulei), se deplaseaz la
stnga, sau la dreapta la una din celulele vecine, sau rmne pe loc, iar
dispozitivul de comand poate trece ntr-o stare nou sau poate rmne n
starea precedent.
Prin descrierea dispozitivului de citire scriere (DCS) a fost lmurit i
principiul de funcionare a unei maini Turing. Din mulimea de stri ale
dispozitivului de comand vom evidenia starea iniial q1 i starea final qz. n
starea iniial maina se va afla la nceputul lucrului, iar nimerind n starea final
maina se va opri.
Memoria mainii Turing const din memoria intern mulimea de stri ale
dispozitivului de comand, i memoria extern banda infinit n ambele pri.
Dei banda este infinit, doar un numr finit de celule sunt completate cu
simboluri nevide la momentul lansrii MT, restul fiind vide, adic conin
simbolul vid (blanc). Din descrierea funcionrii MT reiese, c i pentru oricare
alt moment de timp viitor doar un fragment finit al benzii va fi ocupat de
simboluri. Din aceast cauz prezint interes nu infinitatea actual a benzii, ci
nemrginirea ei, adic posibilitatea de a nscrie cuvinte orict de lungi, dar finite.
Datele unei MT sunt cuvinte n alfabetul benzii. Pe band se vor nscrie att
datele iniiale, ct i cele finale. Paii elementari sunt citirea i scrierea
simbolurilor, deplasarea dispozitivului de citire-scriere la celula vecin, trecerea
dispozitivului de comand ntr-o stare nou.
Determinismul MT const n faptul c pentru orice stare intern qi i orice
simbol aj sunt cunoscute n mod univoc:
a) starea urmtoare qi1;
b) simbolul aj1, care va fi scris n aceiai celul;
c) direcia de deplasare a DCS dk = {L (stnga), R (dreapta), E (pe loc)}.
Aceasta poate fi descris cu ajutorul sistemului de comenzi de forma
qiaj qi1aj1dk (5.1)
sau printr-un tabel, liniilor fiind ataate strile, coloanelor simbolurile de
intrare, iar la intersecia liniei qi cu coloana aj se va afla tripletul qi1aj1dk. O MT
mai poate fi descris cu ajutorul unui graf ponderat, strilor fiind puse n

107
Ciclu de prelegeri la cursul Matematica discret
coresponden vrfurile grafului, unei comenzi de tipul (5.1) un arc, care
pornete din qi i se termin n qi1 cu ponderea aj aj1dk.

5.2.2. Configuraia unei maini Turing


Starea MT, care permite determinarea univoc a comportamentului mainii,
se numete stare complet. Starea complet este determinat de starea intern,
starea benzii (cuvntul scris pe band) i poziia DCS. Starea complet se
numete configuraia MT sau cuvnt de main i este notat prin tripletul
1qi2, unde qi este starea intern curent, 1 cuvntul din stnga DCS, iar 2
cuvntul format de simbolul citit de DCS i simbolurile din dreapta acestui
dispozitiv, cu condiia ca n stnga cuvntului 1, ca i n dreapta lui 2 nu exist
simboluri nevide. De exemplu, configuraia cu starea intern qi, pentru care avem
scris pe band werty, iar DCS citete simbolul r, se va nota weqirty.
O configuraie de tipul q1, adic configuraia care conine starea iniial q1,
iar DCS citete cel mai din stnga simbol al benzii, se numete configuraie
standard iniial (CSI). Analogic, numim configuraie standard final
configuraia de forma qz. Asupra unei configuraii arbitrare K (cu excepia
configuraiei finale) poate fi aplicat exact o comand de tipul (5.1), care va
transfera K n K1, relaia dintre configuraii fiind notat n acest caz prin K K1.
Dac din context nu este clar, care MT execut acest transfer, numele mainii
poate fi notat de asupra sgeii. Dac pentru K1 i Kn exist un ir de configuraii
K1, K2, Kn, aceasta se va nota prin K1 Kn.
Exemplul 5.1. O MT cu alfabetul A = {1, }, cu strile Q = {q1, qz} i sistemul de
instruciuni q11 q11R, q1 q11R, din orice configuraie iniial va
lucra fr oprire, scriind 1 n toate casetele benzii, ncepnd cu cea de
plecare.
Exemplul 5.2. Pentru orice MT, dac K1KiKj i Ki=Kj, secvena
K1KiKjeste infinit, segmentul KiKj se va repeta pn la
infinit (ciclarea mainii Turing).
Vom spune c maina Turing T proceseaz cuvntul 12 n cuvntul 12 (se
va mai nota prin T(12) = 12), dac 1q12 1 qz2. Notaia T() va mai
semnifica o main Turing cu valoarea iniial .

5.2.3. Funcii calculabile Turing


Precizm interpretarea comportamentului unei MT i reprezentarea datelor.
Date iniiale ale unei MT sunt considerate cuvinte scrise pe band n alfabetul
datelor iniiale Ain (Ain A) i vectorii, formai din aceste cuvinte (vectori peste
Ain), pentru fiecare main vor fi luate n consideraie numai acele configuraii
iniiale pentru care pe band sunt scrii vectori de cuvinte peste Ain. Scrierea unui
vector de cuvinte (1, 2, , k) se numete corect, dac este de forma 12
k-1k (cu condiia, c Ain) sau 1*2* k-1*k, simbolul * fiind un simbol

108
Ciclu de prelegeri la cursul Matematica discret
special de separare (marcher), care la fel nu aparine alfabetului Ain. Pentru orice
vector Vin peste Ain maina T sau lucreaz pn la infinit, sau acest vector este
transformat ntr-un set de cuvinte, separate de blancuri, n alfabetul rezultatelor
Arez; Ain i Arez pot s se intersecteze i chiar s coincid. n procesul lucrului pe
band pot s apar simboluri, care nu aparin nici lui Ain i nici la Arez i care
formeaz un alfabet intermediar Aint (care conine, de exemplu, separatorul).
Alfabetul benzii poate fi definit ca reuniunea celor trei alfabete A = Ain Arez
Aint. Cel mai frecvent Ain = Arez, iar A = Ain {}.
Fie f o funcie, care transform o mulime de vectori peste Ain ntr-o mulime
de vectori peste Arez. Vom spune, c maina T calculeaz corect funcia f, dac:
1) pentru oricare V i W, pentru care f(V) = W are loc q1V* = qzW*, aici V* i
W* sunt nregistrri corecte ale lui V i W, respectiv;
2) pentru orice V pentru care f(V) nu este definit, maina Turing, lansat n
CSI q1V*, lucreaz pn la infinit.
Dac pentru f exist maina Turing, care o calculeaz corect, funcia f se
numete corect calculabil Turing.
Pe de alt parte, fiecrei maini Turing, care calculeaz corect, adic fiind
lansat din CSI q1 poate s se opreasc doar n CSF qz, i putem pune n
coresponden funcia pe care MT dat o calculeaz. Dou maini Turing cu
acelai alfabet iniial se numesc echivalente, dac calculeaz aceeai funcie.
Mainile din exemplele 5.1 i 5.2 sunt echivalente, deoarece ambele calculeaz
una i aceeai funcie funcia vid (fr domeniu de definiie).
Definiiile de mai sus (calcularea valorilor unor funcii definite peste vectori
de cuvinte) sunt evident redundante, fiind legate de procesarea unor obiecte
arbitrare. A fost demonstrat, c fr a pierde cadrul general, unele cercetri pot fi
reduse la calcularea unor funcii de tipul NN. Le vom reprezenta n cod unar,
adic pentru orice funcie numeric Ain = {1} sau Ain = {1, *}, iar un numr x va fi
reprezentat prin cuvntul 1...1 = 1x, care const din x uniti. n acest caz funcia
numeric f(x1,...,xn) este calculat corect n sens Turing, dac exist o main T,
care:
1) q11x1*q21x2* ...*qn1xn qz1y, dac f(x1,...,xn) = y i
2) T lucreaz pn la infinit, plecnd din q11x1*q21x2* ...*qn1xn, dac
f(x1,...,xn) nu este definit.
5.2.3.1. Maina Turing T+
Adunarea a dou numere a i b, reprezentate n cod unar, este redus la
procesarea cuvntului 1a*1b n cuvntul 1a+b, adic s se elimine separatorul * i
unul din operanzi, de exemplu primul, s fie deplasat spre altul cu o poziie.
Aceast transformare poate fi realizat de o main Turing cu patru stri i
urmtorul sistem de comenzi: q1*qzR;

109
Ciclu de prelegeri la cursul Matematica discret
q11q2R;
q21q21R;
q2*q31L;
q31q31L;
q3qzR.
Prima comand este introdus pentru cazul cnd a=0. Au fost omise acele
combinaii de stri i simboluri, care, pornind din CSI, nu sunt posibile.
Propunem ca exerciiu, elaborarea tabelului i a grafului acestei maini, ca i
controlarea corectitudinii funcionrii ei.
5.2.3.2. Maina Turing Tcop
Copierea unui cuvnt este procesarea lui n *. Pentru cazul numerelor
problema poate fi rezolvat de maina Turing cu sistemul de comenzi, prezentat
n tabelul 5.1.
Tabelul 5.1. Maina Turing Tcop
1 * 0
q1 q20R qzR q1*L q11L
q2 q21R q3*R q3*R
q3 q31R q41L
q4 q41L q4*L q10R
La fiecare trecere a cuvntului iniial 1a maina Tcop nlocuiete unitatea din
stnga cu 0 i scrie, n starea q3, n prima celul vid din dreapta lui 1a o unitate.
La prima trecere, plus la aceasta, n starea q2, scrie un marcher (*) naintea
scrierii unitii. (Peste a treceri dup marcher vom avea copia lui 1a.) Dup
scrierea unitii ordinare, maina trece n starea q4, care deplaseaz DCS pn n
stnga celui mai apropiat 0, dup ce maina trece n starea q1 i tot ciclul se
repet. Ciclul se va ntrerupe, atunci cnd q1 gsete pe band marcherul, ceea ce
nseamn c toate unitile au fost parcurse (au avut loc a treceri). DCS se
ntoarce n acest caz n poziia iniial, nlocuind pe parcurs toate zerourile cu
uniti.

5.2.4. Maina matematic Turing


Strict matematic maina Turing poate fi introdus dup cum urmeaz. Notm
prin simbolul blanc (spaiu liber). Dac x este un cuvnt oarecare peste
alfabetul A, notm prin D(x) cuvntul obinut prin eliminarea tuturor simbolurilor
din faa lui x, iar prin F(x) - cuvntul obinut prin eliminarea tuturor
simbolurilor din spatele lui x. Notm prin A* mulimea A, unde este unicul
cuvnt de lungime 0.

110
Ciclu de prelegeri la cursul Matematica discret
O main Turing este un cvintet M=(A, Q, q1, Q1, ) unde
A este alfabetul lui M ( A),
Q este mulimea strilor mainii M (mulime finit),
q1 este starea iniial a mainii M (element privilegiat al lui Q),
Q1 reprezint mulimea strilor finale (Q1 Q),
este funcia de tranziie o aplicaie de tipul (Q-Q1)xAQxAxD, iar D =
{L, R, E}.
Setul de instruciuni ale mainii M este mulimea cvintetelor de forma
(q,a,q1,a1,d) cu dD, (q,a) (Q-Q1)xA i (q1,a1,d) = (q,a).
O configuraie a mainii M este un triplet de forma (q,D(x),F(y)), cu q Q, x
A* i y A*. Introducem relaia binar M definit peste mulimea

configuraiilor mainii M astfel:


(q, D(xa), F(by)) M (q1, D(xu), F(vy))

atunci i numai atunci, cnd


(, ab1), dac d = L,
(u, v) =
(ab1, ), dac d = R
pentru toate elementele a, b, b1 A, x, y A*, q, q1Q i d{L, R} astfel nct
(q, b) = (b1, q1, d).
*
Notm prin M nchiderea reflexiv i tranzitiv a lui M , ceea ce nseamn

*
c c M c1 dac i numai dac exist co, c1, , cn cu n0 i c = co, co M c1,

c1 M c2,, cn-1 M cn, cn=c1.


Fie w o valoare, numit nedefinit cu w A*. Asociem mainii Turing M


funcia f de tipul A* {} A* {w} definit prin expresia
y, dac x A* i exist (qi, y1, y) cu
*
f(x) = (q1, , D(x)) M (qi, y1, y) i qi Q1,

, n caz contrar.
Vom spune, c maina Turing M este fiabil, dac nici pentru un x A* nu
vom avea f(x) = w.

5.2.5. Operaii cu mainile Turing


Lucrul unei MT este n totalitate determinat de datele iniiale i sistemul de
comenzi. Totui, pentru a fi mai uor de neles ce face o main Turing sunt
necesare anumite explicaii, cum au fost cele din exemplele precedente. Folosind

111
Ciclu de prelegeri la cursul Matematica discret
limbajul organigramelor i unele operaii cu mainile Turing aceste explicaii pot
deveni mai formale i mai exacte.
S ne amintim, c compunerea a dou funcii f1(x) i f2(y) se numete funcia
g(x) = f2(f1(x)), care este obinut prin aplicarea funciei f2 la rezultatele, calculate
de funcia f1. Unica condiie este ca f1 s fie definit pe x, iar f2 pe f1(x).
Teorema 5.1. Dac f1(x) i f2(y) sunt funcii calculabile Turing, atunci i
compunerea lor f2(f1(x)) este funcie calculabil Turing.
Fie T1 maina, care calculeaz funcia f1, iar T2 calculeaz funcia f2, cu
mulimile de stri Q1={q11,..., q1n1} i Q2={q21,..., q2n2}, respectiv. Considerm
ambele funcii, pentru simplitate, numerice de o singur variabil. Construim
graful unei maini T din mainile T1 i T2, echivalnd vrful iniial q21 al mainii
T2 cu vrful final al mainii T1 q1z. Obinem un graf cu n1+n2-1 vrfuri. Declarm
stare iniial a mainii T starea q11, iar starea final q2z. Dac f2(f1(x)) este
definit, atunci T1(1x)=1f1(x) i q111xq1z1f1(x).
T1
Maina T va parcurge acelai ir de configuraii, doar n loc de q1z1f1(x) va trece n
q211f1(x). Aceast configuraie este configuraia standard iniial pentru maina T2
din care cauz vom avea q211f1(x)q2z1f2(f1(x)).
T2
Deoarece toate comenzile mainii T2 sunt prezente n maina T vom avea

q111x q211f1(x) q2z1f2(f1(x)),


T T
adic T(1x) = 1f2(f1(x)). Dac f2(f1(x)) nu este definit, una din mainile T1 sau T2,
sau ambele, nu se vor opri. Am demonstrat c maina T calculeaz funcia
f2(f1(x)).
Maina T, construit n acest mod, se numete compunerea mainilor T1 i T2
i se noteaz prin T2(T1). Deoarece o main Turing consider un vector peste Ain
drept cuvnt n alfabetul Ain{*}, definiia compunerii i teorema 5.1 sunt valide
i pentru cazul n care T1 i T2 calculeaz funcii de mai multe variabile.
5.2.5.1. Maina T2x
Diagrama din figura 5.1 reprezint maina T+(Tcop), care calculeaz funcia
f(x)=2x, pentru x 0 i poate servi ca exemplu de compunere a dou maini
Turing.
Aici arcele multiple au fost reprezentate printr-un singur arc. De exemplu,
instruciunile q14*q14*L i q141q141L sunt reprezentate printr-o singur bucl
cu ponderea *,1L, fr a repeta n partea dreapta simbolurile, care au rmas
fr schimbare.

112
Ciclu de prelegeri la cursul Matematica discret
01L 1R 1R *,1L

10R *,*R 1L
q11 q12 q13 q14

0R
*L
R 1R 1L

1R *1L R
q21 q22 q23 q24

*R
Fig.5.1. Diagrama mainii T2x
5.2.6. Calcularea predicatelor cu ajutorul mainii Turing
Fie {True, False}. Vom spune, c o main T calculeaz predicatul P()
( este cuvnt n Ain), dac T()=, iar = True, pentru P()=True i =
False, dac P() = False. Dac P() nu este definit, atunci T nu se va opri. La
calcularea simpl a unui predicat este distrus, ceea ce poate crea probleme,
dac dup maina T va lucra o alt main. Introducem noiunea de calculare cu
restabilire: maina T calculeaz P() cu restabilire, dac T()=. Poate fi
demonstrat, c dac exist maina T, care calculeaz P(), atunci exist i maina
T1, care calculeaz P() cu restabilire.

5.2.6.1. Maina - numr par


Diagrama mainii - numr par este prezentat n figura 5.2. Dispozitivul
de citire-scriere ajunge la ultimul simbol n starea q2, dac numrul de uniti este
par, iar n starea q3, cnd numrul acesta este impar. Dup aceasta DCS se va
deplasa n poziia iniial n starea q4 sau q5, tiprind True sau False, respectiv.
True
1L
1L L
q1 q3 q5
False

1 R 1 R 1L
q6
True
L
q2 q4

Fig.5.2. Diagrama mainii - numr par

113
Ciclu de prelegeri la cursul Matematica discret
Pentru ca predicatul P() s fie calculat cu restabilire este suficient ca n
buclele q4 i q5 s fie pstrate unitile (11L n loc de 1L).
5.2.6.2. Maina salt condiionat
Maina Turing cu alfabetul Ain={T, F} (prin T am notat True, iar prin F
False) i comenzile
q1TqzFE,
q1FqzTE
calculeaz negaia unei variabile logice. Din calculabilitatea predicatului total
definit P() rezult calculabilitatea negaiei lui P().
Fie funcia f() definit de relaia:
g1(), dac P()=T,
f()=
g2(), dac P()=F,

iar dac P() nu este definit, atunci f() la fel nu este definit. Funcia f() se
numete salt condiionat (ramificare) la g1() sau la g2() conform condiiei
P().
Poate fi demonstrat
Teorema 5.2. Dac g1(), g2() i P() sunt calculabile Turing, atunci
ramificarea g1 i g2 conform condiiei P de asemenea este
calculabil.
Fie T1 cu sistemul de comenzi 1 i mulimea de stri Q1={q11,..., q1n1},
calculeaz g1; T2 cu sistemul de comenzi 2 i mulimea de stri Q2={q21,..., q2n2},
calculeaz g2; Tp calculeaz cu restabilire P(). Maina T, care calculeaz saltul
condiionat g1, g2 conform P este compunerea mainii Tp i a mainii T3, sistemul
de comenzi al creia este de forma:
3 = 1 2 {q31Tq11R, q31Fq21R, q1zq2zE}.

Primele dou comenzi transmit controlul sistemelor 1 sau 2 n dependen


de valoarea de adevr a predicatului P(). Comanda a treia definete starea final
q2z a mainii T3. Ea va fi ndeplinit pentru orice simbol, din care cauz simbolul
benzii nu este indicat.
5.2.7. Maina Turing universal
Sistemul de comenzi al unei maini Turing poate fi interpretat i ca descrierea
modului de lucru a unui mecanism concret, i ca program set de indicaii, care

114
Ciclu de prelegeri la cursul Matematica discret
conduc n mod univoc la un rezultat. Cnd sunt cercetate exemple concrete
persoana n cauz de obicei se situeaz n rolul de mecanism, care poate ndeplini
lucrul oricrei maini Turing, avnd la dispoziie setul de instruciuni ca i
program. Sigurana c toi vor ndeplini n acelai mod comenzile (adic nu vor
face greeli, ceea ce se consider i n cazul mainii Turing) nu este altceva dect
sigurana, c exist un algoritm care descrie modul de lucru a mainii Turing
conforma programului dat. Nu este complicat s formulm acest algoritm:
Pentru configuraia curent 1akqiaj2 s se gseasc n sistemul de comenzi
comanda cu partea stng qiaj. Dac partea dreapt a acestei comenzi este de
forma qi1aj1R, s se schimbe n configuraia curent qiaj cu aj1qi1, vom avea
configuraia 1ak aj1qi12; dac partea dreapt este de forma qi1aj1L, s se schimbe
akqiaj cu qi1ak aj1. Poate fi demonstrat, c pentru cazul E situaia poate fi redus la
una din cele prezentate anterior.
Dar, conform celor discutate chiar la nceputul acestui capitol, descrierea
verbal a unui algoritm poate fi imprecis i trebuie formalizat. Pentru aceasta
poate fi utilizat chiar maina Turing, adic s construim o main Turing, care
va realiza algoritmul, descris mai sus. Pentru mainile Turing, care calculeaz
funcii de un singur argument, enunul problemei este urmtorul: s fie construit
maina Turing U, care calculeaz funcii de dou argumente, care pentru orice
main T cu sistemul de comenzi T va verifica condiia U(T, )=T(), dac
T() este definit (T se va opri pentru datele iniiale ), i nu se va opri n caz
contrar. Orice main U cu aceast proprietate se numete maina Turing
universal (MTU). Formularea conceptului de main Turing universal poate fi
extins pentru orice numr de argumente.
MTU, ca i orice alt main Turing, trebuie s posede un alfabet finit AU i o
mulime finit de stri QU. Nu este posibil de obinut aceste dou obiecte prin
simpla reuniune a alfabetelor sau mulimilor de stri ale mainilor iniiale.
Oricnd poate fi propus o main nou, care nu a fost luat n consideraie.
Soluia const n codarea simbolurilor din AU i QU cu cuvinte din alfabetul
AU. Fie |AU|=mT, iar |QU|=nT. Vom considera, c a1 = 1, iar amT = (aceste
simboluri sunt ntotdeauna prezente n alfabetul oricrei MT, care calculeaz
funcii numerice). Notm codurile pentru qi i aj prin S(qi) i S(ai), definindu-le
dup cum urmeaz:
S() = mT,
pentru orice alt simbol aj S(aj) = amT-j-11j,
pentru starea final qTz S(qTz) = qnT-1,
dac i nT S(qi) = qnT-i-11i.

115
Ciclu de prelegeri la cursul Matematica discret
Codul S(aj) unei maini concrete T ntotdeauna are lungimea mT, iar codul
S(qi) nT. Simbolurile R, L i sunt introduse n alfabetul AU, adic S(R) = R,
S(L) = L, S() = . Notm codul cuvntului , format din codurile
simbolurilor, care formeaz acest cuvnt, prin S().
Enunul final al problemei mainii universale Turing este: pentru orice
main T i orice cuvnt n alfabetul AT s se construiasc maina U, care va
verifica relaia U(S(T), S()) = T().
Este posibil de artat, c poate fi construit o main universal, care posed
doar dou simboluri n alfabetul benzii (codarea binar !). Shanon a stabilit
posibilitatea construirii unei maini U cu doar dou stri, iar Minsky i Bobrow
au demonstrat imposibilitatea construirii unei maini universale cu doar dou
simboluri i dou stri.
Existena mainii Turing universale permite tratarea sistemului de comenzi a
unei maini oarecare T n dou moduri: sau ca descrierea funcionrii unui
dispozitiv concret, sau ca program pentru maina universal U. Analogic, un
algoritm de comand poate fi realizat sau cu ajutorul unor resurse tehnice (n
metal) sau prin program elabornd programul unei maini universale de
comand. ns ideea unui dispozitiv algoritmic universal este absolut
independent de nivelul de dezvoltare a resurselor tehnice, care permit
construirea acestui dispozitiv. Aceast idee nu este o realizare a tehnicii, ci un
concept matematic, descris n termeni abstraci independeni de resursele tehnice
i bazat pe un numr extrem de mic de noiuni iniiale.
Este important de menionat, c lucrrile fundamentale din teoria algoritmilor
au fost publicate naintea apariiei calculatoarelor electronice (1930 1940).
Aceast interpretare dubl pstreaz i la nivel abstract avantajele i
dezavantajele principale ale celor dou variante inginereti de realizare: cu
ajutorul unor circuite electronice sau prin program. O main concret T lucreaz
mult mai repede, pe cnd dispozitivul de comand al mainii universale este
relativ complicat, fiind relativ mare numrul de stri i comenzi. ns
complexitatea lui este constant i, fiind odat construit, poate fi utilizat pentru
realizarea oricror algoritmi. Va fi nevoie doar de o band de capacitate mai
mare, care este mai ieftin i organizat mai simplu, n comparaie cu dispozitivul
de comand. Mai mult, pentru algoritmi noi nu este necesar s fie construite
dispozitive speciale. Va fi scris doar un alt program.

5.2.8. Teza lui Turing


Este oare posibil s se construiasc o main Turing pentru orice procedur
algoritmic? La aceast ntrebare rspunde

116
Ciclu de prelegeri la cursul Matematica discret
Teza lui Turing: Orice algoritm poate fi realizat de o main Turing.
Teza lui Turing nu poate fi demonstrat, deoarece chiar noiunea de algoritm
(procedur eficient) nu este exact. Teza dat nu este nici teorem, nici postulat,
ci o afirmaie, care leag teoria cu obiectele, pentru descrierea crora aceast
teorie a fost creat. Confirmarea tezei lui Turing este pe de o parte adus de
practic, iar pe de alt parte, de faptul, c descrierea algoritmilor cu ajutorul
oricror altor modele cunoscute poate fi redus la descrierea cu ajutorul
mainilor Turing.
Teza lui Turing permite s nlocuim afirmaii inexacte despre existena unor
proceduri eficiente (algoritmi) cu afirmaii exacte despre existena mainilor
Turing, iar cazul n care o main Turing nu exist s fie tratat ca i inexistena
algoritmului n general.

5.2.9. Problema opririi


Una dintre caracteristicile obligatorii ale algoritmilor este rezultativitatea,
adic dup un numr finit de pai algoritmul trebuie s pun la dispoziia noastr
rezultatul calculelor. Formal, problema poate fi pus astfel: pentru un algoritm
oarecare A i datele iniiale s se stabileasc, dac lansarea lui A va conduce
sau nu la un rezultat. Adic, trebuie s se elaboreze un algoritm B, pentru care
B(A,)=T, cnd A() este rezultativ i B(A,)=F, cnd A() nu d rezultat. n
baza tezei lui Turing problema dat poate fi formulat n termenii mainilor
Turing: s se construiasc maina Turing T0, care pentru orice main T i orice
date iniiale ale acestei maini:
1) T0(T, )=T, dac maina T() se oprete i
2) T0(T, )=F, dac maina T() nu se oprete.
Aceasta este problema opririi. Poate fi demonstrat teorema:
Teorema 5.3. Nu exist o main Turing T0, care poate rezolva problema
opririi pentru o main Turing arbitrar T.
n baza tezei lui Turing imposibilitatea construirii mainii Turing T0 nseamn
lipsa unui algoritm de soluionare a problemei date. Este un exemplu de
problem algoritmic nerezolvabil (indecidabil). Problema opririi mainii
Turing este algoritmic nerezolvabil (problem indecidabil), adic nu poate fi
algoritmic rezolvat problema determinrii rezultativitii algoritmilor.
Lipsa unei soluii pentru cazul general nu nseamn n mod obligator lipsa
soluiei pentru cazuri particulare. Indecidabilitatea problemei opririi poate fi
interpretat ca inexistena unui algoritm general pentru depanarea programelor,
adic un algoritm, care avnd la dispoziie textul programului i datele iniiale

117
Ciclu de prelegeri la cursul Matematica discret
poate s stabileasc, dac programul conine sau nu cicluri infinite pe aceste date.
Pentru marea majoritate a programelor (cazuri particulare!) poate fi stabilit, dac
un program conine sau nu cicluri infinite, poate fi determinat i eliminat cauza
acestui fenomen (programe depanate) i obinut rezultatul necesar.

118
Ciclu de prelegeri la cursul Matematica discret

5.3. Exerciii i probleme


5.1. Elaborai programul unei maini Turing, care transform un cuvnt iniial 1x
n x numere egale cu 1 i separate prin marchere.
5.2. Elaborai diagrama mainii Turing, care transform cuvntul 1*1**1*1 cu
x uniti n 1x.
5.3. Construii maina Turing, care transform numrul y dac este impar, ntr-
un numr par i-l las nemodificat n caz contrar.
5.4. Pe banda unei maini Turing sunt nscrise mai multe numere n cod unar
y1 = 1x1, y2 = 1x2,, yn=1xn, separate prin cel mult trei blancuri. Propunei
programul unei maini, care va elimina toate blancurile dintre numere.

119
Ciclu de prelegeri la cursul Matematica discret

BIBLIOGRAFIE.
1. L.A.Zadeh. Fuzzy sets, Inf. Control 8, 338-353, 1965.
2. C. . , . . -.
. , , 1988
3. Edgar Codd. Database Design: Relational, Distributed, & Object-Oriented
Concepts. Addison-Wesley Longman, 1991
4. A.Valachi, F.Hoza, V.Onofrei, R.Silion. Analiza, sinteza i testarea
dispozitivelor numerice. Iai, Nord-Est, 1993
5. Chin-Liang Chang, Richard Char-Tung Lee. Symbolic Logic and
Mechanical Theorem Proving. Academic Press, New York, 1973
6. Peter Bauer, Stephan Nouak, Roman Winkler. A brief course in Fuzzy
Logic and Fuzzy Control, Version: 1.2, http://www.flll.uni-
linz.ac.at/pdw/fuzzy/index.html, 1996
7. T. Bnzaru .a. Matematici speciale. Bucureti, E.D.P., 1981
8. Norbert Weiner. Cybernetics or Control and Communication in the Animal
and the Machine. MIT Press 1948, 1961 (1948)

120

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