Sunteți pe pagina 1din 34

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.1

MINISTERUL EDUCAIEI I TIINEI AL REPUBLICII MOLDOVA


UNIVERSITATEA TEHNIC A MOLDOVEI
CATEDRA "TEHNOLOGII INFORMAIONALE"

CICLU DE PRELEGERI
la disciplina "Matematica discret n inginerie"

Elaborat de Victor Beliu

Chiinu 1999

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.2

MATEMATICA DISCRET N INGINERIE


1. INTRODCERE
2. SISTEME ALGEBRICE
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.

Mulimi. Noiuni generale


Mulimi vagi (fuzzy)
Operaii cu mulimi
Demonstrarea echivalenei cu ajutorul incluziunilor
Vectori i produs cartezian
Corespondene i funcii
Relaii i proprietile lor
Operaii i algebre. Proprietile operaiilor
Modele i sisteme algebrice. Algebra relaiilor

3. ELEMENTE DE LOGIC MATEMATIC


3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9
3.10
3.11.
3.12.
3.13.
3.14.
3.15.

Funciile algebrei logicii


Transformri echivalente i decompoziia funciilor booleene
Forme canonice
Alte forme de reprezentare a funciilor booleene
Sisteme complete de funcii booleene
Minimizarea funciilor booleene
Logica enunurilor
Tautologii i contradicii
Consecine logice
Logica de gradul 1
Interpretarea formulelor n logica de gradul 1
Forme normale
Logica continual i hibrid
Logica fuzzy
Logica matematic i inteligena artificial

4. GRAFURI
4.1.
Noiuni generale
4.1.1. Definiia grafului
4.1.2. Numr cociclomatic i numr ciclomatic
4.1.3. Numr cromatic. Grafuri planare. Arbori.
4.2.
Metode de reprezentare a grafului
Matricea de iciden
4.2.1. Matricea de adiacen
4.2.3. Lista de adiacen i lista de inciden
4.3.
Structuri de date
4.3.1. Structuri de date: liste
4.3.2. Structuri de date : fire de ateptare
4.3.3. Structuri de date: stive
4.3.4. Structuri de date - arbori
4.4.
Algoritmi pe grafuri
4.4.1. Cutare n adncime
4.4.2. Algoritmul de cutare n lrgime
4.4.3. Noiune de graf de acoperire. Algoritmul de determinare a grafului de acoperire
4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru determinarea drumului minim
4.4.5 Algoritmul Bellman - Calaba
4.5.
Reele de transport
4.5.1. Noiuni generale

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

4.5.2.

14:08 09.02.13 pag.3

Algoritmul Ford-Fulkerson

5. ALGORITMI I MODELE DE ALGORITMI


5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.

Formalizarea noiunii de algoritm


Maini Turing. Componena i principiul de funcionare
Operaii cu maini Turing
Maina Turing universal. Problema opririi
Funcii recursive ca model algoritmic
Teza lui Church. Mainile Turing i funciile recursive
Calculabilitate i rezolvabilitate

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.4

1. INTRODUCERE

Prezenta lucrare este dedicat metodelor matematicii discrete aplicabile n inginerie i are ca destinatari
pe studenii i specialitii n informatica teoretic i aplicat, 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 legate de
tiina calculatoarelor, informatica teoretic i aplicat, inclusiv, sisteme expert i inteligena artificial, etc.
Foarte muli autori sunt convini de necesitatea de a ncepe de la "zero", lmurind 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 "scuti" pe
viitorii autori de eforturi suplimentare i de a le permite s se concentreze total n problemele tehnice tratate.
Un alt obiectiv este legat de faptul c majoritatea inginerilor consider matematica un fel de dicionar mare.
Este suficient s tii numai a depista 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 tehnicotiinifice 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. 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. Georg 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 ntreg cu ajutorul unei legi oarecare" [1]. Obiectele care formeaz
mulimile se numesc elemente. De obicei, elementele se noteaz cu litere mici, iar mulimile cu litere mari
latine cu sau fr indici. Elementele se iau n acolade i se separ prin virgule. Dou i mai multe elemente de
acelai fel se vor scrie o singur dat.
Vom nota apartenena elementului a mulimii C n felul urmtor: aC, iar dac g nu aparine mulimii
C se va scrie gC. Mulimile pot fi finite sau infinite.
Expresia x S semnific, deci, faptul c elementul x este un element al mulimii S. Dac x\, 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.

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 1 A, 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.
Numrul elementelor unei mulimi finite se numete cardinalul sau puterea 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 .
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 A B i
B A, 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.
Se consider c mulimea vid este submulime a oricrei mulimi.

