Sunteți pe pagina 1din 34

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 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

09:06 24.10.12 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

09:06 24.10.12 pag.3

4.5.2.

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

09:06 24.10.12 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 tehnico-tiinifice principale sunt legate nu att de lucrul cu modele cunoscute ct de elaborarea unor modele noi. Pentru aceasta este necesar ca matematica s fie nu numai o metod de calcul, ci i una de gndire.

2. SISTEME ALGEBRICE
2.1. Mulimi. 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={x 1, 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

09:06 24.10.12 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 2.2. Mulimi vagi (fuzzy)

09:06 24.10.12 pag.6

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

09:06 24.10.12 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 operaiei - i (1) definiia operaiei - i (1) definiia operaiei i (1) (3) definiia operaiei i (3) definiia operaiei - cu (2) i (4) definiia operaiei - 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 operaiei - i (1) definiia operaiei - i (1) definiia operaiei - i (2) definiia operaiei - i (2) definiia operaiei cu (3) i (5) definiia operaiei - 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

09:06 24.10.12 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=...=A n=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,...,ai,...,a n), atunci priv=ai. Proiecia lui v pe axele i1, i2,..., ik se numete vectorul de lungime k: pri1,i2,...,ikv=(ai1,...,aik). 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

09:06 24.10.12 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 n UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.10

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

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.11

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

Ciclu de prelegeri la cursul Matematica discret n inginerie (ab)c = (ac)(bc), a, b, cM.

09:06 24.10.12 pag.12

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


pentru toi i =1,..., n i toate elementele cjrC.

(2.5)

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> 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 RixRj = {(a,b,a,b,c), (a,b,c,d,e), (a,c,a,b,c), (a,c,c,d,e), (a,e,a,b,c), (a,e,c,d,e)}. Algebra relaiilor i modelele sunt utilizate pentru formalizarea unor obiecte reale. Vom exemplifica prin folosirea algebrei relaiilor n cazul bazelor relaionale de date. O baz de date de tip relaional este un tablou bidimensional n care coloanele determin aa numitele domene (atribute), iar liniile sunt cortejuri de valori concrete ale atributelor, care se afl n relaia R. 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 2 3 4 D1 3-101 3-202 3-310 3-101 D2 Matematica discret n inginerie Microelectronica Fizica Circuite integrate D3 conf. V.Beliu conf. V.ontea prof. I.Samusi conf. V.Negur D4 3 iunie 4 iunie 3 iunie 4 iunie D5 TI-961 C-951 TI-962 C-941 (2.7)

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie R5 5 6 7 8 9 10 D1 3-104 3-101 3-101 3-202 3-310 3-101 D2 Electrotehnica Matematica discret n inginerie Matematica discret n inginerie Microelectronica Fizica Circuite integrate D3 conf. A.Diligul conf. V.Beliu conf. V.Beliu conf. V.ontea prof. I.Samusi conf. V.Negur

09:06 24.10.12 pag.13 D4 3 iunie 8 iunie 13 iunie 8iunie 8iunie 8iunie D5 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: R5 1 6 7 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

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(R 5/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 D1 3-104 3-310 3-202
D1 3-202 3-310 3-104 D2 Microelectronica Fizica Electrotehnica

D2 Microelectronica Fizica Electrotehnica D2 Electrotehnica Matematica Microelectronica


D3 conf. V.ontea prof. I.Samusi conf. A.Diligul D4 4 iunie 3 iunie 3 iunie

D3 conf. V.ontea prof. I.Samusi conf. A.Diligul Tabelul 2.7. D3 conf. A.Diligul conf. L.Dogotaru conf. V.ontea
D11 D21 3-104 Electrotehnica 3-310 Matematica

D4 4 iunie 3 iunie 3 iunie D4 13 iunie 13 iunie 14 iunie

D5 C-951 TI-962 TI-951 D5 C-951 TI-962 TI-951


D41 13 iunie 13 iunie 14 iunie D5 C-951 TI-962 TI-951

Tabelul 2.8. Rezultatul operaiei join.


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

3-202 Microelectronica

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.14

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={x R | x>0} B={x R | x |x|}; b) A={x R | x>0} B={x R | x |x|}; c) A=Z B={x Z | x2 x este numr par}; d) A={x N20 | 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 echivalenele: a) (S (T R)) ((S T) (S R)) b) ((S T) - R) ((S - R) (T - R)) c) (S - (T R)) ((S - T) - R) 2.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) d) e) f) A=R A=R A={x R | |x| 3} f(x)=x 2+6x+8 A=R A=R A=N B=R, f(x)=x+7 B=R, f(x)=2x 2+12x+16 B={x R | 20 |x| 100} B=R, B=R, B=N, f(x)=5x-4|x| f(x)=e x+2 f(x)=x 2+x.

2.11. Fie aplicaiile f i g : N10 N10 definite cu ajutorul tabelelor de mai jos x f(x) x 1 5 1 2 4 2 3 6 3 4 3 4 5 2 5 6 8 6 7 1 7 8 9 8 9 10 9 10 7 10

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie g(x) 1 2 2 8 5 6 7 4 9 10

