Documente Academic
Documente Profesional
Documente Cultură
Curs de Matematica Discreta
Curs de Matematica Discreta
CICLU DE PRELEGERI
la disciplina "Matematica discret n inginerie"
Chiinu 1999
4. GRAFURI
4.1.
Noiuni generale
4.1.1. Definiia grafului
4.1.2. Numr cociclomatic i numr ciclomatic
4.1.3. Numr cromatic. Grafuri planare. Arbori.
4.2.
Metode de reprezentare a grafului
Matricea de iciden
4.2.1. Matricea de adiacen
4.2.3. Lista de adiacen i lista de inciden
4.3.
Structuri de date
4.3.1. Structuri de date: liste
4.3.2. Structuri de date : fire de ateptare
4.3.3. Structuri de date: stive
4.3.4. Structuri de date - arbori
4.4.
Algoritmi pe grafuri
4.4.1. Cutare n adncime
4.4.2. Algoritmul de cutare n lrgime
4.4.3. Noiune de graf de acoperire. Algoritmul de determinare a grafului de acoperire
4.4.4. Noiune de drum minim. Algoritmul lui Ford pentru determinarea drumului minim
4.4.5 Algoritmul Bellman - Calaba
4.5.
Reele de transport
4.5.1. Noiuni generale
4.5.2.
Algoritmul Ford-Fulkerson
1. INTRODUCERE
Prezenta lucrare este dedicat metodelor matematicii discrete aplicabile n inginerie i are ca destinatari
pe studenii i specialitii n informatica teoretic i aplicat, la fel ca i pe toi doritorii s fac cunotin cu
acest domeniu matematic. Matematica tradiional, inclusiv matematica aplicat, care formeaz fundamentul
tiinelor tehnice clasice, s-a conformat pe parcursul anilor cerinelor acestora. Exist monografii i manuale,
lucrri metodice i ndrumare consacrate problemelor legate de tiinele tehnice clasice i metodele
matematice respective. Nimeni nu mai consider necesar s explice noiunile legate de calculul diferenial sau
integral n cadrul electrotehnicii sau termodinamicii. Nu este aceeai situaie i n cazul disciplinelor legate de
tiina calculatoarelor, informatica teoretic i aplicat, inclusiv, sisteme expert i inteligena artificial, etc.
Foarte muli autori sunt convini de necesitatea de a ncepe de la "zero", lmurind ce este o funcie logic sau
un tabel de adevr, un circuit sau un ciclu ntr-un graf. Lucrarea de fa este o ncercare de a "scuti" pe
viitorii autori de eforturi suplimentare i de a le permite s se concentreze total n problemele tehnice tratate.
Un alt obiectiv este legat de faptul c majoritatea inginerilor consider matematica un fel de dicionar mare.
Este suficient s tii numai a depista informaia necesar, deschizndu-l la pagina respectiv. Inginerii sunt
obligai s "iubeasc" formulele, dar nu i teoremele (ca s nu vorbim de demonstrarea lor). ns domeniile de
vrf ale tiinei contemporane cer cu insisten s fie schimbat aceast mentalitate, or problemele tehnicotiinifice principale sunt legate nu att de lucrul cu modele cunoscute ct de elaborarea unor modele noi.
Pentru aceasta este necesar ca matematica s fie nu numai o metod de calcul, ci i una de gndire.
2. SISTEME ALGEBRICE
2.1. Mulimi. Noiuni generale
Teoria mulimilor studiaz conceptele de mulime i de infinit i legile de operare cu mulimile. Noiunea
de mulime este una din noiunile primare ale matematicii i, ca i majoritatea noiunilor primare nu are o
definiie unanim acceptat. Georg Cantor (1845-1918) a definit astfel aceast noiune: "neleg prin mulime,
n general, tot ceea ce este mult, dar care poate fi conceput ca o entitate, adic orice colecie de anumite
obiecte putnd fi nchegate ntr-un ntreg cu ajutorul unei legi oarecare" [1]. Obiectele care formeaz
mulimile se numesc elemente. De obicei, elementele se noteaz cu litere mici, iar mulimile cu litere mari
latine cu sau fr indici. Elementele se iau n acolade i se separ prin virgule. Dou i mai multe elemente de
acelai fel se vor scrie o singur dat.
Vom nota apartenena elementului a mulimii C n felul urmtor: aC, iar dac g nu aparine mulimii
C se va scrie gC. Mulimile pot fi finite sau infinite.
Expresia x S semnific, deci, faptul c elementul x este un element al mulimii S. Dac x\, x2,..., xn sunt
toate elemente ale mulimii S, atunci poate fi scris S={x1, x2,..., xn}. Fiecare x trebuie s fie distinct; nu putem
repeta scrierea unui element ntr-o mulime. Ordinea n care elementele sunt scrise n cadrul mulimii este
arbitrar.
Exemplul 2.1. Fie A = {1, 3, 6}; altfel spus, A este mulimea care are ca elemente valorile ntregi 1, 3 i
6, alte elemente nu exist. Putem scrie 1 A, 3 A i 6 A. Din contra, afirmaia 2 A
este fals ca i oricare alta, care afirm c altceva poate fi element din A.
Mulimile pot avea ca elemente alte mulimi. De exemplu, fie B = {{1, 2, 3}, 3, }. B are
aici trei elemente. Primul element este mulimea {1, 2, 3}, al doilea este numrul ntreg 3,
iar al treilea este mulimea vid. Urmtoarele afirmaii sunt juste: {1, 2, 3} B, 3 B, i
B. Afirmaia 1 B est fals. Adic, din faptul c 1 este element al unuia dintre
elementele lui B nu rezult c 1 este i element al lui B.
Numrul elementelor unei mulimi finite se numete cardinalul sau puterea acestei mulimi.
Cardinalul mulimii A se noteaz prin |A|. Despre cardinalul mulimilor infinite se va discuta n
paragrafele urmtoare. Un loc aparte i este rezervat mulimii de cardinal zero (fr elemente, { }). Aceast
mulime se numete mulime vid i se noteaz prin .
Mulimea A se va numi submulime (sau parte) a mulimii B (se va nota A B, simbolul se numete
simbol de incluziune), dac fiecare element al mulimii A este i element al mulimii B. Se va mai spune c B
acoper A. Dou mulimi A i B se vor considera egale dac conin aceleai elemente, altfel, dac A B i
B A, atunci A = B. n cazul n care A B i A B se va scrie A B, iar A se va numi submulime proprie
sau strict a lui B.
Se consider c mulimea vid este submulime a oricrei mulimi.
3. {1, 2, 3} {1, 2, 3}
Remarcm, c o mulime este ntotdeauna i submulime a sa (p.3), dar niciodat
submulime proprie, adic afirmaia {1, 2, 3} {1, 2, 3} este fals.
Pentru fiecare mulime A exist o mulime B(A) care conine toate prile lui A (inclusiv mulimea vid i
A). Aceast mulime B(A) se va numi booleanul lui A.
Exemplul 2.3. Pentru mulimea F = {a, b, c} vom avea B(F)= {, {a}, {b}, {c}, {a,b}, {a,c}, {b,c},
{a,b,c}}. Adic, B(F) este o mulime cu opt elemente, fiecare element fiind la rndul lui o
mulime. Un alt exemplu, B() = {} deoarece S. Notm c {}, mulimea care
conine mulimea vid nu este aceeai ca i mulimea vid. Prima are un element - , iar
mulimea vid nu are nici unul.
Mulimea tuturor obiectelor posibile n cadrul unei cercetri concrete se numete uneori mulime
universal sau universum (fr pretenii de strictee) i se noteaz prin E sau U.
Mulimile pot fi definite prin simpla enumerare a elementelor lor, dar aceast metod este valabil
doar pentru mulimile finite cu un numr mic de elemente.
O alt metod propune s se porneasc de la o mulime S i o proprietate P a elementelor, definind o
mulime ca toate elementele lui S care verific proprietatea P. Notaia acestei operaii, numit abstracie este
{x | x S i P(x)}
sau toate elementele x din S, care verific proprietatea P. Variabila x din ultima expresie este local, adic
putem scrie cu acelai succes {y | y S i P(y)} pentru a descrie aceeai mulime.
Exemplul 2.4. Fie A, mulimea {1, 3, 6} din exemplul 1.1 i P(x) proprietatea x este impar. Atunci,
{x | x A i x este impar}
este o alt modalitate de a defini mulimea {1, 3}. Altfel, noi acceptm elementele 1 i 3
din A pentru c ele sunt impare, dar refuzm elementul 6, pentru c el nu este impar.
Un alt exemplu, considerm mulimea B = {{1, 2, 3}, 3, } din exemplul 2.1. Atunci,
{A | A B i A este o mulime }
definete mulimea {{1, 2, 3}, }.
nc un exemplu: mulimea numerelor ntregi nenegative, sau naturale, este adesea notat
prin N. Fie P(x) proprietatea x este numr primar (adic x > 1 i nu are ali divizori
dect 1 i el nsui). Mulimea numerelor primare va fi notat n acest caz
{x | x N i P(x)}
Aceast expresie definete mulimea infinit {2, 3, 5, 7, 11, ...}.
Este reconfortant s presupunem, c mulimile sunt finite sau c exist un ntreg n i mulimea considerat
are exact n elemente. De exemplu, mulimea {1, 3, 6} are trei elemente. ns, n foarte multe cazuri mulimile
sunt infinite, adic nu exist un ntreg care ar limita numrul elementelor mulimii. Iat cteva exemple:
Plecnd de la aceste mulimi, pot fi create prin abstracie alte mulimi infinite.
Exemplul 2.5. Mulimea {x | x Z i x < 3} este mulimea tuturor numerelor ntregi negative la care se
adaug 0, 1 i 2. Mulimea {x | x Z i x Z} reprezint mulimea numerelor ntregi
care sunt ptrate perfecte, {0, 1, 4, 9, 16, ...}.
A treia metod const n definirea mulimilor prin intermediul unei proceduri generatoare, care va
descrie modalitatea de obinere a elementelor mulimii din elemente iniiale i/sau care au fost obinute
anterior. Se vor considera elemente ale mulimii toate obiectele care pot fi construite cu ajutorul acestei
proceduri. De pild, mulimea M = {1, 2, 3, 5, 8, 13,...} poate fi definit cu ajutorul urmtoarei proceduri:
1) x1 = 1, x2 = 2;
2) xi+2 = xi+1 + xi , i = 1, 2, 3,....
O mulime poate fi definit cu ajutorul funciei caracteristice, care are domeniul de definiie mulimea
universal U, iar domeniul de valori mulimea {0, 1}:
Exemplul 2.6. Mulimea A = {x | x>>1} este definit ca setul de numere mult mai mari ca unu. n sensul
obinuit A nu poate fi considerat o mulime. Se poate spune precis, c numerele mai mici
dect 1 nu aparin lui A. Numerele mai mari ca 1 pot fi considerate elemente din A cu un
anumit grad de subiectivism: cu ct numrul considerat este mai mare cu att pare mai
corect s considerm, c acesta aparine lui A. Ultima afirmaie poate fi descris, de
exemplu, cu ajutorul funciei caracteristice de mai jos:
Exemplul 2.7. Fie S, mulimea {1, 2, 3} i T mulimea {3, 4, 5}. Atunci S T = {1, 2, 3, 4, 5}, S T =
{3}, i S - T = {1,2}. Adic S T conine toate elementele care apar fie n S fie n T. Chiar
dac 3 apare o dat n S i nc o dat n T, el va fi regsit o singur dat n S T,
deoarece elementele nu pot s se repete, analogic i pentru mulimea S T. Mulimea S - T
conine elementele 1 i 2, deoarece ele sunt n S, dar nu se afl n T. Elementul 3 nu este
prezent n mulimea S - T deoarece, dei este n S, el aparine i lui T.
UTM, Chiinu, 1999, V.Beliu
(2.1)
Etapa
x este din S - (T R)
x este din S
x nu este n T R
x nu este n T
x nu aparine lui R
x aparine lui S - T
x este n (S - T) - R
Justificarea
dat
definiia
definiia
definiia
definiia
definiia
definiia
operaiei
operaiei
operaiei
operaiei
operaiei
operaiei
- i (1)
- i (1)
i (1) (3)
i (3)
- cu (2) i (4)
- cu (6) i (5)
Etapa
x este din S - (T - R)
x este din S-T
x nu este n R
x este n S
x nu aparine lui T
x nu aparine lui R T
x este n S (T R)
Justificarea
dat
definiia
definiia
definiia
definiia
definiia
definiia
operaiei
operaiei
operaiei
operaiei
operaiei
operaiei
- i (1)
- i (1)
- i (2)
- i (2)
cu (3) i (5)
- cu (6) i (4)
total definit,
surjectiv,
funcional,
injectiv.
Exemplul 2.10. Reprezentarea lunilor anului prin numerele lor este o bijecie ntre mulimea lunilor i
mulimea N12 a numerelor ntregi de la 1 pn la 12.
Teorema 2.2. Dac ntre dou mulimi A i B exist o coresponden biunivoc, atunci
|A|=|B|.
Demonstraia este banal i poate fi realizat prin metoda reducerii la absurd. ntradevr, dac teorema
nu este just, pot avea loc dou cazuri:
1. |A| > |B|
2. |A| < |B|
n primul caz, deoarece corespondena este total definit, n A pot fi determinate dou elemente crora le
va corespunde unul i acelai element bB - nu se respect punctul al patrulea. Cazul |A| > |B| trebuie exclus.
n al doilea caz, corespondena fiind suriectiv n B vor fi cel puin dou elemente care corespund unuia
i aceluiai aA - nu se respect funcionalitatea.
i ntr-un caz i n altul am ajuns la contradicie, deci, nu ne rmne dect s fim de acord cu afirmaia
teoremei.
Ultima teorem permite:
a) stabilirea egalitii cardinalelor a dou mulimi fr calcule i
b) determinarea cardinalului unei mulimi prin stabilirea unei corespondene biunivoce a acestei
mulimi cu o alt mulime, cardinalul creia este cunoscut sau uor de calculat. Ca exemplu
Teorema 2.3. Dac A este o mulime finit i |A|= n, atunci numrul tuturor submulimilor mulimii
A este 2n (|B(A)|=2|A|=2n).
Demonstraie. Vom numerota elementele mulimii A cu numere de la 1 pn la n: A = {a1, a2,..., an} i
vom considera mulimea Bn de vectori binari de lungime n. Fiecrei submulimi A* A i vom pune n
coresponden un vector v = (v1, v2,...,v n) Bn n aa mod nct vi=0 dac aiA* i vi=1 dac aiA*. Astfel,
mulimii vide i va corespunde vectorul (00...0), iar lui A vectorul (11...1). Evident corespondena stabilit
ntre mulimea prilor lui A i mulimea vectorilor binari de lungime n este biunivoc i de aceea |B(A)| = |
Bn|. Dar Bn = BxBx...xB i B = {0,1}. Conform consecinei teoremei 2.1, |Bn| = |B|n = 2n c.c.t.d.
Dou mulimi au acelai cardinal (sunt echipotente) dac ntre ele exist o coresponden biunivoc.
Pentru mulimile finite aceast afirmaie a fost demonstrat, iar pentru cele infinite servete drept definiie a
acestui concept.
Mulimile de acelai cardinal cu N (mulimea numerelor naturale) se numesc numrabile.
Teorema 2.4. (Cantor) mulimea numerelor reale din segmentul [0;1] nu este numrabil.
Demonstraia a fost propus de Georg Cantor i poart denumirea de metoda diagonal Cantor.
Presupunem c aceast mulime este numrabil i, deci, exist o numerotare a elementelor ei. S reprezentm
toate numerele, care, n caz general au forma unor fracii zecimale infinite, conform acestei numerotri:
0,a11a12a13a14...
0,a21a22a23a24...
0,a31a32a33a34...
..........................
Vom considera o fracie zecimal oarecare 0,b1b2b3b4... pentru care b1 a11, b2 a22, b3 a33, b4 a44
s.a.m.d. Aceast fracie nu se conine n secvena de mai sus deoarece se deosebete de primul numr prin
prima cifr dup virgul, de al doilea - prin a doua, etc. Deci, toate numerele segmentului [0;1] nu pot fi
numerotate i mulimea numerelor reale ale acestui segment este nenumrabil. Cardinalul mulimilor de
acest tip se numete continuum sau puterea continuumului, iar mulimile - continuale.
Se numete funcie o coresponden funcional. Dac funcia f stabilete o coresponden ntre
mulimile A i B se va spune c f are tipul AB i se va nota f: AB. Funcia total definit f: AB se numete
aplicaie a lui A n B. Dac corespondena f n acest caz este suriectiv vom spune c are loc aplicaia lui A pe
B. Aplicaia de tipul AA se numete transformarea (transformata) lui A.
Funcia f: A1xA2x...xA nB se numete funcie n-ar. (Pentru n = 1 vom vorbi de funcii unare, pentru n =
2 funcii binare, etc.)
Exemplul 2.11. a) ntr-o arhiv dosarele sunt plasate n csue speciale pentru pastrare i accesare rapid.
Asociind fiecrui dosar csua, care l conine, se va defini o funcie de tipul mulimea
dosarelor n mulimea csuelor. Imaginea acestei funcii este mulimea csuelor
ocupate (nevide). Zicnd c aceasta este o aplicaie spunem c toate dosarele sunt
plasate n csue. Aplicaia dat este injectiv, dac fiecare csu conine cel mult un
dosar. Dac nu exist csue libere aplicaia este surjectiv.
b) Numrul de nmatriculare a unui automobil este format dintr-o succesiune de litere i
cifre n felul urmtor: 2, 3 sau 4 litere urmate de 2, 3 sau 4 cifre, de exemplu, CES
919. n termeni matematici nmatricularea automobilelor definete o funcie, care pune
UTM, Chiinu, 1999, V.Beliu
Pentru oricare relaie R poate fi definit noiunea de nchidere tranzitiv R*: aR*b (a se afl n relaia R*
cu b), dac n M exist o secven de n elemente a=a1,..., an-1, an = b n care pentru elementele vecine are loc
R: aRa2, a2Ra3,..., an-1Rb. Dac R este tranzitiv, atunci R*=R. Pentru relaia "a fi fiu" relaia "a fi descendent
direct" este nchidere tranzitiv (este reuniunea relaiilor "a fi fiu", "a fi nepot", "a fi strnepot" s.a.m.d.).
O relaie care posed proprietile reflexivitate, simetrie i tranzitivitate se numete relaie de
echivalen.
Se numete relaie de ordine oricare relaie care posed proprietile reflexivitate, antisimetrie i
tranzitivitate. O relaie antireflexiv, antisimetric i tranzitiv se numete relaie de ordine strict. Dou
elemente a i b se numesc comparabile conform relaiei de ordine R dac are loc aRb sau bRa. O mulime M
cu o relaie de ordine definit pe M se numete total ordonat dac oricare dou elemente din M sunt
comparabile i parial ordonat, n caz contrar.
Exemplul 2.14. Relaiile " ", " " pentru o mulime de numere sunt relaii de ordine, iar "<", ">" - de
ordine strict. Relaia de subordonare n cadrul unei ntreprinderi definete o ordine
strict (dar parial - nu pot fi comparai colaboratorii diferitor departamente).
n alfabetul latin literele sunt aranjate ntr-o ordine binecunoscut: se afl n relaia de
precedare a literelor. Conform acestei relaii poate fi stabilit relaia de precedare a
cuvintelor - ordinea lexicografic a cuvintelor (utilizat de exemplu n dicionare).
Relaia de ordine lexicografic poate fi definit i pentru informaii numerice. De
exemplu, n calculator data i anul sunt memorizate sub forma "anul, luna, ziua" pentru
ca ordinea de cretere a datei totale s coincid cu ordinea lexicografic.
2.8. Operaii i algebre. Proprietile operaiilor
Funcia de tipul : M M se va numi operaie n-ar pe M. Setul A = <M, >, n care este o
mulime de operaii definite pe M, se numete algebr. Mulimea M se va numi mulime de baz sau suportul,
iar = {1, 2,..., m,...} - signatura algebrei A. Vectorul, componentele cruia sunt aritile operaiilor 1,
2,... se numete tipul algebrei A.
n
Operaia se numete:
a)
b)
c)
d)
e)
Dac exist un element e pentru care are loc ae = ea = a, atunci acest element se numete neutru (sau
unitate).
Exemplul 2.15. a) Pentru o mulime arbitrar U i mulimea tuturor prilor B(U), algebra A = {B(U), , ,
} se numete algebr booleana a mulimilor. Tipul ei este (2,2,1).
b) Algebra A = {R,+,x} se numete cmp al numerelor reale. Ambele operaii sunt binare,
deci tipul este (2,2).
Algebrele L = {M,,} (cu dou operaii binare - reuniunea i intersecia) se numesc latice, dac au loc
axiomele:
P1: ab = ba, ab = ba - comutativitate,
P2: a(bc) = (ab)c, a(bc) = (ab)c - asociativitate,
P3: a(ba) = a, a(ba) = a - absorbie,
pentru oricare a, b, cM.
Se poate observa c n acest sistem de axiome se pot schimba ntre ele simbolurile i , proprietate
cunoscut sub denumirea de principiul dualitii pentru latici. De asemenea, plecnd de la axiomele de mai
sus se poate demonstra proprietatea numit idempoten aa = a, aa = a pentru oricare aM. Prin
definiie, o latice finit (mrginit) are un element care este cea mai mic margine superioar, numit prim
element al laticii, notat prin 1, astfel nct a1 = 1, a1 = a, aM i un element care este cea mai mare
margine inferioar, numit ultim element al laticii, notat prin 0, astfel nct a0 = 0a = a, a0 = 0a = 0,
aM.
Fie L = {M, , , 0, 1} o latice finit i aM. Un element complementar sau pe scurt un complement al
elementului a este elementul a (non a), astfel nct
a a = 1 - principiul terului exclus,
a a = 0 - principiul contradiciei.
Evident, nu oricare element dintr-o latice finit are un complement, iar dac acesta exist, nu este n mod
necesar unic. Subliniem aici, c elementele 0 i 1 au fiecare un complement unic, respectiv 1 i 0: 0 = 1,
1= 0.
UTM, Chiinu, 1999, V.Beliu
Dac ntr-o latice finit orice element a are un complement a, aceast latice se numete complementar.
O latice L este distributiv dac i numai dac
(ab)c = (ac)(bc),
(ab)c = (ac)(bc), a, b, cM.
Pentru dou algebre A = {C, 1,2,..., n} i B = {D, g1,g2,...,gn} de acelai tip se numete omomorfismul
algebrei A n algebra B aplicaia : CD, care verific condiia
(2.5)
(2.7)
D1
3-101
D2
Matematica discret n inginerie
D3
conf. V.Beliu
D4
3 iunie
D5
TI-961
D1
3-202
3-310
3-101
3-104
3-101
3-101
3-202
3-310
3-101
D2
Microelectronica
Fizica
Circuite integrate
Electrotehnica
Matematica discret n inginerie
Matematica discret n inginerie
Microelectronica
Fizica
Circuite integrate
D4
4 iunie
3 iunie
4 iunie
3 iunie
8 iunie
13 iunie
8iunie
8iunie
8iunie
D5
C-951
TI-962
C-941
TI-951
TI-962
TI-963
C-952
TI-961
C-942
Algebra relaional este o extensie a algebrei relaiilor n sens c signatura S n afar de cele 4 operaii
descrise anterior mai conine cteva operaii speciale: proiecia, selecia i jonciunea.
Operaia selecie permite evidenierea unei submulimi de cortejuri care posed o proprietate dat. De
exemplu, operaia selecie permite evidenierea relaiei orarul conf. V.Beliu - liniile n care valoarea
domenului D3 este conf. V.Beliu:
Tabelul 2.4. Rezultatul operaiei selecie pentru valoarea conf. V.Beliu
D1
D2
D3
D4
D5
3-101 Matematica discret n inginerie
conf. V.Beliu 3 iunie TI-961
3-101 Matematica discret n inginerie
conf. V.Beliu 8 iunie TI-962
3-101 Matematica discret n inginerie
conf. V.Beliu 13 iunie TI-963
R5
1
6
7
D3
conf. V.Beliu
conf. V.ontea
prof. I.Samusi
conf. V.Negur
conf. A.Diligul
Operaia jonciune (join) a dou tabele care au un domen comun permite construirea unui tabel nou n
care fiecare linie se va obine din unirea a dou linii din tabelele iniiale. Aceste linii corespund aceluiai
atribut din domenul comun. Domenul comun se va scrie o singur dat.
De exemplu, pentru tabele 2.6 i 2.7 domenul comun este D5, rezultatul operaiei de jonciune este
prezentat n tabelul 2.8.
Tabelul 2.6.
D1
3-202
3-310
3-104
D2
Microelectronica
Fizica
Electrotehnica
D3
conf. V.ontea
prof. I.Samusi
conf. A.Diligul
D4
4 iunie
3 iunie
3 iunie
D5
C-951
TI-962
TI-951
Tabelul 2.7.
D1
3-104
3-310
3-202
D2
Electrotehnica
Matematica
Microelectronica
D3
conf. A.Diligul
conf. L.Dogotaru
conf. V.ontea
D4
13 iunie
13 iunie
14 iunie
D5
C-951
TI-962
TI-951
D2
D3
D4
3-202
Microelectronica
conf. V.ontea
4 iunie
D11
D21
3-104 Electrotehnica
D31
D41
D5
conf. A.Diligul
13 iunie
C-951
D2
Fizica
Electrotehnica
D3
D4
prof. I.Samusi
conf. A.Diligul
3 iunie
3 iunie
D11
D21
D31
3-310 Matematica
3-202 Microelectronica
D41
D5
TI-962
TI-951
Operaia join este definit nu numai pentru condiia de egalitate a dou domene, ci pot fi i alte condiii
de comparare, de exemplu, >, , <, , etc.
Exerciii
2.1. Care sunt elementele mulimii {{a, b, c}, {a}, {b, c}} ?
2.2. Este oare just relaia {a}{a, b, c}? Formai lista prilor mulimii A={a, b, c}.
2.3. Pentru cazurile de mai jos determinai dac mulimile A i B sunt egale.
a) A={xR | x>0} B={x R | x |x|};
b)
A={xR | x>0} B={x R | x |x|};
c)
A=Z
B={x Z | x2 x este numr par};
d)
A={xN20 | x - impar i nu se mparte la 3} B={x N20 | x2-1 este divizibil prin 24}.
2.4. Definii mulimile:
a) Mulimea numerelor ntregi mai mari ca 100.
b) Mulimea numerelor ntregi pare.
2.5. Propunei cte o procedur generatoare pentru mulimile de mai jos.
a) A={1, 2, 4, 8, 16, 32, 64,};
b) B={1, 2, 7, 14,};
c) C={4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20}.
2.6.Demonstrai
a)
b)
c)
echivalenele:
(S (T R)) ((S T) (S R))
((S T) - R) ((S - R) (T - R))
(S - (T R)) ((S - T) - R)
A=R
A=R
A={xR | |x| 3}
f(x)=x2+6x+8
A=R
A=R
A=N
d)
e)
f)
B=R, f(x)=x+7
B=R, f(x)=2x2+12x+16
B={xR | 20 |x| 100}
B=R,
B=R,
B=N,
f(x)=5x-4|x|
f(x)=ex+2
f(x)=x2+x.
2.11. Fie aplicaiile f i g : N10 N10 definite cu ajutorul tabelelor de mai jos
x
10
f(x)
10
7
UTM, Chiinu, 1999, V.Beliu
10
g(x)
10
x2
0
0
1
1
x3
0
1
0
1
f(x1,x2,x3)
1
0
0
0
x1
1
1
1
1
x2
0
0
1
1
Tabelul 3.1.
x3
f(x1,x2,x3)
0
1
1
0
0
0
1
1
Pentru cazul unei funcii de n argumente observm c combinaiile posibile ale argumentelor sunt vectori
binari de lungime n. Este uor de demonstrat, c mulimea tuturor combinaiilor posibile este k = 2n (v.
teorema 2.1). Din aceleai considerente pot exista 2k = 22**n funcii booleene distincte. ntradevr, mulimea
tuturor vectorilor binari de lungime n prin definiie reprezint produsul cartezian Bn. Cardinalul acestui
produs este |B| = 2n. Analogic, deoarece oricare funcie boolean de n argumente este un vector binar de
lungime k = 2n, exist 2**2n funcii booleene.
Tabelele de tipul lui 3.1 se numesc tabele de adevr.
Exist situaii cnd pentru unele combinaii ale valorilor argumentelor valoarea FB s nu fie
determinat. FB nedeterminate pentru una sau mai multe combinaii ale valorilor argumentelor se numesc
incomplet definite. n tabelul de adevr valorile nedefinite le vom indica cu asterisc (*).
Exemplul 3.2. Fie f(x1, x2, x3) o FB dat prin tabelul de adevr 3.2.
x1
0
0
0
0
x2
0
0
1
1
x3
0
1
0
1
f(x1,x2,x3)
1
*
0
0
x1
1
1
1
1
x2
0
0
1
1
Tabelul 3.2.
x3
f(x1,x2,x3)
0
*
1
0
0
0
1
*
Funcia este nedeterminat pentru combinaiile (001), (100) i (111) ale valorilor
argumentelor, ele putnd fi aplicate uneori arbitrar n 0 sau 1. Funciile incomplet definite
se ntlnesc frecvent n practica comenzilor secveniale, evidenierea situaiilor de
nedefinire i atibuirea unor valori la necesitate fiind extrem de important pentru
simplificarea lor.
Funcii booleene de un singur argument pot fi patru:
Tabelul 3.3.
x
0
1
f0(x)
0
0
f1(x)
0
1
f2(x)
1
0
f3(x)
1
1
Funciile f0 i f3 se numesc constanta 0 si, respectiv, constanta 1. Valorile lor nu depind de valoarea
argumentului. n acest caz se va spune c argumentul este nesemnificativ, redundant sau fictiv. Funcia f1
repet valoarea argumentului x: vom scrie f1(x) = x. Funcia f2(x) se numete negaia lui x (NONx) i se noteaz
x (x barat).
Exista 16 FB de dou argumente:
x1
0
0
1
1
x2
0
1
0
1
f0
0
0
0
0
f1
0
0
0
1
f2
0
0
1
0
f3
0
0
1
1
f4
0
1
0
0
f5
0
1
0
1
f6
0
1
1
0
f7
0
1
1
1
f8
1
0
0
0
f9
1
0
0
1
Tabelul 3.4.
f10 f11
f12
1
1
1
0
0
1
1
1
0
0
1
0
f13
1
1
0
1
f14
1
1
1
0
f15
1
1
1
1
FB fo(x1,x2) i f15(x1,x2) sunt aceleai constante 0 i 1, respectiv, numai c n acest caz ambele argumente
sunt fictive, iar funciile mai pot fi numite degenerate.
Funcia f1(x1,x2), care aplic combinaiile celor dou argumente n 1 atunci i numai atunci, cnd ambele
argumente au valoarea 1, se numete conjuncie, produs logic sau funcia logic I, (AND). Se noteaz
x1&x2, x1x2 sau x1x2.
Funcia f7(x1,x2) are valoarea 1 dac cel puin unul din argumente este 1 i se numete disjuncie, sum
logic, funcia logic SAU (OR). Se noteaz x1vx2 sau x1+x2.
FB f6(x1,x2) se numete suma modulo 2, funcia SAU-EXCLUSIV sau neechivalen i se noteaz f6(x1,x2)
= x1x2.
Funciile f3(x1,x2) i f5(x1,x2) corespund valorilor argumentelor: f3(x1,x2) = x1 i f5(x1,x2) = x2 i se numesc
funcii identitate, iar f10(x1,x2) i f12(x1,x2) corespund funciilor f3(x1,x2) i f5(x1,x2) negate.
Funcia f8(x1,x2) = f7(x1,x2) poart denumirea de funcia lui Pierce sau funcia lui Webb i se noteaz:
f8(x1,x2) = x1x2. Se mai numete aceast funcie NICI sau NOR din cauza c coincide cu x1 + x2 .
FB f9(x1,x2) care are valoarea 1 atunci i numai atunci cnd valorile argumentelor coincid se numete
funcia de echivalen i se noteaz prin f9(x1,x2) = x1x2 sau x1 x2.
UTM, Chiinu, 1999, V.Beliu
Funcia f13(x1,x2) are valoarea 0 numai n cazul cnd x1 este 1, iar x2 = 0. Ea se numete implicaie. Se va
mai spune c x1 implic x2 sau dac x1 atunci x2 i vom nota x1 x2. Analogic, funcia f11(x1,x2) este implicaia
lui x2, n x1: x2x1.
FB f14(x1,x2) este 0 dac i numai dac ambele argumente sunt 1 i se numete funcia lui Sheffer sau INU (n englez NAND). Se noteaz f14(x1,x2) = x1|x2 sau x1 x2 .
Observm, c n cazul funciilor de un argument jumtate din FB sunt degenerate (cu argumente fictive).
n cazul a dou argumente din 16 funcii booleene ase sunt cu argumente fictive. Odat cu creterea lui n
numrul funciilor cu argumente fictive descrete, tinznd ctre 0, cnd n tinde spre infinit.
3.2. Transformri echivalente i decompoziia funciilor booleene
n 2.6 am numit superpoziie a funciilor f1, f2,...,, fn funcia f obinut prin substituiri i redenumiri de
argumente n aceste funcii, iar prin formul nelegem expresia care descrie aceast superpoziie. Vom
concretiza noiunea de formul pentru funciile logice, introducnd noiunea de formul peste = {f1, f2,...,,
fm,...}, fiind o mulime de funcii logice date.
Considerm formul peste toate formulele care conin numai simboluri de variabile, simboluri
de funcii i paranteze.
Exemplul 3.3. Poate fi considerat formul expresia: f=((x1x3)(x2x4)). Valoarea funciei dat de o
formul poate fi calculat, cunoscnd valorile argumentelor i tabelele de adevr ale
funciilor logice elementare (v. tab.3.4). Dac x1=1, x2=1, x3=0 i x4=0, avem x1x3=1,
x2x4=0 i f=0.
Deci, o formul, pune n coresponden fiecrui set de valori ale argumentelor o anumit valoare de
adevr i poate servi, mpreun cu tabelele de adevr, drept metod de definire i calculare a valorilor
funciilor logice. Se mai spune c o formul reprezint sau realizeaz o funcie logic. Calculnd valorile FB
pentru toate 2n combinaii ale argumentelor restabilim tabelul de adevr al acestei funcii. ns, spre deosebire
de tabelele de adevr, o funcie logic poate fi realizat prin mai multe formule. Cu alte cuvinte, dac ntre
mulimea tabelelor de adevr i mulimea funciilor logice exist o coresponden biunivoc, alta este situaia
cu formulele: o FB poate fi prezentat printr-o infinitate de formule. De exemplu, funcia Pierce f8(x1,x2) =
x1x2 mai poate fi realizat prin formulele x1 +x2 sau x1 x2 , iar funcia Sheffer f14(x1,x2) = x1|x2 prin
x1 +x2 sau x1 x2 .
Formulele, care realizeaz aceeai funcie logic se numesc echivalente. Echivalena a dou formule se
va nota prin simbolul = sau . Metoda general de stabilire a echivalenei a dou formule const n
construirea tabelelor lor de adevr i compararea acestora. Alt metod, denumit metoda transformrilor
echivalente, presupune transformarea uneia dintre formule (sau a ambelor) pn se ajunge la o form evident
comun. Un interes aparte l prezint procedeele de reprezentare a funciilor booleene prin aa numitele forme
normale sau canonice i forme minimale.
Notm x0= x , x1=x. Este simplu s ne convingem (de exemplu prin construirea tabelului de adevr), c
pentru un parametru egal cu 0 sau cu 1, reeind din notaia introdus, avem
i
x =1 cnd x=
x=0, dac x ..
(3.1)
Teorema 3.1. Orice funcie boolean f(x1, x2,..., xn) poate fi pus sub forma:
f(x1, x2,..., xm, xm+1,..., xn)=
...
1
(3.2)
n care m n, iar disjunciile se vor lua pentru toate 2m seturi, formate din variabilele x1, x2,..., xm.
Relaia (3.2) se numete decompoziia funciilor booleene pentru variabilele x1, x2,..., xm.
Demonstrm prin introducerea unui set arbitrar de valori ( 1,2,..., m,m+1,..., n) ale argumentelor n
ambele pri ale relaiei (3.2). Deoarece x=1 numai n cazul n care x=, dintre toate cele 2m conjuncii ale
prii drepte a relaiei (3.2) numai una este egal cu 1 (restul sunt 0), cea pentru care 1=1, 2=2,..., m=m.
Obinem
f(1,2,..., n) =
Pentru m=1 avem decompoziia FB pentru o singur variabil (de exemplu x1):
f(x1, x2,..., xn)= x f(0, x2,..., xn)x1 f(1, x2,..., xn).
1
Prezint interes deosebit cazul m = n - decompoziia FB pentru toate variabilele x1, x2,..., xn. Avem:
f(x1, x2,..., xn)= x11...x nn f(1,..., n)= x11...x nn,
,..., n
1
(3.3)
f( 1,..., n)=1
n care disjunciile se iau pentru combinaiile argumentelor aplicate de f n 1, iar conjunciile respective se
numesc elementare, termeni canonici conjunctivi sau termeni minimali (mintermi).
Numim formul boolean orice formul care n afr de variabile i paranteze conine doar funciile
disjuncie, conjuncie i negaie.
Teorema 3.2. Orice funcie logic poate fi prezentat printr-o formul boolean.
Demonstraia este imediat i reiese din teorema 3.1, relaia (3.3) i ultima definiie. Constanta 0 poate
fi reprezentat prin formula x x .
Algebra A = <P2, {, , }>, suportul creia este mulimea tuturor funciilor logice, iar n calitate de
operaii sunt luate disjuncia, conjuncia i negaia, se numete algebra boolean a funciilor logice. Operaiile
acestei algebre se mai numesc operaii booleene.
Pentru operaiile booleene s-a convenit a se considera urmtoarea ordine de ndeplinire: mai nti vor fi
ndeplinite toate operaiile de negaie (cea mai nalt prioritate), apoi conjunciile, iar cea mai mic prioritate
o are disjuncia. La necesitate pot fi utilizate parantezele.
Este simplu de stabilit (prin construirea tabelelor de adevr, de exemplu), c operaiile booleene posed
proprietile:
(x1x2)x3;
(x1x2)(x1x3);
=0;
asociativitate
(3.4)
comutativitate
(3.5)
distributivitate
(3.6)
idempoten
(3.7)
principiul involuiei
x1(x2x3 ) = (x1x2)x3;
x1(x2x3
x1x2 = x2x1;
x1x2 = x2x1;
x1(x2x3 ) = x1x2x1x3;
x1(x2x3
xx = x;
x x = x;
x = x;
operaii cu constante x&1=x; x&0=0; x1=1; x0=x;
(3.9)
legile lui de Morgan
xx = x +x ;
(3.10)
contradicie
x x = 0;
legea terului exclus
x + x = 1.
1
(3.8)
0 =1;
x + x = x .x
1
(3.11)
(3.12)
Important: operaiile booleene posed proprietile (3.4) - (3.12) chiar dac argumentele xi sunt la
rndul lor funcii sau vor fi obinute n rezultatul unor calcule. Ca rezultat, aceste proprieti se mai numesc
relaii de echivalen, iar transformrile care pot fi operate cu ajutorul lor se numesc transformri echivalente.
Relaiile de echivalen (3.4) - (3.12), mpreun cu unele relaii suplimentare, obinute din primele, prezint
un interes deosebit n tratarea problemei de echivalen a formulelor, datorit eficacitii mai mari n
comparaie cu tabelele de adevr.
Dintre relaiile de echivalen suplimentare (demonstraiile se bazeaz pe proprietile de mai sus i se
propun ca exerciiu):
absorbie
xxy = x;
x(xy) = x;
alipire
xyx y = x;
alipire generalizat xz y z xy = xz y z
3.3. Forme canonice
Decompoziia (3.3) se numete form canonic disjunctiv (FCD) sau form normal disjunctiv
perfect (FNDP) a funciei f(x1, x2,..., xn). FCD conine tot attea conjuncii elementare cte uniti sunt n
tabelul de adevr al funciei date: fiecrui set de valori ale argumentelor pentru care f=1 i corespunde o
conjuncie n care xi este negat, dac = 0 i fr negaie, dac = 1. Cu alte cuvinte, exist o coresponden
UTM, Chiinu, 1999, V.Beliu
biunivoc ntre tabelul de adevr al funciei f(x1, x2,..., xn) i FCD a acestei funcii. Unica funcie boolean care
nu posed FCD este constanta 0.
Relaia (3.3) conduce la un algoritm simplu de elaborare a FCD pentru o FB arbitrar:
1o. Se construiete tabelul de adevr al funciei;
2o. Pentru fiecare combinaie de valori ale argumentelor aplicate n 1 se scriu termenii canonici
conjunctivi n care argumentul xi este luat ca atare sau negat dup cum valoarea lui n
combinaia respectiv este 1 sau 0;
3o. Se reunesc toi termenii canonici conjunctivi, obinute la pasul precedent, cu operaia
disjuncie.
Reprezentarea unei FB se poate face i sub o alt form, numit forma canonic conjunctiv (FCC).
Pentru aceasta numim numrul combinaiei numrul i ataat unei combinaii de valori (1,2,..., n)
conform relaiei:
i = 12n-1+22n-2+...+n20
i introducem funcia Si(x1, x2,..., xn) definit astfel:
0, dac numrul combinaiei este i
Si =
1, n caz contrar.
(3.13)
Aceast funcie se numete funcia caracteristic a lui zero, sau constituentul lui zero.
Poate fi demonstrat
Teorema 3.3. Orice FB poate fi scris sub urmtoarea form
f(x1, x2,..., xn) = & Si
(3.14)
i M
unde M0 este mulimea numerelor combinaiilor valorilor argumentelor pentru care funcia f(x1, x2,..., xn) ia
valoarea 0 (conjuncia constituenilor lui zero) [1].
Demonstraie. Se consider un set arbitrar de valori ale argumentelor (1,2,..., n). Sunt posibile dou
cazuri distincte:
1.
2.
Dac valoarea funciei este 0, atunci n partea dreapt a relaiei (3.14) se afl funcia Sik al crei indice ik
corespunde numrului setului considerat. n acest caz, conform cu (3.13), pentru setul respectiv de valori ale
argumentelor Sik va fi egal cu 0. Conform proprietii x&0 = 0 partea dreapt a relaiei (3.14) va fi egal cu
0. Dac ns pentru setul considerat valoarea funciei este 1, atunci conform formulrii teoremei, printre
funciile Sik din (3.14) nu va fi nici una pentru care indicele s coincid cu numrul combinaiei. n acest caz,
conform cu (3.13), toi membrii conjunciei din partea dreapt a relaiei (3.14) vor fi egali cu 1, deci partea
dreapt va fi egal cu 1. Deoarece s-a demonstrat c ambele pri ale relaiei (3.14) sunt identice pentru un set
arbitrar de valori ale argumentelor rezult c este adevrat pentru orice alt set de valori. Teorema este
demonstrat.
Pentru a stabili expresiile funciilor Sik se consider expresia boolean
x11x22... xnn.
(3.15)
Conform relaiei (3.1) funcia (3.15) este 0 atunci i numai atunci, cnd x1 1, x2 2,..., xn n, fiind 1
pentru toate celelalte cazuri. Avnd n vedere (3.13) pentru funcia constituentul lui 0 rezult:
1x2
(3.16)
unde prin &0 s-a notat faptul c se consider conjuncia termenilor disjunctivi (3.15) pentru care funcia f ia
valoarea 0.
Reprezentarea FB sub forma (3.16) se numete forma canonic conjunctiv (FCC) a funciei, iar
termenii (3.15) cu condiia xi i termeni canonici disjunctivi (TCD), termeni maximali sau maxtermi.
Relaia (3.16) permite stabilirea algoritmului realizrii FCC dac se cunoate tabelul de adevr al
funciei, care conine urmtorii pai:
10. Din tabelul de adevr al funciei se consider toate combinaiile pe care funcia le aplic n 0;
20. Se scriu TCD care corespund acestor combinaii. In expresia TCD argumentul xi intr ca
atare sau negat dup cum n combinaia considerat are valoarea 0 sau 1;
30. TCD obinui la pasul 2 se reunesc prin semnul conjunciei.
Formele canonice sunt unice pentru o funcie logic complet definit. Este recomandat FCD n cazul n
care tabelul de adevr al funciei conine un numr mai mic de valori 1 i FCC, n caz contrar.
3.4. Alte forme de reprezentare a funciilor booleene
n afar de reprezentarea FB cu ajutorul tabelelor de adevr i a formelor canonice mai sunt cunoscute o
serie de alte forme cum ar fi diagramele Karnaugh, schemele logice, diagramele de timp etc.
Diagramele Karnaugh au fost concepute pentru simplificarea FB i reprezint un tablou bidimensional,
care pentru o funcie de n argumente conine 2p linii i 2q coloane, iar p+q = n. Dac n este par, atunci p = q
i p = q+1, n caz contrar. De obicei, pot fi utilizate cu succes pentru n = 4, 5, mai dificil pentru n = 6 i mai
mare. ntr-un tabel bidimensional Karnaugh titlurile coloanelor i liniilor sunt formate din combinaiile de
valori posibile dispuse n cod Gray (binar reflectat). Acest cod fiind continuu i ciclic asigur relaia de
adiacen ntre cmpurile diagramei (numim adiacente dou cmpuri dac titlurile lor difer printr-un singur
rang).
Tabelul 3.5
x1
x2
x3
x4
f(x1,x2,x3,x4)
x1
x2
x3
x4
f(x1,x2,x3,x4)
x1x2
00
01
11
10
00
01
11
10
x3x4
Fig. 3.1.
Exemplul 3.1. Pentru FB de 4 argumente cu tabelul de adevr 3.5 diagrama Karnaugh este prezentat n
figura 3.1.
Combinaiile valorilor argumentelor x1 i x2 sunt dispuse n partea superioar a diagramei, iar cele ale
argumentelor x1 i x2 vertical n partea stng. La intersecia unei coloane i a unei linii este cmpul diagramei
n care se trece 0 sau 1, dup cum valoarea funciei n tabelul de adevr este 0 sau 1.
Schema logic este o reprezentare grafic a FB obinut prin adoptarea unor semne convenionale pentru
operaiile logice. Altfel spus, schema logic reprezint topologia unui circuit logic, care materializeaz o FB.
Simbolurile grafice adoptate constituie o reprezentare a circuitelor logice care materializeaz funciile logice
elementare. Unele dintre cele mai des utilizate semne grafice pentru FB elementare sunt prezentate n tab. 3.6.
Tab.3.6
Denumirea funciei
Reprezentarea grafic
x --------O--------- x
Disjuncia f = x1x2
Conjuncia f = x1x2
Pierce f = x1x2
Sheffer f = x1/x2
Exemplu. S se reprezinte prin schem logic funcia f(x1, x2, x3) = ( x1x2 x3) (x1x2x3).
Utiliznd figurile grafice din tab.3.6 schema logic este prezentat n fig. 3.2. Aici pot fi indicate i
nivelele logice - mulimea elementelor fizice care opereaz simultan. n exemplul dat avem nivelele logice 0,
1 i 2.
Fig. 3.2.
Dac vom reprezenta grafic argumentele xi ca funcii de timp, atand valorii 0 un nivel cobort, iar
valorii 1 un nivel ridicat, astfel ca s existe o difereniere evident a acestor nivele, i vom face acelai lucru i
cu valorile funciei vom obine reprezentarea unei FB prin diagrame n timp (diagrame temporale),
reprezentare extrem de util n studiul sistemelor secveniale n evoluia crora intervine timpul.
Exemplu. Diagrama temporal a funciei f = x1x2 are forma prezentat n fig. 3.3.
Fig.3.3.
3.5. Sisteme complete de funcii
Definiie. Numim sistem complet de FB (baz) n clasa sistemul (f1, f2,..., fk), dac orice funcie
poate fi reprezentat prin superpoziia funciilor din acest sistem.
n calitate de poate fi luat mulimea P2(n). n aceast clas exist un sistem complet i anume toate
cele 2 2n funcii de n argumente. Conform teoremei 3.2, orice funcie logic de n argumente de asemenea
poate fi reprezentat utiliznd doar funciile negaie, disjuncie i conjuncie. Deci, n aceeai clas pot exista
mai multe sisteme complete cu un numr diferit de funcii. Un interes deosebit prezint problema alegerii
bazei care conine un numr minim de funcii.
Numim baz minimal (sistem complet minimal) un sistem complet arbitrar de funcii booleene (f1,
f2,..., fk), care odat cu eliminarea oricrei funcii aprinnd sistemului devine incomplet.
Pentru a stabili completitudinea unui sistem oarecare de FB este suficient s se arate c funciile
sistemului considerat pot reprezenta funciile sistemului (, , ). Pot fi demonstrate teoremele:
Teorema 3.4. Sistemul (,
x = x& x = xx.
Funcia conjuncie poate fi exprimat n modul urmtor:
x1x2 = (x1x2) = (x1x2) = (x1x2)(x1x2).
Problema reprezentrii funciilor booleene prin sisteme complete care conin un numr minim de funcii
elementare vizeaz posibilitatea folosirii unui numr ct mai redus de tipuri de circuite logice pentru
materializarea FB considerate. Exist i un alt aspect al problemei - cel care privete utilizarea unui numr ct
mai mic de circuite standard. Teoretic aceast problem se reflect n simplitatea funciilor booleene. Este
evident c formele canonice sunt departe de a fi cele mai simple. Obinerea unor forme mai simple poate fi
realizat prin metoda transformrilor echivalente utiliznd relaiile p.3.2. ns simplitatea final depinde de
miestria i experiena cercettorului, mai mult - nu exist sigurana c forma obinut este cea mai simpl.
Din aceast cauz au fost cutate metode sistematice pentru obinerea expresiilor minimale a FB.
3.6.1.
Numim termen normal conjunctiv (TNC) conjuncia x11x22...x kk (k n), n care fiecare variabil se
ntlnete numai o singur dat. Numrul literelor unui termen normal conjunctiv numim rangul termenelui,
iar disjuncia TNC - form normal disjunctiv (FND). Reeind din aceste definiii putem spune c FCD a unei
FB de n argumente este FND la care toi termenii sunt de rang n (forma normal cea mai complex).
Definiie. Forma normal disjunctiv care conine cel mai mic numr de litere xii n comparaie cu toate
celelalte FND ale unei FB date numim form disjunctiv minim (FDM).
Definiie. Numim implicani primi ai unei FB de n argumente termenii conjunctivi de forma x11x22...x kk
(k n) care implic funcia fr a se putea elimina vre-o variabil (TNC de rang minim care implic funcia).
De exemplu, dac pentru f(x1,x2,x3,x4) avem
x1 x2x3 x4 f(x1,x2,x3,x4)
x1x3 x4 f(x1,x2,x3,x4)
x1x3 f(x1,x2,x3,x4)
x1 f(x1,x2,x3,x4)
x3 f(x1,x2,x3,x4)
(3.17)
Adesea, n rezultatul efecturii operaiei de alipire parial, pot aprea termeni normal disjunctivi n
repetare sau asupra crora poate fi executat operaia absorbie. Primii, conform proprietii idempoten se
vor scrie o singur dat, pentru cei de categoria a doua se va opera absorbia.
Teorema 3.8 (Quine). Executnd asupra FCD a unei FB toate operaiile posibile de alipire parial i de
absorbie obinem disjuncia implicanilor primi.
Demonstraie. Conform teoremei are loc relaia
f(x1,x2,...,x n)= k,
(3.18)
n care k este setul respectiv de implicani primi. Aceast relaie trebuie s fie adevrat i atunci cnd
f(x1,x2,...,x n)=0 i pentru cazul n care f(x1,x2,...,x n)=1. n primul caz toi implicanii primi sunt egali cu 0,
altfel am avea valoarea 0 pentru funcia if(x1,x2,...,x n), unde i 0 (deci i nu ar fi implicantul funciei
f(x1,x2,...,x n), v.p.3.2). n cel de-al doilea caz va exista cel puin un implicant prim j = 1, drept rezultat partea
dreapta a relaiei (3.18) va fi ca i partea stng egal cu 1 c.c.t.d.
Expresia (3.18) se numete form disjunctiv prescurtat (FDP). n FDP exist n caz general implicani
primi de prisos (redundani, care implic suplimentar funcia), deci FDP nu este minim. Implicanii primi
strict necesari (obinui dup eliminarea implicanilor redundani) se numesc implicani eseniali. Disjuncia
implicanilor eseniali conduce la FDM. n concluzie, putem afirma c minimizarea unei FB pornind de la
FCD presupune urmtorii doi pai:
1o. determinarea formei disjunctive prescurtate (3.18);
UTM, Chiinu, 1999, V.Beliu
x1 x2 x3 x4x1x2 x3 x4
= x 1 x 3 x 4,
x1 x2 x3 x4x1 x2 x3 x4
= x 2 x 3 x 4,
= x 1x 2 x 3,
= x2 x3x4,
x1x2 x3x4
= x1 x3x4,
x1 x2 x3x4
x1 x2 x3x4 x1 x2 x3 x4
= x1 x2 x3,.
Deoarece alipiri pariale pentru termenii normali de rang 3 nu se pot opera avem urmtoarea form
disjunctiv prescurtat:
f(x1,x2,x3,x4) = x1 x3 x4 x2 x3 x4 x1x2 x3 x2 x3x4 x1 x3x4 x1 x2 x3.
2o. Construim tabelul de acoperire:
Tabelul 3.7.
Termenii canonici conjunctivi
Implicanii
x1 x2 x3 x
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x2 x3 x4
x1 x3 x4
x2 x3 x4
x1 x2 x3
x2 x3 x4
x1 x3 x4
x1 x2 x3
primi
4. GRAFURI
Anul 1736 este considerat pe bun dreptate de nceput pentru teoria grafurilor. n acel an L.Euler a
rezolvat problema despre podurile din Knigsberg, stabilind criteriul de existen n grafuri a unui circuit
special, denumit astzi ciclu Euler. Acestui rezultat i-a fost hrzit s fie mai bine de un secol unicul n teoria
grafurilor. Doar la jumtatea secolului XIX inginerul G.Kirchof a elaborat teoria arborilor pentru cercetarea
circuitelor electrice, iar matematicianul A.Caly a rezolvat problema enumerrii pentru trei tipuri de arbori. n
aceeai perioad apare i cunoscuta problem despre patru culori.
Avndu-i nceputurile n rezolvarea unor jocuri distractive (problema calului de ah i reginelor, "cltoriei
n jurul Pmntului" despre nuni i haremuri, etc.), astzi teoria grafurilor s-a transformat ntr-un aparat
simplu i accesibil, care permite rezolvarea unui cerc larg de probleme. Grafuri ntlnim practic peste tot. Sub
form de grafuri pot fi reprezentate sisteme de drumuri i circuite electrice, hri geografice i molecule
chimice, relaii dintre oameni i grupuri de oameni.
Foarte fertile au fost pentru teoria grafurilor ultimele trei decenii, ceea ce a fost cauzat de creterea
spectaculoas a domeniilor de aplicaii. n termeni grafo-teoretici pot fi formulate o mulime de probleme
legate de obiecte discrete. Astfel de probleme apar la proiectarea circuitelor integrate i sistemelor de
comand, la cercetarea automatelor finite, circuitelor logice, schemelor-bloc ale programelor, n economie i
statistic, chimie i biologie, teoria orarelor i optimizarea discret. Teoria grafurilor a devenit o parte
component a aparatului matematic al ciberneticii, limbajul matematicii discrete.
4.1. NOIUNI GENERALE
4.1.1. Definiia grafului
Se numete graf, ansamblul format dintr-o mulime finit X i o aplicaie F a lui X n X. Se noteaz G = (X,F).
Numrul elementelor mulimii X determin ordinul grafului finit. Dac card X = n, graful G = (X,F) se
numete graf finit de ordinul n. Elementele mulimii X se numesc vrfurile grafului. Geometric, vrfurile unui
graf le reprezentm prin puncte sau cerculee. Perechea de vrfuri (x,y) se numete arc; vrful x se numete
originea sau extremitatea iniial a arcului (x,y), iar vrful y se numete extremitatea final sau terminal. Un
arc (x,y) l reprezentm geometric printr-o sgeat orientat de la vrful x la vrful y.
Dac un vrf nu este extremitatea nici unui arc el se numete vrf izolat, iar dac este extremitatea a mai mult
de dou arce - nod. Un arc pentru care extremitatea iniial coincide cu cea final se numete bucl.
Arcele unui graf le mai notm i cu u1, u2,..., iar mulimea arcelor grafului o notm cu U. Se observ c
mulimea U a tuturor arcelor unui graf determin complet aplicaia F, precum i reciproc, aplicaia F
determin mulimea U a arcelor grafului. Un graf G poate fi dat fie prin ansamblul (X,F) fie prin ansamblul
(X,U).
Dou arce se zic adiacente dac sunt distincte i au o extremitate comun. Dou vrfuri se zic adiacente dac
sunt distincte i sunt unite printr-un arc.
Un arc (x,y) se spune c este incident cu vrful x spre exterior i este incident cu vrful y spre interior.
Fie G = (X,F) i x X. Mulimea tuturor arcelor incidente cu x spre exterior (interior) se numete semigradul
exterior (interior) a lui x i se noteaz d+x (d_x). Dac pentru un vrf x, d+x=0 sau d_x=0 atunci el se numete
vrf terminal
u2
x1
u3
x4
u1
u5
x2
x7
u4
x3
u6
u8
x6
x5
u7
Un drum elementar ce trece prin toate vrfurile grafului se numete drum hamiltonian. Un drum simplu ce
conine toate arcele grafului se numete drum eulerian. Un drum finit pentru care vrful iniial coincide cu
vrful terminal se numete circuit.
Graful obinut din graful iniial suprimnd cel puin un vrf al acestuia precum i toate arcele incidente cu el
se numete subgraf. Graful obinut suprimnd cel puin un arc se numete graf parial.
Un graf se numete complet dac oricare ar fi x i y din X exist un arc de la x la y sau de la y la x.
Un graf G = (X,F) se zice tare conex dac pentru orice x, y X (x diferit de y) exist un drum de la x la y sau
c oricare pereche de vrfuri x, y cu x diferit de y se afl pe un circuit.
Fie G = (X,F) i x X. Mulimea Cx format din toate vrfurile xi X pentru care exist un circuit ce trece
prin x i xi se numete component tare conex a lui G corespunztoare vrfului x.
Componentele tari conexe ale unui graf G = (X,F) constituie o partiie a lui X.
Noiunile introduse sunt valabile pentru grafurile orientate.
n cazul n care orientarea arcelor nu are nici o importan graful se va numi neorientat. Arcele se vor numi
muchii, drumul - lan, circuitul - ciclu. La fel se introduce noiunea de lan elementar i simplu, lan Euler i
hamiltonian. Graful tare conex se va numi conex.
Cele dou concepte de graf orientat i graf neorientat se pot sprijini n practic unul pe altul. De la un graf
orientat se poate trece la omologul su neorientat cnd se abordeaz o problem ce nu presupune orientarea i
invers, dac se precizeaz orientarea.
Unui graf orientat simetric i se poate asocia un graf neorientat, legtura dintre dou vrfuri x i y realizat de
cele dou arce (x,y) i (y,x) de sensuri contrarii nlocuindu-se cu muchia [x,y]. De asemenea un graf neorientat
poate fi identificat cu mai multe grafuri orientate nlocuind fiecare muchie cu dou arce orientate n sens opus.
Fie G = (X,U) un graf neorientat i x X. Se numete gradul vrfului x numrul muchiilor care au o
extremitate n vrful x. Se noteaz g(x). Un vrf este izolat dac g(x) = 0.
4.1.2. Numr cociclomatic i numr ciclomatic
Fie G = (X,F) un graf neorientat cu n vrfuri, m muchii i p componente conexe. Numim numr cociclomatic
asociat grafului G numrul
r(G) = n - p
iar numrul ciclomatic numrul
s(G) = m - r(G) = m - n + p.
Se numete multigraf un graf neorientat n care exist perechi de vrfuri unite prin mai multe muchii. Se
numete q - graf un multigraf pentru care numrul maxim de muchii ce unesc dou vrfuri este q.
Teorema. Fie G = (X,U) un multigraf, iar G1 = (X,U1) un multigraf obinut din G adugnd o muchie. Dac
x, y X i [x,y] este muchia care se adaug la mulimea muchiilor grafului G, atunci:
(1) dac x = y sau x i y sunt unite printr-un lan
r(G1) = r(G), s(G1) = s(G) + 1
(2) n caz contrar
r(G1) = r(G) + 1, s(G1) = s(G).
Demonstraia este evident.
Consecin. Numerele cociclomatic i ciclomatic sunt nenegative.
4.1.3. Numr cromatic. Grafuri planare. Arbori
Un graf G = (X,U) se zice ca este graf p-cromatic daca vrfurile lui se pot colora cu p-culori distincte astfel ca
dou vrfuri adiacente s nu fie de aceeai culoare. Cel mai mic numr ntreg i pozitiv pentru care graful este
p-cromatic se numete numr cromatic.
Un graf se zice c este planar dac poate fi reprezentat pe un plan astfel ca dou muchii s nu aib puncte
comune n afar de extremitile lor. Un graf planar determin regiuni numite fee. O fa este o regiune
mrginit de muchii i care nu are n interior nici vrfuri, nici muchii. Conturul unei fee este format din
muchiile care o mrginesc. Dou fee sunt adiacente dac contururile au o muchie comun. S-a demonstrat c
numrul cromatic al unui graf planar este patru.
Cu privire la numrul cromatic s-a demonstrat urmtoarea
Teorema (Knig). Un graf este bicromatic dac i numai dac nu are cicluri de lungime impar.
UTM, Chiinu, 1999, V.Beliu
u1
x4
x7
u4
x3
u3
u5
u6
x2
x5
x6
Matricea de inciden;
Matricea de adiacen;
Lista de adiacen (inciden).
0
0
0
0
0
0
0
0
0
0
0
0
1 - 3, 4, 0
2 - 3, 5, 6, 0
3 - 6, 7, 0
4 7, 0
5-0
6-0
7-0
2
3
4
4.3.3. Stive
Stiva se utilizeaz pentru a realiza algoritmul de prelucrare a elementelor dup principiul "ultimul sosit primul prelucrat" (LIFO).
Operaiile de baz cu stivele sunt urmtoarele:
4.3.4. Arbori
Se va defini o mulime de structuri fiecare din care va consta dintr-un obiect de baz numit vrf sau rdcina
arborelui dat i o list de elemente din mulimea definit, care (elementele) se vor numi subarbori ai arborelui
dat. Arborele pentru care lista subarborilor este vid se va numi arbore trivial, iar rdcina lui - frunz.
Rdcina arborelui se va numi tatl vrfurilor care servesc drept rdcini pentru subarbori; aceste vrfuri se
vor mai numi copiii rdcinii arborelui: rdcina primului subarbore se va numi fiul cel mai mare, iar
rdcina fiecrui subarbore urmtor n list se va numi frate.
Operaiile de baz pentru arbori vor fi:
BEGIN
fie p - vrful din topul stivei S;
IF fiii vrfului p nc nu au fost vizitai
THEN viziteaz fiul mai mare al lui p i introduce-l n S
ELSE BEGIN
elimin vrful p din stiva S
IF p are frai THEN viziteaz pe fratele lui p i introduce-l n stiva S
END
END
Acest algoritm poate fi modificat pentru a putea fi utilizat la parcurgerea tuturor vrfurilor unui graf arbitrar.
n algoritmul de mai jos se va presupune c este stabilit o relaie de ordine pe mulimea tuturor
vrfurilor grafului, iar mulimea vrfurilor adiacente cu un vrf arbitrar al grafului este de asemenea
ordonat:
WHILE va exista cel puin un vrf care nu a fost vizitat DO
BEGIN
fie p - primul din vrfurile nevizitate;
viziteaz vrful p i introduce-l n stiva vid S;
WHILE stiva S nu este vid DO
BEGIN
fie p - vrful din topul stivei S;
IF m vrfuri ale lui p sunt vrfuri adiacente nevizitate
THEN BEGIN
fie z primul vrf nevizitat din vrfurile adiacente cu p;
parcurge muchia (p,z), viziteaz vrful z i introduce-l n stiva S;
END
ELSE elimin vrful p din stiva S
END
END
n cazul n care se va lucra cu un graf conex arbitrar cu relaia de ordine lips, nu va mai avea importan
ordinea de parcurgere a vrfurilor. Propunem un algoritm care utilizeaz mai larg posibilitile stivei, cea ce
face programul mai efectiv n sensul diminurii timpului de calcul necesar. De exemplu, acest algoritm n
varianta recursiv este pe larg utilizat n programele de selectare global n subdirectori (cazul programelor
antivirus).
Introdu n stiv vrful iniial i marcheaz-l;
WHILE stiva nu este vid DO
BEGIN
extrage un vrf din stiv;
IF exist vrfuri nemarcate adiacente cu vrful extras
THEN marcheaz-le i introduce-le n stiv;
END
4.4.2. Algoritmul de cutare n lrgime
Parcurgerea grafului n lrgime, ca i parcurgerea n adncime, va garanta vizitarea fiecrui vrf al grafului
exact o singur dat, ns principiul va fi altul. Dup vizitarea vrfului iniial, de la care va ncepe cutarea n
lrgime, vor fi vizitate toate vrfurile adiacente cu vrful dat, apoi toate vrfurile adiacente cu aceste ultime
vrfuri .a.m.d. pn vor fi vizitate toate vrfurile grafului. Evident, este necesar ca graful s fie conex.
Aceast modalitate de parcurgere a grafului (n lrgime sau postordine), care mai este adesea numit
parcurgere n ordine orizontal, realizeaz parcurgerea vrfurilor de la stnga la dreapta, nivel dup nivel.
Algoritmul de mai jos realizeaz parcurgerea n lrgime cu ajutorul a dou fire de ateptare O1 i O2.
Se vor forma dou fire de ateptare vide O1 i O2;
Introduce rdcina n FA O1;
WHILE cel puin unul din firele de ateptare O1 sau O2 nu va fi vid DO
IF O1 nu este vid THEN
BEGIN
fie p vrful din topul FA O1;
viziteaz vrful p eliminndu-l din O1;
viziteaz pe toi fiii lui p n FA O2, ncepnd cu cel mai mare;
END
UTM, Chiinu, 1999, V.Beliu
ELSE
n calitate de O1 se va lua FA O2, care nu este vid,
iar n calitate de O2 se va lua FA vid O1;
Vom nota c procedura parcurgerii grafului n lrgime permite s realizm arborele de cutare i n acelai
timp s construim acest arbore. Cu alte cuvinte, se va rezolva problema determinrii unei rezolvri sub forma
vectorului (a1, a2,...) de lungime necunoscut, dac este cunoscut c exist o rezolvare finit a problemei.
Algoritmul pentru cazul general este analogic cu cel pentru un graf n form de arbore cu o mic modificare
care const n aceea c fiecare vrf vizitat va fi marcat pentru a exclude ciclarea algoritmului.
Algoritmul parcurgerii grafului n lrgime:
Se vor defini dou FA O1 i O2 vide;
Introdu vrful iniial n FA O1 i marcheaz-l;
WHILE FA O1 nu este vid DO
BEGIN
viziteaz vrful din topul FA O1 i elimin-l din FA;
IF exist vrfuri nemarcate adiacente cu vrful dat THEN introdu-le n FA O2;
END
4.4.3. Noiune de graf de acoperire. Algoritmul de determinare a grafului de acoperire
Fie H un subgraf care conine toate vrfurile unui graf arbitrar G. Dac pentru fiecare component de
conexitate a lui G subgraful H va defini un arbore atunci H se va numi graf de acoperire (scheletul sau
carcas) grafului G. Este evident c graful de acoperire exist pentru oricare graf: eliminnd ciclurile din
fiecare component de conexitate, adic eliminnd muchiile care sunt n plus, vom ajunge la graful de
acoperire.
Se numete graf aciclic orice graf care nu conine cicluri. Pentru un graf arbitrar G cu n vrfuri i m muchii
sunt echivalente urmtoarele afirmaii:
1. G este arbore;
2. G este un graf conex i m = n - 1;
3. G este un graf aciclic i m = n - 1;
4. oricare dou vrfuri distincte (diferite) ale lui G sunt unite printr-un lan simplu care este unic;
5. G este un graf aciclic cu proprietatea c, dac o pereche oarecare de vrfuri neadiacente vor fi unite cu o
muchie, atunci graful obinut va conine exact un ciclu.
Consecin: numrul de muchii pentru un graf arbitrar G, care va fi necesar a fi eliminate spre a obine un
graf de acoperire nu depinde de ordinea eliminrii lor i este egal cu
m(G)-n(G)+k(G),
unde m(G), n(G) i k(G) sunt numrul de muchii, vrfuri i componente conexe, respectiv.
Numrul s(G) = m(G)-n(G)+ k(G) se numete rang ciclic sau numr ciclomatic al grafului G. Numrul r(G) =
n(G)-k(G) rang cociclomatic sau numr cociclomatic.
Deci,
s(G)+r(G)=m(G).
Este adevrat urmtoarea afirmaie: orice subgraf a unui graf arbitrar G se conine ntr-un graf de acoperire a
grafului G.
Exist mai muli algoritmi de determinare a grafului de acoperire. Algoritmul de mai jos nu este un algoritmstandard, ci este unul elaborat n baz algoritmului de cutare n lrgime. Esena algoritmului const n aceea
c folosind dou fire de ateptare n unul din care sunt nscrise (pe rnd) numerele vrfurilor adiacente cu
vrfurile din cellalt FA (ca i n cazul cutrii n lrgime), vor fi eliminate muchiile dintre vrfurile unui FA
i toate muchiile n afar de una dintre fiecare vrf al FA curent i vrfurile din FA precedent. n cazul n care
ambele FA vor deveni vide procedura se va termina.
Pentru a nu admite ciclarea i ca s fim siguri c au fost prelucrate toate componentele conexe se va utiliza
marcarea vrfurilor. Dac dup terminarea unui ciclu ordinar nu au mai rmas vrfuri nemarcate procedura ia
sfrit, n caz contrar n calitate de vrf iniial se va lua oricare din vrfurile nemarcate.
Descrierea algoritmului:
1. Se vor declara dou FA (FA1 i FA2) vide.
2. Se va lua n calitate de vrf iniial un vrf arbitrar al grafului.
3. Se va introduce vrful iniial n firul de ateptare vid FA1 i se va marca acest vrf.
4. Se vor introduce n FA 2 toate vrfurile adiacente cu vrfurile din FA 1 i se vor marca. Dac
FA2 este vid se va trece la p.7, n caz contrar - la p. 4.
5. Se vor elimina toate muchiile care leag vrfurile din FA2.
UTM, Chiinu, 1999, V.Beliu
Pentru toate vrfurile din FA2 vor fi eliminate toate muchiile n afar de una care leag vrful
dat cu vrfurile din FA1.
7. Se vor schimba cu numele FA1 i FA2 (FA1 va deveni FA2 i invers).
8. Dac exist cel puin un vrf nemarcat se va lua n calitate de vrf iniial oricare din acestea
i se va trece la p.1, altfel
9. STOP.
6.
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.
1.
M(i,j) = Lij, dac exist arcul (xi, xj) de pondere Lij;
M(i,j) = , unde este un numr foarte mare (de tip ntreg maximal pentru calculatorul dat), dac
arcul (xi, xj) este lips;
M(i,j) = 0, dac i = j.
2.
3.
1.
V0(i) = Lin, dac exist arcul (xi, xn), unde xn este vrful final pentru care se caut drumul
minim, Lin este ponderea acestui arc;
V0(i) = , dac arcul (xi, xn) este lips;
V0(i) = 0, dac i = j.
Un graf orientat G = (X, U) se numete reea de transport dac satisface urmtoarele condiii:
a)
exist un vrf unic a din X n care nu intr nici un arc sau d_(a)=0;
b) exist un vrf unic b din X din care nu iese nici un arc sau d+(a)=0;
c) G este conex i exist drumuri de la a la b n G;
d) s-a definit o funcie c: UR astfel nct c(u) 0 pentru orice arc u din U.
Vrful a se numete intrarea reelei, vrful b se numete ieirea reelei, iar c(u) este capacitatea arcului u.
O funcie f: UR astfel nct f(u) 0 pentru orice arc u se numete flux n reeaua de transport G cu funcia
de capacitate c, care se noteaz G = (X, U, c), dac sunt ndeplinite urmtoarele dou condiii:
a)
Condiia de conservare a fluxului: Pentru orice vrf x diferit de a i b suma fluxurilor pe
arcele care intr n x este egal cu suma fluxurilor pe arcele care ies din x.
b) Condiia de mrginire a fluxului: Exist inegalitatea f(u) c(u) pentru orice arc u U.
Dac f(u) = c(u) arcul se numete saturat. Un drum se va numi saturat dac va conine cel puin un arc
saturat. Fluxul, toate drumurile cruia sunt saturate se va numi flux complet. Cel mai mare dintre fluxurile
complete se numete flux maxim.
Pentru orice mulime de vrfuri A U vom defini o tietur w_(A) = {(x, y) | x A, y A, (x,yU}, adic
mulimea arcelor care intr n mulimea A de vrfuri.
Prin w+(A) vom nota mulimea arcelor care ies din mulimea A de vrfuri.
Este just afirmaia: suma f(u) pentru u w+(A) este egal cu suma f(u) pentru arcele uw_(A). Aceast
valoare comun se va nota fb.
4.5.2. Algoritmul Ford-Fulkerson
Are loc urmtoarea teorem (Ford-Fulkerson):
Pentru orice reea de transport G = (X, U, c) cu intrarea a i ieirea b valoarea maxim a fluxului la ieire este
egal cu capacitatea minim a unei tieturi, adic:
max fb = min c(w_(A)).
n baza acestei teoreme a fost elaborat urmtorul algoritm de determinare a fluxului maxim (Ford-Fulkerson)
la ieirea b a unei reele de transport G = (X, U, c), unde capacitatea c ia numai valori ntregi:
1. Se definete fluxul iniial avnd componente nule pe fiecare arc al reelei, adic f(u) = 0 pentru orice arc u
U;
2. Se determin lanurile nesaturate de la a la b pe care fluxul poate fi mrit, prin urmtorul procedeu de
etichetare:
a) Se marcheaz intrarea a cu [+];
b) Un vrf x fiind marcat, se va marca:
cu [+x] oricare vrf y nemarcat cu proprietatea c arcul u = (x, y) este nesaturat, adic f(u)<c(u);
cu [-x] - orice vrf y nemarcat cu proprietatea c arcul u = (x, y) are un flux nenul, adic f(u)>0.
Dac prin acest procedeu de marcare se eticheteaz ieirea b, atunci fluxul fb obinut la pasul curent nu este
maxim. Se va considera atunci un lan format din vrfurile etichetate (ale cror etichete au respectiv semnele
+ sau -) care unete pe a cu b i care poate fi gsit uor urmrind etichetele vrfurilor sale n sensul de la b
ctre a.
Dac acest lan este v, s notm cu v+ mulimea arcelor (x, y), unde marcajul lui y are semnul +, deci care
sunt orientate n sensul de la a ctre b i cu v_ mulimea arcelor (x, y), unde marcajul lui y are semnul -,
deci care sunt orientate n sensul de la b ctre a.
Determinm cantitatea:
e = min {min(c(u) - f(u)), min f(u)}. u v+, u v_
Din modul de etichetare rezult e > 0.
Vom mri cu e fluxul pe fiecare arc u din v+ i vom micora cu e fluxul pe fiecare arc u v_, obinnd la
ieire un flux egal cu fb+e. Se repet aplicarea pasului 2 cu fluxul nou obinut.
Dac prin acest procedeu de etichetare nu putem marca ieirea b, fluxul fb are o valoare maxim la ieire, iar
mulimea arcelor care unesc vrfurile marcate cu vrfurile care nu au putut fi marcate constituie o tietur de
capacitate minim (demonstrai c se va ajunge n aceast situaie dup un numr finit de pai).
Bibliografie.
1.
2.
3.