Exemplul 2.2. Toate relaiile de mai jos sunt adevrate:


1. {1, 2, 3} {1, 2, 3, 5}
2. {1, 2, 3} {1, 2, 3, 5}
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.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 B(A) care conine toate prile lui A (inclusiv mulimea vid i
A). Aceast mulime B(A) se va numi booleanul lui A.

Exemplul 2.3. Pentru mulimea F = {a, b, c} vom avea B(F)= {, {a}, {b}, {c}, {a,b}, {a,c}, {b,c},
{a,b,c}}. Adic, B(F) este o mulime cu opt elemente, fiecare element fiind la rndul lui o
mulime. Un alt exemplu, B() = {} 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 se numete uneori mulime
universal sau universum (fr pretenii de strictee) i se noteaz prin E sau U.
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.4. Fie A, mulimea {1, 3, 6} din exemplul 1.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.
Un alt exemplu, 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}, }.
nc un 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 primare va fi notat n acest caz
{x | x N i P(x)}
Aceast expresie definete mulimea infinit {2, 3, 5, 7, 11, ...}.

Este reconfortant 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.5. 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 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}:

(x) = 1, dac x U aparine lui M


i (x) = 0, n caz contrar.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.6

2.2. Mulimi vagi (fuzzy)


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 (x) ar trebui s ia valori ntre 0 i 1. Astfel de clase de
elemente formeaz obiectul teoriei mulimilor vagi (fuzzy).

Exemplul 2.6. 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 considerm, c acesta aparine lui A. Ultima afirmaie poate fi descris, de
exemplu, cu ajutorul funciei caracteristice de mai jos:

A(x) = 0, dac x 1 i A(x) = [1+(x-1)-1] -1 dac x > 1.


O mulime fuzzy se va defini utiliznd aplicaia mulimii universale U n segmentul [0, 1], deci
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 x U, iar A(x) este funcia de apartenen.
De exemplu, 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 x U 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, A B), dac x U 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.
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}.
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}.
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 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.7. 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 S T,
deoarece elementele nu pot s se repete, analogic i pentru mulimea S T. Mulimea S - T
conine elementele 1 i 2, deoarece ele sunt n S, dar nu se afl n T. Elementul 3 nu este
prezent n mulimea S - T deoarece, dei este n S, el aparine i lui T.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.7

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}. n cazurile n care este evident
despre care mulime U se vorbete indicile poate fi omis. Complementul 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 = = {e,
f, g}, iar CUB = {a, b, g}.
Se numete partiie a mulimii A oricare familie de pri X1, X2, X3,..., Xn ale lui A care verific
urmtoarele condiii:
1. Xi , i = 1, 2,..., n;
2. Xi Xj, = , i j;
3. Xi = A, i =1, 2,...,n

(2.1)

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 elent arbitrar x din E i se va demonstra c el aparine de asemenea i lui F, apoi
2.

se va lua un element arbitrar x din F i se va demonstra c el aparine de asemenea i lui E.

Exemplul 2.8. 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.
1)
2)
3)
4)
5)
6)
7)

Etapa
x este din S - (T R)
x este din S
x nu este n T R
x nu este n T
x nu aparine lui R
x aparine lui S - T
x este n (S - T) - R

Justificarea
dat
definiia
definiia
definiia
definiia
definiia
definiia

operaiei
operaiei
operaiei
operaiei
operaiei
operaiei

- i (1)
- i (1)
i (1) (3)
i (3)
- cu (2) i (4)
- cu (6) i (5)

Tabelul 2.1. Prima jumtate a demonstraiei asociativitii reuniunii i diferenei.


Am ajuns la concluzia, c x aparine i prii drepte. 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 atbitrar este din (S - T) R, atunci el se conine i n S - (T R).
Am artat acest lucru n tabelul 2.2.
1)
2)
3)
4)
5)
6)
7)

Etapa
x este din S - (T - R)
x este din S-T
x nu este n R
x este n S
x nu aparine lui T
x nu aparine lui R T
x este n S (T R)

Justificarea
dat
definiia
definiia
definiia
definiia
definiia
definiia

operaiei
operaiei
operaiei
operaiei
operaiei
operaiei