09:06 24.10.12 pag.15

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 3. ELEMENTE DE LOGIC MATEMATIC

09:06 24.10.12 pag.16

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

Se va mai spune c combinaia (000) este aplicat n 1, (001) - n 0 .a.m.d. Combinaiile au fost enumerate n ordine lexicografic, ncepnd de la 0, reprezentat n binar prin (000) pn la 7 - (111). Avem 8 combinaii posibile n cazul unei funcii de trei argumente. Pentru cazul unei funcii de n argumente observm c combinaiile posibile ale argumentelor sunt vectori binari de lungime n. Este uor de demonstrat, c mulimea tuturor combinaiilor posibile este k = 2n (v. teorema UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.17

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: x 0 1 f0(x) 0 0 Tabelul 3.3. f1(x) f2(x) f3(x) 0 1 1 1 0 1

Funciile f0 i f3 se numesc constanta 0 si, respectiv, constanta 1. Valorile lor nu depind de valoarea argumentului. n acest caz se va spune c argumentul este nesemnificativ, redundant sau fictiv. Funcia f1 repet valoarea argumentului x: 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: Tabelul 3.4. 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 f10 1 0 1 0 f11 1 0 1 1 f12 1 1 0 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&x 2, x1x2 sau x1 2. x 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

09:06 24.10.12 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=((x 1x3)(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 .. Teorema 3.1. Orice funcie boolean f(x1, x2,..., xn) poate fi pus sub forma: f(x1, x2,..., xm, xm+1,..., xn)= ...
1 m

(3.1)

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


1 2 m

(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 2 m

i, deoarece setul de valori a fost luat arbitrar, teorema este demonstrat. Pentru m=1 avem decompoziia FB pentru o singur variabil (de exemplu x1):

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie f(x1, x2,..., xn)= x f(0, x2,..., xn)x1 f(1, x2,..., xn).
1

09:06 24.10.12 pag.19

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
f( 1,..., n)=1

(3.3)

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: (x1 2) 3; x x (x1 2)(x1 3); x x =0; asociativitate (3.4) comutativitate (3.5) distributivitate (3.6) idempoten (3.7) principiul involuiei operaii cu constante (3.9) legile lui de Morgan (3.10) contradicie legea terului exclus x1(x2x3 ) = (x1x2)x3; x1x2 = x2x1; x1(x2 3 ) = x1x2 1x3; x x xx = x; x = x; x&1=x; x&0=0; x 1=1; x 0=x; xx = x +x ;
1 2 1 2

x1 2 3 (x x

x1 2 = x2 1; x x x1 2x3 (x ) =

x x = x; (3.8) 0 =1;
1 2

1
1 2

x + x = x .x (3.11) (3.12)

x x = 0; x + x = 1.

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 x = x; xy x(x = x; y) alipire xy y = x; 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 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. UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.20

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. 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
i M
0

(3.13)

(3.14)

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

(3.15)

Conform relaiei (3.1) funcia (3.15) este 0 atunci i numai atunci, cnd x1 1, x2 2,..., xn n, fiind 1 Si(x1, x2,..., xn)= x1

1x2

n n cu condiia ca i = 12n-1+22n-2+...+n20. ... x


(3.16)

Deci, orice FB poate fi descris printr-o expresie de forma f(x1, x2,..., xn) = & (x1 1x2 2 n n) ... x
0

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

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.21

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 0 0 0 0 0 0 0 0 x2 0 0 0 0 1 1 1 1 x3 0 0 1 1 0 0 1 1 x1x2 x3x4 00 01 11 10 0 1 0 1 0 0 1 1 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 Negaia f = x Disjuncia f = x1 2 x Conjuncia f = x1 2 x Pierce f = x1x2 UTM, Chiinu, 1999, V.Beliu Reprezentarea grafic x --------O--------- x 0 0 1 1 0 0 1 1 x4 0 1 0 1 0 1 0 1 00 f(x1,x2,x3,x4) 0 1 1 0 0 0 1 1 01 x1 1 1 1 1 1 1 1 1 11 x2 0 0 0 0 1 1 1 1 10 x3 0 0 1 1 0 0 1 1 x4 0 1 0 1 0 1 0 1 f(x1,x2,x3,x4) 0 0 1 1 0 0 1 1

Ciclu de prelegeri la cursul Matematica discret n inginerie Sheffer f = x1/x2

09:06 24.10.12 pag.22

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 x i 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 = x1 2 are forma prezentat n fig. 3.3. x 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 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.
2n

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 n= (x1x2 n)= ( x1 x2... xn) c.c.t.d. ... x ... x 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). 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 UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.23

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) x1x3 x4 f(x1,x2,x3,x4) x1x3 f(x1,x2,x3,x4) x1 f(x1,x2,x3,x4) x3 f(x1,x2,x3,x4) (x1 x2x3 x4 este implicantul funciei f(x1,x2,x3,x4) (x1x3 x4 este implicantul funciei f(x1,x2,x3,x4) (x1x3 este implicantul funciei f(x1,x2,x3,x4) (x1 nu este implicantul funciei 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) Axi xi = A 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,
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); 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. UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie Exemplu. Fie funcia f(x1,x2,x3,x4) definit prin FCD a sa:

09:06 24.10.12 pag.24

f(x1,x2,x3,x4)= x1 x2 x3 x4x1x2 x3 x4x1x2 x3x4 1x2 x3x4 1 x2 x3x4 1 x2 x3 x4. x x x S se determine forma disjunctiv minim. 1o. Determinm FDP evideniind toi implicanii primi:

x1 x2 x3 x4x1x2 x3 x4 x1 x2 x3 x4 1 x2 x3 x4 x x1x2 x3 x4 x1x2 x3x4 x1x2 x3x4 1x2 x3x4 x


x1x2 x3x4

= x 1 x 3 x 4, = x 2 x 3 x 4, = x 1x 2 x 3, = x2 x3x4, = x1 x3x4, = x1 x2 x3,.

1 x2 x3x4 x

x1 x2 x3x4 1 x2 x3 x4 x

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. 2 . Construim tabelul de acoperire:
o

Tabelul 3.7. Implicanii primi


x1 x3 x4 x2 x3 x4 x1x2 x3
x2 x3x4 x1 x3x4 x1 x2 x3

Termenii canonici conjunctivi


x1 x2 x3 x4 x1x2 x3 x4 x1x2 x3x4
x1x2 x3x4 x1 x2 x3x4 x1 x2 x3 x4

1 1 0 0 0 0

1 0 1 0 0 0

0 0 1 1 0 0

0 0 0 1 1 0

0 0 0 0 1 1

0 1 0 0 0 1

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

09:06 24.10.12 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 u1 x3 u6 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. x4 u4 u8 x6 u3 x7

u5 x2

UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 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 pcromatic 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 Se numete arbore oricare graf conex fr bucle i cicluri. u2 x1 u1 u4 x4

09:06 24.10.12 pag.27

x7

x3

u5 x2 u6 Fig. 4.2. Exemplu de arbore x5

u3 x6

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

Ciclu de prelegeri la cursul Matematica discret n inginerie x7 0 0 0 0 0 0 0

09:06 24.10.12 pag.28

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 3 ^ 5 ^ 6 ^ UTM, Chiinu, 1999, V.Beliu 0

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 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: 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: 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 Formarea unei stive vide; Verificare la vid; Alegerea elementului din topul stivei cu sau fr eliminare; Introducerea unui element nou n topul stivei. 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.

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 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 ELSE n calitate de O1 se va lua FA O2, care nu este vid, UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie iar n calitate de O2 se va lua FA vid O1;

09:06 24.10.12 pag.31

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 FA2 toate vrfurile adiacente cu vrfurile din FA1 i se vor marca. Dac FA2 este vid se va trece la p.7, n caz contrar - la p. 4. 5. Se vor elimina toate muchiile care leag vrfurile din FA2. 6. Pentru toate vrfurile din FA2 vor fi eliminate toate muchiile n afar de una care leag vrful dat cu vrfurile din FA1. 7. Se vor schimba cu numele FA1 i FA2 (FA1 va deveni FA2 i invers). UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie

09:06 24.10.12 pag.32

8. Dac exist cel puin un vrf nemarcat se va lua n calitate de vrf iniial oricare din acestea i se va trece la p.1, altfel 9. STOP. Graful obinut este graful de acoperire. 4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru determinarea drumului minim Pentru un graf orientat G = (X,U) se va numi drum un ir de vrfuri D = (x0, x1,..., xr) cu proprietatea c (x0, x1), (x1, x2),..., (xr-1, xr) aparin lui U, deci sunt arce ale grafului i extremitatea final a arcului precedent coincide cu extremitatea iniial a arcului urmtor. 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. 2. Fiecrui vrf xj al grafului G se va ataa un numr foarte mare Hj(). Vrfului iniial i se va ataa Ho = 0; Se vor calcula diferenele Hj - Hi pentru fiecare arc (xi, xj). Sunt posibile trei cazuri: a) b) c) Hj - Hi < Lij, Hj - Hi = Lij, 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. 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. 1. 2. Vk(i) = min{V k-1; Lij+Vk-1(j)}, unde i = 1, 2,, n - 1, j = 1, 2,..., n; i<>j; Vk(n) = 0.

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

2. 3.

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

Cnd se va ajunge la Vk = Vk-1 - STOP. Componenta cu numrul i a vectorului Vk cu valoarea diferit de zero ne va da valoarea minim a drumului care leag vrful i cu vrful n. 4.5. Reele de transport 4.5.1. Noiuni generale Un graf orientat G = (X, U) se numete reea de transport dac satisface urmtoarele condiii: UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie 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.

09:06 24.10.12 pag.33

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. 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. 2. C.Huanu. Circuite logice i comenzi secveniale. Iai, Junimea, 1983 T. Bnzaru .a. Matematici speciale. Bucureti, E.D.P., 1981 UTM, Chiinu, 1999, V.Beliu

Ciclu de prelegeri la cursul Matematica discret n inginerie 3.

09:06 24.10.12 pag.34

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