Documente Academic
Documente Profesional
Documente Cultură
Victor Beliu
CICLU DE PRELEGERI
la disciplina "Matematica discret"
Chiinu 2002
Ciclu de prelegeri la cursul Matematica discret
Victor Beliu
2
Ciclu de prelegeri la cursul Matematica discret
CUPRINSUL
PREFA.......................................................................................................... 6
1. INTRODUCERE............................................................................................. 7
3
Ciclu de prelegeri la cursul Matematica discret
3.3.1. Forma canonic conjunctiv ...................................................... 44
3.4. ALTE FORME DE REPREZENTARE A FUNCIILOR BOOLEENE .................. 46
3.4.1. Diagrame Karnaugh ................................................................... 46
3.4.2. Circuite logice ............................................................................. 47
3.4.3. Diagrame temporale ................................................................... 48
3.5. SISTEME COMPLETE DE FUNCII BOOLEENE.......................................... 49
3.6. MINIMIZAREA FUNCIILOR BOOLEENE ................................................. 50
3.6.1. Metoda lui Quine ........................................................................ 51
3.6.2. Metoda Quine McCluskey ........................................................ 53
3.7. LOGICA ENUNURILOR ......................................................................... 55
3.7.1. Conectori logici i formule.......................................................... 55
3.7.2. Interpretarea formulelor n logica enunurilor ........................... 57
3.7.3. Forme normale i consecine logice ........................................... 59
3.7.4. Aplicaii ale logicii enunurilor ................................................... 62
3.8. LOGICA DE ORDINUL UNU .................................................................... 64
3.8.1. Noiuni de baz ........................................................................... 64
3.8.2. Interpretarea formulelor n logica de ordinul unu...................... 68
3.8.3. Forma normal Prenex ............................................................... 70
3.8.4. Aplicaii ale logicii de ordinul unu ............................................. 72
3.9. LOGICA FUZZY ..................................................................................... 75
3.10. EXERCIII I PROBLEME ................................................................... 81
4. GRAFURI ...................................................................................................... 82
4.1. NOIUNI GENERALE ............................................................................. 82
4.1.1. Definiia grafului ........................................................................ 82
4.1.2. Numr cociclomatic i numr ciclomatic.................................... 84
4.1.3. Numr cromatic. Grafuri planare. Arbori .................................. 85
4.2. METODE DE REPREZENTARE A GRAFULUI............................................. 86
4.2.1. Matricea de inciden ................................................................. 86
4.2.2. Matricea de adiacen ................................................................ 87
4.2.3. Lista de adiacen i lista de inciden ....................................... 88
4.3. STRUCTURI DE DATE ............................................................................ 89
4.3.1. Liste ............................................................................................. 89
4.3.2. Fire de ateptare ......................................................................... 89
4.3.3. Stive ............................................................................................. 89
4.3.4. Arbori .......................................................................................... 90
4.4. ALGORITMI PE GRAFURI ....................................................................... 90
4.4.1. Cutare n adncime ................................................................... 90
4.4.2. Algoritmul de cutare n lrgime ................................................ 92
4.4.3. Graf de acoperire ........................................................................ 93
4
Ciclu de prelegeri la cursul Matematica discret
4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru determinarea
drumului minim ........................................................................................... 94
4.4.5 Algoritmul Bellman - Calaba ...................................................... 95
4.5. REELE DE TRANSPORT ........................................................................ 96
4.5.1. Noiuni generale.......................................................................... 96
4.5.2. Algoritmul Ford-Fulkerson ......................................................... 97
4.6. EXERCIII I PROBLEME ....................................................................... 99
5. MODELE ALGORITMICE ...................................................................... 102
5.1. PRECIZAREA NOIUNII DE ALGORITM ................................................. 102
5.1.1. Proprietile algoritmilor.......................................................... 103
5.1.1.1. Obiecte algoritmice ........................................................... 103
5.1.1.2. Memoria ............................................................................ 104
5.1.1.3. Paii algoritmului ............................................................. 104
5.1.1.4. Determinism ...................................................................... 104
5.1.1.5. Rezultativitate ................................................................... 105
5.1.1.6. Descrierea i mecanismul de realizare a algoritmului ....... 105
5.1.2. Metode de precizare a noiunii algoritm .............................. 105
5.2. MAINI TURING ................................................................................. 106
5.2.1. Componentele unei MT i principiul de funcionare ................. 106
5.2.2. Configuraia unei maini Turing ............................................... 108
5.2.3. Funcii calculabile Turing ........................................................ 108
5.2.3.1. Maina Turing T+ .............................................................. 109
5.2.3.2. Maina Turing Tcop ............................................................ 110
5.2.4. Maina matematic Turing ....................................................... 110
5.2.5. Operaii cu mainile Turing ...................................................... 111
5.2.5.1. Maina T2x ................................................................................ 112
5.2.6. Calcularea predicatelor cu ajutorul mainii Turing ................. 113
5.2.6.1. Maina - numr par..................................................... 113
5.2.6.2. Maina salt condiionat .................................................. 114
5.2.7. Maina Turing universal ......................................................... 114
5.2.8. Teza lui Turing .......................................................................... 116
5.2.9. Problema opririi ....................................................................... 117
5.3. EXERCIII I PROBLEME ..................................................................... 119
BIBLIOGRAFIE. ............................................................................................ 120
5
Ciclu de prelegeri la cursul Matematica discret
PREFA
Lucrarea prezint o introducere n metodele matematice utilizate n
informatic i este o ncercare de a oferi, n primul rnd studenilor, un material
util, dar i cu gndul la nespecialist i la viitorul specialist. Sunt tratate doar
cteva din compartimentele matematicii discrete, care studiaz organizarea i
ordonarea structurilor, legate de mulimi finite: corespondene i relaii, algebre
i logici, grafuri i modele de algoritmi. Lipsesc unele capitole, cum ar fi
combinatorica i probabilti discrete, automate i limbaje formale, etc, care sunt
studiate conform planului de studiu n cadrul altor discipline.
Am ncercat s combin stricteea demonstraiilor cu exemple relaxante,
tinznd s prezint n mod unitar unele concepte care, de obicei, sunt obiectul unor
lucrri separate de electronic, calculatoare sau chiar inteligen artificial.
Dup o succint introducere, n capitolul 2 (de nceput), sunt tratate noiuni
fundamentale, cum ar fi mulimi, corespondene, funcii, operaii, relaii, algebre,
modele, sisteme algebrice. Am acordat o atenie deosebit algebrei relaionale,
care este fundamentul bazelor de date relaionale.
Capitolul 3 este consacrat prezentrii bazelor logicii matematice, ncepnd cu
logica boolean i pn la logica fuzzy. Noiunile de funcii ale algebrei logicii,
forme canonice, circuite logice sau minimizarea funciilor booleene, extrem de
importante pentru un viitor calculatorist, au migrat din domeniul tehnic n cel
fundamental matematic. Acelai lucru s-a produs i cu logica enunurilor, logica
de ordinul unu sau logica fuzzy - fundamentul matematic al dispozitivelor
tehnice, bazate pe inteligena artificial.
n capitolul 4 sunt expuse bazele teoriei grafurilor de la noiuni generale i
metode de reprezentare pe calculator pn la algoritmi clasici, propui de
matematicieni cu mult nainte de apariia informaticii, dar fr de care
tehnologiile informaiei nu pot exista.
ncercarea de a preciza noiunea de algoritm este fcut n ultimul capitol.
Dintre toate modelele algoritmice cunoscute sunt prezentate doar mainile Turing
n sperana c acestea vor trezi cititorului un interes ct de mic pentru a face
cunotin cu celelalte modele.
Ciclul de prelegeri a fost testat pe mai multe generaii de studeni, pe care i
mulumesc i pe aceast cale, corespunde programei analitice a cursului
Matematica discret pentru facultatea Calculatoare, Informatic i
Microelectronic de la Universitatea Tehnic a Moldovei, dar, sper, poate fi util
tuturor celor interesai de domeniu.
6
Ciclu de prelegeri la cursul Matematica discret
1. INTRODUCERE
Prezenta lucrare este dedicat metodelor matematicii discrete, aplicate n
informatic i are ca destinatari pe studenii i specialitii n tiina
calculatoarelor i tehnologia informaiei, la fel ca i pe toi doritorii s fac
cunotin cu acest domeniu matematic.
Matematica tradiional, inclusiv matematica aplicat, care formeaz
fundamentul tiinelor tehnice clasice, s-a conformat pe parcursul anilor
cerinelor acestora. Exist monografii i manuale, lucrri metodice i ndrumare
consacrate problemelor legate de tiinele tehnice clasice i metodele matematice
respective. Nimeni nu mai consider necesar s explice noiunile legate de
calculul diferenial sau integral n cadrul electrotehnicii sau termodinamicii. Nu
este aceeai situaie i n cazul disciplinelor din tiina calculatoarelor,
informatica teoretic i aplicat, inclusiv, sisteme expert sau inteligena
artificial. Foarte muli autori sunt convini de necesitatea de a ncepe de la
"zero", explicnd ce este o funcie logic sau un tabel de adevr, un circuit sau un
ciclu ntr-un graf. Lucrarea de fa este o ncercare de a permite viitorilor autori
s se concentreze totalmente problemelor tehnice tratate.
Un alt obiectiv este legat de faptul c majoritatea inginerilor consider
matematica un fel de dicionar mare. Este suficient s poi doar localiza
informaia necesar, deschizndu-l la pagina respectiv. Inginerii sunt obligai s
"iubeasc" formulele, dar nu i teoremele (ca s nu vorbim de demonstrarea lor).
ns domeniile de vrf ale tiinei contemporane cer cu insisten s fie schimbat
aceast mentalitate, or problemele tehnico-tiinifice principale sunt legate nu att
de lucrul cu modele cunoscute, ct de elaborarea unor modele noi. Pentru aceasta
este necesar ca matematica s fie nu numai o metod de calcul, ci i una de
gndire.
2. SISTEME ALGEBRICE
2.1. Mulimi i submulimi
2.1.1. Noiuni generale
Teoria mulimilor studiaz conceptele de mulime i de infinit i legile de
operare cu mulimile. Noiunea de mulime este una din noiunile primare ale
matematicii i, ca i majoritatea noiunilor primare nu are o definiie unanim
acceptat. George Cantor (1845-1918) a definit astfel aceast noiune: "neleg
prin mulime, n general, tot ceea ce este mult, dar care poate fi conceput ca o
entitate, adic orice colecie de anumite obiecte putnd fi nchegate ntr-un
7
Ciclu de prelegeri la cursul Matematica discret
ntreg cu ajutorul unei legi oarecare". Obiectele care formeaz mulimile se
numesc elemente. De obicei, elementele se noteaz cu litere mici, iar mulimile
cu litere mari cu sau fr indici. Elementele se iau n acolade i se separ prin
virgule.
Vom nota apartenena elementului a mulimii C n felul urmtor: a C, iar
dac g nu aparine mulimii C se va scrie g C. Mulimile pot fi finite sau
infinite.
Expresia x S semnific, deci, faptul c elementul x este un element al
mulimii S. Dac x1, x2,..., xn sunt toate elemente ale mulimii S, atunci poate fi
scris S={x1, x2,..., xn}. Fiecare x trebuie s fie distinct; nu putem repeta scrierea
unui element ntr-o mulime. Ordinea n care elementele sunt scrise n cadrul
mulimii este arbitrar - mulimile nu posed o structur intern.
Numrul elementelor unei mulimi finite se numete cardinalul acestei
mulimi.
Cardinalul mulimii A se noteaz prin |A|. Despre cardinalul mulimilor
infinite se va discuta n paragrafele urmtoare. Un loc aparte i este rezervat
mulimii de cardinal zero (fr elemente, { }). Aceast mulime se numete
mulime vid i se noteaz prin .
Exemplul 2.1. Fie A = {1, 3, 6}; altfel spus, A este mulimea care are ca elemente
valorile ntregi 1, 3 i 6, alte elemente nu exist. Putem scrie 1A, 3
A i 6 A. Din contra, afirmaia 2 A este fals ca i oricare alta,
care afirm c altceva poate fi element din A.
Mulimile pot avea ca elemente alte mulimi. De exemplu, fie B = {{1,
2, 3}, 3, }. B are aici trei elemente. Primul element este mulimea {1,
2, 3}, al doilea este numrul ntreg 3, iar al treilea este mulimea vid.
Urmtoarele afirmaii sunt juste: {1, 2, 3} B, 3 B, i B.
Afirmaia 1 B est fals. Adic, din faptul c 1 este element al unuia
dintre elementele lui B nu rezult c 1 este i element al lui B.
8
Ciclu de prelegeri la cursul Matematica discret
Exemplul 2.3. Toate relaiile de mai jos sunt adevrate:
1. {1, 2, 3} {1, 2, 3, 5}
2. {1, 2, 3} {1, 2, 3, 5}
3. {1, 2, 3} {1, 2, 3}
Remarcm, c o mulime este ntotdeauna i submulime a sa (p.3), dar
niciodat submulime proprie, adic afirmaia {1, 2, 3} {1, 2, 3} este
fals.
Pentru fiecare mulime A exist o mulime (A) care conine toate prile lui A
(inclusiv mulimea vid i A). Aceast mulime (A) se va numi booleanul lui A.
Exemplul 2.4. Pentru mulimea F = {a, b, c} vom avea (F)= {, {a}, {b}, {c}, {a,b},
{a,c}, {b,c}, {a,b,c}}. Adic, (F) este o mulime cu opt elemente, fiecare
element fiind la rndul lui o mulime. Un alt exemplu, () = {}
deoarece S. Notm c {}, mulimea care conine mulimea vid nu
este aceeai ca i mulimea vid. Prima are un element - , iar mulimea
vid nu are nici unul.
Mulimea tuturor obiectelor posibile n cadrul unei cercetri concrete vom
numi mulime universal sau universum (fr pretenii de strictee) i se
noteaz prin E sau U.
9
Ciclu de prelegeri la cursul Matematica discret
primare va fi notat n acest caz {x | x N i P(x)}. Aceast expresie
definete mulimea infinit {2, 3, 5, 7, 11, ...}.
Este tentant s presupunem, c mulimile sunt finite sau c exist un ntreg n
i mulimea considerat are exact n elemente. De exemplu, mulimea {1, 3, 6} are
trei elemente. ns, n foarte multe cazuri mulimile sunt infinite, adic nu exist
un ntreg care ar limita numrul elementelor mulimii. Iat cteva exemple:
N - mulimea numerelor naturale;
Z - mulimea numerelor ntregi;
R mulimea numerelor reale;
C - mulimea numerelor complexe.
Plecnd de la aceste mulimi pot fi create prin abstracie alte mulimi infinite.
Exemplul 2.6. Mulimea {x | x Z i x < 3} este mulimea tuturor numerelor ntregi
negative la care se adaug 0, 1 i 2. Mulimea {x | x Z i x Z}
reprezint mulimea numerelor ntregi care sunt ptrate perfecte, {0, 1,
4, 9, 16, ...}.
A treia metod const n definirea mulimilor prin intermediul unei
proceduri generatoare, care va descrie modalitatea de obinere a elementelor
mulimii din elemente iniiale i/sau elemente, care au fost obinute anterior. Se
vor considera elemente ale mulimii toate obiectele care pot fi construite cu
ajutorul acestei proceduri. De pild, mulimea M = {1, 2, 3, 5, 8, 13,...} poate fi
definit cu ajutorul urmtoarei proceduri:
1) x1 = 1, x2 = 2;
2) xi+2 = xi+1 + xi, i = 1, 2, 3,....
O mulime poate fi definit cu ajutorul funciei caracteristice, care are
domeniul de definiie mulimea universal U, iar domeniul de valori mulimea {0,
1}:
1, dac x U aparine lui M
i (x) =
0, n caz contrar.
10
Ciclu de prelegeri la cursul Matematica discret
(x) ar trebui s ia valori ntre 0 i 1. Aceste elemente formeaz obiectul teoriei
mulimilor vagi (fuzzy) [1].
Exemplul 2.7. Mulimea A = {x | x>>1} este definit ca setul de numere mult mai mari
ca unu. n sensul obinuit A nu poate fi considerat o mulime. Se poate
spune precis, c numerele mai mici dect 1 nu aparin lui A. Numerele mai
mari ca 1 pot fi considerate elemente din A cu un anumit grad de
subiectivism: cu ct numrul considerat este mai mare cu att pare mai
corect s admitem, c acesta aparine lui A. Ultima afirmaie poate fi
descris, de exemplu, cu ajutorul funciei caracteristice de mai jos
0, dac x 1
A(x) = 1 , dac x > 1.
1
1
x 1
O mulime fuzzy A se va defini utiliznd aplicaia mulimii universale U n
segmentul [0, 1], adic A(x):U[0, 1], care determin gradul de apartenen a
fiecrui x U mulimii fuzzy A. n acest caz funcia A(x) se numete funcie de
apartenen. Altfel spus, o mulime fuzzy A poate fi definit ca o mulime de
perechi (x, A(x)), n care xU, iar A(x) este funcia de apartenen.
Exemplul 2.8. Mulimea fuzzy a numerelor naturale "nu prea mari" poate fi definit ca
mulimea A a perechilor {(1,1), (2,1), (3,1), (4,0.9), (5,0.8), (6,0.7),
(7,0.6), (8,0.5), (9,0.3), (10,0.1), (11,0),(12,0),...}.
Mulimea universal n acest caz este mulimea numerelor naturale, iar
funcia de apartenen este definit, evident, subiectiv.
11
Ciclu de prelegeri la cursul Matematica discret
Reuniunea a dou mulimi A i B se va numi mulimea C (C = AB), care
conine toate elementele lui A i toate elementele mulimii B, alte elemente nu
are.
De exemplu, pentru A = {a, b, c, d} i B = {c, d, e, f} reuniunea lor va fi
mulimea C = {a, b, c, d, e, f}. Cu alte cuvinte, C = A B = {x | xA sau xB}.
Reuniunea este o operaie
a) comutativ: A B = B A;
b) asociativ: (A B) C = A (B C) = A B C
c) este elementul su neutru: A=A
d) idempotent: AA=A
Remarcm, c A B atunci i numai atunci, cnd A B = B.
Intersecia a dou mulimi A i B se va numi mulimea C = AB, care
conine toate elementele comune ale acestor dou mulimi: C = {x | xA i xB}.
Pentru aceleai A i B din exemplul precedent AB = {c, d}.
Intersecia este o operaie
e) comutativ: A B = B A;
f) asociativ: (A B) C = A (B C) = A B C
g) este elementul su absorbant: A=
h) idempotent: AA=A
Remarcm, c A B atunci i numai atunci, cnd A B = A.
Operaiile de reuniune i intersecie pot fi definite pentru o familie de mulimi
Ai, i = 1,...,n:
Ai = {x | xA1 sau xA2 sau ... xAn},
Ai = {x | xA1 i xA2 i ... xAn}.
Diferena a dou mulimi A i B, notat A B (sau A\B) se numete mulimea
C={x | xA i xB}. Pentru aceleai A i B vom avea A - B = {a, b}, iar B - A={e,
f}. Observm necomutativitatea acestei operaii.
Diferena simetric se definete ca C = A B = {x | xA i xB sau xA i
xB}. Pentru exemplul precedent vom avea AB = BA = {a, b, e, f}.
Exemplul 2.9. Fie S, mulimea {1, 2, 3} i T mulimea {3, 4, 5}. Atunci S T = {1, 2, 3,
4, 5}, S T = {3}, i S - T = {1,2}. Adic S T conine toate elementele
care apar fie n S fie n T. Chiar dac 3 apare o dat n S i nc o dat n
T, el va fi regsit o singur dat n ST, deoarece elementele nu pot s se
repete, analogic pentru mulimea ST. Mulimea S - T conine elementele
12
Ciclu de prelegeri la cursul Matematica discret
1 i 2, deoarece ele sunt n S, dar nu se afl n T. Elementul 3 nu este n
mulimea S - T deoarece, dei este n S, el aparine i lui T.
13
Ciclu de prelegeri la cursul Matematica discret
2. se va lua un element arbitrar x din F i se va demonstra c el aparine de
asemenea i lui E.
Exemplul 2.10. S demonstrm asociativitatea reuniunii i diferenei, (S - (T R)) ((S
- T) - R). ncepem cu presupunerea, c x aparine expresiei din stng.
Secvena etapelor este artat n tab.2.1.
Tabelul 2.1. Prima jumtate a demonstraiei.
Etapa Justificarea
1) x este din S - (T R) dat
2) x este din S definiia operaiei - i (1)
3) x nu este n T R definiia operaiei - i (1)
4) x nu este n T definiia operaiei i (1) (3)
5) x nu aparine lui R definiia operaiei i (3)
6) x aparine lui S - T definiia operaiei - cu (2) i (4)
7) x este n (S - T) - R definiia operaiei - cu (6) i (5)
Am ajuns la concluzia, c x aparine i prii drepte. Concluzie:
deoarece x a fost luat arbitrar, partea stng este submulime a prii
drepte. Dar asta nu-i totul. Mai trebuie s demonstrm, c i partea
dreapt este submulime a prii stnga, adic dac un x arbitrar este din
(S-T)R, atunci el se conine i n S - (T R).
Tabelul 2.2. A doua jumtate a demonstraiei.
Etapa Justificarea
1) x este din S - (T - R) dat
2) x este din S-T definiia operaiei - i (1)
3) x nu este n R definiia operaiei - i (1)
4) x este n S definiia operaiei - i (2)
5) x nu aparine lui T definiia operaiei - i (2)
6) x nu aparine lui R T definiia operaiei cu (3) i (5)
7) x este n S (T R) definiia operaiei - cu (6) i (4)
Am artat acest lucru n tabelul 2.2.
Exemplul 2.11. Demonstrm, c dac S T, atunci S T T. Admitem c x S T.
Conform definiiei reuniunii
1. x aparine sau lui S,
2. sau lui T.
n primul caz, deoarece noi am presupus S T, concluzionm c x T.
n cazul (2), x este imediat n T. Deci, n ambele cazuri x este element de
T, i am terminat prima jumtate a demonstraiei.
Fie acum x T. n acest caz x S T conform definiiei de reuniune.
Deci, T (ST), ceea ce constituie partea a doua a demonstraiei.
Concluzia: (S T) T.
14
Ciclu de prelegeri la cursul Matematica discret
2.5. Vectori i produs cartezian
2.5.1. Definiii
Un set ordonat de elemente se va numi vector sau cortej. Aceasta nu este
definiia noiunii de vector, care la fel ca i noiunea de mulime nu se definete.
Elementele, care formeaz vectorul se numesc coordonate sau componente i se
numeroteaz de la stnga spre dreapta. n acest sens se va nelege noiunea de
set ordonat. Vectorii se scriu n paranteze rotunde, componentele se vor separa,
la necesitate, prin virgul. Numrul de componente se numete lungimea sau
dimensiunea vectorului.
De exemplu, v = (2,3,0,3) este un vector de lungime 4 i difer de b =
(3,2,0,3). Observm, c este admis coincidena coordonatelor. Vectorul de
lungime 2 se mai numete pereche sau cuplu, iar de lungime n - n-uplu.
Doi vectori sunt egali dac au aceeai lungime, iar componentele respective
coincid.
Se numete produs cartezian a dou mulimi A i B (se noteaz AxB)
mulimea tuturor perechilor (a,b) pentru care aA, bB. Pentru A = B vom avea
AxA = A2. Prin analogie, A1xA2x...xAn se va numi mulimea tuturor vectorilor de
lungime n (a1,a2,...,an) pentru care a1A1, a2A2,..., anAn. Dac
A1=A2=...=An=A produsul cartezian A1xA2x...xAn se va nota An.
Exemplul 2.12. Mulimea R x R = R2 este mulimea tuturor perechilor (a,b) pentru care
a, bR i reprezint coordonatele punctelor unui plan. Aceast
reprezentare a punctului unui plan a fost propus de ctre
matematicianul i filosoful francez Rn Descartes (1596-1650) din care
cauz produsul a dou mulimi i poart numele.
Fie A o mulime finit de simboluri (litere, cifre, semne de operaii i
ortografice, etc.), care, de obicei, se numete alfabet. Elementele
mulimii An se numesc cuvinte de lungime n n alfabetul A. Mulimea A
=A1A2A3... definete toate cuvintele alfabetului A.
Exemplul 2.13. Dac A = {c, d} i B = N3, elementele produsului AxB sunt 6 cupluri (c,
1), (c, 2), (c, 3), (d, 1), (d, 2), (d, 3), iar elementele mulimii BxA sunt:
(1,c), (2, c), (3, c), (1, d), (2, d), (3, d).
Ultimul exemplu arat cum poate fi format lista elementelor produsului AxB,
cnd A i B sunt definite prin enumerarea elementelor. Metoda este general:
produsul a dou mulimi, definite prin enumerare, poate totdeauna fi evideniat
prin enumerare. O alt metod de inventariere a cuplelor unui produs AxB sunt
diagramele carteziene. O diagram cartezian este un dreptunghi mprit n
celule (casete), fiecare caset corespunznd unui cuplu (fig. 2.1 2.4). Fiecare
15
Ciclu de prelegeri la cursul Matematica discret
linie a dreptunghiului corespunde unui element al mulimii A, vom avea aici toate
cuplurile, care au prima component din A. Fiecare coloan corespunde unui
element din B i n acest mod vom depista n acest dreptunghi toate cuplurile,
care au acest element n calitate de componenta a doua.
Exemplul 2.14. Pentru mulimile din exemplu 2.13, figura 2.1 reprezint diagrama
cartezian a produsului AxB, iar figura 2.2 pe cea a produsului BxA.
Ordinea de aranjare a elementelor n A i B determin poziia cuplurilor
n diagram; dac va fi modificat aceast ordine diagrama nu va mai fi
aceeai.
(1, c) (1, d)
(c, 1) (c, 2) (c, 3) (1, c) (1, d)
(d, 1) (d, 2) (d, 3) (1, c) (1, d)
Fig.2.1. Diagrama produsului AxB Fig.2.2. Diagrama produsului BxA
c d
1 2 3 1
c 2
d
3
Fig.2.3. Diagrama produsului AxB
Fig.2.4. Diagrama produsului BxA
Adesea elementele mulimilor A i B sunt indicate n partea stng i,
respectiv, superioar a dreptunghiului, elementele lui A corespunznd
liniilor, iar cele ale lui B coloanelor diagramei (fig.2.3 i 2.4).
La concret, a construi un n-uplu nseamn s alegem un prim obiect
(component) din prima mulime, un al doilea obiect dintre elementele mulimii a
doua i tot aa pn la componenta cu numrul n din mulimea cu acelai numr.
Putem ntlni foarte multe n-upluri n viaa de toate zilele.
Exemplul 2.15. Figura de mai jos reprezint lista bucatelor, propuse ntr-o oarecare zi la
cantina studeneasc. Vom considera, c a compune un meniu nseamn
s se aleag un aperitiv, un fel unu, un fel doi i un desert. Dac vom
nota prin A
Lista bucatelor la cantin pentru ______2002
Aperitive Felul doi
1. Salat de roii 1. Cotlet
2. Salat de varz 2. Antrecot
3. Salat de castravei 3. Ciulama de puior
4. Julien de ciuperci 4. Tocni cu mmligu
Felul unu Desert
1. Ciorb de burt 1. Suc de mere
2. Ciorb cu perioare 2. Compot de ananas
3. Zeam de puior 3. Suc mango fresh
16
Ciclu de prelegeri la cursul Matematica discret
mulimea aperitivelor, prin F1, F2 mulimile felurilor unu i doi,
respectiv, iar prin D deserturile, fiecare meniu, de exemplu: (salat
de roii, ciorb de burt, tocni cu mmligu, suc mango fresh),
este un element al produsului AxF1xF2xD.
17
Ciclu de prelegeri la cursul Matematica discret
element din pr2G = B i injectiv dac fiecare element din domeniul de valori
corespunde unui singur element din domeniul de definiie.
O coresponden se numete biunivoc (coresponden 1:1) dac ea este
total definit,
surjectiv,
funcional,
injectiv.
Exemplul 2.16. Reprezentarea lunilor anului prin numerele lor este o coresponden
biunivoc ntre mulimea lunilor i mulimea N12 a numerelor ntregi
de la 1 pn la 12.
Teorema 2.2. Dac ntre dou mulimi A i B exist o coresponden biunivoc,
atunci
|A|=|B|.
Demonstraia este banal i poate fi realizat prin metoda reducerii la absurd.
ntr-adevr, dac teorema nu este just, pot avea loc dou cazuri:
1. |A| > |B|
2. |A| < |B|
n primul caz, deoarece corespondena este total definit, n A pot fi
determinate dou elemente crora le va corespunde unul i acelai element bB -
nu se respect injectivitatea. Cazul |A| > |B| trebuie exclus.
n al doilea caz, corespondena fiind surjectiv n B vor fi cel puin dou
elemente care corespund unuia i aceluiai aA - nu se respect funcionalitatea.
i ntr-un caz i n altul am ajuns la contradicie, deci, nu ne rmne dect s
fim de acord cu afirmaia teoremei.
Prima afirmaie din teorema precedent, care mai poate fi formulat dac |A|
> |B|, atunci nu poate exista o injecie de la A la B, este o formulare a celebrei
proprieti, cunoscute sub numele principiul sertarelor (celulelor) sau principiul
lui Dirichlet: Dac trebuie s repartizm o mulime de obiecte n sertare i
avem mai multe obiecte dect sertare, exist ntotdeauna cel puin un sertar,
care conine mai mult de un obiect.
Teorema 2.2 permite:
stabilirea egalitii cardinalelor a dou mulimi fr calcule i
determinarea cardinalului unei mulimi prin stabilirea unei corespondene
biunivoce a acestei mulimi cu o alt mulime, cardinalul creia este
cunoscut sau uor de calculat.
18
Ciclu de prelegeri la cursul Matematica discret
2.6.1. Cardinalul booleanului unei mulimi
Teorema 2.3. Dac A este o mulime finit i |A|= n, atunci numrul tuturor
submulimilor mulimii A este 2n (|(A)|=2|A|=2n).
Demonstraie. Vom numerota elementele mulimii A cu numere de la 1 pn la
n: A = {a1, a2,..., an} i vom considera mulimea Bn de vectori binari de lungime
n. Fiecrei submulimi A*A i vom pune n coresponden un vector v = (v1,
v2,...,vn) Bn n aa mod nct vi=0 dac aiA* i vi=1 dac aiA*. Astfel,
mulimii vide i va corespunde vectorul (00...0), iar lui A vectorul (11...1).
Evident corespondena stabilit ntre mulimea prilor lui A i mulimea
vectorilor binari de lungime n este biunivoc i de aceea |(A)| = |Bn|. Dar Bn =
BxBx...xB i B = {0, 1}. Conform consecinei teoremei 2.1, |Bn| = |B|n = 2n, ceea
n
ce trebuia demonstrat.
19
Ciclu de prelegeri la cursul Matematica discret
2.6.3. Funcii. Compoziia i superpoziia funciilor
Se numete funcie o coresponden funcional. Dac funcia f stabilete o
coresponden ntre mulimile A i B se va spune c f are tipul de la A la B i se
va nota f: AB. Dou funcii f i g se numesc egale, dac f(x)=g(x) pentru orice
valoare a lui x (se mai noteaz f=g). Funcia total definit f: AB se numete
aplicaie (funcie total) a lui A n B. Dac corespondena f n acest caz este
surjectiv vom spune c are loc aplicaia lui A pe B. Aplicaia de tipul AA se
numete transformarea (transformata) lui A.
Funcia f: A1xA2x...xAnB se numete funcie n-ar (funcie de n argumente).
Pentru n = 1 vom vorbi de funcii unare, pentru n = 2 funcii binare, etc.
Exemplul 2.17. a) ntr-o arhiv dosarele sunt plasate n csue speciale pentru
pstrare i accesare rapid. Asociind fiecrui dosar csua, care l
conine, se va defini o funcie de tipul mulimea dosarelor n
mulimea csuelor. Imaginea acestei funcii este mulimea csuelor
ocupate (nevide). Zicnd c aceasta este o aplicaie spunem c toate
dosarele sunt plasate n csue. Aplicaia dat este injectiv, dac
fiecare csu conine cel mult un dosar. Dac nu exist csue libere
aplicaia este surjectiv.
b) Numrul de nmatriculare a unui automobil este format dintr-o
succesiune de litere i cifre n felul urmtor: 2, 3 sau 4 litere urmate de
2, 3 sau 4 cifre, de exemplu, CES 919. n termeni matematici
nmatricularea automobilelor definete o funcie, care pune n
coresponden mulimii automobilelor A mulimea B, elementele
creia sunt obinute n modul susnumit.
c) Dac A={Andrei, Elena, Mihai, Ana, Victor, Valentina, Eugen,
Corina, Christian} este o mulime de persoane concrete i B o
mulimea format din zilele anului, poate fi definit o aplicaie f :
AB asociind fiecrui element din A ziua sa de natere. Aplicaia dat
poate fi reprezentat prin tabelul su de valori. Este uor s se ajung
la concluzia c aceast aplicaie poate s nu fie injectiv.
Exemplul 2.18. Fie A o submulime a unei mulimi B. Aplicaia f: AB definit prin
f(x) = x pentru orice xA se numete injecie canonic a lui A n B.
Dup cum reiese i din denumire aceast aplicaie este injectiv.
Fie GAxB. Dac corespondena HBxA are loc atunci cnd perechea
(b,a) aparine lui H dac i numai dac (a,b)G, H se va numi inversa lui G
i se va nota prin G-1. Dac corespondena invers funciei f:AB este
funcional ea se va numi funcie invers funciei f i se va nota prin f -1.
20
Ciclu de prelegeri la cursul Matematica discret
Fie f:AB i g:BC. Funcia h:AC se va numi compunerea funciilor f i
g (vom nota fog), dac are loc egalitatea h(x)=g(f(x)), n care x A. Se mai spune
c h a fost obinut prin substituirea lui f n g.
Menionm fr demonstraie [2]:
Teorema 2.5. Dac f i g sunt injective, la fel va fi i gof.
Teorema 2.6. Dac f i g sunt surjective, la fel va fi i gof.
Teorema 2.7. Dac f i g sunt bijective, la fel va fi i gof i f-1og-1.
Pentru funcii de mai multe argumente f:AmB, g:BnC sunt posibile mai
multe variante de substituie, care conduc la funcii de diferite tipuri. Un interes
aparte prezint cazul cnd avem funcii de tipul f1:Am1A,..., fn:AmnA. n acest
caz sunt posibile orice substituii de funcii i redenumiri de argumente. Funcia
obinut din f1,..., fn printr-o substituire oarecare i redenumirea argumentelor se
numete superpoziia f1,..., fn.
2.7. Relaii i proprietile lor
2.7.1. Noiuni introductive
Se numete relaie n-ar submulimea R a produsului cartezian A1xA2An:
R A1xA2An. Vom zice c a1,..., an, sunt n relaia R dac (a1,..., an)R.
Cardinalul mulimii vectorilor, care formeaz relaia se numete cardinalul
relaiei.
O relaie unar este o parte a mulimii M i determin o proprietate a
elementelor unei submulimi a mulimii M din care cauz pentru n = 1 denumirea
de relaie practic nu este utilizat. Un interes mai mare prezint cazul cnd n = 2
- relaiile binare. Dac a i b se afl n relaia R, aceasta se va scrie aRb.
Exemplul 2.19. Pentru mulimea N: relaia "<" are loc n cazul perechii (3,9) i nu are
loc pentru perechea (6,4). Relaia "a fi divizor" are loc pentru
perechea (7,35) i nu are loc pentru (18,2) sau (4,9). Pentru o mulime
de oameni pot fi relaii de tipul "a fi prieteni", "a locui in acelai
ora", "a fi fiu", etc.
Restricia lui R pe M1M este R1 = RM12.
Pentru definirea unei relaii pot fi utilizate oricare din metodele de definire a
mulimilor. O posibilitate suplimentar este matricea de relaie. Pentru mulimea
M = {a1, a2,..., am} aceasta este o matrice mxm n care
1 dac aiRaj,
a(i,j) =
0 n caz contrar.
21
Ciclu de prelegeri la cursul Matematica discret
Deoarece relaia este n ultim instan o mulime, pot fi executate aceleai
operaii (reuniune, intersecie, etc.) i cu relaiile.
Noiunea relaie formeaz fundamentul bazelor de date de tip relaional.
Relaiile sunt analogul matematic al tabelelor. Chiar termenul reprezentarea
relaional a datelor, introdus de ctre Edgar Codd [3], provine de la termenul
relation. Dou momente trebuie subliniate n mod deosebit.
Primul moment: toate elementele unei relaii sunt vectori (cortejuri) de
acelai tip. Din aceast cauz cortejurile sunt analogul liniilor ntr-un simplu
tabel, adic un tabel n care fiecare linie conine acelai numr de cmpuri, iar n
cmpurile respective sunt pstrate date de acelai tip. De exemplu, relaia, care
conine trei cortejuri {(1, Petrescu Diana, TI-981), (3, Popescu Adrian, TI-982),
(5, Ivanov Vadim, TI-983)} poate fi considerat tabel cu date despre trei studeni
(numrul de ordine, numele i prenumele i grupa academic). Acest tabel are
trei linii i trei coloane, n fiecare coloan coninndu-se date de acelai tip.
Din contra, mulimea {(1), (1, 2), (1, 2, 3)}, care conine cortejuri numerice
de tipuri diferite, nu este relaie nici n R, nici n R2, nici n R3. Din cortejurile,
care intr n aceast mulime nu poate fi construit un tabel simplu.
Al doilea moment: relaia poate s nu cuprind toate cortejurile posibile ale
produsului cartezian (cu excepia cazului extrem, cnd relaia este chiar produsul
cartezian). Aceasta nseamn, c fiecrei relaii i corespunde un criteriu, care
permite s se determine care dintre cortejuri aparin relaiei date i care nu. Acest
criteriu determin sensul (semantica) relaiei.
O relaie se numete inversa relaiei R (se va nota R-1) dac aiRaj are loc
atunci i numai atunci cnd are loc ajR-1ai.
22
Ciclu de prelegeri la cursul Matematica discret
Relaia se va numi antisimetric, dac din aiRaj i ajRai rezult c ai=aj .
Relaia "" este antisimetric, iar "a locui n acelai ora" - simetric.
Relaia R se numete tranzitiv dac pentru oricare a, b i c din aRb i bRc
rezult aRc. Relaiile "a locui n acelai ora", "egal", "<" sunt tranzitive, iar "a
fi fiu" nu este tranzitiv.
O relaie binar se numete relaie funcional, dac atunci cnd (x, y) R i
(y, z) R vom avea n mod obligator x=z (univocitatea funciei).
Pentru oricare relaie R poate fi definit noiunea de nchidere tranzitiv R*:
aR b (a se afl n relaia R* cu b), dac n M exist o secven de n elemente
*
a=a1,..., an-1, an = b n care pentru elementele vecine are loc R: aRa2, a2Ra3,...,
an-1Rb. Dac R este tranzitiv, atunci R*=R. Pentru relaia "a fi fiu" relaia "a fi
descendent direct" este nchidere tranzitiv (este reuniunea relaiilor "a fi fiu", "a
fi nepot", "a fi strnepot" s.a.m.d.).
O relaie care posed proprietile reflexivitate, simetrie i tranzitivitate se
numete relaie de echivalen.
Se numete relaie de ordine oricare relaie care posed proprietile
reflexivitate, antisimetrie i tranzitivitate. O relaie antireflexiv, antisimetric i
tranzitiv se numete relaie de ordine strict. Dou elemente a i b se numesc
comparabile conform relaiei de ordine R dac are loc aRb sau bRa. O mulime
M cu o relaie de ordine definit pe M se numete total ordonat dac oricare
dou elemente din M sunt comparabile i parial ordonat, n caz contrar.
Exemplul 2.20. Relaiile "", "" pentru o mulime de numere sunt relaii de ordine,
iar "<", ">" - de ordine strict. Relaia de subordonare n cadrul unei
ntreprinderi definete o ordine strict (dar parial - nu pot fi
comparai colaboratorii diferitor departamente).
n alfabetul latin literele sunt aranjate ntr-o ordine binecunoscut: se
afl n relaia de precedare a literelor. Conform acestei relaii poate fi
stabilit relaia de precedare a cuvintelor - ordinea lexicografic a
cuvintelor (utilizat de exemplu n dicionare). Relaia de ordine
lexicografic poate fi definit i pentru informaii numerice. De
exemplu, n calculator data i anul sunt memorizate sub forma "anul,
luna, ziua" pentru ca ordinea de cretere a datei totale s coincid cu
ordinea lexicografic.
Exemplul 2.21. B este mulimea tuturor cuvintelor binare de orice lungime i
desemneaz unicul cuvnt binar de lungime 0. Dac m este un cuvnt
Termenul antisimetric nu a fost ales prea norocos, deoarece se poate crede c o relaie, care nu este
simetric este totdeauna antisimetric, ceea ce nu este corect.
23
Ciclu de prelegeri la cursul Matematica discret
binar de lungime p, vom nota biii acestuia m1, m2,..., mp. Relaia de
ordine , definit peste B, se numete de ordine lexicografic, dac:
a) m, m
b) pentru m i n de lungime p i q cu proprietatea 0 < p q
m n, dac m1=n1, m2=n2,..., mp=np,
m n, dac m1=n1, m2=n2,..., ms-1=ns-1, ms < ns, pentru 1s p,
n m, dac m1=n1,..., ms-1=ns-1, ms > ns, pentru 1 s p.
Cristina Vlad
Maria
Petre
24
Ciclu de prelegeri la cursul Matematica discret
Metoda 4. Cu ajutorul unui tabel al faptelor:
Cine iubete Pe cine iubete
Vlad Vlad
Petre Maria
Maria Petre
Maria Maria
Cristina Petre
Din punctul de vedere al bazelor de date de tip relaional mai convenabil
este ultima metod, deoarece permite pstrarea i manipularea cea mai simpl,
eficient i comod a datelor. ntr-adevr, enumerarea faptelor n form textual
este binevenit n cazul unei opere literare, dar este dificil de algoritmizat. Forma
grafic este cea mai elocvent i poate fi utilizat pentru reprezentarea final a
informaiilor, dar pstrarea datelor n form grafic presupune eforturi
suplimentare. Matricea relaiei este mai aproape de cerinele unui sistem
informaional, fiind comod pentru manipulare, dei adesea puternic rarefiat.
ns modificri neeseniale (de exemplu a aprut un oarecare Vasile care s-a
ndrgostit de nefericita Elena) pot conduce la modificarea ntregii matrice (vor
apare i linii i coloane noi). Tabelul faptelor este liber de toate acestea.
Ultima relaie nu este nici tranzitiv, nici simetric sau antisimetric, nici
reflexiv. Din aceast cauz ea nu este nici relaie de echivalen, nici relaie de
ordine, nici o oarecare alt relaie care ar conduce la ceva raional. Cea mai mare
parte a literaturii universale prezint interes anume din cauza, c relaia binar a
iubi nu este o relaie de echivalen. n particular, asta este cauza, c omenirea
nu se mparte n clase de echivalen de oameni, care se iubesc reciproc. De
cercetarea caracteristicilor acestei relaii s-au ocupat (i continu s se ocupe)
foarte muli experi, dintre care amintim pe M. Eminescu, L.Tolstoi, W.
Shakespeare, etc.
25
Ciclu de prelegeri la cursul Matematica discret
d) distributiv stnga fa de operaia g, dac pentru oricare a, b, c are loc
relaia
e) a(bgc) = (ab)g(ac), i distributiv dreapta dac (agb)c =
(ac)g(bc).
Dac exist un element e pentru care are loc ae = ea = a, atunci acest
element se numete neutru (sau unitate).
Exemplul 2.22. a) Pentru o mulime arbitrar U i mulimea tuturor prilor B(U),
algebra A = {B(U), , , } se numete algebr booleana a
mulimilor. Tipul ei este (2,2,1).
b) Algebra A = {R,+,x} se numete cmp al numerelor reale. Ambele
operaii sunt binare, deci tipul este (2,2).
26
Ciclu de prelegeri la cursul Matematica discret
O latice L este distributiv dac i numai dac
(ab)c = (ac)(bc),
(ab)c = (ac)(bc), a, b, cM.
Pentru dou algebre A = {C, 1,2,...,n} i B = {D, g1,g2,...,gn} de acelai tip
se numete omomorfismul algebrei A n algebra B aplicaia : CD, care
verific condiia
(i(cj1,..., cjl(i))) = gi((cj1),...,(cjl(i))) (2.5)
pentru toi i =1,..., n i toate elementele cjrC.
Un omomorfism biunivoc se numete izomorfism al algebrei A n algebra B.
Dac exist izomorfismul lui A n B, atunci exist i izomorfismul lui B n A -
algebrele A i B se vor spune izomorfe.
Pentru cazul A = B izomorfismul se va numi automorfism.
27
Ciclu de prelegeri la cursul Matematica discret
Intersecia RiRj a dou relaii compatibile Ri i Rj se va numi mulimea
tuturor cortejurilor care aparin simultan ambelor relaii.
Diferena Ri\Rj a dou relaii compatibile Ri i Rj se numete mulimea
tuturor cortejurilor care aparin lui Ri i nu aparin lui Rj .
Produs cartezian extins RixRj a dou relaii Ri i Rj se va numi mulimea
tuturor cortejurilor formate prin concatenarea lui aRi i a lui bRj.
De exemplu, dac Ri={(a,b),(a,c),(a,e)}, iar Rj = {(a,b,c),(c,d,e)}, atunci RixRj
= {(a,b,a,b,c), (a,b,c,d,e), (a,c,a,b,c), (a,c,c,d,e), (a,e,a,b,c), (a,e,c,d,e)}.
Algebra relaiilor i modelele sunt utilizate pentru formalizarea unor obiecte
reale. Vom exemplifica prin folosirea algebrei relaiilor n cazul bazelor
relaionale de date.
O baz de date de tip relaional este un tablou bidimensional n care
coloanele determin aa numitele domene (atribute), iar liniile sunt cortejuri de
valori concrete ale atributelor, care se afl n relaia R.
Exemplul 2.23. Relaia R5 - "examene" (v.tab. 2.3). Relaia R5 este o submulime a
produsului cartezian D1xD2xD3xD4xD5. Elemente ale domenului Di
sunt valorile atributelor:
D1 = {3-101, 3-501, 3-502, 3-310} - numerele auditoriilor unde au loc examenele;
D2 = {Matematica discret n inginerie, Microelectronica, Fizica, Circuite integrate,
Electrotehnica} - denumirea disciplinelor;
D3 = {conf.V.Popescu, conf. V.Negur, conf.A.Diligul, conf.V.ontea, prof.I.Samusi} -
examinatorii;
D4 = {3 iunie, 4 iunie, 8 iunie, 13 iunie} - data examenului;
D5 = {TI-961, TI-962, TI-963, C-941, C-942, C-951, C-952} - codul grupei.
Tabelul 2.3. Relaia examene.
R5 D1 D2 D3 D4 D5
1 3-101 Matematica discret conf. V.Popescu 3 iunie TI-961
2 3-202 Microelectronica prof. V.ontea 4 iunie C-951
3 3-310 Fizica prof. I.Samusi 3 iunie TI-962
4 3-101 Circuite integrate conf. V. Negur 4 iunie C-941
5 3-104 Electrotehnica conf. A. Diligul 3 iunie TI-951
6 3-101 Matematica discret conf. V. Popescu 8 iunie TI-962
7 3-101 Matematica discret conf. V. Popescu 13 iunie TI-963
8 3-202 Microelectronica prof. V. ontea 8iunie C-952
9 3-310 Fizica prof. I. Samusi 8iunie TI-961
10 3-101 Circuite integrate conf. V. Negur 8iunie C-942
Numerele 1, 2,..., 10 din prima coloan identific elemente ale relaiei R5.
28
Ciclu de prelegeri la cursul Matematica discret
2.10. Algebra relaional
Algebra relaional este o extensie a algebrei relaiilor n sens c signatura S
n afar de cele 4 operaii descrise anterior mai conine cteva operaii speciale,
cum ar fi proiecia, selecia, jonciunea. Mai pot fi incluse operaia de atribuire,
care permite s se pstreze n baza de date rezultatele calculelor unor expresii
algebrice, operaia de redenumire a atributelor, care d posibilitatea formrii
corecte a schemei relaiei rezultante, etc. Ideea principal a algebrei relaionale
const n faptul c, deoarece relaiile sunt mulimi, mijloacele de manipulare a
relaiilor se pot baza pe operaiile tradiionale cu mulimi, completate cu cteva
operaii suplimentare, specifice bazelor de date.
Exist mai multe abordri n definirea algebrei relaionale, care difer prin
setul de operaii i interpretarea lor, abordri n ultim instan echivalente. Vom
descrie n continuare o extensie a variantei iniiale, propuse de Codd [3]. Aici
signatura algebrei relaionale conine apte operaii, patru legate de mulimi i trei
speciale:
reuniunea relaiilor;
intersecia relaiilor;
diferena relaiilor;
produsul cartezian extins;
selecia;
jonciunea,
proiecia.
Operaiile enumerate mai sus pot fi interpretate dup cum urmeaz.
Din reuniunea a dou relaii rezult relaia, care include toate cortejurile
din cadrul relaiilor-operanzi.
Din intersecia a dou relaii rezult relaia, care include doar cortejurile
prezente n ambele relaii-operanzi.
Relaia diferena a dou relaii conine toate cortejurile primului operand,
care nu sunt prezente i n cel de-al doilea operand.
n rezultatul calculrii produsului cartezian extins obinem o nou relaie,
cortejurile creia sunt concatenarea (n sensul descris mai sus) cortejurilor
din prima i a doua relaie.
Operaia selecie permite evidenierea unei submulimi de cortejuri care
posed o proprietate dat. De exemplu, operaia selecie permite evidenierea
relaiei orarul conf. V. Popescu - liniile n care valoarea domenului D3 este conf.
V. Popescu:
29
Ciclu de prelegeri la cursul Matematica discret
Tabelul 2.4. Rezultatul operaiei selecie pentru valoarea conf. V. Popescu
R5 D1 D2 D3 D4 D5
1 3-101 Matematica discret conf. V.Popescu 3 iunie TI-961
6 3-101 Matematica discret conf. V.Popescu 8 iunie TI-962
7 3-101 Matematica discret conf. V.Popescu 13 iunie TI-963
30
Ciclu de prelegeri la cursul Matematica discret
Tabelul 2.7.
D1 D2 D3 D4 D5
3-104 Electrotehnica conf. A.Diligul 13 iunie C-951
3-310 Matematica conf. L.Dogotaru 13 iunie TI-962
3-202 Microelectronica prof. V.ontea 14 iunie TI-951
31
Ciclu de prelegeri la cursul Matematica discret
32
Ciclu de prelegeri la cursul Matematica discret
2.11. Artai c
a) (S) (T) (S T)
b) (S T) (S) (T)
Pot (a) sau (b) fi adevrate dac incluziunea este nlocuit prin echivalen
? Ce reprezint ( ( ()))?
2.12. Determinai reuniunea mulimilor A i B:
a) A = {x N | x este impar} B = {x N | x nu se mparte la 5}
b) A = {x R | 0 < x < 4} B = {x R | 1 < x < 3}
c) A = {(x, y) R2 | x +y < 2} B = {x R | 3 < 4x - y}
2.13. Pentru trei mulimi se cunoate c A B C = . Sunt ele oare n mod
obligator disjuncte dou cte dou? Exemplificai.
2.14. Asociem fiecrui numr real a R mulimea Ea = {x R | (1-a2) x (1-
a2)}, ceea ce genereaz o familie de mulimi indexate cu elemente din R.
Determinai reuniunea i intersecia mulimilor acestei familii.
2.15. Pentru fiecare dintre cazurile care urmeaz s se determine dac mulimile
A i B sunt egale, sau dac una se conine n cealalt, sau dac exist o
injecie a uneia n alta.
a) A = (ExF) B = (E) x (F)
b) A = (E1xE2x...xEi) B = (E1) x (E2) x...x (Ei), iI
c) A = (EF) B = (E) (F)
d) A = (EF) B = (E) (F)
2.15. Reprezentai grafic A2, B2, C2, AxB, AxC, BxC, dac A= [-3; -1]U[1; 3],
B={-3, -1}U[1; 3], C={-3, -1}U{1, 3}.
2.16. Sunt date mulimile E, F i G. Pentru fiecare dintre cazurile care urmeaz
s se determine dac mulimile A i B sunt egale sau dac una se conine n
cealalt.
a) A = E x (F G) B = (E x F) (E x G)
b) A = E x (F G) B = (E x F) (E x G)
c) A = E (F G) B = (E F) (E G)
d) A = E (F G) B = (E F) (E G)
e) A = E (F x G) B = (E F) x (E G)
f) A = E (F x G) B = (E F) x (E G)
2.17. Definii dou mulimi A i B i o coresponden (o aplicaie f:AB) care ar
permite interpretarea fiecrei dintre situaiile de mai jos
a) registrul unui hotel cu 100 camere;
b) o carte de telefoane;
c) rezultatele unui tiraj Superloto;
d) cuprinsul unei cri.
Ce putei spune despre proprietile acestor corespondene (aplicaii)?
33
Ciclu de prelegeri la cursul Matematica discret
2.18. Pentru fiecare dintre cazurile de mai jos s se stabileasc dac
corespondena dintre A i B (aplicaia f:AB) este surjectiv, injectiv sau
bijectiv. Determinai inversa, atunci cnd f este bijectiv.
a) A=R B=R, f(x)=x+7
b) A=R B=R, f(x)=2x2+12x+16
c) A={xR | |x|3} B={xR | 20 |x| 100} f(x)=x2+6x+8
d) A=R B=R, f(x)=5x-4|x|
e) A=R B=R, f(x)=ex+2
f) A=N B=N, f(x)=x2+x.
2.19. Fie aplicaiile f i g: N10 N10 definite cu ajutorul tabelelor de mai jos
x 1 2 3 4 5 6 7 8 9 10
f(x) 5 4 6 3 2 8 1 9 10 7
x 1 2 3 4 5 6 7 8 9 10
g(x) 1 2 2 8 5 6 7 4 9 10
a) Reprezentai n acelai mod aplicaiile: fof, fog, gof, gog;
b) Stabilii care din aplicaiile iniiale (f sau g) este bijectiv i stabilii
inversa ei.
2.20. Aducei exemple de produs cartezian, analogice exemplului
2.21. Demonstrai c dac x i y sunt numere naturale arbitrare numrul
((x+y)(x+y+1))/2 este la fel un numr natural. Fie A mulimea punctelor din
plan cu coordonatele x i y, numere naturale. Demonstrai c aplicaia f:
AN definit de f(x, y) = x + ((x+y)(x+y+1))/2 este bijectiv.
2.22. Demonstrai c mulimea cuvintelor binare este numrabil.
2.23. Demonstrai c Nn este numrabil oricare ar fi n.
2.24. Demonstrai c mulimea submulimilor finite ale mulimii N este
numrabil.
2.25. Demonstrai c produsul i reuniunea a dou mulimi numrabile sunt
numrabile.
2.26. Asociem fiecrui cuplu (x, y) N2 numrul natural u = 2y(2x+1)-1.
a) Reprezentai n baza 2 x i u, dac x = 5, y = 3.
b) Cum poate fi exprimat reprezentarea n baza doi a lui u n caz
general?
c) Demonstrai c aplicaia care pune n coresponden u cuplului (x, y)
este o bijecie ntre N i N2.
2.27. Fie x i y Z, iar relaiile R1 i R2 definite dup cum urmeaz:
x R1 y dac x+y este un numr par
x R2 y dac x-y este un numr par
Sunt oare aceste dou relaii egale?
2.28. Ce putei spune despre proprietile relaiilor de mai jos?
34
Ciclu de prelegeri la cursul Matematica discret
a) A = R i x y dac |x| = |y|
b) A = R i x y dac sin2x+cos2y = 1
c) A = R i x y dac exist p i q ntregi astfel ca y = pxq.
d) A este mulimea punctelor unui plan i x y dac distana dintre x i y
este mai mic de 50 km.
2.29. Definim o relaie R peste cuvintele limbii romne astfel: cuvntul A este
legat de cuvntul B, dac B este o anagram a lui A. Demonstrai c R este
o relaie de echivalen. Care este clasa de echivalen a cuvnului ras?
2.30. Peste mulimea numerelor ntregi definim relaia S: x S y, dac x+y este
par. Demonstrai, c S este o relaie de echivalen. Descriei clasele sale
de echivalen.
2.31. Peste mulimea numerelor cuvintelor binare de lungime 7 definim relaia :
m n cnd cuvintele m i n nu difer mai mult dect n 5 bii. Este oare
aceast relaie o relaie de echivalen?
2.32. Noiunea de ordine lexicografic peste B a fost definit n exemplul 2.20.
a) Demonstrai c ordinea lexicografic este o relaie de ordine.
b) Cuvntul 111 are oare un succesor imediat? Este el oare succesor
imediat i al altui cuvnt?
c) Care cuvinte se afl ntre cuvintele 111 i 1111?
d) Generalizai noiunea de ordine lexicografic nlocuind B cu o
mulime finit oarecare total ordonat (de exemplu, cele 26 litere ale
alfabetului latin).
35
Ciclu de prelegeri la cursul Matematica discret
36
Ciclu de prelegeri la cursul Matematica discret
3.1. Funciile algebrei logicii
Vom evidenia n mod deosebit mulimea B care conine dou elemente,
notate de obicei prin 0 i 1 B={0,1}. Aceste elemente nu vor fi considerate
numere n sensul obinuit. Ne vom opri la interpretarea logic: 0 n sens de nu
sau fals i 1 n sens de da sau adevrat; (v amintii de programare - FALS i
TRUE). ntr-un caz mai general aceast interpretare nu este obligatorie - adesea
elementele mulimii B pot fi considerate simboluri formale care nu au un sens
aritmetic.
Algebra A = <B, F>, n care F este mulimea operaiilor f: BnB, n = 1, 2,...,
m se numete algebra logicii sau boolean, dup numele matematicianului i
logicianului englez George Boole (1815 - 1864). Operaiile f: BnB se numesc
funcii ale algebrei logicii sau funcii logice, funcii booleene (FB). Cu alte
cuvinte, o funcie boolean de n argumente f(x1, x2,..., xn) are domeniul de valori
i domeniul de definiie mulimea B={0,1}. Mulimea tuturor funciilor logice de
n argumente notm prin P2(n).
Lund n locul lui B o mulime finit M de cardinal k de simboluri formale
mpreun cu toate operaiile definite pe M vom ajunge la logica polivalent.
Mulimea tuturor funciilor logice n logica polivalent se va nota prin Pk(n).
O algebr boolean mai poate fi definit ca o latice complementar i
distributiv cu axiomele i proprietile respective (v.p. 2.8).
O funcie logic f(x1, x2,..., xn) poate fi definit cu ajutorul unui tabel care
conine n+1 coloane. Primele n coloane vor enumera toate combinaiile posibile
ale argumentelor, iar ultima determin valorile posibile ale funciei.
Exemplul 3.1. Pentru o funcie de trei argumente f(x1, x2, x3) putem avea urmtorul
tabel:
Tabelul 3.1. Tabel de adevr
x1 x2 x3 f(x1,x2,x3) x1 x2 x3 f(x1,x2,x3)
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 0
0 1 1 0 1 1 1 1
Se va mai spune c combinaia (000) este aplicat n 1, (001) - n 0
.a.m.d. Combinaiile au fost enumerate n ordine lexicografic,
ncepnd de la 0, reprezentat n binar prin (000) pn la 7 - (111).
Avem 8 combinaii posibile n cazul unei funcii de trei argumente.
Pentru cazul unei funcii de n argumente observm c combinaiile posibile
ale argumentelor sunt vectori binari de lungime n. Este uor de demonstrat, c
37
Ciclu de prelegeri la cursul Matematica discret
mulimea tuturor combinaiilor posibile este k = 2n (v. teorema 2.1). Din aceleai
2n
considerente pot exista 2k = 2 funcii booleene distincte. ntradevr, mulimea
tuturor vectorilor binari de lungime n prin definiie reprezint produsul cartezian
Bn. Cardinalul acestui produs este |B| = 2n. Analogic, deoarece oricare funcie
n
boolean de n argumente este un vector binar de lungime k = 2n, exist 22
funcii booleene.
Tabelele de tipul lui 3.1 se numesc tabele de adevr.
Exist situaii cnd pentru unele combinaii ale valorilor argumentelor
valoarea FB nu este determinat. Funciile Booleene nedeterminate pentru una
sau mai multe combinaii ale valorilor argumentelor se numesc incomplet
definite. n tabelul de adevr valorile nedefinite le vom indica cu asterisc (*).
Exemplul 3.2. Fie f(x1, x2, x3) o FB dat prin tabelul de adevr 3.2.
Tabelul 3.2. Exemplu de FB
x1 x2 x3 f(x1,x2,x3) x1 x2 x3 f(x1,x2,x3)
0 0 0 1 1 0 0 *
0 0 1 * 1 0 1 0
0 1 0 0 1 1 0 0
0 1 1 0 1 1 1 *
Funcia este nedeterminat pentru combinaiile (001), (100) i (111)
ale valorilor argumentelor, ele putnd fi aplicate uneori arbitrar n 0
sau 1. Funciile incomplet definite se ntlnesc frecvent n practica
comenzilor secveniale, evidenierea situaiilor nedefinite i atribuirea
unor valori la necesitate fiind extrem de important pentru
simplificarea lor.
38
Ciclu de prelegeri la cursul Matematica discret
vom scrie f1(x) = x. Funcia f2(x) se numete negaia lui x (NONx) i se noteaz x
(x barat) sau x.
Exista 16 FB de dou argumente:
Tabelul 3.4. FB de dou argumente
x1 x2 f0 f1 f2 f3 f4 f5 f6 f7
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
x1 x2 f8 f9 f10 f11 f12 f13 f14 f15
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
FB fo(x1,x2) i f15(x1,x2) sunt aceleai constante 0 i 1, respectiv, numai c n
acest caz ambele argumente sunt fictive, iar funciile mai pot fi numite
degenerate.
Funcia f1(x1,x2), care aplic combinaiile celor dou argumente n 1 atunci i
numai atunci, cnd ambele argumente au valoarea 1, se numete conjuncie,
produs logic sau funcia logic I, (AND). Se noteaz x1&x2, x1x2 sau x1x2.
Funcia f7(x1,x2) are valoarea 1 dac cel puin unul din argumente este 1 i se
numete disjuncie, sum logic, funcia logic SAU (OR). Se noteaz x1vx2
sau x1+x2.
FB f6(x1,x2) se numete suma modulo 2, funcia SAU-EXCLUSIV sau
neechivalen i se noteaz f6(x1,x2) = x1x2.
Funciile f3(x1,x2) i f5(x1,x2) corespund valorilor argumentelor: f3(x1,x2) = x1 i
f5(x1,x2) = x2 i se numesc funcii identitate, iar f10(x1,x2) i f12(x1,x2) corespund
funciilor f3(x1,x2) i f5(x1,x2) negate.
39
Ciclu de prelegeri la cursul Matematica discret
Funcia f13(x1,x2) are valoarea 0 numai n cazul cnd x1 este 1, iar x2 = 0. Ea se
numete implicaie. Se va mai spune c x1 implic x2 sau dac x1 atunci x2 i
vom nota x1 x2. Analogic, funcia f11(x1,x2) este implicaia lui x2, n x1: x2x1.
FB f14(x1,x2) este 0 dac i numai dac ambele argumente sunt 1 i se numete
funcia lui Sheffer sau I-NU (n englez NAND). Se noteaz f14(x1,x2) = x1|x2 sau
x1 x2 .
Observm, c n cazul funciilor de un argument jumtate din FB sunt
degenerate (cu argumente fictive). n cazul a dou argumente din 16 funcii
booleene ase sunt cu argumente fictive. Odat cu creterea lui n numrul
funciilor degenerate descrete, tinznd ctre 0, cnd n tinde spre infinit.
40
Ciclu de prelegeri la cursul Matematica discret
x1 x2 sau x1 x2 , iar funcia Sheffer f14(x1,x2) = x1|x2 prin x1 x2 sau
x1 x2 .
Formulele, care realizeaz aceeai funcie logic se numesc echivalente.
Echivalena a dou formule se va nota prin simbolul = sau . Metoda general de
stabilire a echivalenei a dou formule const n construirea tabelelor lor de
adevr i compararea acestora. Alt metod, denumit metoda transformrilor
echivalente, presupune transformarea uneia dintre formule (sau a ambelor) pn
se ajunge la o form evident comun. Un interes aparte l prezint procedeele de
reprezentare a funciilor booleene prin aa numitele forme normale sau canonice
i forme minimale.
x=1 cnd x=
i x=0, dac x (3.1)
Teorema 3.1. Orice funcie boolean f(x1, x2,..., xn) poate fi pus sub forma:
1 2 m
f(x1,..., xm, xm+1,..., xn)= x1 x2 ... xm
...
f(1,..., m, xm+1,..., xn) (3.2)
1 m
n care mn, iar disjunciile se vor lua pentru toate 2m seturi, formate din
variabilele x1, x2,..., xm.
Relaia (3.2) se numete decompoziia funciilor booleene pentru variabilele
x1, x2,..., xm.
Demonstrm prin introducerea unui set arbitrar de valori (1,...,m,m+1,...,n)
ale argumentelor n ambele pri ale relaiei (3.2). Deoarece x=1 numai n cazul
n care x=, dintre toate cele 2m conjuncii ale prii drepte a relaiei (3.2) numai
una este egal cu 1 (restul sunt 0), cea pentru care 1=1, 2=2,..., m=m.
Obinem
f(1,2,...,n) = 1 2 ... m f(1,2,...,m,m+1,...,n) = f(1,2,...,n),
1 2 m
41
Ciclu de prelegeri la cursul Matematica discret
Prezint interes deosebit cazul m = n - decompoziia FB pentru toate
variabilele x1, x2,..., xn. Avem:
f(x1, x2,..., xn)= x1 1 x 2 2 ... x n n f(1,..., n) = x1 1 x 2 2 ... x n n ,
f ( 1... n ) 1
(3.3)
1... n
42
Ciclu de prelegeri la cursul Matematica discret
legile lui de Morgan xx = x x ;
1 2 1 2
x x = x .x
1 2 1 2
(3.10)
contradicie x x = 0; (3.11)
legea terului exclus x+ x = 1. (3.12)
Operaiile booleene posed proprietile (3.4) - (3.12) chiar dac argumentele
xi sunt la rndul lor funcii sau vor fi obinute n rezultatul unor calcule. Ca
rezultat, aceste proprieti se mai numesc relaii de echivalen, iar transformrile
care pot fi operate cu ajutorul lor se numesc transformri echivalente. Relaiile de
echivalen (3.4) - (3.12), mpreun cu unele relaii suplimentare, obinute din
primele, prezint un interes deosebit n tratarea problemei de echivalen a
formulelor, datorit eficacitii mai mari n comparaie cu tabelele de adevr.
Mai aducem cteva relaii de echivalen suplimentare (demonstraiile se
bazeaz pe proprietile de mai sus i se propun ca exerciiu):
absorbie xxy = x; x(xy) = x;
alipire xyx y = x;
alipire generalizat xz y z xy = xz y z
43
Ciclu de prelegeri la cursul Matematica discret
3o. Se reunesc toi termenii canonici conjunctivi, obinui la pasul
precedent, cu operaia disjuncie.
Dac pentru un termen canonic conjunctiv fiecare variabil va fi nlocuit
prin 1 sau 0, dup cum este prezent n acest TCC (fr negaie sau negat,
respectiv) vom avea reprezentarea binar a unei conjuncii elementare. De
exemplu, reprezentarea binar a conjunciei elementare x1 x 2 x3 x 4 este 0100.
Reprezentarea binar poate fi transformat n zecimal, adic conjuncia
elementar de mai sus poate fi considerat 4 zecimal. Prin utilizarea acestor
notaii FCD este mult mai compact. Notnd prin disjuncia unui set de TCC,
forma canonic disjunctiv a unei funcii booleene oarecare poate avea forma
f(x1,x2,...,xn) = (0,2,4,...).
44
Ciclu de prelegeri la cursul Matematica discret
Dac valoarea funciei este 0, atunci n partea dreapt a relaiei (3.14) se afl
funcia Sik al crei indice ik corespunde numrului setului considerat. n acest caz,
conform cu (3.13), pentru setul respectiv de valori ale argumentelor Sik va fi
egal cu 0. Conform proprietii x&0 = 0 partea dreapt a relaiei (3.14) va fi
egal cu 0. Dac ns pentru setul considerat valoarea funciei este 1, atunci
conform formulrii teoremei, printre funciile Sik din (3.14) nu va fi nici una
pentru care indicele s coincid cu numrul combinaiei. n acest caz, conform cu
(3.13), toi membrii conjunciei din partea dreapt a relaiei (3.14) vor fi egali cu
1, deci partea dreapt va fi egal cu 1. Deoarece s-a demonstrat c ambele pri
ale relaiei (3.14) sunt identice pentru un set arbitrar de valori ale argumentelor
rezult c este adevrat pentru orice alt set de valori. Teorema este demonstrat.
Pentru a stabili expresiile funciilor Sik se consider expresia boolean
Conform relaiei (3.1) funcia (3.15) este 0 atunci i numai atunci, cnd x1 1, x2
2,..., xn n, fiind 1 pentru toate celelalte cazuri. Aplicnd (3.13) pentru
funcia constituentul lui 0, rezult:
Si(x1, x2,..., xn)= x1 1 x 2 2 ... x n n
cu condiia ca i = 12n-1+22n-2+...+n20.
Deci, orice FB poate fi descris printr-o expresie de forma
f(x1, x2,..., xn) = &0 ( x1 1 x 2 2 ... x n n ) (3.16)
unde prin &0 s-a notat faptul c se consider conjuncia termenilor disjunctivi
(3.15) pentru care funcia f ia valoarea 0.
Reprezentarea FB sub forma (3.16) se numete forma canonic conjunctiv
(FCC), iar termenii (3.15) cu condiia xii termeni canonici disjunctivi (TCD),
termeni maximali sau maxtermi.
Relaia (3.16) permite stabilirea algoritmului realizrii FCC dac se cunoate
tabelul de adevr al funciei, care conine urmtorii pai:
10. Din tabelul de adevr al funciei se consider toate combinaiile pe
care funcia le aplic n 0;
20. Se scriu TCD, care corespund acestor combinaii. n expresia TCD
argumentul xi intr direct sau negat dup cum n combinaia
considerat are valoarea 0 sau 1;
30. TCD obinui la pasul 2 se reunesc prin semnul conjunciei.
45
Ciclu de prelegeri la cursul Matematica discret
Formele canonice sunt unice pentru o funcie logic complet definit. Este
recomandat FCD n cazul n care tabelul de adevr al funciei conine un numr
mai mic de valori 1, dect de valori 0, i FCC, n caz contrar.
x1x2 00 01 11 10
x3x4 00 0 0 0 0
01 1 0 0 0
11 0 1 1 1
10 1 1 1 1
46
Ciclu de prelegeri la cursul Matematica discret
Combinaiile valorilor argumentelor x1 i x2 sunt dispuse n partea superioar
a diagramei, iar cele ale argumentelor x3 i x4 vertical n partea stng. La
intersecia unei coloane i a unei linii este cmpul diagramei n care se trece 0 sau
1, conform valorii funciei n tabelul de adevr.
3.4.2. Circuite logice
Circuitul logic (sau schema logic) este o reprezentare grafic a FB, obinut
prin adoptarea unor semne convenionale pentru
Tab.3.6. Reprezentarea FB prin scheme logice
Reprezentarea grafic
Denumirea funciei
Standardele fostei URSS Standarde internaionale
x x x x
Negaia f(x) = x
Conjuncia x1 & x1
x1&x2 x1&x2
f(x1,x2) = x1x2 x2 x2
Pierce x1
x1 &
x1 & x2 (x1&x2)
f(x1,x2) = x1x2 x2 x2
Sheffer x1
x1 1 (x1x2)
f(x1,x2) = x1/x2 x2 x1 x2 x2
47
Ciclu de prelegeri la cursul Matematica discret
implementarea unei funcii logice se nelege realizarea ei cu ajutorul
circuitelor de baz. Unele dintre cele mai des utilizate semne grafice pentru FB
elementare sunt prezentate n tab. 3.6.
Exemplul 3.5. S se reprezinte prin schem logic funcia f(x1, x2, x3)
= x 1 x 2 x 3 x1 x 2 x 3 .
Utiliznd figurile grafice din tab.3.6 schema logic este prezentat
n fig. 3.2.
x1
&
x3
1 f(x1,x2,x3
)
&
x1 x 2 x3
Nivelul 0 Nivelul 1 Nivelul 2
Fig.3.2. Schem logic
Pot fi indicate i nivelele logice - mulimea elementelor fizice care
opereaz simultan. Aici avem nivelele logice 0, 1 i 2.
48
Ciclu de prelegeri la cursul Matematica discret
x1
t
x2
t
x3
t
f
t
Fig.3.3. Exemplu de diagram temporal
3.5. Sisteme complete de funcii booleene
Definiie. Numim sistem complet de funcii booleene (baz) n clasa
sistemul S=(f1, f2,..., fk), dac orice funcie poate fi reprezentat prin
superpoziia funciilor din acest sistem.
n calitate de poate fi luat mulimea P2(n). n aceast clas exist un
n
sistem complet i anume toate cele 2 2 funcii de n argumente. Conform
teoremei 3.2, orice funcie logic de n argumente de asemenea poate fi
reprezentat utiliznd doar funciile negaie, disjuncie i conjuncie. Deci, n
aceeai clas pot exista mai multe sisteme complete cu un numr diferit de
funcii. Un interes deosebit prezint problema alegerii bazei, care conine un
numr minim de funcii.
Numim baz minimal (sistem complet minimal) un sistem complet arbitrar
de funcii booleene (f1, f2,..., fk), care odat cu eliminarea oricrei funcii
aparinnd sistemului devine incomplet.
Pentru a stabili completitudinea unui sistem oarecare de FB este suficient s
se arate c funciile sistemului considerat pot reprezenta funciile sistemului (,
, ). Pot fi demonstrate teoremele:
Teorema 3.4. Sistemul (, ) este un sistem complet n clasa P2(n).
Teorema 3.5. Sistemul (, ) este un sistem complet n clasa P2(n).
Teorema 3.6. Funcia lui Pierce () formeaz n clasa P2(n) un sistem complet.
Teorema 3.7. Funcia lui Sheffer () formeaz n clasa P2(n) un sistem complet.
49
Ciclu de prelegeri la cursul Matematica discret
Pentru a demonstra, de exemplu, teorema 3.5 este suficient s se arate c
funcia disjuncie poate s fie reprezentat prin funciile negaie i conjuncie.
Utiliznd principiul involuiei i una din relaiile lui De Morgan, avem
f(x1, x2,..., xn)= x1 x2...xn= x1 x 2 ... x n = x1 x 2 ... x n
ceea ce trebuia demonstrat.
x1x2 = x1 x2 = x1 x 2 = (x1x2)(x1x2).
Analogic demonstrm i teorema 3.7.
Teoremele 3.6 i 3.7 prezint un interes deosebit datorit numrului minim
posibil de elemente care formeaz baza: putem utiliza un singur tip de circuit
pentru materializarea oricrei funcii booleene. n acest context este
important trecerea de la FCD sau FCC la forme cu funcii Pierce (SAU-NU) sau
Sheffer (I-NU), trecere denumit implementare.
50
Ciclu de prelegeri la cursul Matematica discret
3.6.1. Metoda lui Quine
Numim termen normal conjunctiv (TNC) conjuncia x1 1 x2 2 ... xk k (kn), n
care fiecare variabil se ntlnete numai o singur dat. Numrul literelor unui
termen normal conjunctiv numim rangul termenului, iar disjuncia TNC - form
normal disjunctiv (FND). Reieind din aceste definiii putem spune c FCD a
unei FB de n argumente este FND la care toi termenii sunt de rang n (forma
normal cea mai complex).
Definiie. Forma normal disjunctiv care conine cel mai mic numr de litere
xii n comparaie cu toate celelalte FND ale unei FB date numim form
disjunctiv minim (FDM).
Definiie. Numim implicani primi ai unei FB de n argumente termenii
conjunctivi de forma x1 1 x2 2 ... xk k (kn) care implic funcia fr a se putea
elimina vre-o variabil (TNC de rang minim care implic funcia). De exemplu,
dac pentru f(x1,x2,x3,x4) avem
x1 x 2 x3 x 4 f(x1,x2,x3,x4) x1 x 2 x3 x 4 este implicant al f(x1,x2,x3,x4)
x1x3 x 4 f(x1,x2,x3,x4) x1x3 x 4 este implicantul funciei f(x1,x2,x3,x4)
x1x3 f(x1,x2,x3,x4) x1x3 este implicantul funciei f(x1,x2,x3,x4)
x1 f(x1,x2,x3,x4) x1 nu este implicantul funciei f(x1,x2,x3,x4)
x3 f(x1,x2,x3,x4) x3 nu este implicantul funciei f(x1,x2,x3,x4)
atunci x1x3 este un implicant prim al funciei f(x1,x2,x3,x4).
Implicanii primi pot fi determinai plecnd de la FCD prin aplicarea
sistematic la cte doi termeni conjunctivi care se deosebesc printr-un singur rang
(sunt adiaceni) proprietatea de alipire parial (v.p. 3.2)
AxiA x i = A (3.17)
Adesea, n rezultatul efecturii operaiei de alipire parial, pot aprea termeni
normal disjunctivi n repetare sau asupra crora poate fi executat operaia
absorbie. Primii, conform proprietii idempoten se vor scrie o singur dat,
pentru cei de categoria a doua se va opera absorbia.
Teorema 3.8. Executnd asupra FCD a unei FB toate operaiile posibile de
alipire parial i de absorbie obinem disjuncia implicanilor
primi.
Demonstraie. Conform teoremei are loc relaia
f(x1,x2,...,xn)= k, (3.18)
k
n care k este setul respectiv de implicani primi. Aceast relaie trebuie s fie
adevrat i atunci cnd f(x1,x2,...,xn)=0 i pentru cazul n care f(x1,x2,...,xn) = 1.
n primul caz toi implicanii primi sunt egali cu 0, altfel am avea valoarea 0
51
Ciclu de prelegeri la cursul Matematica discret
pentru funcia if(x1,x2,...,xn), unde i 0 (deci i nu ar fi implicantul funciei
f(x1,x2,...,xn), v.p.3.2). n cel de-al doilea caz va exista cel puin un implicant prim
j = 1, drept rezultat partea dreapta a relaiei (3.18) va fi ca i partea stng egal
cu 1.
Expresia (3.18) se numete form disjunctiv prescurtat (FDP). n FDP
exist n caz general implicani primi de prisos (redundani, care implic
suplimentar funcia), deci FDP nu este minim. Implicanii primi strict necesari
(obinui dup eliminarea implicanilor redundani) se numesc implicani
eseniali. Disjuncia implicanilor eseniali conduce la FDM. n concluzie, putem
afirma c minimizarea unei FB pornind de la FCD presupune urmtorii doi pai:
1o. determinarea formei disjunctive prescurtate (3.18);
2o. alegerea implicanilor eseniali.
Implicanii eseniali pot fi alei construind un tabel special, numit tabelul
implicanilor primi sau tabel de acoperire. Fiecare linie n acest tabel corespunde
unui implicant prim, iar fiecare coloan unui TCC din FCD iniial. Vom spune
c un implicant prim se afl n relaia de acoperire cu un TCC, dac el se conine
n acesta. Se va construi matricea acestei relaii binare (la intersecia liniei i cu
coloana j se va pune 1, dac implicantul prim cu numrul i se afl n relaia de
acoperire cu TCC cu numrul j, i 0 n caz contrar.) Vom alege cel mai mic
numr de implicani primi strict necesari (eseniali) pentru ca s fie acoperii toi
TCC.
Fie funcia f(x1,x2,x3,x4) definit prin FCD:
f(x1,x2,x3,x4) = x1 x 2 x 3 x 4 x1 x2 x 3 x 4 x1 x2 x 3 x4x1x2 x 3 x4
x1 x 2 x 3 x4x1 x 2 x 3 x 4 .
52
Ciclu de prelegeri la cursul Matematica discret
Deoarece alipiri pariale pentru termenii normali de rang 3 nu se pot opera, avem
urmtoarea form disjunctiv prescurtat:
f(x1,x2,x3,x4)= x1 x 3 x 4 x 2 x 3 x 4 x1 x2 x 3 x2 x 3 x4 x1 x 3 x4 x1 x 2 x 3
2o. Construim tabelul de acoperire:
x2 x 3 x4 1 0 0 0 0 1
x1 x2 x 3 0 1 1 0 0 0
x2 x 3 x4 0 0 1 1 0 0
x1 x 3 x4 0 0 0 1 1 0
x1 x 2 x 3 0 0 0 0 1 1
f(x1,x2,x3,x4) = x1 x 3 x 4 x2 x 3 x4 x1 x 2 x 3 ,
f(x1,x2,x3,x4) = x1 x 3 x 4 x1 x2 x 3 x1 x 3 x4,
alegerea fcndu-se la opiune. Concluzionm, c o FB poate avea mai multe
forme minime.
53
Ciclu de prelegeri la cursul Matematica discret
aceste grupe difer ntre ele cu un singur bit 1. n locul variabilelor eliminate la
alipire se trece o liniu.
Metoda Quine-McCluskey presupune ndeplinirea pai lor:
1. Ordonarea echivalenilor binari ai TCC, corespunztori valorilor 1 ale FB,
pe nivele ncepnd cu nivelul 0;
2. Determinarea implicanilor primi prin comparaii succesive ale
echivalenilor binari, aparinnd nivelelor adiacente;
3. Determinarea tabelului de acoperire al funciei;
4. Calculul formal de determinare a tuturor soluiilor funciei.
Exemplul 3.7. [4] Fie funcia f(x1,x2,x3,x4) = (0,1,2,3,4,7,8,11,12,13,15).
1. Ordonarea pe nivele
Nivelele Echivalentul binar Echivalentul zecimal
0 0000 0
1 0001 1
0010 2
0100 4
1000 8
2 0011 3
1100 12
3 0111 7
1011 11
1101 13
4 1111 15
Fig. 3.4. Nivelele funciei booleene
2. Determinarea implicanilor primi.
Vom nota prin A, B,... implicanii primi, adic acei termeni ce nu se mai
pot reduce. Putem cupla mai departe conjuncii vecine, cu simbolul - n
acelai rang i pentru care echivalenii binari difer ntr-un singur rang.
Conjuncia, care nu se mai poate cupla cu nici o alt conjuncie din tabel, va fi
un implicant prim al funciei date.
Primul element de comparaie se noteaz cu (), iar al doilea cu (*). Prin
cuplarea conjunciei cu echivalentul binar (0 0 0 -) cu conjuncia cu (0 0 1 -)
rezult conjuncia cu echivalentul binar (0 0 - -), etc. innd cont de cele de
mai sus, rezult primul tabel de comparare (alipire), prezentat n figura 3.5.
Avem implicanii primi
A=x1x2 x 3 , B=x1x2x4, C= x1 x 2 , D= x 3 x 4 i E=x3x4.
54
Ciclu de prelegeri la cursul Matematica discret
000-
000
000
-000
001 *
001 *
-100 *
100 *
011
-011
A 110-
-111 *
111 *
B 111
Fig. 3.5. Prima alipire
n figura 3.6 este prezentat al doilea tabel de comparare.
C 00--
D --00
E --11
Fig.3.6. A doua alipire
3. Tabelul de acoperire
Implicantul Echivalentul zecimal al TCC iniial
prim 0 1 2 3 4 7 8 11 12 13 15
A 1 1
B 1 1
C 1 1 1 1
D 1 1 1 1
E 1 1 1 1
Funcia poate avea dou expresii
1) f(x1,x2,x3,x4) =A+C+D+E = x1x2 x 3 x1 x 2 x 3 x 4 x3x4 sau
55
Ciclu de prelegeri la cursul Matematica discret
instantaneu. Exemple de enunuri: Soarele este fierbinte, Zpada este alb,
UTM este instituie superioar de nvmnt, Logica este o tiin. Valoarea
adevrat, sau fals atribuit unui enun se numete valoare de adevr. De
obicei, valoarea de adevr adevrat este notat cu T sau cu 1, iar valoarea fals
cu F sau 0. Convenim s folosim litere mari sau lanuri de litere mari pentru a
nota enunurile. De exemplu, putem nota enunurile astfel:
P - Soarele este fierbinte,
Q - Zpada este alb,
R - Logica este o tiin.
Simbolurile P, Q, R, etc., care sunt utilizate pentru notarea enunurilor, se
numesc formule atomare sau atomi.
Din enunuri putem construi enunuri compuse, folosind conectorii logici. De
exemplu, Cerul este albastru i zpada este alb, Soarele nfierbnt puternic
i vara este torid, Dac pisica nu-i acas, atunci oarecii urc pe mas.
Conectori logici n aceste enunuri compuse sunt i, dac..., atunci. n logica
enunurilor sunt utilizai cinci conectori logici: (nu), (i), (sau),
(dac..., atunci), (atunci i numai atunci). Aceti conectori sunt folosii
pentru a construi enunuri compuse, din enunuri compuse enunuri i mai
complexe, etc. De exemplu, notm Umiditatea este mare prin P, Temperatura
este nalt prin Q i Ne simim bine prin E. Atunci propoziia Dac
umiditatea este mare i temperatura nalt, atunci nu ne simim bine poate fi
scris astfel: ((P Q) ()). Observm, c un enun compus poate exprima o
idee relativ complex. n logica enunurilor expresia, care reprezint un enun, de
exemplu, P sau un enun compus ((PQ)()) se numete formul construit
corect (formul corect, formul).
Definiie. Numim formul corect sau formul propoziional:
1. Un atom este formul.
2. Dac E este formul, atunci i () este formul.
3. Dac G i H sunt formule, atunci (GH), (GH), (GH) i (GH) sunt formule.
4. Nu exist alte formule, dect cele generate de regulile 1 3.
56
Ciclu de prelegeri la cursul Matematica discret
n expresie. Astfel, PQ va nsemna ((P Q) ()), iar PQS
respectiv (P((Q())S)).
Valorile de adevr ale formulelor (), (GH), (GH), (GH) i (GH) sunt
date de tabele de adevr ale funciilor booleene NON (negaie), I (produs
logic), SAU (sum logic), IMPLICAIE, i ECHIVALEN (v. 3.1).
3.7.2. Interpretarea formulelor n logica enunurilor
Valoarea de adevr a unei formule poate fi calculat plecnd de la valorile de
adevr ale atomilor i folosind tabelele de adevr ale celor cinci formule de baz.
Definiie. Fie G o formul propoziional dat, iar A1, A2, ..., An, atomii acestei
formule. Numim interpretare a formulei G atribuirea valorilor de
adevr atomilor A1, A2, ..., An, astfel nct fiecrui atom Ai i se atribuie
sau T, sau F (dar nu ambele instantaneu).
Definiie. Vom spune, c formula G este adevrat ntr-o interpretare
oarecare atunci i numai atunci, cnd G ia valoarea T n aceast
interpretare. n caz contrar vom spune, c G este fals n aceast
interpretare.
Dac o formul are n atomi diferii, atunci exist 2n interpretri diferite ale
acestei formule. Pot fi construite tabele de adevr analogic celor din 3.1. Adesea,
dac A1, A2, ..., An sunt toi atomii unei formule este mai comod s prezentm o
interpretare prin vectorul (m1, m2, ..., mn), unde mi este Ai sau i. De exemplu,
vectorul (P, , ) reprezint interpretarea n care atomilor P, A, E le-au fost
atribuite valorile de adevr T, F, F, respectiv. Altfel, dac n calitate de
component a vectorului n cauz intr atomul A ca atare, atunci acestui atom i se
atribuie valoarea de adevr T, iar dac intr negaia lui, atunci acestui atom i se
atribuie valoare F.
n logica enunurilor prezint un interes aparte formulele care au valoarea de
adevr T i formulele care au valoarea de adevr F n toate interpretrile
posibile.
Fie formula G = ((PQ) P)Q. Atomii acestei formule sunt P i Q,
formula avnd 22=4 interpretri. Valorile de adevr sunt prezentate n tabelul 3.8.
Observm, c formula G este adevrat n toate interpretrile. Formulele de acest
tip se numesc identic adevrate sau tautologii.
Tabelul 3.8. Exemplu de funcie identic adevrat
P Q (PQ) (PQ) P ((PQ) P)Q
F F T F T
F T T F T
T F F F T
T T T T T
57
Ciclu de prelegeri la cursul Matematica discret
Fie acuma formula G = (PE) (P). Tabelul de adevr al acestei
formule este prezentat n tabelul 3.9. Observm, c G este fals n toate
interpretrile posibile. Formulele de acest tip se numesc formule contradictorii
sau simplu contradicii.
Tabelul 3.9. Exemplu de contradicie
P E (PE) (P) (PE)(P)
F F T T F F
F T F T F F
T F T F T F
T T F T F F
Definiie. Numim o formul identic adevrat dac i numai dac ea este
adevrat n toate interpretrile posibile.
Definiie. Numim o formul contradictorie (sau nerealizabil) dac i numai
dac ea este fals n toate interpretrile posibile. Numim o formul
necontradictorie (realizabil) atunci i numai atunci cnd ea nu este
contradictorie.
n baza definiiilor de mai sus sunt evidente urmtoarele observaii:
1. O formul este identic adevrat atunci i numai atunci cnd negaia ei este
nerealizabil.
2. O formul este nerealizabil atunci i numai atunci cnd negaia ei este tautologie.
3. O formul nu este identic adevrat atunci i numai atunci cnd exist cel puin o
interpretare n care aceast formul este fals.
4. O formul este realizabil atunci i numai atunci cnd exist cel puin o
interpretare n care aceast formul este adevrat.
5. Dac o formul este identic adevrat, atunci ea este necontradictorie, dar nu i
invers.
6. Dac o formul este nerealizabil, atunci ea nu este identic adevrat, dar nu i
invers.
Construind tabelele de adevr putem stabili c:
a) (E) este contradictorie.
b) (E) este identic adevrat, deci nu este contradictorie.
c) (E) nu este identic adevrat, dar nici contradictorie.
Dac o formul F este adevrat n interpretarea I, se spune c I satisface F
sau F este realizabil n interpretarea I. Pe de alt parte, dac o formul F este
fals n interpretarea I, se spune c I rstoarn F sau F este rsturnat n
interpretarea I. De exemplu, formula (P()) este realizabil n interpretarea (P,
) i rsturnat n interpretarea (P, E). Dac interpretarea I satisface formula F, I
se mai numete modelul lui F.
58
Ciclu de prelegeri la cursul Matematica discret
Vom vedea mai jos, c demonstrarea c o formul este identic adevrat sau
contradicie este de o importan foarte mare. n logica enunurilor, dac numrul
interpretrilor este finit, putem rezolva aceast problema prin metoda enumerrii.
59
Ciclu de prelegeri la cursul Matematica discret
(3) Preul de vnzare al aciunilor crete.
(4) Majoritatea oamenilor sunt nefericii.
Reprezentarea simbolic a acestor afirmaii este urmtoarea:
(11) PS,
(21) SU,
(31) P,
(41) U.
60
Ciclu de prelegeri la cursul Matematica discret
Demonstraie. Conform teoremei precedente U este consecin logic a
formulelor F1, F2,..., Fn dac i numai dac formula ((F1F2...Fn)U) este
identic adevrat. Deci, U este consecin logic a formulelor F1, F2,..., Fn dac
i numai dac negaia formulei ((F1F2...Fn)U) este contradicie. Deoarece
negaia acestei formule este egal cu ((F1F2...Fn), concluzionm, c
teorema 2.2 este demonstrat.
Aceste dou teoreme sunt foarte importante. Conform lor putem afirma, c
demonstrarea faptului, c o formul oarecare este consecin logic a unei
mulimi finite de formule este echivalent cu demonstrarea faptului c o formul
legat de formulele iniiale este tautologie sau contradicie.
Dac U este consecin logic a formulelor F1, F2,..., Fn, atunci formula
((F1F2...Fn)U) se numete teorem, iar U se numete concluzia teoremei.
n viaa de toate zilele, ca i n matematic, multe probleme pot fi formulate sub
forma unor teoreme i demonstrarea lor. Mai jos este adus un exemplu simplu,
care arat cum pot fi folosite teoremele 3.9 i 3.10.
Exemplul 3.8. Fie formulele F1 (EU), F2 , G . Vom arta,
c G este consecin logic a formulelor F1 i F2.
Metoda 1. Putem construi tabelele de adevr pentru a arta, c formula G este
adevrat n fiecare dintre modelele formulei (EU) .
Tab. 3.10. Tabelul de adevr pentru (EU) i
E U EU (EU)
F F T T T T
F T T F F T
T F F T F F
T T T F F F
Observm, c exist doar un model pentru (EU) , anume (,
). Formula este adevrat n acest model i, n baza definiiei
noiunii consecin logic, conchidem c G este consecin logic a
formulelor (EU) i .
Metoda 2. Putem folosi teorema 3.9, extinznd tabelul precedent de adevr.
Tab. 3.11. Tabelul de adevr pentru ((EU) )
E U EU (EU) ((EU) )
F F T T T T T
F T T F F T T
T F F T F F T
T T T F F F T
61
Ciclu de prelegeri la cursul Matematica discret
Tabelul 3.11 arat, c formula ((EU) ) este adevrat n
orice interpretare, adic tautologie i, conform teoremei 3.9, G este
consecin logic a formulelor (EU) i .
Metoda 3. Putem folosi teorema 3.10, artnd c formula ((EU) ) E este
contradicie.
Tab. 3.12. Tabelul de adevr pentru ((EU) ) E
E U EU (EU) ((EU) ) E
F F T T T T F
F T T F F T F
T F F T F F F
T T T F F F F
Tabelul 3.12 arat, c formula ((EU))E este fals n orice
interpretare, adic este contradicie i, conform teoremei 3.10, G
este consecin logic a formulelor (E U) i .
F3 :
Putem oare din F1, F2 i F3 s concluzionm, c greva nu se va termina,
___
62
Ciclu de prelegeri la cursul Matematica discret
Notnd R S prin 1, (P R S ) prin 2, ((P R S ) Q ) prin 3,
___ ___ ___ ___ ___ ___ ___
P Q R S S R 1 2 Q 3 4 5 F
F F F F T T T T T T F F T
F F F T F T F F T T F F T
F F T F T F F F T T F F T
F F T T F F F F T T F F T
F T F F T T T T F F F F T
F T F T F T F F F T F F T
F T T F T F F F F T F F T
F T T T F F F F F T F F T
T F F F T T T T T T T T T
T F F T F T F T T T T F T
T F T F T F F T T T T T T
T F T T F F F T T T T F T
T T F F T T T T F F F F T
T T F T F T F T F F F F T
T T T F T F F T F F F F T
T T T T F F F T F F F F T
Acest tabel demonstreaz, c formula (((P R S ) Q )P S ) Q este
___ ___ ___ ___
63
Ciclu de prelegeri la cursul Matematica discret
MgO : A4,
H2 : A5,
O2 : A6,
C : A7.
Trebuie s demonstrm, c H2CO3 este consecin logic a formulelor
A1, A2,..., A7. Conform teoremei 3.10 aceasta este corect, dac formula
(A1, A2,..., A7) H 2CO3 este contradicie.
Aceasta poate fi demonstrat, construind tabelul de adevr sau opernd
transformri echivalente (lsm ca exerciiu).
Am artat, c logica enunurilor poate fi aplicat pentru rezolvarea unor
probleme foarte diferite. ns, metoda transformrilor echivalente sau a tabelelor
de adevr poate fi utilizat doar pentru cazuri relativ simple. n caz general, avem
nevoie de programe eficiente de calculator, construite n baza unor metode
matematice speciale i algoritmi sofisticai.
64
Ciclu de prelegeri la cursul Matematica discret
nseamn x este egal cu y. Atunci expresia x este egal cu 5 poate fi
prezentat prin expresia EGAL(x,5). Analogic, n loc de A iubete pe B scriem
IUBETE(A,B).
n logica de ordinul unu mai pot fi folosite simbolurile funcionale. De
exemplu, putem scrie plus(x,y) pentru a nota x+y, mama(x), care ar nsemna
mama persoanei x. n acest caz, propoziia mama lui Eugen l iubete pe
Eugen poate fi reprezentat simbolic IUBETE(mama(Eugen),Eugen), iar
expresia x+y este egal cu z se va scrie EGAL(plus(x,y),z).
n exemplele de mai sus expresiile EGAL(x,5), IUBETE(A,B),
EGAL(plus(x,y),z) i IUBETE(mama(Eugen),Eugen) sunt atomi ai logicii de
ordinul unu n care EGAL i IUBETE sunt simboluri predicative, x, y, z, A, B
sunt variabile, Eugen i 5 sunt simboluri individualizatoare sau constante, iar
mama i plus simboluri funcionale.
n caz general, pentru construirea atomilor sunt permise urmtoarele patru
tipuri de simboluri:
1. Simboluri individualizatoare sau constante (nume de obiecte sau valori
numerice),
2. Simboluri de variabile (litere mici x, y, z,..., este posibil utilizarea indicilor),
3. Simboluri funcionale (litere mici f, g, h,... sau cuvinte cu sens din litere mici,
cum ar fi mama, plus),
4. Simboluri predicative (de obicei litere mari P, Q, R,...sau cuvinte din litere mari
EGAL, IUBETE).
O funcie sau un predicat pot fi unare, binare, ternare, etc. De exemplu, EGAL i
IUBETE sunt predicate binare, mama este simbol funcional unar, iar plus binar.
O funcie aplic lista argumentelor ntr-o constant. De exemplu, mama este o
funcie, care pentru valoarea dat a argumentului (Eugen), stabilete persoana,
care este mama lui Eugen, chiar dac numele acestei persoane nu este
concretizat. Expresia de tipul mama(Eugen) se numete n logica de ordinul unu
term.
Iat definiia formal a noiuni term:
1. O constant este term.
2. O variabil este term.
3. Dac f este un simbol funcional n-ar i t1, t2,..., tn sunt termi, atunci f(t1, t2,..., tn)
este term.
4. Ali termi, dect cei generai cu ajutorul regulilor 1 3 nu exist.
Exemplul 3.11. Deoarece x i 7 sunt termi, iar plus este un simbol funcional binar,
expresia plus(x,7), conform definiiei de mai sus este term. Este uor
s ne convingem, c expresiile plus(plus(x,5),x) i
Am putea spune c un predicat este o relaie, ceea ce nu-i tocmai corect. Predicatul este o funcie,
care ia valoarea T pentru seturile, care verififc relaia dat i F b caz contrar.
65
Ciclu de prelegeri la cursul Matematica discret
mama(mama(Eugen)) sunt termi cu valorile respective x+5+x i
bunica lui Eugen.
Predicatul este o aplicaie, care aplic o list de constante (argumentele
predicatului) n T sau F. De exemplu, predicatul EGAL pentru perechea (5,9) are
valoarea F, iar pentru (7,7) T. Cunoscnd ce sunt termii n cadrul logicii de
ordinul unu, putem defini noiunea de atom.
Definiie. Dac P este un simbol predicativ n ar i t1, t2,..., tn termi, atunci
P(t1, t2,..., tn) este atom.
Pentru construirea formulelor, n afara celor cinci conectori logici, introdui
n paragraful precedent, vor mai fi utilizate dou simboluri speciale i , care
sunt chemate s caracterizeze variabilele. Aceste simboluri se numesc
cuantificatori: este cuantificatorul generalizrii, iar de existen. Dac x este
o variabil, atunci (x) se citete pentru orice x, pentru fiecare x sau pentru
toi x, iar (x) poate fi citit exist x, pentru unele valori ale lui x sau cel
puin pentru un x. (x) i (x) mai sunt numite complexe cuantificatoriale.
Exemplul 3.12. Vom prezenta printr-o formul afirmaiile:
(a) Orice numr raional este numr real.
(b) Exist un numr, care este numr prim.
(c) Pentru orice numr x exist un numr y, astfel nct x<y.
Notm afirmaia x este numr prim prin P(x), x este numr raional
prin Q(x), x este numr real prin R(x) i x este mai mic ca y prin
MAI_MIC(x, y). Expresiile de mai sus pot fi scrise dup cum urmeaz:
(a1) (x)(Q(x)R(x)),
(b1) (x)P(x),
(c1) (x)(y) MAI_MIC(x, y).
Fiecare din expresiile (a1), (b1) i (c1) se numete formul. nainte de a
defini formal noiunea de formul, introducem noiunile de variabile
legate i variabile libere. Pentru aceasta definim mai nti domeniul de
aciune a unui cuantificator, care intr n componena unei formule
este acea formul n care acest cuantificator este aplicat. De exemplu,
domeniul de aciune a cuantificatorului de existen n formula
(x)(y)MAI_MIC(x, y) este formula MAI_MIC(x,y), iar a
cuantificatorului generalizrii formula (y) MAI_MIC(x, y). Domeniul
de aciune al cuantificatorului generalizrii n formula ( x)(Q(x)R(x))
este formula (Q(x)R(x)).
Definiie. Intrarea unei variabile ntr-o formul se numete legat atunci i numai
atunci, cnd ea (intrarea) sau coincide cu intrarea n componena unui
complex cuantificator ((x) sau (x)), sau se afl n domeniul de
66
Ciclu de prelegeri la cursul Matematica discret
aciune a unui atare complex. Intrarea unei variabile ntr-o formul
este liber atunci i numai atunci cnd ea nu este legat.
Definiie. O variabil este liber ntr-o formul, dac cel puin o intrare a acestei
variabile n formula dat este liber. O variabil este legat ntr-o
formul, dac cel puin o intrare a acestei variabile n formula dat este
legat.
n formula (x)P(x,y) variabila x este legat, deoarece ambele intrri ale lui x
sunt legate. Variabila y este liber, deoarece unica intrare a acesteia este liber. O
variabil poate fi n cadrul unei formule i liber i legat n acelai timp. De
exemplu, n cadrul formulei (x)P(x, y) (y)Q(y) variabila y este i liber i
legat.
Utiliznd noiunile atom, conectori logici i cuantificatori, putem defini
formal conceptul de formul.
Definiie. Formulele construite corect (sau simplu formule) n logica de
ordinul unu pot fi definite recursiv astfel:
1. Un atom (o formul atomar) este formul.
2. Dac E i F sunt formule, atunci i () (EF), (EF), (EF) i (EF)
sunt formule.
3. Dac F este formul, iar x este o variabil liber n F, atunci (x)F i
(x)F sunt formule.
4. Nu exist alte formule, dect cele generate de regulile 1 3.
Exemplul 3.13. S exprimm prin formul exemplul de la nceputul acestui paragraf.
Notm x este om prin OM(x), x este muritor prin MURITOR(x).
Atunci afirmaia fiecare om este muritor poate fi reprezentat cu
ajutorul formulei (x)(OM(x) MURITOR(x)), afirmaia Confucius
este om prin formula OM(Confucius), iar ultima afirmaie Confucius
este muritor MURITOR(Confucius).
Afirmaia final n ntregime poate fi exprimat cu ajutorul formulei:
(x)(OM(x)MURITOR(x))OM(Confucius)MURITOR(Confucius).
Exemplul 3.14. S exprimm prin formule axiomele de baz ale numerelor naturale:
A1 : Pentru orice numr exist un numr, i numai unul singur, care
urmeaz imediat dup numrul dat (succesorul lui x).
A2 : Nu exist un numr dup care urmeaz imediat 0.
A3 : Pentru orice numr, diferit de 0, exist un numr, i numai unul
singur, care se afl imediat naintea numrului dat (predecesorul
lui x).
67
Ciclu de prelegeri la cursul Matematica discret
Fie f(x) i g(x) succesorul i, respectiv, predecesorul lui x, iar afirmaia
x este egal cu y este notat prin E(x, y). Atunci axiomele de mai sus
pot fi reprezentate prin formulele:
A11: (x)(y)(E(y, f(x))(z)(E(z, f(x))E(y, z))),
A12: ((x) E (0, f ( x))) ,
A13: (x)( E (x,0) ((y)(E(y, g(x)) (z)(E(z, g(x))E(y, z))))).
68
Ciclu de prelegeri la cursul Matematica discret
Domeniul: D = {1, 2}.
Estimarea formulei P:
P(1) P(2)
T F
Este uor s ne convingem, c (x)P(x) are valoarea F n aceast
interpretare, deoarece P(x) nu este T i pentru x=1, i pentru x=2. Pe de
alt parte, deoarece P ( 2) este T n aceast interpretare, (x) P (x ) este la
fel T.
Exemplul 3.16. Considerm formula (x) (y)P(x, y).
Definim interpretarea dup cum urmeaz:
Domeniul: D = {1, 2},
P(1, 1) P(1, 2) P(2, 1) P(2, 2)
T F F T
Cnd x=1, putem observa, c exist o valoare a lui y (anume y=1),
pentru care P(1, y)=T. Dac x=2, de asemenea exist un y pentru care
P(2, y)=T.
Deci, n interpretarea dat pentru orice x din D exist o astfel de
valoare a lui y, nct P(x, y) este T, adic (x) (y)P(x, y) are valoarea
T n aceast interpretare.
Exemplul 3.17. Fie formula G (x)(P(x)Q(f(x), a)).
n G avem o constant a, un simbol funcional unar f, un simbol
predicativ unar P i un simbol predicativ binar Q. Fie urmtoarea
interpretare I a formulei G:
Domeniul: D = {1, 2},
Estimarea pentru a:
a
1
Estimarea pentru f:
f(1) f(2)
2 1
Estimrile pentru P i Q:
P(1) P(2) Q(1, 1) Q(1, 2) Q(2, 1) Q(2, 2)
F T T T F T
Dac x=1, atunci P(x)Q(f(x), a) = P(1)Q(f(1), a) = P(1)Q(2, 1)
= F F = T.
Analogic, dac x=2, atunci P(x)Q(f(x), a) = P(2)Q(f(2), a) =
P(2)Q(1, 1) = T T = T.
Deoarece P(x)Q(f(x), a) are valoare de adevr T pentru toate
elementele x D, formula G (x)(P(x)Q(f(x), a)) este adevrat
n interpretarea I.
Exemplul 3.18. S estimm n interpretarea exemplului precedent formulele
urmtoare:
69
Ciclu de prelegeri la cursul Matematica discret
(a) (x)(P(f(x)) Q(x, f(a)))
(b) (x)(P(x) Q(x, a))
(c) (x) (y)(P(x) Q(x, y))
Pentru (a): dac x=1, atunci P(f(x)) Q(x, f(a)) = P(f(1)) Q(1, f(a))
= P(2) Q(1, f(1)) = P(2) Q(1, 2) = T T = T, iar dac x=2 -
P(f(x)) Q(x, f(a)) = P(f(2)) Q(2, f(a)) = P(1) Q(2, f(1)) = P(1)
Q(2, 2) = F T= F.
Deoarece n domeniul D exist un element, anume x = 1, petnru care
P(f(x)) Q(x, f(a)) are valloarea T, formula (x)(P(f(x))Q(x, f(a)))
este adevrat n interpretarea I.
Pentru (b): dac x = 1, atunci P(x) Q(x, a) = P(1) Q(1, 1) = F
T= F;
dac x = 2, atunci P(x) Q(x, a) = P(2) Q(2, 1) = T F= F.
Deci, n D nu este mcar un element pentru care P(x) Q(x, a) ar fi
adevrat, formula (x)(P(x) Q(x, a)) este fals n interpretarea I.
Pentru (c): dac x = 1, atunci P(x) = P(1) = F, iar P(x) Q(x, y) = F i
pentru y = 1, i pentru y = 2. Deoarece exist un element x (anume x =
1) pentru care (y)(P(x) Q(x, y)) este fals, formula (x) (x)(P(x)
Q(x, y)) este fals n interpretarea I.
Noiunlie introduse n 3.7 (tautologie, contradicie, consecine logice) pot fi
definite i pentru logcia de ordinul unu, inclusiv pot fi demonstrate teoreme
analogice despre consecinele logice (lsm ca exerciiu pentru cititor).
70
Ciclu de prelegeri la cursul Matematica discret
S facem cunotin cu o metod de transformare a unei formule n forma
normal Prenex. Pentru aceast trebuie s cunoatem cteva formule de baz,
echivalente n logica de gradul 1. n afar de formulele echivalente din logica
boolean, care sunt adevrate i n logica de gradul 1, exist i alte perechi de
formule, care conin cuatificatori. Fie F o formul, care conine variabila liber x.
Pentru a sublinia, c x intr n F i este liber vom scrie F[x]. Fie G o formul,
care nu conine variabila x. Avem n acest caz urmtoarele perechi de formule
echivalente (aici Q este sau sau ):
(Qx)F[x] G = (Qx)(F[x] G); (3.19a)
(Qx)F[x] G = (Qx)(F[x] G); (3.19b)
((x) F [ x]) = (x)( ( F [ x]) ); (3.20a)
= (x)( ( F [ x]) ).
((x) F [ x]) (3.20b)
(x)F[x](x)H[x] = (x)(F[x]H[x]); (3.21a)
(x)F[x](x)H[x] = (x)(F[x]H[x]); (3.21b)
Demonstrarea relaiilor (3.19a) (3.21b) este dat ca exerciiu.
Subliniem c repartizarea cuantificatorului poate fi fcut doar pentru
conectorul , ca i repartizarea cuantificatorului poate fi fcut doar pentru
conectorul , adic trebuie s avem n vedere c:
(x)F[x](x)H[x] (x)(F[x]H[x]);
(x)F[x](x)H[x] (x)(F[x]H[x]).
n cazuri asemntoare vom proceda n mod special. Deoarece fiecare
variabil legat ntr-o formul poate fi considerat doar ca locul n care poate fi
introdus oricare alt variabil, orice variabil legat x poate fi redenumit n z i
formula (x)H[x] va trece n (z)H[z], adic (x)H[x] = (z)H[z]. Presupunem,
c alegem variabila z, care nu este n F[x]. Atunci avem
(x)F[x](x)H[x] = (x)F[x](z)H[z] = (x)(z)(F[x]H[z]).
n mod analogic putem scrie
(x)F[x](x)H[x] = (x)F[x](z)H[z] = (x)(z)(F[x]H[z]).
n caz general:
(Q1x)F[x](Q2x)H[x] = (Q1x)(Q2z)(F[x]H[z]), (3.22a)
(Q3x)F[x](Q4x)H[x] = (Q3x)(Q4z)(F[x]H[z]) (3.22b)
unde Q1, Q2, Q3, i Q4 sunt sau , iar z nu intr n F(x). Evident, dac Q1 = Q2
= i Q3 = Q4 = , variabila x nu va fi schimbat n z, ci vor fi utilizate direct
relaiile (3.21a) i (3.21b).
71
Ciclu de prelegeri la cursul Matematica discret
Folosind relaiile (3.4 3.12) i (3.19 3.22), orice formul poate fi adus la
forma normal Prenex confrom algoritmului de mai jos:
10. Eliminm conectorii i folosind relaiile
F G = (FG)(GF),
(FG) = F G,
20. Folosim principiul involuiei, legile De Morgan i
((x) F [ x]) = (x) ( F [ x]) ,
((x) F [ x]) = (x) ( F [ x]) ,
pentru a introduce semnul negaiei n interiorul formulei.
30. Redenumim variabilele legate la necesitate.
40. Folosim legile (3.19 3.22) pentru a scoate cuantificatorii la nceputul formulei.
Exemplul 3.19. S se determine forma normal Prenex a formulei
(x)P(x) (x)Q(x).
Rezolvare.
(x)P(x) (x)Q(x) = ((x) P( x)) (x)Q(x) conform relaiei
(FG) = F G,
= (x) ( P[ x]) (x)Q(x) conform relaiei
((x) F [ x]) = (x) ( F [ x]) ,
= (x)( ( P[ x]) Q(x)) conform relaiei
(3.21b).
Exemplul 3.20. S se determine forma normal Prenex a formulei
(x)(y)(((z)P(x,z) P(y,z)) (u)Q(x,y,u)).
Rezolvare.
(x)(y)(((z)P(x,z) P(y,z)) (u)Q(x,y,u)) =
(x)(y)( ((z ) P( x, z ) P( y, z )) ) (u)Q(x,y,u)) =
= (x)(y)((z)( P ( x, z ) P ( y, z ) ) (u)Q(x,y,u)) =
(x)(y)(z)(u)( P ( x, z ) P ( y, z ) Q(x,y,u)).
72
Ciclu de prelegeri la cursul Matematica discret
A2: (OM(Confucius)).
S se demonstreze c MURITOR(Confucius) este consecin logic a
premiselor A1 i A2.
Rezolvare. Avem A1 A2: (x)(OM(x)MURITOR(x))
(OM(Confucius)). Dac A1 A2 are valoarea de adevr T ntr-o
interpretare oarecare I, atunci ambele formule sunt adevrate n I.
Deoarece (OM(x)MURITOR(x)) este adevrat pentru orice x,
atunci cnd nlocuim x prin Confucius formula
(OM(Confucius)MURITOR(Confucius)) este la fel adevrat n I,
adic (OM(Confucius) MURITOR(Confucius) este adevrat n I.
Reiese c MURITOR(Confucius) trebuie s fie adevrat n I, ceea ce
conform definiiei nseamn c MURITOR(Confucius) este consecin
a premiselor iniiale A1 A2.
Exemplul 3.22. Nici un vnztor de automobile de ocazie nu cumpr astfel de maini
pentru familia sa. Unele persoane, care cumpr maini de ocazie
pentru familiile lor sunt absolut necinstii. Putem considera c unii
oameni absolut necinstii nu sunt vnztori de maini de ocazie?
Rezolvare. Notm prin U(x) persoana x este vnztor de
automobile de ocazie,
B(x) persoana x a cumprat automobil de ocazie pentru
familia sa,
D(x) - persoana x este absolut necinstit.
Avem n acest caz:
A1 : (x)(U(x) B(x) ),
A2 : (x)(B(x)D(x)).
Trebuie s demonstrm, c
A3 : (x)(D(x) U(x) )
este consecin logic a premiselor A1 i A2.
Presupunem, c A1 i A2 sunt adevrate n interpretarea I cu domeniul
E. Deoarece A2 este adevrat n I, exist un element x din E, pe care l
notm prin a, astfel nct B(a)D(a) este adevrat n I. Reiese c B(a)
este adevrat n I, adic B(a) este fals n I. A1 poate fi transcris
astfel:
73
Ciclu de prelegeri la cursul Matematica discret
A3, adic A3 : (x)(D(x) U(x) ), este adevrat n I sau A3 este
consecin logic a formulelor A1 i A2.
Exemplul 3.23. Unii pacieni i iubesc medicii. Nici un pacient nu-i iubete pe
vrciuitori. Putem oare concluziona, c nici un medic nu este
vrciuitor?
Rezolvare. Notm: P(x) : x este pacient,
D(x) : x este doctor,
Q(x) : x este vrcuitor,
L(x,y): x l iubete pe y.
Datele iniiale i concluzia pot fi reprezentate simbolic dup cum
urmeaz:
F1 : (x)(P(x)(y)(D(y)L(x,y))),
F2 : (x)(P(x)(y)(Q(y) L(x, y) )),
G : (x)(D(x) Q(x) ).
Trebuie s artm, c G este consecin logic a F1 i F2.
Fie I o interpretare arbitrar cu domeniul obiectiv D. Presupunem c F1 i
F2 sunt adevrate n I. Deoarece F1, adic (x)(P(x)(y)(D(y)L(x,y))),
este adevrat n I, n D exist un element, notat aici prin e, pentru care
(P(e)(y)(D(y)L(e,y))) este adevrat n I. Asta nseamn, c att
(P(e), ct i (y)(D(y)L(e,y))) sunt adevrate n I. Pe de alt parte,
deoarece (P(x)(y)(Q(y) L(x, y) )) este adevrat n I pentru toate
elementele x din D, evident i (P(e)(y)(Q(y) L(e, y) )) este adevrat
n I. Deoarece P(e) este adevrat n I, i (P(e)(y)(Q(y) L(e, y) ))
trebuie s fie adevrat n I. Drept rezultat avem, c pentru orice element y
din D, att (D(y)L(x,y)), ct i (Q(y) L(e, y) )) sunt adevrate n I. Dac
D(y) este fals n I, atunci (D(y) Q(y) ) este adevrat n I. Dac D(y)
este adevrat n I, atunci L(e,y) trebuie s fie adevrat n I, deoarece
(D(y)L(e,y)) este adevrat n I. n rezultat, Q(y) trebuie s fie fals n I,
deoarece (Q(y)L(e,y)) este adevrat n I. Deci, (D(y) Q(y) ) este
adevrat n I. Din aceast cauz (D(y) Q(y) ) este adevrat pentru orice
y din D, adic (y)(D(y) Q(y) ) este adevrat n I. Am demonstrat n
aa mod, c dac F1 i F2 sunt adevrate n I, atunci (y)(D(y) Q(y) )
este adevrat n I, adic G este consecin logic a F1 i F2.
n exemplele precedente am artat cum consecinele pot reiei din fapte
concrete. Argumentarea faptului, c o consecin reiese din axiome (premise) se
74
Ciclu de prelegeri la cursul Matematica discret
numete demonstrare. Procesul de determinare a demonstraiei se numete
procedura demonstraiei.
75
Ciclu de prelegeri la cursul Matematica discret
Bazele logicii fuzzy au fost puse n 1965 de Lotfi A. Zadeh, profesor de
informatic la Universitatea Berkeley din California, prin introducerea noiunii
de mulimi fuzzy (v. capitolul 2). L.Zadeh a motivat urmtoarele caracteristici
obligatorii ale logicii fuzzy:
n logica fuzzy raionamentele exacte sunt considerate caz particular al
raionamentelor aproximative;
n logica fuzzy totul depinde de gradul de apartenen;
orice sistem logic poate fi fuzzy-ficat;
n logica fuzzy cunotinele sunt interpretate ca un set de restricii flexibile (vagi)
peste o mulime de variabile;
procesul de elaborare a unei concluzii logice este considerat un proces de
extindere a restriciilor flexibile.
Logica boolean este n acest caz o submulime a logicii fuzzy. n afara celor
dou valori de adevr FALS i ADEVRAT sunt introduse valori intermediare
(fuzzy), cum ar fi PROBABIL FALS, POSIBIL, PROBABIL ADEVRAT.
Operaia de trecere de la valori concrete numerice din domeniul de cercetare la
aceste valori fuzzy se numete fuzzyficare, iar operaia invers defuzzyficare.
Valorile de adevr ale unei funcii fuzzy, ca i valorile argumentelor, sunt de tipul
FALS, PROBABIL FALS, POSIBIL, PROBABIL ADEVRAT i ADEVRAT. De
la FALS la ADEVRAT pot fi i alte valori intermediare. Calcularea valorii de
adevr a funciei fuzzy se produce conform unor reguli, legate de domeniul de
cercetare, reguli generate de legitile domeniului, cunotinele unor experi,
intuiie sau anumii factori obiectivi i chiar subiectivi.
Exemplul care urmeaz [6] descrie posibilitatea utilizrii logicii fuzzy n
proiectarea controlerului unui semafor inteligent. Controlerul are ca funcie
modificarea valorii curente a duratei ciclului de comutare a culorilor n
dependen de intensitatea traficului (fluxului de automobile).
ntr-un semafor standard durata ciclului de comutare a unei culori este
constant, ceea ce nu poate fi optimal. Ideal ar fi ca durata ciclului de comutare
s varieze n aa mod, nct ntr-o unitate de timp pe verde s poat trece ct
mai multe automobile, iar pe rou s atepte ct mai puine. Elaborarea
matematic a modelului unui atare sistem n cadrul logicii obinuite este o
problem foarte dificil. Logica fuzzy este de un ajutor esenial n acest caz.
Schema unei intersecii este reprezentat in fig.3.5. La cele 4 semafoare
tradiionale sunt adugate opt contoare c1 c8, repartizate conform schemei.
Contoarele plasate mai aproape de semafor (contoarele cu numerele pare) duc
evidena automobilelor, care au trecut intersecia pe perioada unui ciclu, iar
contoarele cu numerele impare calculeaz numrul de automobile, care se
76
Ciclu de prelegeri la cursul Matematica discret
ndreapt spre semafor. Numrul de automobile, care se afl naintea semaforului
este determinat de diferena celor dou contoare. De exemplu, numrul de
automobile din faa semaforului strzii Sud este egal cu c3-c4. Distana D
dintre dou contoare permite calcularea densitii critice (densitatea maximal,
permis pentru ateptare n caz de situaie apropiat de saturaie). n acest scop se
va calcula numrul de uniti de transport pentru ambele sensuri (Nord-Sud sau
Vest-Est) de deplasare, iar suma se va mpri la 2D. Pentru direcia Est-Vest
vom avea [(c1-c2)+(c5-c6)]/(2D).
N
c7
V E
D
S
c8
c6 c5
D
D
c1 c2
c4
c3
77
Ciclu de prelegeri la cursul Matematica discret
Prin ieirea sistemului vom nelege probabilitatea schimbrii valorii curente
a duratei ciclului de comutare pc.
Vom exprima n termeni matematici situaiile posibile, adic vom pune n
coresponden diapazoanelor posibile ale duratei ciclului i ale numrului de
automobile valori fuzzy - nivele. Pentru intrrile 1 i 2 prin valoare nul (durat
nul a ciclului sau numr nul de automobile) vom considera cazul, cnd valoarea
duratei ciclului este ntre 0 i 2 uniti de timp sau exist de la 0 pn la dou
uniti de transport, adic nul (0, 2). Analogic jos (1, 7), mediu (4, 11),
nalt (7, 18) i haos (14, 20). De la nul pn la haos funciile de apartenen
acoper cinci diapazoane.
Analogic pentru intrarea 3: nivel relativ scurt de la 0 pn la 15
automobile, scurt (10, 35), mediu (18, 60), lung (35, 88), foarte lung
(65, 100) i mrginit (85, 100). Funcia de apartenen acoper 6 diapazoane.
Valorile ieirii (probabilitatea schimbrii valorii curente a ciclului de
comutare - pc), asociate nivelelor vor fi: nu 0, probabil nu 0.25, posibil
0.5, probabil da 0.75 i da 1.0, cinci valori pentru cinci nivele. Observm,
c pentru ieire o valoare este asociat unui singur nivel i nu unui diapazon de
valori.
2o. Elaborarea semnalului fuzzy de comand. Regulile de calculare a
gradului de apartenen pot fi formulate utiliznd o serie de afirmaii logice de
tipul DAC-ATUNCI, unite cu ajutorul conectorilor I-SAU. De exemplu: DAC
durata ciclului este medie I numrul de automobile pe rou este jos I numrul
de automobile pe verde este mediu, ATUNCI modificarea valorii duratei ciclului
probabil nu. Pentru cazul nostru (3 intrri cu 5, 5 i 6 diapazoane pentru
funciile de apartenen) sunt posibile 150 de combinaii. Studiind mai atent
problema, folosind criterii speciale, numrul de combinaii, care prezint interes
poate fi micorat. La acest pas se va obine valoarea funciei de apartenen
pentru fiecare dintre cele 5 valori posibile ale ieirii.
3o. Defuzzyficarea. Procesul de defuzzyficare transform ieirea fuzzy ntr-o
valoare concret non-fuzzy. Decizia final (se va comuta sau nu culoarea
semaforului) va fi luat n dependen de valoarea non-fuzzy a variabile pc. De
exemplu dac valoarea calculat (care depinde de metoda adoptat pentru
defuzzyficare) este mai mare ca 0,5, atunci culoarea va fi comutat, n caz contrar
nu. Prezentm mai jos o formul de dificultate medie de calculare a valorii
numerice a variabilei pc:
n n
pc = ( f ai * val( poz)) / f ai ,
i 1 i 1
78
Ciclu de prelegeri la cursul Matematica discret
n care f ai este valoarea funciei de apartenen, calculat la pasul precedent
pentru fiecare din nivelurile ieirii, iar val(poz) valoarea respectiv precis din
relaia nivel valoare a ieirii.
De exemplu, dac dup calcularea valorilor funciei de apartenen conform
regulilor de mai sus obinem tabelul urmtor
79
Ciclu de prelegeri la cursul Matematica discret
Semafor fuzzy
Indice de performan
Operator uman
Semafor standard
7 categorii de trafic
Fig.3.6. Compararea indicilor de performan
80
Ciclu de prelegeri la cursul Matematica discret
y1= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 | x 4 ) ~ ( x 2 x3 ))
y2= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 | x 4 ) ( x 2 ~ x3 ))
y3= (( x1 x 2 x3 x 4 ) ( x1 x3 x 2 x 4 )) (( x1 ~ x 4 ) ( x 2 | x3 ))
3.2. ntr-o cldire cu n etaje exist m lifturi, comandate la fiecare etaj cu ajutorul
unui singur buton. S se determine funcia logic a butonului unui etaj dat, care
avnd la intrare starea lifturilor, va apela cel mai apropiat lift liber. S se
construiasc circuitul logic ataat butonului unui etaj oarecare pentru n=20 i
m=5.
3.3. Elaborai circuitul logic, care va vizualiza pe un dispozitiv cu 7 elemente -
cristale lichide (exemplul unui ceas electronic) cifrele de la 0 la 9, prezentate n
cod binar.
3.4. Exprimai n termeni ai mulimilor fuzzy situaia temperatura ntr-o sal de
studiu
a) din punctul de vedere al studenilor ,
b) din punctul de vedere al administraiei facultii .
3.5. Cum poate fi exprimat noiunea persoan tnr n cadrul mulimilor
fuzzy?
3.6. Elaborai modelul matematic al procesului examen obinerea notei de
examinare n dependen de nivelul cunotinelor, dificultatea cursului, stricteea
profesorului.
81
Ciclu de prelegeri la cursul Matematica discret
4. GRAFURI
Anul 1736 este considerat pe bun dreptate de nceput pentru teoria
grafurilor. n acel an L.Euler a rezolvat problema despre podurile din
Knigsberg, stabilind criteriul de existen n grafuri a unui circuit special,
denumit astzi ciclu Euler. Acestui rezultat i-a fost hrzit s fie mai bine de un
secol unicul n teoria grafurilor. Doar la jumtatea secolului XIX inginerul
G.Kirchof a elaborat teoria arborilor pentru cercetarea circuitelor electrice, iar
matematicianul A.Caly a rezolvat problema enumerrii pentru trei tipuri de
arbori. n aceeai perioad apare i cunoscuta problem despre patru culori.
Avndu-i nceputurile n rezolvarea unor jocuri distractive (problema calului
de ah i reginelor, "cltoriei n jurul Pmntului" despre nuni i haremuri,
etc.), astzi teoria grafurilor s-a transformat ntr-un aparat simplu i accesibil,
care permite rezolvarea unui cerc larg de probleme. Grafuri ntlnim practic peste
tot. Sub form de grafuri pot fi reprezentate sisteme de drumuri i circuite
electrice, hri geografice i molecule chimice, relaii dintre oameni i grupuri de
oameni.
Foarte fertile au fost pentru teoria grafurilor ultimele trei decenii, ceea ce a
fost cauzat de creterea spectaculoas a domeniilor de aplicaii. n termeni grafo-
teoretici pot fi formulate o mulime de probleme legate de obiecte discrete. Astfel
de probleme apar la proiectarea circuitelor integrate i sistemelor de comand, la
cercetarea automatelor finite, circuitelor logice, schemelor-bloc ale programelor,
n economie i statistic, chimie i biologie, teoria orarelor i optimizarea
discret. Teoria grafurilor a devenit o parte component a aparatului matematic al
ciberneticii, limbajul matematicii discrete.
82
Ciclu de prelegeri la cursul Matematica discret
Dac un vrf nu este extremitatea nici unui arc el se numete vrf izolat, iar
dac este extremitatea a mai mult de dou arce - nod. Un arc pentru care
extremitatea iniial coincide cu cea final se numete bucl.
Arcele unui graf le mai notm i cu u1, u2,..., iar mulimea arcelor grafului o
notm cu U. Se observ c mulimea U a tuturor arcelor unui graf determin
complet aplicaia F, precum i reciproc, aplicaia F determin mulimea U a
arcelor grafului. Un graf G poate fi dat fie prin ansamblul (X,F) fie prin
ansamblul (X,U).
Dou arce se zic adiacente dac sunt distincte i au o extremitate comun.
Dou vrfuri se zic adiacente dac sunt distincte i sunt unite printr-un arc.
Un arc (x,y) se spune c este incident cu vrful x spre exterior i este incident
cu vrful y spre interior.
Fie G = (X,F) i x X. Mulimea tuturor arcelor incidente cu x spre exterior
(interior) se numete semigradul exterior (interior) a lui x i se noteaz d+x (d_x).
Dac pentru un vrf x, d+x=0 sau d_x=0 atunci el se numete vrf terminal
ntr-un graf G = (X,U) se numete drum un ir de arce (u1,...,uk), astfel nct
extremitatea terminal a fiecrui arc uI coincide cu extremitatea iniial a arcului
urmtor ui+1. Un drum care folosete o singur dat fiecare arc al su se numete
drum simplu. Un drum care trece o singur dat prin fiecare vrf al su se
numete drum elementar. Lungimea unui drum este numrul de arce din care este
compus drumul.
u2 u3
x4 x7
x1 u1
u4
x3
u5 u8
u6 x6
x2 x5
u7
83
Ciclu de prelegeri la cursul Matematica discret
eulerian. Un drum finit pentru care vrful iniial coincide cu vrful terminal se
numete circuit.
Graful obinut din graful iniial suprimnd cel puin un vrf al acestuia
precum i toate arcele incidente cu el se numete subgraf. Graful obinut
suprimnd cel puin un arc se numete graf parial.
Un graf se numete complet dac oricare ar fi x i y din X exist un arc de la x
la y sau de la y la x.
Un graf G = (X,F) se zice tare conex dac pentru orice x, y X (x diferit de
y) exist un drum de la x la y sau c oricare pereche de vrfuri x, y cu x diferit de
y se afl pe un circuit.
Fie G = (X,F) i x X. Mulimea Cx format din toate vrfurile xi X pentru
care exist un circuit ce trece prin x i xi se numete component tare conex a lui
G corespunztoare vrfului x.
Componentele tari conexe ale unui graf G = (X,F) constituie o partiie a lui X.
Noiunile introduse sunt valabile pentru grafurile orientate.
n cazul n care orientarea arcelor nu are nici o importan graful se va numi
neorientat. Arcele se vor numi muchii, drumul - lan, circuitul - ciclu. La fel se
introduce noiunea de lan elementar i simplu, lan Euler i hamiltonian. Graful
tare conex se va numi conex.
Cele dou concepte de graf orientat i graf neorientat se pot sprijini n
practic unul pe altul. De la un graf orientat se poate trece la omologul su
neorientat cnd se abordeaz o problem ce nu presupune orientarea i invers,
dac se precizeaz orientarea.
Unui graf orientat simetric i se poate asocia un graf neorientat, legtura dintre
dou vrfuri x i y realizat de cele dou arce (x,y) i (y,x) de sensuri contrarii
nlocuindu-se cu muchia [x,y]. De asemenea un graf neorientat poate fi
identificat cu mai multe grafuri orientate nlocuind fiecare muchie cu dou arce
orientate n sens opus.
Fie G = (X,U) un graf neorientat i x X. Se numete gradul vrfului x
numrul muchiilor care au o extremitate n vrful x. Se noteaz g(x). Un vrf este
izolat dac g(x) = 0.
84
Ciclu de prelegeri la cursul Matematica discret
r(G) = n - p
iar numrul ciclomatic numrul
s(G) = m - r(G) = m - n + p.
Se numete multigraf un graf neorientat n care exist perechi de vrfuri unite
prin mai multe muchii. Se numete q - graf un multigraf pentru care numrul
maxim de muchii ce unesc dou vrfuri este q.
Teorema. Fie G = (X,U) un multigraf, iar G1 = (X,U1) un multigraf obinut
din G adugnd o muchie. Dac x, y X i [x,y] este muchia care
se adaug la mulimea muchiilor grafului G, atunci:
(1) dac x = y sau x i y sunt unite printr-un lan
r(G1) = r(G), s(G1) = s(G) + 1
(2) n caz contrar
r(G1) = r(G) + 1, s(G1) = s(G).
Demonstraia este evident.
Consecin. Numerele cociclomatic i ciclomatic sunt nenegative.
u2 x4
x7
x1
u1 u4
x3
u5 u3
u6 x5 x6
x2
85
Ciclu de prelegeri la cursul Matematica discret
care nu are n interior nici vrfuri, nici muchii. Conturul unei fee este format din
muchiile care o mrginesc. Dou fee sunt adiacente dac contururile au o muchie
comun. S-a demonstrat c numrul cromatic al unui graf planar este patru.
Cu privire la numrul cromatic s-a demonstrat urmtoarea
Teorema (Knig). Un graf este bicromatic dac i numai dac nu are cicluri de
lungime impar.
Se numete arbore oricare graf conex fr bucle i cicluri.
Se numete arborescen un graf orientat fr circuite astfel ca s existe un
vrf i numai unul care nu e precedat de nici un alt vrf (rdcina) i orice alt vrf
s fie precedat de un singur vrf.
86
Ciclu de prelegeri la cursul Matematica discret
Este uor de observat c aceast metod este de o eficacitate mic n sensul
utilizrii memoriei calculatorului: fiecare linie conine doar dou elemente
diferite de zero (o muchie poate fi incident cu nu mai mult de dou vrfuri).
n limbajul Pascal matricea de inciden poate fi redat printr-un tablou
bidimensional mxn:
Matr_Incd: array [1..LinksCount, 1..TopsCount] of integer;
4.2.2. Matricea de adiacen
Este o matrice ptrat nxn, aici n este numrul de vrfuri. Fiecare element
poate fi 0, dac vrfurile respective nu sunt adiacente, sau 1, n caz contrar.
Pentru un graf fr bucle putem observa urmtoarele:
diagonala principal este format numai din zerouri;
pentru grafuri neorientate matricea este simetric fa de diagonala
principal.
x1 x2 x3 x4 x5 x6 x7
x1 0 0 1 1 0 0 0
x2 0 0 1 0 1 1 0
x3 0 0 0 0 0 1 1
x4 0 0 0 0 0 0 1
x5 0 0 0 0 0 0 0
x6 0 0 0 0 0 0 0
x7 0 0 0 0 0 0 0
Fig. 4.4. Exemplu de matrice de adiacen (v.fig.1)
n limbajul Pascal matricea de adiacen poate fi reprezentat n modul
urmtor:
Matr_Ad :array [1..TopsCount,1..TopsCount] of byte,
sau
Matr_Ad :array [1..TopsCount,1..TopsCount] of boolean;
Dup cum este lesne de observat i n acest caz memoria calculatorului este
utilizat nu prea eficace din care cauz matricea de adiacen ca i matricea de
inciden se vor utiliza de obicei doar n cazul n care se va rezolva o problem
concret pentru care reprezentarea grafului n aceast form aduce unele faciliti
algoritmului respectiv.
Pentru pstrarea grafurilor n memoria calculatorului (n deosebi, memoria
extern) se va utiliza una din posibilitile de mai jos.
87
Ciclu de prelegeri la cursul Matematica discret
4.2.3. Lista de adiacen i lista de inciden
Lista de adiacen este o list cu n linii (dup numrul de vrfuri n), n linia
cu numrul i vor fi scrise numerele vrfurilor adiacente cu vrful i.
Lista de inciden se definete n mod analogic cu deosebirea c n linia i vor
fi scrise numerele muchiilor (arcelor) incidente cu vrful i.
Reprezentarea grafurilor prin intermediul acestor liste permite utilizarea mai
eficace a memoriei calculatorului, ns aceste forme sunt mai complicate att n
realizare, ct i n timpul procesrii. Pentru a lua n consideraie lungimea
variabil a liniilor vor fi utilizate variabile dinamice i pointeri.
Vom exemplifica pentru un graf cu n vrfuri. Deoarece fiecare element al
listei conine numere de vrfuri este evident s considerm c vom avea un ir de
variabile dinamice de tip INTEGER care se vor afla n relaia respectiv de
precedare (succedare). Aceast relaie se va realiza prin pointeri, unii mpreun
cu variabila de tip ntreg n nregistrarea (Pascal: record). Pentru a pstra
indicatorii de intrare n aceste iruri se va folosi un tablou unidimensional de
indicatori de lungime n. n calitate de simbol de terminare a irului se va utiliza
un simbol care nu a fost folosit la numeraia vrfurilor (de exemplu 0), care va fi
introdus n calitate de variabil de tip ntreg al ultimului bloc.
De exemplu, lista de adiacen (fig.1.1):
1 - 3, 4, 0
2 - 3, 5, 6, 0
3 - 6, 7, 0
4 7, 0
5-0
6-0
7-0
va avea reprezentare intern din fig.4.5.
2
3 5 6 0
3
^ ^ ^
4
88
Ciclu de prelegeri la cursul Matematica discret
Va fi necesar de realizat urmtoarea declaraie:
Type
BlockPtr = ^BlockType;
BlockType = record;
Number : integer;
Point : BlockPtr;
end;
Var In_Ptr :array [1..TopsCount] of BlockPtr;
Lista de adiacen (i realizarea reprezentrii interne) se va implementa cu
ajutorul procedurii New(BlockPtr_Type_Variable), n care
BlockPtr_Type_Variable este o variabil de tip BlockPtr.
4.3.3. Stive
Stiva se utilizeaz pentru a realiza algoritmul de prelucrare a elementelor
dup principiul "ultimul sosit - primul prelucrat" (LIFO).
Operaiile de baz cu stivele sunt urmtoarele:
Formarea unei stive vide;
89
Ciclu de prelegeri la cursul Matematica discret
Verificare la vid;
Alegerea elementului din topul stivei cu sau fr eliminare;
Introducerea unui element nou n topul stivei.
4.3.4. Arbori
Se va defini o mulime de structuri fiecare din care va consta dintr-un obiect
de baz numit vrf sau rdcina arborelui dat i o list de elemente din mulimea
definit, care (elementele) se vor numi subarbori ai arborelui dat. Arborele
pentru care lista subarborilor este vid se va numi arbore trivial, iar rdcina lui -
frunz.
Rdcina arborelui se va numi tatl vrfurilor care servesc drept rdcini
pentru subarbori; aceste vrfuri se vor mai numi copiii rdcinii arborelui:
rdcina primului subarbore se va numi fiul cel mai mare, iar rdcina fiecrui
subarbore urmtor n list se va numi frate.
Operaiile de baz pentru arbori vor fi:
Formarea unui arbore trivial;
Alegerea sau nlocuirea rdcinii arborelui;
Alegerea sau nlocuirea listei rdcinilor subarborilor;
Operaiile de baz care sunt valabile pentru liste.
90
Ciclu de prelegeri la cursul Matematica discret
ELSE BEGIN
elimin vrful p din stiva S
IF p are frai THEN viziteaz pe fratele lui p i
introduce-l n stiva S
END
END
Acest algoritm poate fi modificat pentru a putea fi utilizat la parcurgerea
tuturor vrfurilor unui graf arbitrar. n algoritmul de mai jos se va presupune c
este stabilit o relaie de ordine pe mulimea tuturor vrfurilor grafului, iar
mulimea vrfurilor adiacente cu un vrf arbitrar al grafului este de asemenea
ordonat:
WHILE va exista cel puin un vrf care nu a fost vizitat DO
BEGIN
fie p - primul din vrfurile nevizitate;
viziteaz vrful p i introduce-l n stiva vid S;
WHILE stiva S nu este vid DO
BEGIN
fie p - vrful din topul stivei S;
IF m vrfuri ale lui p sunt vrfuri adiacente
nevizitate
THEN BEGIN
fie z primul vrf nevizitat din vrfurile
adiacente cu p;
parcurge muchia (p,z), viziteaz vrful
z i introduce-l n stiva S;
END
ELSE elimin vrful p din stiva S
END
END
n cazul n care se va lucra cu un graf conex arbitrar cu relaia de ordine lips,
nu va mai avea importan ordinea de parcurgere a vrfurilor. Propunem un
algoritm care utilizeaz mai larg posibilitile stivei, cea ce face programul mai
efectiv n sensul diminurii timpului de calcul necesar. De exemplu, acest
algoritm n varianta recursiv este pe larg utilizat n programele de selectare
global n subdirectori (cazul programelor antivirus).
Introdu n stiv vrful iniial i marcheaz-l;
WHILE stiva nu este vid DO
BEGIN
extrage un vrf din stiv;
IF exist vrfuri nemarcate adiacente cu vrful extras
91
Ciclu de prelegeri la cursul Matematica discret
THEN marcheaz-le i introduce-le n stiv;
END
4.4.2. Algoritmul de cutare n lrgime
Parcurgerea grafului n lrgime, ca i parcurgerea n adncime, va garanta
vizitarea fiecrui vrf al grafului exact o singur dat, ns principiul va fi altul.
Dup vizitarea vrfului iniial, de la care va ncepe cutarea n lrgime, vor fi
vizitate toate vrfurile adiacente cu vrful dat, apoi toate vrfurile adiacente cu
aceste ultime vrfuri .a.m.d. pn vor fi vizitate toate vrfurile grafului. Evident,
este necesar ca graful s fie conex. Aceast modalitate de parcurgere a grafului
(n lrgime sau postordine), care mai este adesea numit parcurgere n ordine
orizontal, realizeaz parcurgerea vrfurilor de la stnga la dreapta, nivel dup
nivel.
Algoritmul de mai jos realizeaz parcurgerea n lrgime cu ajutorul a dou
fire de ateptare O1 i O2.
Se vor forma dou fire de ateptare vide O1 i O2;
Introduce rdcina n FA O1;
While cel puin unul din firele de ateptare O1 sau O2 nu va fi vid do
If O1 nu este vid then
begin
fie p vrful din topul FA O1;
viziteaz vrful p eliminndu-l din O1;
viziteaz pe toi fiii lui p n FA O2, ncepnd cu cel
mai mare;
END
ELSE
n calitate de O1 se va lua FA O2, care nu este vid,
iar n calitate de O2 se va lua FA vid O1;
Vom nota c procedura parcurgerii grafului n lrgime permite s realizm
arborele de cutare i n acelai timp s construim acest arbore. Cu alte cuvinte,
se va rezolva problema determinrii unei rezolvri sub forma vectorului (a1,
a2,...) de lungime necunoscut, dac este cunoscut c exist o rezolvare finit a
problemei.
Algoritmul pentru cazul general este analogic cu cel pentru un graf n form
de arbore cu o mic modificare care const n aceea c fiecare vrf vizitat va fi
marcat pentru a exclude ciclarea algoritmului.
92
Ciclu de prelegeri la cursul Matematica discret
Algoritmul parcurgerii grafului n lrgime:
Se vor defini dou FA O1 i O2 vide;
Introdu vrful iniial n FA O1 i marcheaz-l;
WHILE FA O1 nu este vid DO
BEGIN
viziteaz vrful din topul FA O1 i elimin-l din FA;
IF exist vrfuri nemarcate adiacente cu vrful dat THEN
introdu-le n FA O2;
END
4.4.3. Graf de acoperire
Fie H un subgraf care conine toate vrfurile unui graf arbitrar G. Dac pentru
fiecare component de conexitate a lui G subgraful H va defini un arbore atunci
H se va numi graf de acoperire (scheletul sau carcas) grafului G. Este evident c
graful de acoperire exist pentru oricare graf: eliminnd ciclurile din fiecare
component de conexitate, adic eliminnd muchiile care sunt n plus, vom
ajunge la graful de acoperire.
Se numete graf aciclic orice graf care nu conine cicluri. Pentru un graf
arbitrar G cu n vrfuri i m muchii sunt echivalente urmtoarele afirmaii:
1. G este arbore;
2. G este un graf conex i m = n - 1;
3. G este un graf aciclic i m = n - 1;
4. oricare dou vrfuri distincte (diferite) ale lui G sunt unite printr-un lan
simplu care este unic;
5. G este un graf aciclic cu proprietatea c, dac o pereche oarecare de vrfuri
neadiacente vor fi unite cu o muchie, atunci graful obinut va conine exact un
ciclu.
Consecin: numrul de muchii pentru un graf arbitrar G, care va fi necesar a fi
eliminate spre a obine un graf de acoperire nu depinde de ordinea eliminrii lor
i este egal cu
m(G)-n(G)+k(G),
unde m(G), n(G) i k(G) sunt numrul de muchii, vrfuri i componente conexe,
respectiv.
Numrul s(G) = m(G)-n(G)+ k(G) se numete rang ciclic sau numr
ciclomatic al grafului G. Numrul r(G) = n(G)-k(G) rang cociclomatic sau
numr cociclomatic.
Deci, s(G)+r(G)=m(G).
93
Ciclu de prelegeri la cursul Matematica discret
Este adevrat urmtoarea afirmaie: orice subgraf a unui graf arbitrar G se
conine ntr-un graf de acoperire a grafului G.
Exist mai muli algoritmi de determinare a grafului de acoperire. Algoritmul
de mai jos nu este un algoritm-standard, ci este unul elaborat n baz algoritmului
de cutare n lrgime. Esena algoritmului const n aceea c folosind dou fire
de ateptare n unul din care sunt nscrise (pe rnd) numerele vrfurilor adiacente
cu vrfurile din cellalt FA (ca i n cazul cutrii n lrgime), vor fi eliminate
muchiile dintre vrfurile unui FA i toate muchiile n afar de una dintre fiecare
vrf al FA curent i vrfurile din FA precedent. n cazul n care ambele FA vor
deveni vide procedura se va termina.
Pentru a nu admite ciclarea i ca s fim siguri c au fost prelucrate toate
componentele conexe se va utiliza marcarea vrfurilor. Dac dup terminarea
unui ciclu ordinar nu au mai rmas vrfuri nemarcate procedura ia sfrit, n caz
contrar n calitate de vrf iniial se va lua oricare din vrfurile nemarcate.
Descrierea algoritmului:
1. Se vor declara dou FA (FA1 i FA2) vide.
2. Se va lua n calitate de vrf iniial un vrf arbitrar al grafului.
3. Se va introduce vrful iniial n firul de ateptare vid FA1 i se va
marca acest vrf.
4. Se vor introduce n FA2 toate vrfurile adiacente cu vrfurile din
FA1 i se vor marca. Dac FA2 este vid se va trece la p.7, n caz
contrar - la p. 4.
5. Se vor elimina toate muchiile care leag vrfurile din FA2.
6. Pentru toate vrfurile din FA2 vor fi eliminate toate muchiile n
afar de una care leag vrful dat cu vrfurile din FA1.
7. Se vor schimba cu numele FA1 i FA2 (FA1 va deveni FA2 i
invers).
8. Dac exist cel puin un vrf nemarcat se va lua n calitate de
vrf iniial oricare din acestea i se va trece la p.1, altfel
9. STOP.
Graful obinut este graful de acoperire.
94
Ciclu de prelegeri la cursul Matematica discret
Vrfurile x0 i xr se numesc extremitile drumului D. Lungimea unui drum
este dat de numrul de arce pe care le conine. Dac vrfurile x0, x1,..., xr sunt
distincte dou cte dou drumul D este elementar.
Adeseori, fiecrui arc (muchii) i se pune n coresponden un numr real care
se numete ponderea (lungimea) arcului. Lungimea arcului (xi, xj) se va nota
w(i,j), iar n cazul n care un arc este lips ponderea lui va fi considerat foarte
mare (pentru calculator cel mai mare numr pozitiv posibil). n cazul grafurilor
cu arce ponderate (grafuri ponderate) se va considera lungime a unui drum suma
ponderilor arcelor care formeaz acest drum. Drumul care unete dou vrfuri
concrete i are lungimea cea mai mic se va numi drum minim iar lungimea
drumului minim vom numi distan. Vom nota distana dintre x i t prin d(x, t),
evident, d(x,x)=0.
Permite determinarea drumului minim care ncepe cu un vrf iniial xi pn la
oricare vrf al grafului G. Dac prin Lij se va nota ponderea arcului (xi, xj) atunci
algoritmul conine urmtorii pai:
1. Fiecrui vrf xj al grafului G se va ataa un numr foarte mare Hj().
Vrfului iniial i se va ataa Ho = 0;
2. Se vor calcula diferenele Hj - Hi pentru fiecare arc (xi, xj). Sunt posibile
trei cazuri:
a) Hj - Hi < Lij,
b) Hj - Hi = Lij,
c) Hj - Hi > Lij.
Cazul "c" permite micorarea distanei dintre vrful iniial i xj din care cauz
se va realiza Hj = Hi + Lij.
Pasul 2 se va repeta atta timp ct vor mai exista arce pentru care are loc
inegalitatea c. La terminare, etichetele Hi vor defini distana de la vrful iniial
pn la vrful dat xi.
3. Acest pas presupune stabilirea secvenei de vrfuri care va forma
drumul minim. Se va pleca de la vrful final xj spre cel iniial. Predecesorul lui xj
va fi considerat vrful xi pentru care va avea loc Hj - Hi = Lij. Dac vor exista
cteva arce pentru care are loc aceast relaie se va alege la opiune.
4.4.5 Algoritmul Bellman - Calaba
Permite determinarea drumului minim dintre oricare vrf al grafului pn la
un vrf, numit vrf final.
95
Ciclu de prelegeri la cursul Matematica discret
Etapa iniial presupune ataarea grafului dat G a unei matrice ponderate de
adiacen, care se va forma n conformitate cu urmtoarele:
1. M(i,j) = Lij, dac exist arcul (xi, xj) de pondere Lij;
2. M(i,j) = , unde este un numr foarte mare (de tip ntreg
maximal pentru calculatorul dat), dac arcul (xi, xj) este lips;
3. M(i,j) = 0, dac i = j.
La etapa a doua se va elabora un vector V0 n felul urmtor:
1. V0(i) = Lin, dac exist arcul (xi, xn), unde xn este vrful final
pentru care se caut drumul minim, Lin este ponderea acestui
arc;
2. V0(i) = , dac arcul (xi, xn) este lips;
3. V0(i) = 0, dac i = j.
Algoritmul const n calcularea iterativ a vectorului V n conformitate cu
urmtorul procedeu:
1. Vk(i) = min{Vk-1; Lij+Vk-1(j)}, unde i = 1, 2,, n - 1, j = 1, 2,...,
n; i<>j;
2. Vk(n) = 0.
Cnd se va ajunge la Vk = Vk-1 - STOP.
Componenta cu numrul i a vectorului Vk cu valoarea diferit de zero ne va da
valoarea minim a drumului care leag vrful i cu vrful n.
96
Ciclu de prelegeri la cursul Matematica discret
b) Condiia de mrginire a fluxului: Exist inegalitatea f(u) c(u) pentru
orice arc u U.
Dac f(u) = c(u) arcul se numete saturat. Un drum se va numi saturat dac
va conine cel puin un arc saturat. Fluxul, toate drumurile cruia sunt saturate se
va numi flux complet. Cel mai mare dintre fluxurile complete se numete flux
maxim.
Pentru orice mulime de vrfuri A U vom defini o tietur w_(A) = {(x, y) |
x A, y A, (x,yU}, adic mulimea arcelor care intr n mulimea A de
vrfuri.
Prin w+(A) vom nota mulimea arcelor care ies din mulimea A de vrfuri.
Este just afirmaia: suma f(u) pentru u w+(A) este egal cu suma f(u) pentru
arcele uw_(A). Aceast valoare comun se va nota fb.
4.5.2. Algoritmul Ford-Fulkerson
Are loc urmtoarea teorem (Ford-Fulkerson):
Pentru orice reea de transport G = (X, U, c) cu intrarea a i ieirea b valoarea
maxim a fluxului la ieire este egal cu capacitatea minim a unei tieturi, adic:
max fb = min c(w_(A)).
n baza acestei teoreme a fost elaborat urmtorul algoritm de determinare a
fluxului maxim (Ford-Fulkerson) la ieirea b a unei reele de transport G = (X, U,
c), unde capacitatea c ia numai valori ntregi [7]:
1o. Se definete fluxul iniial avnd componente nule pe fiecare arc al reelei,
adic f(u) = 0 pentru orice arc u U;
2o. Se determin lanurile nesaturate de la a la b pe care fluxul poate fi mrit,
prin urmtorul procedeu de etichetare:
a) Se marcheaz intrarea a cu [+];
b) Un vrf x fiind marcat, se va marca:
cu [+x] oricare vrf y nemarcat cu proprietatea c arcul u = (x, y)
este nesaturat, adic f(u)<c(u);
cu [-x] - orice vrf y nemarcat cu proprietatea c arcul u = (x, y) are
un flux nenul, adic f(u)>0.
Dac prin acest procedeu de marcare se eticheteaz ieirea b, atunci fluxul fb
obinut la pasul curent nu este maxim. Se va considera atunci un lan format din
vrfurile etichetate (ale cror etichete au respectiv semnele + sau -) care unete
pe a cu b i care poate fi gsit uor urmrind etichetele vrfurilor sale n sensul
de la b ctre a.
Dac acest lan este v, s notm cu v+ mulimea arcelor (x, y), unde marcajul
lui y are semnul +, deci care sunt orientate n sensul de la a ctre b i cu v_
97
Ciclu de prelegeri la cursul Matematica discret
mulimea arcelor (x, y), unde marcajul lui y are semnul -, deci orientate n
sensul de la b ctre a.
Determinm cantitatea:
e = min {min(c(u) - f(u)), min f(u)}. u v+, u v_
Din modul de etichetare rezult e > 0.
Vom mri cu e fluxul pe fiecare arc u din v+ i vom micora cu e fluxul pe
fiecare arc u v_, obinnd la ieire un flux egal cu fb+e. Se repet aplicarea
pasului 2 cu fluxul nou obinut.
Dac prin acest procedeu de etichetare nu putem marca ieirea b, fluxul fb are
o valoare maxim la ieire, iar mulimea arcelor care unesc vrfurile marcate cu
vrfurile care nu au putut fi marcate constituie o tietur de capacitate minim
(demonstrai c se va ajunge n aceast situaie dup un numr finit de pai).
98
Ciclu de prelegeri la cursul Matematica discret
v1 2 v4 10
1 v8
2
3 6
v0 v2 2
v6
4 1 5 3
2 v7
v3 v5
Care este drumul de valoare minim ntre vrfurile v2 i v8 ?
4.2. ntr-o secie a unei ntreprinderi se aplic asupra unui produs anumite
operaii de prelucrare. Prelucrrile ce se pot face, tehnologiile posibile de
ordonare a lor i costurile unitare asociate fiecrei prelucrri sunt date ntr-
un model-graf ponderat cu reprezentarea geometric dat prin figura:
v2 2 6
v5 v7
2 1 7
2
3 5 2
v1 v4
4
6 6 v8
4
3
v3 2 v6
99
Ciclu de prelegeri la cursul Matematica discret
Utiliznd una din variantele relaiilor de mai jos determinai locul corect al
fiecrei mulimi n unul din vrfurile grafului astfel ca toate relaiile, alese din
lista de mai jos, s fie corecte simultan.
x2 2 x3
1 3
4 5 6
7 8 9
x1 x5 x6 x4
Relaiile 1 5, 7 - 9:
a) xi este inclus n xj i nu sunt egale
b) xi este egal cu xj.
Relaia 6:
a) x3 este inclus n x6 i nu sunt egale
b) x3 este egal cu x6
c) x3 nu este n nici o relaie de incluziune cu x6 i invers.
Rspunsul va specifica care mulime a fost pus n x1, care n x2 i aa mai
departe pn la x6 i care este relaia 1 din cele dou posibile (arcul 1 al grafului),
care este relaia 2 (arcul 2 al grafului), pn la arcul 9.
4.4. Fie funciile reale definite pe [-1, 1] cu proprietile:
a) f1 este continu n 0;
b) f2 este derivabil pe [-1, 1] cu derivata 0;
c) f3 este derivabil, cresctoare pe [-1, 1];
d) f4 este continu pe [-1, 1];
e) f5 este derivabil n 0;
f) f6 este continu i par pe [-1, 1].
Utiliznd una din variantele relaiilor de mai jos determinai locul corect al
fiecrei funcii n unul din vrfurile grafului astfel ca toate relaiile, alese din lista
de mai jos, s fie corecte simultan.
1 2
x1 x2 x3
4 6 7
3
8 9
x4 x5 x6
100
Ciclu de prelegeri la cursul Matematica discret
Relaiile 1, 2, 4, 6-9: fi implic fj, dar fj nu implic fi
fi implic fj i fj implic fi
fi nu implic fj i fj nu implic fi,
Relaiile 3, 5: fi implic fj, dar fj nu implic fi
fi implic fj i fj implic fi
fi nu implic fj i fj nu implic fi,
fj implic fi, dar fi nu implic fj
Exemplu: funcia f4 implic funcia f1.
Rspunsul va specifica care funcie a fost pus n x1, care n x2 i aa mai
departe pn la x6 i care este relaia 1 din cele posibile (arcul 1 al grafului), care
este relaia 2 (arcul 2 al grafului), pn la arcul 9.
101
Ciclu de prelegeri la cursul Matematica discret
5. MODELE ALGORITMICE
5.1. Precizarea noiunii de algoritm
Algoritmii, nelegnd prin aceasta proceduri stricte i eficiente de obinere n
mod univoc a rezultatului [2], plecnd de la datele iniiale, sunt prezeni peste tot
n matematic. Adunarea i nmulirea n coloni, substituirea necunoscutelor
la rezovarea unui sistem de ecuaii liniare, construirea unui triunghi, fiind date
cele trei laturi, sunt exemple de algoritmi. ns pn la momentul n care
matematica opera doar cu numere, iar conceptul de algoritm era echivalent cu
noiunea de metod de calcul, necesitatea studierii acestui concept nu putea s
apar. Tradiiile de organizare a calculelor s-au format pe parcursul secolelor,
devenind parte component a culturii, n aceeai msur cu aptitudinile
elementare de a gndi logic. Toat mulimea calculelor consta din cteva operaii
aritmetice, trigonometrice i din analiza matematic, cauz din care noiunea de
metod de calcul prea din start clar i nu avea nevoie de cercetri speciale.
Pn la mijlocul secolului XIX unica ramur matematic, care opera cu
obiecte diferite de numere, era geometria. Neavnd posibilitatea s foloseasc
intuiia omului de a calcula, geometria se deosebea n mod evident de restul
matematicii prin stricteea sporit a formulrilor. Apariia n partea a doua a
secolului XIX a geometriei lui Lobacevski, a teoriilor abstracte algebrice a sporit
necesitatea abordrii ntr-un mod strict a problemelor matematice. Un moment
principial n schimbarea fundamentului matematicii a fost crearea de ctre Georg
Cantor a teoriei mulimulor. n scurt timp a devenit evident, c teoria mulimilor
st la baza tuturor fenomenelor matematice. ns la fel de repede a fost artat, c
unele raionamente, aparent corecte n cadrul acestei teorii, conduc la contradicii
nerezolvabile paradoxurile teoriei mulimilor. Toate acestea au generat
necesitatea unor studii stricte a principiilor raionamentelor matematice (care
pn la acea perioad preau intuitiv clare) cu ajutorul unor mijloace matematice.
A aprut astfel o nou ramur a matematicii bazele matematicii sau
metamatematica. Teoria algoritmilor este partea component a metamatematicii
n care se face ncercarea de a clarifica, care obiecte i operaii asupra lor pot fi
considerate strict definite, care sunt proprietile i posibilitile unor combinaii
ale operaiilor elementare, etc. Aportul principal, adus de teoria algoritmilor
matematicii a fost demonstrarea imposibilitii rezolvrii algoritmice (exacte i
univoce) a unor probleme matematice. Aceste demonstraii, ca i formularea
precis a afirmaiilor, care sunt demonstrate, sunt imposibile fr o noiune
exact a noiunii de algoritm. Termenul algoritm a aprut n tehnic odat cu
apariia ciberneticii [8]. Noiunea de proces de control (de comand), partea
component a acesteia legea (algoritmul) de comand trebuiau precizate strict
102
Ciclu de prelegeri la cursul Matematica discret
matematic. Era necesar s se neleag, care sunt proprietile unei secvene de
acionri pentru a putea fi considerat definit exhaustiv, adic pentru avea
posibilitatea s se numeasc algoritm de comand. n contientizarea acestei
situaii un rol extraordinar l-au jucat calculatoarele electronice, care au
transformat noiunea de algoritm ntr-o realitate palpabil. Din punctul de vedere
al practicii contemporane algoritmul este un program, iar criteriul c un proces
este algoritmic este posibilitatea de a fi programat. Datorit acestei existene
reale a algoritmilor, dar i faptului c inginerii ntotdeauna au abordat n mod
constructiv metodele matematice, noiunea de algoritm a devenit foarte popular
n tehnic.
Necesitatea unei contientizri a noiunii de algoritm este important nu doar
pentru o utilizare corect, ci i pentru elaborarea unor algoritmi concrei,
ndeosebi dac se urmrete scopul crerii ulterioare a unor programe n baza lor.
i mai important este nelegerea acestui concept pentru a face o ordine n
mulimea algoritmilor, mulime n care se observ o cretere exponenial. Pentru
a fi posibil s ne orientm n aceast diversitate trebuie s putem compara diferii
algoritmi, care rezolv aceeai problem i nu doar din punctul de vedere al
calitii soluionrii problemei, ci i conform caracteristicilor algoritmilor
numrul de operaii, memoria necesar, etc. O atare comparare este imposibil
fr a introduce un limbaj precis de cercetare a acestor concepte, adic chiar
algoritmii trebuie s devin obiecte de studiu matematic, ca i obiectele asupra
crora ei sunt destinai s acioneze. Pentru a introduce un astfel de limbaj
suntem obligai s cunoatem, care sunt proprietile principale ale unui algoritm.
5.1.1. Proprietile algoritmilor
5.1.1.1. Obiecte algoritmice
Vom sublinia mai nti c algoritmul prelucreaz date iniiale i prezint
rezultate finale. n sens tehnic, un algoritm are intrri i ieiri, iar n rezultatul
execuiei unui algoritm apar date intermediare. Altfel spus, orice algoritm
opereaz cu date de intrare, de ieire i intermediare. Deoarece dorim s
precizm noiunea de algoritm, va trebui s precizm i noiunea de date, adic s
indicm care sunt proprietile la care vor rspunde obiectele cu care vor opera
algoritmii.
Este evident c aceste obiecte trebuie s fie strict definite i distincte att
unele de altele, ct i de elemente, care nu pot fi considerate obiecte. n multe
cazuri totul este clar din start. Obiecte algoritmice pot fi considerate numerele,
vectorii, matricele, formulele. Imaginile (de exemplu, reprezentarea grafic a
unui graf) par obiecte algoritmice mai puin evidente. Iar cu obiecte de tipul un
film interesant, timp frumos, care nu prezint probleme pentru o fiin uman
103
Ciclu de prelegeri la cursul Matematica discret
(fiecare nelegnd n felul su aceste noiuni), algoritmul ar putea s nu vrea s
opereze.
n teoria algoritmilor n locul unei definiii verbale stricte a conceptului de
obiect sunt fixate seturi finite de obiecte iniiale concrete (numite elementare) i
un set de mijloace de construire a altor obiecte din cele elementare i, poate, cele
intermediare. Setul de obiecte elementare formeaz alfabetul finit al simbolurilor
iniiale (cifre, litere, etc.) din care sunt obinute alte obiecte (v. procedurile
generatoare din 2.1.2, definiiile inductive din 3.7.1 sau definiia noiunii de
identificator ntr-un limbaj de programare). Cuvintele de lungime finit n
alfabete finite (v. exemplul 2.12) reprezint cel mai frecvent tip de date
algoritmice, iar numrul de simboluri ntr-un cuvnt este unitatea natural de
msurare a volumului de informaii procesate.
Un alt exemplu, mai complicat, de obiecte algoritmice, pot fi formulele. Ele,
la fel pot fi definite inductiv i sunt cuvinte finite n alfabete finite. ns nu orice
cuvnt n acest alfabet este o formul. n acest caz, de obicei naintea algoritmilor
de baz exist un set de algoritmi auxiliari, care verific, dac datele iniiale
respect cerinele necesare, verificare numit analiz sintactic.
5.1.1.2. Memoria
Pentru pstrarea datelor este nevoie de memorie. Memoria, de obicei, este
considerat omogen i discret, adic const din locaiuni (celule) de acelai fel
(banalizate), fiecare locaiune pstrnd un simbol al alfabetului de date. Am
coordonat n acest mod unitile de msur pentru date i memorie. Rspuns la
ntrebarea, dac avem nevoie de mai multe tipuri de memorie n dependen de
cele trei tipuri de date se rezolv n diverse moduri i nu prezint interes special
n cazul dat.
5.1.1.3. Paii algoritmului
Un algoritm const din pai elementari distinci, sau operaii, mulimea
pailor unui algoritm, este finit. Un exemplu tipic de mulime de operaii
elementare este sistemul de instruciuni de baz al unui calculator electronic.
5.1.1.4. Determinism
Secvena pailor unui algoritm este determinat, adic dup executarea unui
pas este n mod univoc indicat, care va fi pasul urmtor sau se va da comanda de
oprire, dup care algoritmul este considerat ncheiat.
104
Ciclu de prelegeri la cursul Matematica discret
5.1.1.5. Rezultativitate
Este normal s cerem ca un algoritm s fie rezultativ, adic algoritmul trebuie
s se opreasc dup un numr finit de pai (care depinde de datele procesate),
indicndu-se rezultatul. Nu este obligator ca acest rezultat s ne plac; dac nu
s-a ajuns la ceea ce s-a sperat, algoritmul poate specifica cauza opririi.
5.1.1.6. Descrierea i mecanismul de realizare a algoritmului
Va trebui s facem o deosebire ntre
a) descrierea algoritmului (set de instrucii sau program);
b) mecanismul de realizare a algoritmului (de exemplu, calculatorul
electronic), care include mijloacele de lansare, executarea pailor
elementari, garantarea determinismului i extragerea rezultatelor
(controlul procesului de execuie);
c) procesul de realizare a algoritmului, adic secvena de pai, care va fi
generat de aplicarea algoritmilor pentru date concrete.
Vom considera, c descrierea unui algoritm i mecanismul lui de realizare
sunt finite.
5.1.2. Metode de precizare a noiunii algoritm
Am subliniat mai sus proprietile, pe care trebuie s le posede un set de
reguli pentru a putea fi considerat algoritm. Dar aceste proprieti (de exemplu,
strictee, univocitate, pai elementari, etc.) trebuie la rndul lor precizate.
Definiiile acestora vor conine noiuni noi, care de asemenea vor trebui
precizate, .a.m.d. Pentru a exclude aceasta, n teoria algoritmilor a fost ales un
set finit de obiecte iniiale, declarate elementare i un set finit de mijloace de
construire din aceste obiecte a unor obiecte noi. De exemplu, vom preciza
noiunea de date, considernd datele mulimi de cuvinte finite n alfabete finite.
Pentru precizarea determinismului vom utiliza organigramele (schemele-bloc),
descrierile verbale sau mecanismul de realizare a unui algoritm. n afar de
acestea, trebuie s fixm setul de pai elementari i s convenim n privina
organizrii memoriei. Vom obine un model algoritmic concret.
Modelele algoritmice pot fi considerate entiti matematice abstracte,
destinate formalizrii conceptului algoritm, doar dac vor fi universale, adic
vor permite descrierea oricrui algoritm. Dar, alegnd nite instrumente concrete
pentru formalizare, nu vom pierde oare cadrul general al formalizrii? Reieind
din scopurile principale, care stau la baza crerii teoriei algoritmilor
universalitatea i posibilitatea cercetrii proprietilor algoritmilor acest semn
de ntrebare poate fi exclus n modul urmtor.
105
Ciclu de prelegeri la cursul Matematica discret
1. Se va demonstra convergena modelelor, adic orice algoritm, descris prin
mijloacele unui model, poate fi descris i cu resursele altui model.
2. Datorit convergenei reciproce a modelelor n teoria algoritmilor a fost elaborat
un sistem de noiuni invariante de model, set care permite cercetarea proprietilor
algoritmilor independent de tipul ales de formalizare. Acest sistem de noiuni este
bazat pe conceptul de funcie calculabil, adic funcie, pentru calcularea valorilor
creia exist un algoritm.
Totui, dei cadrul general al formalizrii nu este pierdut, diferite posibiliti
de alegere a resurselor iniiale conduc la modele diferite. Pot fi evideniate trei
tipuri de baz de modele algoritmice universale, n dependen de modul de
nelegere euristic iniial al noiunii de algoritm.
Primul tip leag noiunea de algoritm de cele mai tradiionale concepte
matematice calcule i funcii numerice. Modelul algoritmic din aceast
categorie - funciile recursive cronologic este prima ncercare de formalizare a
noiunii de algoritm.
Tipul al doilea reprezint algoritmul sub forma unui dispozitiv ingineresc,
capabil s ndeplineasc la un moment dat de timp doar cele mai elemenare
operaii. n acest caz nu pot s apar semne de ntrebare, legate de univocitatea
algoritmului sau de simplitatea pailor. Mai mult, euristica acestor modele este
apropiat de principiile de funcionare a calculatoarelor, adic i de intuiia
inginereasc, ceea ce le face foarte populare n acest mediu. Modelul teoretic
principal din aceast categorie, propus la nceputul anilor 1930, este maina
Turing.
Transformrile cuvintelor n cadrul unor alfabete arbitrare reprezint al treilea
tip de modele algoritmice. n calitate de operaie elementar este considerat
substituirea, adic nlocuirea unei pri de cuvnt cu alt cuvnt. Principalul
avantaj al acestui tip este abstractizarea maxim i posibilitatea utilizrii noiunii
de algoritm pentru obiecte de natur arbitrar (nu obligator numeric). Exemplele
cele mai elocvente sunt n acest caz sistemele formale Post i algoritmii
normali Markov.
106
Ciclu de prelegeri la cursul Matematica discret
1. dispozitivul de comand, care poate s se afle n una din strile, care
aparin mulimii finite de stri Q = {q1, q2,, qn};
2. banda mainii, mprit n celule (locaiuni), n fiecare celul fiind
posibil scrierea unui simbol al alfabetului finit A = {a1, a2,, am};
3. dispozitivul de accesare a benzii, adic un cap de citire i scriere, care la
fiecare moment de timp citete coninutul unei celule a benzii i, n
dependen de simbolul citit i starea dispozitivului de comand, scrie n
celula dat un simbol (care poate coincide cu simbolul precedent sau
poate fi un simbol vid, adic terge coninutul celulei), se deplaseaz la
stnga, sau la dreapta la una din celulele vecine, sau rmne pe loc, iar
dispozitivul de comand poate trece ntr-o stare nou sau poate rmne n
starea precedent.
Prin descrierea dispozitivului de citire scriere (DCS) a fost lmurit i
principiul de funcionare a unei maini Turing. Din mulimea de stri ale
dispozitivului de comand vom evidenia starea iniial q1 i starea final qz. n
starea iniial maina se va afla la nceputul lucrului, iar nimerind n starea final
maina se va opri.
Memoria mainii Turing const din memoria intern mulimea de stri ale
dispozitivului de comand, i memoria extern banda infinit n ambele pri.
Dei banda este infinit, doar un numr finit de celule sunt completate cu
simboluri nevide la momentul lansrii MT, restul fiind vide, adic conin
simbolul vid (blanc). Din descrierea funcionrii MT reiese, c i pentru oricare
alt moment de timp viitor doar un fragment finit al benzii va fi ocupat de
simboluri. Din aceast cauz prezint interes nu infinitatea actual a benzii, ci
nemrginirea ei, adic posibilitatea de a nscrie cuvinte orict de lungi, dar finite.
Datele unei MT sunt cuvinte n alfabetul benzii. Pe band se vor nscrie att
datele iniiale, ct i cele finale. Paii elementari sunt citirea i scrierea
simbolurilor, deplasarea dispozitivului de citire-scriere la celula vecin, trecerea
dispozitivului de comand ntr-o stare nou.
Determinismul MT const n faptul c pentru orice stare intern qi i orice
simbol aj sunt cunoscute n mod univoc:
a) starea urmtoare qi1;
b) simbolul aj1, care va fi scris n aceiai celul;
c) direcia de deplasare a DCS dk = {L (stnga), R (dreapta), E (pe loc)}.
Aceasta poate fi descris cu ajutorul sistemului de comenzi de forma
qiaj qi1aj1dk (5.1)
sau printr-un tabel, liniilor fiind ataate strile, coloanelor simbolurile de
intrare, iar la intersecia liniei qi cu coloana aj se va afla tripletul qi1aj1dk. O MT
mai poate fi descris cu ajutorul unui graf ponderat, strilor fiind puse n
107
Ciclu de prelegeri la cursul Matematica discret
coresponden vrfurile grafului, unei comenzi de tipul (5.1) un arc, care
pornete din qi i se termin n qi1 cu ponderea aj aj1dk.
108
Ciclu de prelegeri la cursul Matematica discret
special de separare (marcher), care la fel nu aparine alfabetului Ain. Pentru orice
vector Vin peste Ain maina T sau lucreaz pn la infinit, sau acest vector este
transformat ntr-un set de cuvinte, separate de blancuri, n alfabetul rezultatelor
Arez; Ain i Arez pot s se intersecteze i chiar s coincid. n procesul lucrului pe
band pot s apar simboluri, care nu aparin nici lui Ain i nici la Arez i care
formeaz un alfabet intermediar Aint (care conine, de exemplu, separatorul).
Alfabetul benzii poate fi definit ca reuniunea celor trei alfabete A = Ain Arez
Aint. Cel mai frecvent Ain = Arez, iar A = Ain {}.
Fie f o funcie, care transform o mulime de vectori peste Ain ntr-o mulime
de vectori peste Arez. Vom spune, c maina T calculeaz corect funcia f, dac:
1) pentru oricare V i W, pentru care f(V) = W are loc q1V* = qzW*, aici V* i
W* sunt nregistrri corecte ale lui V i W, respectiv;
2) pentru orice V pentru care f(V) nu este definit, maina Turing, lansat n
CSI q1V*, lucreaz pn la infinit.
Dac pentru f exist maina Turing, care o calculeaz corect, funcia f se
numete corect calculabil Turing.
Pe de alt parte, fiecrei maini Turing, care calculeaz corect, adic fiind
lansat din CSI q1 poate s se opreasc doar n CSF qz, i putem pune n
coresponden funcia pe care MT dat o calculeaz. Dou maini Turing cu
acelai alfabet iniial se numesc echivalente, dac calculeaz aceeai funcie.
Mainile din exemplele 5.1 i 5.2 sunt echivalente, deoarece ambele calculeaz
una i aceeai funcie funcia vid (fr domeniu de definiie).
Definiiile de mai sus (calcularea valorilor unor funcii definite peste vectori
de cuvinte) sunt evident redundante, fiind legate de procesarea unor obiecte
arbitrare. A fost demonstrat, c fr a pierde cadrul general, unele cercetri pot fi
reduse la calcularea unor funcii de tipul NN. Le vom reprezenta n cod unar,
adic pentru orice funcie numeric Ain = {1} sau Ain = {1, *}, iar un numr x va fi
reprezentat prin cuvntul 1...1 = 1x, care const din x uniti. n acest caz funcia
numeric f(x1,...,xn) este calculat corect n sens Turing, dac exist o main T,
care:
1) q11x1*q21x2* ...*qn1xn qz1y, dac f(x1,...,xn) = y i
2) T lucreaz pn la infinit, plecnd din q11x1*q21x2* ...*qn1xn, dac
f(x1,...,xn) nu este definit.
5.2.3.1. Maina Turing T+
Adunarea a dou numere a i b, reprezentate n cod unar, este redus la
procesarea cuvntului 1a*1b n cuvntul 1a+b, adic s se elimine separatorul * i
unul din operanzi, de exemplu primul, s fie deplasat spre altul cu o poziie.
Aceast transformare poate fi realizat de o main Turing cu patru stri i
urmtorul sistem de comenzi: q1*qzR;
109
Ciclu de prelegeri la cursul Matematica discret
q11q2R;
q21q21R;
q2*q31L;
q31q31L;
q3qzR.
Prima comand este introdus pentru cazul cnd a=0. Au fost omise acele
combinaii de stri i simboluri, care, pornind din CSI, nu sunt posibile.
Propunem ca exerciiu, elaborarea tabelului i a grafului acestei maini, ca i
controlarea corectitudinii funcionrii ei.
5.2.3.2. Maina Turing Tcop
Copierea unui cuvnt este procesarea lui n *. Pentru cazul numerelor
problema poate fi rezolvat de maina Turing cu sistemul de comenzi, prezentat
n tabelul 5.1.
Tabelul 5.1. Maina Turing Tcop
1 * 0
q1 q20R qzR q1*L q11L
q2 q21R q3*R q3*R
q3 q31R q41L
q4 q41L q4*L q10R
La fiecare trecere a cuvntului iniial 1a maina Tcop nlocuiete unitatea din
stnga cu 0 i scrie, n starea q3, n prima celul vid din dreapta lui 1a o unitate.
La prima trecere, plus la aceasta, n starea q2, scrie un marcher (*) naintea
scrierii unitii. (Peste a treceri dup marcher vom avea copia lui 1a.) Dup
scrierea unitii ordinare, maina trece n starea q4, care deplaseaz DCS pn n
stnga celui mai apropiat 0, dup ce maina trece n starea q1 i tot ciclul se
repet. Ciclul se va ntrerupe, atunci cnd q1 gsete pe band marcherul, ceea ce
nseamn c toate unitile au fost parcurse (au avut loc a treceri). DCS se
ntoarce n acest caz n poziia iniial, nlocuind pe parcurs toate zerourile cu
uniti.
110
Ciclu de prelegeri la cursul Matematica discret
O main Turing este un cvintet M=(A, Q, q1, Q1, ) unde
A este alfabetul lui M ( A),
Q este mulimea strilor mainii M (mulime finit),
q1 este starea iniial a mainii M (element privilegiat al lui Q),
Q1 reprezint mulimea strilor finale (Q1 Q),
este funcia de tranziie o aplicaie de tipul (Q-Q1)xAQxAxD, iar D =
{L, R, E}.
Setul de instruciuni ale mainii M este mulimea cvintetelor de forma
(q,a,q1,a1,d) cu dD, (q,a) (Q-Q1)xA i (q1,a1,d) = (q,a).
O configuraie a mainii M este un triplet de forma (q,D(x),F(y)), cu q Q, x
A* i y A*. Introducem relaia binar M definit peste mulimea
, n caz contrar.
Vom spune, c maina Turing M este fiabil, dac nici pentru un x A* nu
vom avea f(x) = w.
111
Ciclu de prelegeri la cursul Matematica discret
limbajul organigramelor i unele operaii cu mainile Turing aceste explicaii pot
deveni mai formale i mai exacte.
S ne amintim, c compunerea a dou funcii f1(x) i f2(y) se numete funcia
g(x) = f2(f1(x)), care este obinut prin aplicarea funciei f2 la rezultatele, calculate
de funcia f1. Unica condiie este ca f1 s fie definit pe x, iar f2 pe f1(x).
Teorema 5.1. Dac f1(x) i f2(y) sunt funcii calculabile Turing, atunci i
compunerea lor f2(f1(x)) este funcie calculabil Turing.
Fie T1 maina, care calculeaz funcia f1, iar T2 calculeaz funcia f2, cu
mulimile de stri Q1={q11,..., q1n1} i Q2={q21,..., q2n2}, respectiv. Considerm
ambele funcii, pentru simplitate, numerice de o singur variabil. Construim
graful unei maini T din mainile T1 i T2, echivalnd vrful iniial q21 al mainii
T2 cu vrful final al mainii T1 q1z. Obinem un graf cu n1+n2-1 vrfuri. Declarm
stare iniial a mainii T starea q11, iar starea final q2z. Dac f2(f1(x)) este
definit, atunci T1(1x)=1f1(x) i q111xq1z1f1(x).
T1
Maina T va parcurge acelai ir de configuraii, doar n loc de q1z1f1(x) va trece n
q211f1(x). Aceast configuraie este configuraia standard iniial pentru maina T2
din care cauz vom avea q211f1(x)q2z1f2(f1(x)).
T2
Deoarece toate comenzile mainii T2 sunt prezente n maina T vom avea
112
Ciclu de prelegeri la cursul Matematica discret
01L 1R 1R *,1L
10R *,*R 1L
q11 q12 q13 q14
0R
*L
R 1R 1L
1R *1L R
q21 q22 q23 q24
*R
Fig.5.1. Diagrama mainii T2x
5.2.6. Calcularea predicatelor cu ajutorul mainii Turing
Fie {True, False}. Vom spune, c o main T calculeaz predicatul P()
( este cuvnt n Ain), dac T()=, iar = True, pentru P()=True i =
False, dac P() = False. Dac P() nu este definit, atunci T nu se va opri. La
calcularea simpl a unui predicat este distrus, ceea ce poate crea probleme,
dac dup maina T va lucra o alt main. Introducem noiunea de calculare cu
restabilire: maina T calculeaz P() cu restabilire, dac T()=. Poate fi
demonstrat, c dac exist maina T, care calculeaz P(), atunci exist i maina
T1, care calculeaz P() cu restabilire.
1 R 1 R 1L
q6
True
L
q2 q4
113
Ciclu de prelegeri la cursul Matematica discret
Pentru ca predicatul P() s fie calculat cu restabilire este suficient ca n
buclele q4 i q5 s fie pstrate unitile (11L n loc de 1L).
5.2.6.2. Maina salt condiionat
Maina Turing cu alfabetul Ain={T, F} (prin T am notat True, iar prin F
False) i comenzile
q1TqzFE,
q1FqzTE
calculeaz negaia unei variabile logice. Din calculabilitatea predicatului total
definit P() rezult calculabilitatea negaiei lui P().
Fie funcia f() definit de relaia:
g1(), dac P()=T,
f()=
g2(), dac P()=F,
iar dac P() nu este definit, atunci f() la fel nu este definit. Funcia f() se
numete salt condiionat (ramificare) la g1() sau la g2() conform condiiei
P().
Poate fi demonstrat
Teorema 5.2. Dac g1(), g2() i P() sunt calculabile Turing, atunci
ramificarea g1 i g2 conform condiiei P de asemenea este
calculabil.
Fie T1 cu sistemul de comenzi 1 i mulimea de stri Q1={q11,..., q1n1},
calculeaz g1; T2 cu sistemul de comenzi 2 i mulimea de stri Q2={q21,..., q2n2},
calculeaz g2; Tp calculeaz cu restabilire P(). Maina T, care calculeaz saltul
condiionat g1, g2 conform P este compunerea mainii Tp i a mainii T3, sistemul
de comenzi al creia este de forma:
3 = 1 2 {q31Tq11R, q31Fq21R, q1zq2zE}.
114
Ciclu de prelegeri la cursul Matematica discret
conduc n mod univoc la un rezultat. Cnd sunt cercetate exemple concrete
persoana n cauz de obicei se situeaz n rolul de mecanism, care poate ndeplini
lucrul oricrei maini Turing, avnd la dispoziie setul de instruciuni ca i
program. Sigurana c toi vor ndeplini n acelai mod comenzile (adic nu vor
face greeli, ceea ce se consider i n cazul mainii Turing) nu este altceva dect
sigurana, c exist un algoritm care descrie modul de lucru a mainii Turing
conforma programului dat. Nu este complicat s formulm acest algoritm:
Pentru configuraia curent 1akqiaj2 s se gseasc n sistemul de comenzi
comanda cu partea stng qiaj. Dac partea dreapt a acestei comenzi este de
forma qi1aj1R, s se schimbe n configuraia curent qiaj cu aj1qi1, vom avea
configuraia 1ak aj1qi12; dac partea dreapt este de forma qi1aj1L, s se schimbe
akqiaj cu qi1ak aj1. Poate fi demonstrat, c pentru cazul E situaia poate fi redus la
una din cele prezentate anterior.
Dar, conform celor discutate chiar la nceputul acestui capitol, descrierea
verbal a unui algoritm poate fi imprecis i trebuie formalizat. Pentru aceasta
poate fi utilizat chiar maina Turing, adic s construim o main Turing, care
va realiza algoritmul, descris mai sus. Pentru mainile Turing, care calculeaz
funcii de un singur argument, enunul problemei este urmtorul: s fie construit
maina Turing U, care calculeaz funcii de dou argumente, care pentru orice
main T cu sistemul de comenzi T va verifica condiia U(T, )=T(), dac
T() este definit (T se va opri pentru datele iniiale ), i nu se va opri n caz
contrar. Orice main U cu aceast proprietate se numete maina Turing
universal (MTU). Formularea conceptului de main Turing universal poate fi
extins pentru orice numr de argumente.
MTU, ca i orice alt main Turing, trebuie s posede un alfabet finit AU i o
mulime finit de stri QU. Nu este posibil de obinut aceste dou obiecte prin
simpla reuniune a alfabetelor sau mulimilor de stri ale mainilor iniiale.
Oricnd poate fi propus o main nou, care nu a fost luat n consideraie.
Soluia const n codarea simbolurilor din AU i QU cu cuvinte din alfabetul
AU. Fie |AU|=mT, iar |QU|=nT. Vom considera, c a1 = 1, iar amT = (aceste
simboluri sunt ntotdeauna prezente n alfabetul oricrei MT, care calculeaz
funcii numerice). Notm codurile pentru qi i aj prin S(qi) i S(ai), definindu-le
dup cum urmeaz:
S() = mT,
pentru orice alt simbol aj S(aj) = amT-j-11j,
pentru starea final qTz S(qTz) = qnT-1,
dac i nT S(qi) = qnT-i-11i.
115
Ciclu de prelegeri la cursul Matematica discret
Codul S(aj) unei maini concrete T ntotdeauna are lungimea mT, iar codul
S(qi) nT. Simbolurile R, L i sunt introduse n alfabetul AU, adic S(R) = R,
S(L) = L, S() = . Notm codul cuvntului , format din codurile
simbolurilor, care formeaz acest cuvnt, prin S().
Enunul final al problemei mainii universale Turing este: pentru orice
main T i orice cuvnt n alfabetul AT s se construiasc maina U, care va
verifica relaia U(S(T), S()) = T().
Este posibil de artat, c poate fi construit o main universal, care posed
doar dou simboluri n alfabetul benzii (codarea binar !). Shanon a stabilit
posibilitatea construirii unei maini U cu doar dou stri, iar Minsky i Bobrow
au demonstrat imposibilitatea construirii unei maini universale cu doar dou
simboluri i dou stri.
Existena mainii Turing universale permite tratarea sistemului de comenzi a
unei maini oarecare T n dou moduri: sau ca descrierea funcionrii unui
dispozitiv concret, sau ca program pentru maina universal U. Analogic, un
algoritm de comand poate fi realizat sau cu ajutorul unor resurse tehnice (n
metal) sau prin program elabornd programul unei maini universale de
comand. ns ideea unui dispozitiv algoritmic universal este absolut
independent de nivelul de dezvoltare a resurselor tehnice, care permit
construirea acestui dispozitiv. Aceast idee nu este o realizare a tehnicii, ci un
concept matematic, descris n termeni abstraci independeni de resursele tehnice
i bazat pe un numr extrem de mic de noiuni iniiale.
Este important de menionat, c lucrrile fundamentale din teoria algoritmilor
au fost publicate naintea apariiei calculatoarelor electronice (1930 1940).
Aceast interpretare dubl pstreaz i la nivel abstract avantajele i
dezavantajele principale ale celor dou variante inginereti de realizare: cu
ajutorul unor circuite electronice sau prin program. O main concret T lucreaz
mult mai repede, pe cnd dispozitivul de comand al mainii universale este
relativ complicat, fiind relativ mare numrul de stri i comenzi. ns
complexitatea lui este constant i, fiind odat construit, poate fi utilizat pentru
realizarea oricror algoritmi. Va fi nevoie doar de o band de capacitate mai
mare, care este mai ieftin i organizat mai simplu, n comparaie cu dispozitivul
de comand. Mai mult, pentru algoritmi noi nu este necesar s fie construite
dispozitive speciale. Va fi scris doar un alt program.
116
Ciclu de prelegeri la cursul Matematica discret
Teza lui Turing: Orice algoritm poate fi realizat de o main Turing.
Teza lui Turing nu poate fi demonstrat, deoarece chiar noiunea de algoritm
(procedur eficient) nu este exact. Teza dat nu este nici teorem, nici postulat,
ci o afirmaie, care leag teoria cu obiectele, pentru descrierea crora aceast
teorie a fost creat. Confirmarea tezei lui Turing este pe de o parte adus de
practic, iar pe de alt parte, de faptul, c descrierea algoritmilor cu ajutorul
oricror altor modele cunoscute poate fi redus la descrierea cu ajutorul
mainilor Turing.
Teza lui Turing permite s nlocuim afirmaii inexacte despre existena unor
proceduri eficiente (algoritmi) cu afirmaii exacte despre existena mainilor
Turing, iar cazul n care o main Turing nu exist s fie tratat ca i inexistena
algoritmului n general.
117
Ciclu de prelegeri la cursul Matematica discret
poate s stabileasc, dac programul conine sau nu cicluri infinite pe aceste date.
Pentru marea majoritate a programelor (cazuri particulare!) poate fi stabilit, dac
un program conine sau nu cicluri infinite, poate fi determinat i eliminat cauza
acestui fenomen (programe depanate) i obinut rezultatul necesar.
118
Ciclu de prelegeri la cursul Matematica discret
119
Ciclu de prelegeri la cursul Matematica discret
BIBLIOGRAFIE.
1. L.A.Zadeh. Fuzzy sets, Inf. Control 8, 338-353, 1965.
2. C. . , . . -.
. , , 1988
3. Edgar Codd. Database Design: Relational, Distributed, & Object-Oriented
Concepts. Addison-Wesley Longman, 1991
4. A.Valachi, F.Hoza, V.Onofrei, R.Silion. Analiza, sinteza i testarea
dispozitivelor numerice. Iai, Nord-Est, 1993
5. Chin-Liang Chang, Richard Char-Tung Lee. Symbolic Logic and
Mechanical Theorem Proving. Academic Press, New York, 1973
6. Peter Bauer, Stephan Nouak, Roman Winkler. A brief course in Fuzzy
Logic and Fuzzy Control, Version: 1.2, http://www.flll.uni-
linz.ac.at/pdw/fuzzy/index.html, 1996
7. T. Bnzaru .a. Matematici speciale. Bucureti, E.D.P., 1981
8. Norbert Weiner. Cybernetics or Control and Communication in the Animal
and the Machine. MIT Press 1948, 1961 (1948)
120