- i (1)
- i (1)
- i (2)
- i (2)
cu (3) i (5)
- cu (6) i (4)

Tabelul 2.2. A doua jumtate a demonstraiei asociativitii reuniunii i diferenei.

Exemplul 2.9. Demonstrm, c dac S T, atunci S T T. Admitem c x S T. Conform definiiei


reuniunii
2.

1. x aparine sau lui S,


sau lui T.

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.8

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.
Fia acum x T. n acest caz x S T conform definiei de reuniune. Deci, T (ST),
ceea ce constituie partea a doua a demonstraiei. Concluzia: (S T) T.
2.5. Vectori i produs cartezian
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, 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,...,a n) pentru care a1A1, a2A2,..., anAn. Dac A1=A2=...=An=A produsul
cartezian A1xA2x...xAn se va nota An.
De exemplu, 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 Rene Descartes (1596-1650) din care cauz produsul a dou mulimi i
poart numele.
Alt exemplu, 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.
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,...,a k)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...xAk xAk+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,...,a i,...,an), atunci priv=ai.
Proiecia lui v pe axele i1, i2,..., ik se numete vectorul de lungime k: pri1,i2,...,ikv=(ai1,...,a ik).
Pentru V - mulime 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 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 (bijectiv, bijecie sau coresponden 1:1) dac ea este

total definit,

surjectiv,

funcional,

injectiv.

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.9

Exemplul 2.10. Reprezentarea lunilor anului prin numerele lor este o bijecie 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. ntradevr, 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 punctul al patrulea. Cazul |A| > |B| trebuie exclus.
n al doilea caz, corespondena fiind suriectiv 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.
Ultima teorem permite:
a) stabilirea egalitii cardinalelor a dou mulimi fr calcule i
b) determinarea cardinalului unei mulimi prin stabilirea unei corespondene biunivoce a acestei
mulimi cu o alt mulime, cardinalul creia este cunoscut sau uor de calculat. Ca exemplu
Teorema 2.3. Dac A este o mulime finit i |A|= n, atunci numrul tuturor submulimilor mulimii
A este 2n (|B(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,...,v n) 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 |B(A)| = |
Bn|. Dar Bn = BxBx...xB i B = {0,1}. Conform consecinei teoremei 2.1, |Bn| = |B|n = 2n c.c.t.d.
Dou mulimi au acelai cardinal (sunt echipotente) 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.
Mulimile de acelai cardinal cu N (mulimea numerelor naturale) se numesc numrabile.
Teorema 2.4. (Cantor) 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, b3 a33, b4 a44
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 sau puterea continuumului, iar mulimile - continuale.
Se numete funcie o coresponden funcional. Dac funcia f stabilete o coresponden ntre
mulimile A i B se va spune c f are tipul AB i se va nota f: AB. Funcia total definit f: AB se numete
aplicaie a lui A n B. Dac corespondena f n acest caz este suriectiv vom spune c are loc aplicaia lui A pe
B. Aplicaia de tipul AA se numete transformarea (transformata) lui A.
Funcia f: A1xA2x...xA nB se numete funcie n-ar. (Pentru n = 1 vom vorbi de funcii unare, pentru n =
2 funcii binare, etc.)
Exemplul 2.11. a) ntr-o arhiv dosarele sunt plasate n csue speciale pentru pastrare 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
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.10

n coresponden mulimii automobilelor A mulimea B, elementele creia sunt


obinute n modul susnumit.
c) Dac A={Andrei, Victor, Ion, Eugen, Christian} o mulime de persoane concrete i
B este 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 conluzia c aceast aplicaie poate
s nu fie injectiv.
Exemplul 2.12. 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 G AxB. Dac corespondena H BxA 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:A B este funcional ea se va numi funcie invers funciei f i se va nota prin f -1.
Fie f:AB i g:BC. Funcia h:AC se va numi compoziia 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:
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 oricare substituii de funcii i redenumiri de argumente.
Funcia obinut din f1,..., fn printr-o substituire oarecare i redenumirea argumentelor se numete
superpoziia f1,..., fn. Expresia care exprim aceasta superpoziie i care conine simboluri funcionale i de
argumente se numete formul.
2.7. Relaii i proprietile lor
Se numete relaie n-ar pe M submulimea R Mn. Vom zice c a1,..., an, sunt n relaia R dac
(a1,...,an)R. 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 se utilizeaz. 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.13. Pentru mulimea N: relaia "<" are loc pentru perechea (3,9) i nu are loc pentru (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 M1 M 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.
Deoarece relaia este n ultim instan o mulime, pot fi executate aceleai operaii (reuniune, intersecie
etc.) i cu relaiile.
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.
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. 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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.11

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.14. 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.
2.8. Operaii i algebre. Proprietile operaiilor
Funcia de tipul : M M 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.
n

Operaia se numete:
a)
b)
c)
d)
e)

comutativ, dac ab = ba,


asociativ, dac pentru oricare a, b, c are loc (ab)c = a(bc),
idempotent, dac aa = a,
distributiv stnga fa de operaia g, dac pentru oricare a, b, c are loc relaia
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.15. 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 a (non a), astfel nct
a a = 1 - principiul terului exclus,
a 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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.12

Dac ntr-o latice finit orice element a are un complement a, aceast latice se numete complementar.
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,..., R1n1, R21, R22,..., R2n2,..., Rm1, Rm2,..., Rmnm} 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 acesteea - 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 Ri Rj a dou relaii compatibile Ri i Rj este mulimea tuturor cortejurilor, fiecare dintre care
aparine cel puin uneia din relaii.
Intersecia Ri Rj a dou relaii compatibile Ri i Rj se va numi mulimea tuturor cortejurilor care aparin
ambelor relaii n acelai timp.
Diferena Ri\Rj a dou relaii compatibile Ri i Rj se numete mulimea tuturor cortejurilor care aparin
lui Ri i nu aparin relaiei 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.
Exemplu: dac Ri ={(a,b),(a,c),(a,e)}, iar Rj = ((a,b,c),(c,d,e)}, atunci
RixR j = {(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.
De exemplu, 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.Beliu, 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} - denumirea grupei.
Numerele 1, 2,..., 10 din prima coloan identific elemente ale relaiei R5.
Tabelul 2.3. Relaia examene.
R5
1

D1
3-101

D2
Matematica discret n inginerie

D3
conf. V.Beliu

D4
3 iunie

D5
TI-961

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie


R5
2
3
4
5
6
7
8
9
10

D1
3-202
3-310
3-101
3-104
3-101
3-101
3-202
3-310
3-101

D2
Microelectronica
Fizica
Circuite integrate
Electrotehnica
Matematica discret n inginerie
Matematica discret n inginerie
Microelectronica
Fizica
Circuite integrate

14:08 09.02.13 pag.13


D3
conf. V.ontea
prof. I.Samusi
conf. V.Negur
conf. A.Diligul
conf. V.Beliu
conf. V.Beliu
conf. V.ontea
prof. I.Samusi
conf. V.Negur

D4
4 iunie
3 iunie
4 iunie
3 iunie
8 iunie
13 iunie
8iunie
8iunie
8iunie

D5
C-951
TI-962
C-941
TI-951
TI-962
TI-963
C-952
TI-961
C-942

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: proiecia, selecia i jonciunea.
Operaia selecie permite evidenierea unei submulimi de cortejuri care posed o proprietate dat. De
exemplu, operaia selecie permite evidenierea relaiei orarul conf. V.Beliu - liniile n care valoarea
domenului D3 este conf. V.Beliu:
Tabelul 2.4. Rezultatul operaiei selecie pentru valoarea conf. V.Beliu
D1
D2
D3
D4
D5
3-101 Matematica discret n inginerie
conf. V.Beliu 3 iunie TI-961
3-101 Matematica discret n inginerie
conf. V.Beliu 8 iunie TI-962
3-101 Matematica discret n inginerie
conf. V.Beliu 13 iunie TI-963

R5
1
6
7

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,...,A im a relaiei n-are RnA1xA2x...xA n, 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
Matematica discret n inginerie
Microelectronica
Fizica
Circuite integrate
Electrotehnica

D3
conf. V.Beliu
conf. V.ontea
prof. I.Samusi
conf. V.Negur
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
3-202
3-310
3-104

D2
Microelectronica
Fizica
Electrotehnica

D3
conf. V.ontea
prof. I.Samusi
conf. A.Diligul

D4
4 iunie
3 iunie
3 iunie

D5
C-951
TI-962
TI-951

Tabelul 2.7.
D1
3-104
3-310
3-202

D2
Electrotehnica
Matematica
Microelectronica

D3
conf. A.Diligul
conf. L.Dogotaru
conf. V.ontea

D4
13 iunie
13 iunie
14 iunie

D5
C-951
TI-962
TI-951

Tabelul 2.8. Rezultatul operaiei join.


D1

D2

D3

D4

3-202

Microelectronica

conf. V.ontea

4 iunie

D11

D21

3-104 Electrotehnica

D31

D41

D5

conf. A.Diligul

13 iunie

C-951

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie


D1
3-310
3-104

D2
Fizica
Electrotehnica

D3

D4

prof. I.Samusi
conf. A.Diligul

3 iunie
3 iunie

14:08 09.02.13 pag.14

D11

D21

D31

3-310 Matematica
3-202 Microelectronica

D41

conf. L.Dogotaru 13 iunie


conf. V.ontea
14 iunie

D5
TI-962
TI-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.

Exerciii
2.1. Care sunt elementele mulimii {{a, b, c}, {a}, {b, c}} ?
2.2. Este oare just relaia {a}{a, b, c}? Formai lista prilor mulimii A={a, b, c}.
2.3. 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.4. Definii mulimile:
a) Mulimea numerelor ntregi mai mari ca 100.
b) Mulimea numerelor ntregi pare.
2.5. 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.6.Demonstrai
a)
b)
c)

echivalenele:
(S (T R)) ((S T) (S R))
((S T) - R) ((S - R) (T - R))
(S - (T R)) ((S - T) - R)

2.7. Fie S T, demonstrai c:


a) (ST) = S
b) (S -T) =
c) B(S) B(T).
2.8. Artai c
a) B(S) B(T) B(S T)
b) B(S T) B(S) B(T)
Pot (a) sau (b) fi adevrate dac incluziunea este nlocuit prin echivalen ?
Ce reprezint B(B(B()))?
2.9. 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)?
2.10. 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)
b)
c)

A=R
A=R
A={xR | |x| 3}
f(x)=x2+6x+8
A=R
A=R
A=N

d)
e)
f)

B=R, f(x)=x+7
B=R, f(x)=2x2+12x+16
B={xR | 20 |x| 100}
B=R,
B=R,
B=N,

f(x)=5x-4|x|
f(x)=ex+2
f(x)=x2+x.

2.11. Fie aplicaiile f i g : N10 N10 definite cu ajutorul tabelelor de mai jos
x

10

f(x)

10

7
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.15

10

g(x)

10

a) Reprezentai n acelai mof aplicaiile: fof, fog, gof, gog;


b) Stabilii care din aplicaiile iniiale (f sau g) este bijectiv i stabilii inversa ei.

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.16

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, diferitele 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 , care este modelul matematic al limbajului L;
Modelul matematic al obiectului studiat N;
Definiia exact a conceptului de adevr a enunului din limbajul n modelul ;
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.
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, 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, 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:
x1
0
0
0
0

x2
0
0
1
1

x3
0
1
0
1

f(x1,x2,x3)
1
0
0
0

x1
1
1
1
1

x2
0
0
1
1

Tabelul 3.1.
x3
f(x1,x2,x3)
0
1
1
0
0
0
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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.17

Pentru cazul unei funcii de n argumente observm c combinaiile posibile ale argumentelor sunt vectori
binari de lungime n. Este uor de demonstrat, c mulimea tuturor combinaiilor posibile este k = 2n (v.
teorema 2.1). Din aceleai considerente pot exista 2k = 22**n 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 boolean de n argumente este un vector binar de
lungime k = 2n, exist 2**2n funcii booleene.
Tabelele de tipul lui 3.1 se numesc tabele de adevr.
Exist situaii cnd pentru unele combinaii ale valorilor argumentelor valoarea FB s nu fie
determinat. FB 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.
x1
0
0
0
0

x2
0
0
1
1

x3
0
1
0
1

f(x1,x2,x3)
1
*
0
0

x1
1
1
1
1

x2
0
0
1
1

Tabelul 3.2.
x3
f(x1,x2,x3)
0
*
1
0
0
0
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 de
nedefinire i atibuirea unor valori la necesitate fiind extrem de important pentru
simplificarea lor.
Funcii booleene de un singur argument pot fi patru:
Tabelul 3.3.
x
0
1

f0(x)
0
0

f1(x)
0
1

f2(x)
1
0

f3(x)
1
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: vom scrie f1(x) = x. Funcia f2(x) se numete negaia lui x (NONx) i se noteaz
x (x barat).
Exista 16 FB de dou argumente:
x1
0
0
1
1

x2
0
1
0
1

f0
0
0
0
0

f1
0
0
0
1

f2
0
0
1
0

f3
0
0
1
1

f4
0
1
0
0

f5
0
1
0
1

f6
0
1
1
0

f7
0
1
1
1

f8
1
0
0
0

f9
1
0
0
1

Tabelul 3.4.
f10 f11
f12
1
1
1
0
0
1
1
1
0
0
1
0

f13
1
1
0
1

f14
1
1
1
0

f15
1
1
1
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 sau funcia lui Webb 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 x1 x2.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.18

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 INU (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 cu argumente fictive descrete, tinznd ctre 0, cnd n tinde spre infinit.
3.2. Transformri echivalente i decompoziia funciilor booleene
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 formulele 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 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.
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, reeind din notaia introdus, avem
i

x =1 cnd x=
x=0, dac x ..

(3.1)

Teorema 3.1. Orice funcie boolean f(x1, x2,..., xn) poate fi pus sub forma:
f(x1, x2,..., xm, xm+1,..., xn)=
...
1

x1 x2 ... xm f(1,..., m, xm+1,..., xn)


1

(3.2)

n care m n, 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,2,..., 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) =

... f(1,2,..., m,m+1,..., n) = f(1,2,..., n),


1

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

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.19

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

Prezint interes deosebit cazul m = n - decompoziia FB pentru toate variabilele x1, x2,..., xn. Avem:
f(x1, x2,..., xn)= x11...x nn f(1,..., n)= x11...x nn,
,..., n
1

(3.3)

f( 1,..., n)=1

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).
Numim formul boolean orice formul care n afr 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 .
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:

(x1x2)x3;

(x1x2)(x1x3);

=0;

asociativitate
(3.4)
comutativitate
(3.5)
distributivitate
(3.6)
idempoten
(3.7)
principiul involuiei

x1(x2x3 ) = (x1x2)x3;

x1(x2x3

x1x2 = x2x1;

x1x2 = x2x1;

x1(x2x3 ) = x1x2x1x3;

x1(x2x3

xx = x;

x x = x;

x = x;
operaii cu constante x&1=x; x&0=0; x1=1; x0=x;
(3.9)
legile lui de Morgan
xx = x +x ;
(3.10)
contradicie
x x = 0;
legea terului exclus
x + x = 1.
1

(3.8)
0 =1;

x + x = x .x
1

(3.11)
(3.12)

Important: 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.
Dintre relaiile 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

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
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.20

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 xi este luat ca atare sau negat dup cum valoarea lui n
combinaia respectiv este 1 sau 0;
3o. Se reunesc toi termenii canonici conjunctivi, obinute la pasul precedent, cu operaia
disjuncie.
Reprezentarea unei FB se poate face i sub o alt form, numit forma canonic conjunctiv (FCC).
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 =
1, n caz contrar.

(3.13)

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)

i M

unde M0 este mulimea numerelor combinaiilor valorilor argumentelor pentru care funcia f(x1, x2,..., xn) ia
valoarea 0 (conjuncia constituenilor lui zero) [1].
Demonstraie. Se consider un set arbitrar de valori ale argumentelor (1,2,..., n). Sunt posibile dou
cazuri distincte:
1.
2.

funcia s aplice acest set de valori n 0


funcia s aplice acest set de valori n 1.

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
x11x22... xnn.

(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. Avnd n vedere (3.13) pentru funcia constituentul lui 0 rezult:

Si(x1, x2,..., xn)= x1

1x2

...xn 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) = & (x1 1x2 2... xn n)
0

(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) a funciei, iar
termenii (3.15) cu condiia xi i 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:

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.21

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. In expresia TCD argumentul xi intr ca
atare sau negat dup cum n combinaia considerat are valoarea 0 sau 1;
30. TCD obinui la pasul 2 se reunesc prin semnul conjunciei.
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 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 o
serie de alte forme cum ar fi diagramele Karnaugh, schemele logice, diagramele de timp etc.
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).
Tabelul 3.5
x1

x2

x3

x4

f(x1,x2,x3,x4)

x1

x2

x3

x4

f(x1,x2,x3,x4)

x1x2

00

01

11

10

00

01

11

10

x3x4

Fig. 3.1.
Exemplul 3.1. Pentru FB de 4 argumente cu tabelul de adevr 3.5 diagrama Karnaugh este prezentat n
figura 3.1.
Combinaiile valorilor argumentelor x1 i x2 sunt dispuse n partea superioar a diagramei, iar cele ale
argumentelor x1 i x2 vertical n partea stng. La intersecia unei coloane i a unei linii este cmpul diagramei
n care se trece 0 sau 1, dup cum valoarea funciei n tabelul de adevr este 0 sau 1.
Schema logic este o reprezentare grafic a FB obinut prin adoptarea unor semne convenionale pentru
operaiile logice. Altfel spus, schema logic reprezint topologia unui circuit logic, care materializeaz o FB.
Simbolurile grafice adoptate constituie o reprezentare a circuitelor logice care materializeaz funciile logice
elementare. Unele dintre cele mai des utilizate semne grafice pentru FB elementare sunt prezentate n tab. 3.6.
Tab.3.6
Denumirea funciei

Reprezentarea grafic

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie


Negaia f = x

14:08 09.02.13 pag.22

x --------O--------- x

Disjuncia f = x1x2
Conjuncia f = x1x2
Pierce f = x1x2
Sheffer f = x1/x2
Exemplu. S se reprezinte prin schem logic funcia f(x1, x2, x3) = ( x1x2 x3) (x1x2x3).
Utiliznd figurile grafice din tab.3.6 schema logic este prezentat n fig. 3.2. Aici pot fi indicate i
nivelele logice - mulimea elementelor fizice care opereaz simultan. n exemplul dat avem nivelele logice 0,
1 i 2.
Fig. 3.2.
Dac vom reprezenta grafic argumentele xi ca funcii de timp, atand 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.
Exemplu. Diagrama temporal a funciei f = x1x2 are forma prezentat n fig. 3.3.
Fig.3.3.
3.5. Sisteme complete de funcii
Definiie. Numim sistem complet de FB (baz) n clasa sistemul (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 sistem complet i anume toate
cele 2 2n 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 aprinnd 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.
Pentru a demonstra, de exemplu, teorema 3.5 este suficient s se demonstreze 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)= x1x2... xn= (x1x2... xn)= ( x1 x2... xn) c.c.t.d.
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 = (x1x2) = (x1x2) = (x1x2)(x1x2).

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.23

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 i 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.
3.6.1.

Metoda Quine - McCluskey

Numim termen normal conjunctiv (TNC) conjuncia x11x22...x kk (k n), n care fiecare variabil se
ntlnete numai o singur dat. Numrul literelor unui termen normal conjunctiv numim rangul termenelui,
iar disjuncia TNC - form normal disjunctiv (FND). Reeind 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 x11x22...x kk
(k n) 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 x2x3 x4 f(x1,x2,x3,x4)

(x1 x2x3 x4 este implicantul funciei f(x1,x2,x3,x4)

x1x3 x4 f(x1,x2,x3,x4)

(x1x3 x4 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 xi = 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 (Quine). 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,...,x n)= k,

(3.18)

n care k este setul respectiv de implicani primi. Aceast relaie trebuie s fie adevrat i atunci cnd
f(x1,x2,...,x n)=0 i pentru cazul n care f(x1,x2,...,x n)=1. n primul caz toi implicanii primi sunt egali cu 0,
altfel am avea valoarea 0 pentru funcia if(x1,x2,...,x n), unde i 0 (deci i nu ar fi implicantul funciei
f(x1,x2,...,x n), 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 c.c.t.d.
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);
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.24

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.
Exemplu. Fie funcia f(x1,x2,x3,x4) definit prin FCD a sa:
f(x1,x2,x3,x4)= x1 x2 x3 x4x1x2 x3 x4x1x2 x3x4x1x2 x3x4x1 x2 x3x4x1 x2 x3 x4.
S se determine forma disjunctiv minim.
1o. Determinm FDP evideniind toi implicanii primi:

x1 x2 x3 x4x1x2 x3 x4

= x 1 x 3 x 4,

x1 x2 x3 x4x1 x2 x3 x4

= x 2 x 3 x 4,

x1x2 x3 x4 x1x2 x3x4

= x 1x 2 x 3,

x1x2 x3x4 x1x2 x3x4

= x2 x3x4,

x1x2 x3x4

= x1 x3x4,

x1 x2 x3x4

x1 x2 x3x4 x1 x2 x3 x4

= x1 x2 x3,.

Deoarece alipiri pariale pentru termenii normali de rang 3 nu se pot opera avem urmtoarea form
disjunctiv prescurtat:
f(x1,x2,x3,x4) = x1 x3 x4 x2 x3 x4 x1x2 x3 x2 x3x4 x1 x3x4 x1 x2 x3.
2o. Construim tabelul de acoperire:
Tabelul 3.7.
Termenii canonici conjunctivi

Implicanii
x1 x2 x3 x

x1 x2 x3 x4

x1 x2 x3 x4

x1 x2 x3 x4

x1 x2 x3 x4

x1 x2 x3 x4

x1 x3 x4

x2 x3 x4

x1 x2 x3

x2 x3 x4

x1 x3 x4

x1 x2 x3

primi

Avem dou posibiliti de alegere:


f(x1,x2,x3,x4) = x1 x3 x4 x2 x3x4 x1 x2 x3 , f(x1,x2,x3,x4) = x2 x3 x4 x1x2 x3 x1 x3x4,
alegerea fcndu-se la opiune. Concluzionm, c o FB poate avea mai multe forme minime.
Metoda prezentat poart numele lui Quine, care a propus-o, i are un neajuns datorat necesitii
comparrii tuturor perechilor de termeni la primul pas (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 aceste grupe difer ntre ele cu un singur bit 1.n locul variabilelor eliminate la alipire se trece o
linie.

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.25

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.
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
u2
x1

u3
x4

u1

u5
x2

x7

u4
x3
u6

u8
x6

x5
u7

Fig. 4.1. Exemplu de graf


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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.26

Un drum elementar ce trece prin toate vrfurile grafului se numete drum hamiltonian. Un drum simplu ce
conine toate arcele grafului se numete drum 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
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.
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 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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.27

Se numete arbore oricare graf conex fr bucle i cicluri.


u2
x1

u1

x4

x7

u4

x3

u3

u5
u6

x2

x5

x6

Fig. 4.2. Exemplu de arbore


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.
2.
3.

Matricea de inciden;
Matricea de adiacen;
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)
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
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie


x6
x7

0
0

0
0

0
0

0
0

14:08 09.02.13 pag.28


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.
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 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.


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.

2
3
4

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.29

variabile dinamice (pointer i variabil de tip ntreg)


masiv de indicatori
Fig. 4.5. Reprezentarea intern a listei de adiacen
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;


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
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.30

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
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
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
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.31

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.
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. Noiune de graf de acoperire. Algoritmul de determinare a grafului 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).

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 algoritmstandard, 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 FA 2 toate vrfurile adiacente cu vrfurile din FA 1 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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.32

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.
6.

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.
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.
Etapa iniial presupune ataarea grafului dat G a unei matrice ponderate de adiacen, care se va forma n
conformitate cu urmtoarele:
2.
3.

1.
M(i,j) = Lij, dac exist arcul (xi, xj) de pondere Lij;
M(i,j) = , unde este un numr foarte mare (de tip ntreg maximal pentru calculatorul dat), dac
arcul (xi, xj) este lips;
M(i,j) = 0, dac i = j.

La etapa a doua se va elabora un vector V0 n felul urmtor:

2.
3.

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;
V0(i) = , dac arcul (xi, xn) este lips;
V0(i) = 0, dac i = j.

Algoritmul const n calcularea iterativ a vectorului V n conformitate cu urmtorul procedeu:


1.
2.

Vk(i) = min{Vk-1; Lij+Vk-1(j)}, unde i = 1, 2,, n - 1, j = 1, 2,..., n; i<>j;


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.
UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

4.5.1. Noiuni generale

14:08 09.02.13 pag.33

4.5. Reele de transport

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.
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:
1. Se definete fluxul iniial avnd componente nule pe fiecare arc al reelei, adic f(u) = 0 pentru orice arc u
U;
2. 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_ mulimea arcelor (x, y), unde marcajul lui y are semnul -,
deci care sunt 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.

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

14:08 09.02.13 pag.34

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).
Bibliografie.
1.

C.Huanu. Circuite logice i comenzi secveniale. Iai, Junimea, 1983

2.

T. Bnzaru .a. Matematici speciale. Bucureti, E.D.P., 1981

3.

Gh.Mihoc, N.Micu. Teoria probabilitilor i statistica matematica. Bucureti, E.D.P., 198

UTM, Chiinu, 1999, V.Beliu

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