Sunteți pe pagina 1din 252

13

ECUAII DIFERENIALE

Prof. univ. dr. IORDAN DUDA


I. ECUAII DIFERENIALE

I.1. Noiunea de ecuaie diferenial

Studiul ecuaiilor difereniale a nceput o dat cu apariia calculului
diferenial i integral. Necesitatea considerrii ecuaiilor difereniale apare direct
din cele dou modele care au condus la constituirea conceptelor fundamentale ale
analizei, tangente la o curb i viteza n micarea neuniform.
Fie
| |
: , f a b funcia a crui grafic este cutat, | | b a x ,
0
; ecuaia
tangentei la grafic n punctul ( ) ( )
0 0
, x f x este ( ) ( )( )
0 0 0
x x x f x f y = .
Tangenta intersecteaz axa Ox n punctul dat de ( ) ( )( )
0 0 0
x x x f x f = ;
subtangenta este
( )
( )
0
x f
x f

. Relaia care trebuie s determine curba este astfel


( )
( )
0 0
0
x x f
k
x f

= .
Ecuaia la care am ajuns se scrie
x y
k
y

=
iar funciile f care verific relaia ( )
( ) x x f
k
x f

= se numesc soluii ale


ecuaiei difereniale.

Ecuaii operatoriale

Fie X i Y dou mulimi i Y X f : o aplicaie. Formulm
urmtoarea problem: dndu-se un element Y y , s se gseasc elementele
X x , pentru care
( ) y x f = (1.1.)
Aceast problem se numete ecuaie operatorial.
Printr-o soluie a unei ecuaii operatoriale nelegem un element X x
care verific relaia (1.1.). Teoria ecuaiilor operatoriale se construiete n legtur
cu structura cu care sunt nzestrate mulimile X i Y . Dac X i Y sunt
nzestrai cu o structur de spaiu liniar peste un corp K , ecuaia (1.1.) se numete
14
liniar, dac f este o aplicaie liniar. Dac 0 y vom spune c ecuaia liniar
este neomogen sau ecuaie afin, iar dac 0 = y ecuaia (1.1.) se numete liniar
i omogen. Notm cu
y
S mulimea soluiilor ecuaiei (1.1.). Observm c
0
S este
nucleul lui f , adic f S Ker
0
= .

Ecuaii difereniale

Dac X i Y sunt mulimi de funcii, atunci ecuaia (1.1) se numete
ecuaie funcional n sens larg. O ecuaie funcional n care apare funcia
necunoscut numai sub operaii algebrice se numete ecuaie funcional n sens
restrns.
O ecuaie funcional n care intervine funcia necunoscut mpreun cu
anumite derivate ale sale se numete ecuaie diferenial.
Dac funcia necunoscut este de o singur variabil, ecuaia diferenial se
numete ecuaie diferenial ordinar. Dac funcia necunoscut este de mai multe
variabile, ecuaia diferenial se numete ecuaie cu derivate pariale.
Exemplu. Considrm aplicaia
2
: , ( ) ( ) y x y x , , i
alegem
| | ( ) ( ) | | { } b a x x y x b a C y X , , , ,
1
= , | | b a C Y , =
i aplicaia Y X f : , ( ) ( ) ( ) ( ) = y y y f y , . Ecuaia diferenial
convenim s o scriem sub forma ( ) y x y , = , adic o ecuaie diferenial de
ordinul nti.

Ecuaii integrale

Fie un deschis din
n
, aplicaiile
2
1
:
n
F D
+
,
2 1
2
:
n
K D
+
i spaiile
( ) ( ) ( ) ( )
( )
{ } 1
, , , , X C x x K x d D

, ( ) , Y C = .
Ecuaia funcional
( ) 0 = f , (1.2.)
unde Y X f : este definit prin ( ) | |( ) ( ) ( ) ( ) ( )

= d x K x x F x f , , , se
numete ecuaie integral de tip Fredholm. Prin diferite particularizri ale lui F i
K obinem diferite clase de ecuaii integrale.Pentru 1 = n ecuaia obinut poart
numele de ecuaie integral de tip Volterra.




15
Inecuaii operatoriale

Fie Y X f : , unde Y este nzestrat cu o structur de ordine. Fie dat
Y y . Se cere s se determine elementele X x , astfel nct
( ) y x f . (1.3.)
Obinem astfel o inecuaie operatorial. Un element X x , care satisface
(1.3.), se numete soluie a acestei inecuaii. Clase importante de inecuaii
operatoriale sunt inecuaiile difereniale i inecuaiile integrale.
Un rol important n cele ce urmeaz l au inecuaiile liniare de forma
( ) ( ) ( ) ( )

+
x
a
ds s y s x x y , | | b a x , (1.4.)
pentru care avem urmtorul rezultat.
Lema 1 (Gronwall). Fie funciile y , i continue pe | | b a, , iar
( ) 0 x pentru | | b a x , . Dac y verific (1.4.), atunci y verific i
inegalitatea
( ) ( ) ( ) ( ) ( )

|
|
.
|

\
|
+
x
a
x
a
ds d s s x x y exp , | | b a x , .
Corolar 1. Dac
( ) ( ) ( ) ( )

+ +
x
a
x
a
ds s y s ds s m A x y , | | b a x , (1.5.)
unde A funciile y , m i sunt continue pe | | b a, , iar ( ) 0 x m i
( ) 0 x pentru | | b a x , , atunci y verific inegalitatea
( ) ( ) ( )
|
|
.
|

\
|

|
|
.
|

\
|
+

x
a
x
a
ds s dt t m A x y exp .
Rezultatul anterior poate fi reformulat dup cum urmeaz:
Dac
( ) ( ) ( ) ( )

+
x
a
dt t y t x x y , | | b a x ,
unde funciile y , i sunt continue pe | | b a, , ( ) 0 x pentru | | b a x , , iar
este primitiva unei funcii integrabile pozitive, atunci
( ) ( ) ( )
|
|
.
|

\
|


x
a
dt t x x y exp , | | b a x , .




16
I.2. Metode elementare de integrare a ecuaiilor difereniale

Ecuaiile difereniale pentru care putem s indicm o procedur efectiv
pentru determinarea formei generale a soluiei sunt puine la numr. Vom analiza
n cele ce urmeaz cteva tipuri de asemenea ecuaii. Astzi aceast problem
prezint un interes secundar, ns, considerm necesar s prezentm cteva tipuri
de ecuaii difereniale rezolvabile prin cuadraturi i care intervin frecvent n
exemple i aplicaii.

Ecuaii cu variabile separabile

Numim astfel ecuaiile difereniale de forma
( ) ( ) y g x f y = ' , ( ) b a x , (1.6.)
unde funcia f este continu pe intervalul ( ) b a, , iar funcia g este continu i
diferit de zero pe un interval ( ) d c, (eventual nemrginit).
O soluie a acestei ecuaii este o funcie ( ) ( ) ( ) d c b a , , , :
derivabil i astfel nct ( ) ( ) ( ) ( ) x g x f x = , ( ) , x . Pentru definirea
acestei funcii pornim de la faptul c este o soluie pentru (1.6.). Fie
( ) : , G c d o primitiv a funciei
g
1
, deci G este derivabil (i continu). n
plus, deoarece 0
1

g
, rezult c G este strict monoton i fiind continu, obinem
c G este inversabil. Fie F o primitiv a funciei f . Atunci
( ) C F G + =

1
, unde C este o constant arbitrar.
Intervalul de definiie a funciei este format din mulimea punctelor
( ) b a x , astfel nct ( ) C x F + se afl n domeniul de definiie al funciei
1
G ,
adic ntre ( ) y G
c y
lim i ( ) y G
d y
lim .
Din cele prezentate mai sus rezult regula de integrare a ecuaiilor
difereniale cu variabile separate:
Se mparte ecuaia (1.6.) la ( ) y g i se obine ecuaia
( )
( )dx x f
y g
dy
= care are
n membrul stng doar variabila y , iar n cel drept doar variabila x .
Se integreaz cei doi membri adugnd celui drept o constant.






17
Ecuaia omogen

S considerm acum ecuaia diferenial
|
.
|

\
|
=
x
y
h y , (1.7.)
unde h este o funcie continu pe intervalul ( ) d c, . Ecuaia (1.7.) se numete
ecuaie omogen, deoarece funcia ( )
|
.
|

\
|
=
x
y
h y x f , este omogen de gradul zero
(n general
2
: f este funcie omogen de gradul dac
( ) ( ) x f t tx f

= ).
Fie o soluie a ecuaiei (1.7.) definit pe un interval ( ) , ce nu conine
punctul 0 = x . S notm ( )
( )
x
x
x u

= i s observm c funcia
( ) ( ) d c u , , : este derivabil i ( ) ( ) ( ) ( ) | | x u x u h
x
x u =
1
. Rezult c u este
soluia unei ecuaii cu variabile separabile i conform cu cele prezentate anterior,
funcia u poate fi determinat pn la o constant, ceea ce implic posibilitatea de
a determina soluia .
Observm c orice soluie a ecuaiei cu variabile separabile asociat
genereaz o soluie a ecuaiei omogene.
Diverse ecuaii de ordinul nti, chiar dac nu au forma (1.7.) se reduc prin
substituii simple la ecuaii cu variabile separabile sau omogene.
Considerm ecuaia
|
|
.
|

\
|
+ +
+ +
=
1 1 1
c y b x a
c by ax
f
dx
dy
, (1.8.)
unde
1 1 1
, , , , , c b a c b a sunt constante.
i) S presupunem c 0
2
1
2
= + c c , adic ecuaia (1.8.) este de forma
|
|
.
|

\
|
+
+
=
y b x a
by ax
f
dx
dy
1 1

care este o ecuaie omogen. Cu substituia zx y = ultima ecuaia se
transform n
z
z b a
bz a
f z x
|
|
.
|

\
|
+
+
=
1 1

care este o ecuaie cu variabile separabile.



18
ii) Dac 0
2
1
2
+ c c i 0
1 1
b a ab , dreptele
( ) 0 : = + + c by ax D i ( ) 0 :
1 1 1 1
= + + c y b x a D
se intersecteaz n punctul ( )
0 0
, y x . Facnd schimbarea de variabil
0
x x u = i de funcie
0
y y v = obinem ecuaia
|
|
.
|

\
|
+
+
=
v b u a
bv au
f
du
dv
1 1

care este de forma i), deci cu schimbarea de variabil zu v = se obine o
ecuaie cu variabile saparabile.
iii) Dac 0
2
1
2
+ c c i 0
1 1
= b a ab , dreptele
( ) 0 : = + + c by ax D i ( ) 0 :
1 1 1 1
= + + c y b x a D
sunt paralele. Din 0
1 1
= b a ab rezult
k
b
b
a
a
= =
1 1
,
deci
( )
|
|
.
|

\
|
+ +
+ +
=
1
c by ax k
c by ax
f
dx
dy
(1.9.)
Dac facem schimbarea de funcie z by ax = + , ecuaia se transform n
|
|
.
|

\
|
+
+
= |
.
|

\
|

1
1
c kz
c z
f a
dx
dz
b

care este o ecuaie cu variabile separabile dac
0
1
+
|
|
.
|

\
|
+
+
a
c kz
c z
bf ,
a crei soluie este de forma ( ) x C x = + sau ( ) by ax C x + = + , unde
este o primitiv pentru funcia
a
c kz
c z
bf z +
|
|
.
|

\
|
+
+
1
.

Ecuaii difereniale liniare de ordinul nti

O clas deosebit de important de ecuaii difereniale pentru care soluiile
pot fi gsite prin cuadraturi o reprezint ecuaiile de forma
( ) ( ) x b y x a y + = (1.10.)
n cazul n care ( ) 0 = x b , ecuaia este cu variabile separabile i admite
soluia ( ) ( ) ( ) x F C x y exp = , unde F este o primitiv a funciei a . S observm
19
c dac a este o funcie continu pe intervalul I , iar I x
0
, o primitiv n I
este dat de
( )

x
x
ds s a x
0
,
deci o soluie a ecuaiei difereniale omogene este dat de
( ) ( )
|
|
.
|

\
|
=

x
x
ds s a C x y
0
exp .
Pentru
0
x x = deducem ( )
0
x y C = , deci putem scrie soluia y sub forma
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
ds s a x y x y
0
0
exp .
Pentru a obine forma soluiei n cazul 0 b , s considerm o soluie
oarecare definit pe I i s definim funcia prin
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
ds s a x x
0
exp
Funcia astfel definit este derivabil i avem
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
ds s a x b x
0
exp ,
de unde deducem
( ) ( ) ( ) ( )

|
|
.
|

\
|
+ =
x
x
t
x
dt ds s a t b x x
0 0
0
exp
Pe de alt parte ( ) ( )
0 0
x x = ,
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
ds s a x x
0
exp
deci
( ) ( ) ( ) ( ) ( )

|
|
.
|

\
|
+
|
|
.
|

\
|
=
x
x
x
t
x
x
dt ds s a t b ds s a x x
0 0
0
exp exp (1.11.)
Am obinut o formul care individualizeaz complet soluia cu ajutorul
valorii ei ntr-un punct
0
x .



20
Observaii
1. Metoda folosit pentru obinerea soluiei (1.11.) se numete metoda variaiei
constantelor pentru c scriind
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
ds s a x x
0
exp ,
am considerat soluia general a ecuaiei omogene (pentru 0 = b ) n care
constanta C am nlocuit-o cu funcia ( ) x .
2. Soluia general a unei ecuaii difereniale liniare este o funcie de forma
( ) ( ) x C x y + = , (1.12.)
adic o familie de curbe care depind liniar de o constant arbitrar. Reciproc,
orice familie de curbe care depind liniar de o constant arbitrar verific o
ecuaie liniar de ordinul nti. ntr-adevr, ( ) ( ) x C x y + = i dac
eliminm pe C ntre aceast relaie i (1.12.) obinem
( )
( )
( )
( ) x
x y
x
x y


,
adic
( )
( )
( ) ( ) ( ) ( )
( ) ( ) x x
x x x x
y
x
x
y


+

=
care este o ecuaie liniar de ordinul nti.

Ecuaii de tip Bernoulli

La ecuaii liniare se reduc ecuaiile de forma
( ) ( )

+ = y x b y x a y , (1.13.)
, : a b I continue, { } \ 0,1 , numite ecuaii Bernoulli.
Pentru a deduce forma soluiei, considerm : I , derivabil, strict
pozitiv, soluie a ecuaiei (1.13.), adic
( ) ( ) ( ) ( ) ( ) ( )

+ = x x b x x a x
i fie ( ) ( ) ( )

=
1
x x u . Rezult u derivabil i
( ) ( ) ( ) ( ) ( ) | | x b x u x a x u + = 1
deci u este o soluie a unei ecuaii liniare. Reciproc, dac u este soluie a ecuaiei
liniare
( ) ( ) ( ) ( ) ( ) | | x b x u x a x u + = 1
i ( ) 0 > x u n I , atunci este soluie a ecuaiei (1.13.).




21
Ecuaii difereniale de tip Riccati

Forma general a ecuaiilor difereniale de tip Riccati este dat de
( ) ( ) ( ) x c y x b y x a y + + =
2
, x (1.14.)
unde a , b i c sunt funcii continue pe intervalul I .
Ecuaia (1.14.) nu este, n general, integrabil prin caudraturi. Totui, n
cazurile n care printr-un mijloc oarecare se gsete o soluie particular, integrarea
devine posibil.
Fie
0
o soluie a ecuaiei (1.14.), iar o soluie arbitrar pentru aceiai
ecuaie. Pentru funcia
0
= avem
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) | | ( ) x x x b x a x x b x x x + + = =
0
2
0
2
deci este soluia unei ecuaii Bernoulli cu 2 = , prin urmare se poate construi
soluia a ecuaiei Riccati.

Ecuaii difereniale de tip Lagrange

Numim ecuaii difereniale de tip Lagrange, ecuaiile
( ) ( ) y y x y + = (1.15.)
unde i sunt funcii continue difereniabile pe un interval din i
( ) p p pentru toi p .
Presupunnd c y este soluie a ecuaiei (1.15.) pe intervalul R I ,
rezult prin derivare
( ) ( ) ( )y y y y x y y + + = (1.16.)
unde
2
2
dx
y d
y = . Notnd cu p funcia y , din (1.16.) rezult
( )
( )
( )
( ) p p
p
x
p p
p
dp
dx

=
(1.17.)
care este o ecuaie liniar n x . Rezolvnd aceast ecuaie, gsim pentru x o
expresie de forma
( ) C p A x , = (1.18.)
unde C este o constant arbitrar. Din ecuaia (1.15.) se obine atunci
( ) ( ) ( ) p p C p A y + = , (1.19.)
Interpretnd p drept un parametru, (1.18.) i (1.19.) devin ecuaiile
parametrice ale necunoscutei y care verific (1.15.). Cu alte cuvinte, folosind
metoda indicat mai sus, soluia ecuaiei (1.15.) se obine sub form parametric.




22
Ecuaia de tip Clairaut

Ecuaia de tipul
( ) y y x y + = (1.20.)
este o ecuaie de tip Clairaut. Acest tip de ecuaie este un caz particular de ecuaie
de tip Lagrange i anume cazul cnd ( ) p p = .
Prin derivarea ecuaiei (1.20.) obinem
( )y y y y x y + + =
de unde rezult
( ) ( ) 0 = + y x y . (1.21.)
Prin urmare, avem dou tipuri de soluii. Prima este definit de 0 = y
care prin integrare d
( )
2 1
C x C x y + = (1.22.)
unde
1
C i
2
C sunt constante arbitrare. De fapt, introducnd (1.22.) n (1.20.) se
constat c
1
C i
2
C nu sunt independente ci ( )
1 2
C C = . Prin urmare
( )
1 1
C x C y + = (1.23.)
unde
1
C este o constant arbitrar.
O alt categorie de soluii se obine din
( ) 0 = + y x (1.24.)
Procednd ca la ecuaia de tip Lagrange, notm p y = i din (1.24.)
obinem ecuaiile parametrice
( )
( ) ( )

+ =
=
p p p y
p x
(1.25.)
ale unei soluii pentru ecuaia de tip Clairaut.
Soluia sub forma (1.23.) este soluia general a ecuaiei de tip Clairaut,
iar soluia de forma (1.25.) este o soluie singular a ecuaiei de tip Clairaut.
Observaie. Soluia general a ecuaiei de tip Clairaut este o familie de
drepte ce depind de un parametru C . Eliminnd pe C ntre ecuaia
( ) C Cx y + = i derivata n raport cu C , ( ) 0 = + C x obinem curba
( )
( ) ( )

+ =
=
C C C y
C x

care este integrala singular. Prin urmare integrala singular este nfurtoarea
familiei de curbe reprezentat de integrala general.






23
Ecuaii difereniale de tipul ( ) y x f y = ,

Notm p y = , deci
( ) p x f y , = (1.26.)
i derivnd n raport cu x , innd cont c p este o funcie de x obinem
( ) ( )
dx
dp
p x
p
f
p x
x
f
p , ,

=
(1.27.)
care este o ecuaie rezolvat n raport cu
dx
dp
. Dac putem integra pe (1.27.)
avem ( ) C x p , = care introdus n (1.26.) ne conduce la soluie general cutat
( ) ( ) ( ) C x x f x y , , = .

Ecuaii de tipul ( ) y y f x = ,

Notm p y = , deci
( ) p y f x , = (1.28.)
i derivnd n raport cu y , considernd pe x i p funcia de y , avem
( ) ( )
dy
dp
p y
p
f
p y
y
f
p

= , ,
1

(1.29.)
deoarece
p
dx
dy
dy
dx 1 1
= = .
Dac putem integra pe (1.29.), care este o ecuaie diferenial n p i y ,
explicit n raport cu
dy
dp
, obinem
( ) C y p , = . (1.30.)
Dac introducem (1.30.) n (1.28.) rezult soluia general cutat
( ) ( ) C y y f x , , = .

Ecuaii de forma ( ) 0 , , = y y x F

Analizm n cele ce urmeaz cazurile cnd o ecuaie de ordinul nti de
forma
( ) 0 , , = y y x F (1.31.)
poate fi integrat prin cuadraturi.
24
Presupunem c
3
1 2
: F I I I este de clas
1
C . O funcie
1
: I I I derivabil cu
2
: I I i ( ) ( ) ( ) 0 , , = x x x F , I x este
soluie a ecuaiei (1.31.). Dac se d un punct ( )
0 0 0
, , z y x astfel ca
( ) 0 , ,
0 0 0
= z y x F i ( ) 0 , ,
0 0 0

z y x
z
F
, din teorema funciilor implicite exist o
funcie f de clas
1
C definit ntr-o vecintate a punctului ( )
0 0
, y x cu valori
ntr-o vecintate a lui z astfel nct
( ) ( ) 0 , , , = y x f y x F , ( )
0 0 0
, z y x f = .
Dac este o soluie a ecuaiei difereniale ( ) y x f y , = definit de
funcia f , avem ( ) ( ) ( ) x x f x = , , deci
( ) ( ) ( ) ( ) ( ) ( ) ( ) 0 , , , , , = x x f x x F x x x F
i este soluia problemei date.
Rezult c putem reduce, cel puin local, problema gsirii soluiilor
ecuaiei ( ) 0 , , = y y x F , ( ) 0 , ,

y y x
y
F
la problema gsirii soluiei unei ecuaii
difereniale n form normal.
Deoarece aceast cale presupune rezolvarea prealabil a unei probleme de
funcii implicite, ea nu este n general convenabil n studiul unor ecuaii
particulare cnd poate exista sperana unor procedee alternative mai simple pentru
gsirea soluiilor. n cele ce urmeaz vom considera trei procedee alternative.
1. Primul procedeu reduce gsirea soluiilor unei ecuaii de forma considerat la
(1.31.) la gsirea soluiilor unui sistem de trei ecuaii difereniale
( )
( )
( ) ( )

=
z y x
y
F
z z y x
x
F
dt
dz
z y x
z
F
z
dt
dy
z y x
z
F
dt
dx
, , , ,
, ,
, ,
. (1.32.)
Presupunem c reuim s gsim ( ) , , o soluie a acestui sistem, astfel
nct
( )
0
0 x = , ( )
0
0 y = , ( )
0
0 z = .
Atunci, deoarece
z
F

este o funcie continu, exist un interval ce conine


originea astfel ca pentru t n acest interval s avem
( ) ( ) ( ) ( ) 0 , ,

t t t
z
F

25
deci ( ) 0

t
dt
d
, de unde rezult c funcia este inversabil n acest interval
i fie inversa sa. Avem ( ) ( ) x x = i ( ) ( ) t t = . Fie ( ) ( ) ( ) x x = ,
( ) ( ) ( ) x x = .
Funcia este soluie a problemei date cu ( )
0 0
y x = i ( )
0 0
z x = .
Rezult c funcia ( ) ( ) ( ) ( ) t t t F t , , este o constant C i cum
pentru 0 = t obinem 0 = C rezult c funcia ( ) ( ) ( ) ( ) t t t F t , , este
identic nul. Lund n relaia obinut ( ) x t = i innd cont de faptul c
( ) ( ) x x = , deducem
( ) ( ) ( ) ( ) ( ) ( ) ( ) 0 , , x x x F .
n acest fel problema gsirii soluiilor ecuaiei ( ) 0 , , = y y x F a fost
redus la problema gsirii soluiilor unui sistem de trei ecuaii difereniale scris
sub forma normal i la o problem de inversare a unei funcii.
2. n ipoteza 0

z
F
, putem reduce problema gsirii soluiilor ecuaiei (1.31.) la
problema gsirii soluiei unui sistem de dou ecuaii difereniale scris sub
forma normal. S considerm sistemul.
( ) ( )
( )

=
=
z y x
z
F
z y x
y
F
z z y x
x
F
dx
dz
z
dx
dy
, ,
, , , , (1.33.)
S presupunem c am gsit ( ) ( ) ( ) x x , o soluie a sistemului (1.33.),
astfel nct
( )
0 0
y x = , ( )
0 0
z x = , ( ) 0 , ,
0 0 0
= z y x F .
Atunci este soluie a ecuaiei (1.31.).
n anumite cazuri este convenabil alt sistem asociat i anume,
presupunnd
( ) ( ) 0 , , , ,

z y x
y
F
z z y x
x
F

considerm sistemul
26
( )
( ) ( )
( )
( ) ( )

=
z y x
y
F
z z y x
x
F
z y x
z
F
z
dz
dy
z y x
y
F
z z y x
x
F
z y x
z
F
dz
dx
, , , ,
, ,
, , , ,
, ,
(1.34.)
Fie ( ) , o soluie a acestui sistem cu
( )
0 0
x z = , ( )
0 0
y z = , ( ) 0 , ,
0 0 0
= z y x F .
n plus, dac admitem ( ) 0 , ,
0 0 0

z y x
z
F
, rezult 0


z
deci funcia
este inversabil. Dac este inversa funciei , definim ( ) ( ) ( ) x x = .
Atunci este soluie a ecuaiei (1.31.)
3. S indicm acum un procedeu care permite reducerea problemei (1.31.) la
gsirea soluiei unei singure ecuaii difereniabile scrise n forma normal. S
presupunem c am gsit funciile h g f , , definite pe un domeniu D din
2

cu valori reale de clas
1
C , astfel nct
( ) ( ) ( ) ( ) 0 , , , , , v u h v u g v u f F .
Presupunnd 0
v v
g f h , considerm ecuaia
v v
u u
g f h
f h g
du
dv


= .
(1.35.)
Fie ( ) D v u
0 0
, , o soluie a ecuaiei (1.35.) cu ( )
0 0
v u = i
presupunem c
( )
( )
0
,
,



=
v u
v u
g g
f f
v u D
g f D

n ( )
0 0
, v u , deci ntr-o vecintate a acestui punct. Funcia definit prin
( ) ( ) ( ) u u f u = , este inversabil, ( )
0 0
x u = . Fie inversa funciei i
( ) ( ) ( ) ( ) ( ) x x g x = , . Atunci este soluia ecuaiei date.
n acest fel problema rezolvrii ecuaiei (1.31.) s-a redus la rezolvarea
ecuaiei (1.35.) scris sub form normal i la inversarea unei funcii.





27
I.3. Modele matematice prezentate prin ecuaii difereniale

Un proces de modelare matematic const din urmtoarele etape mai
importante:
(i) Formularea problemei de cercetat. Se formuleaz problema n termenii
disciplinei n care apare. Aceast etap se realizeaz n interiorul
disciplinei.
(ii) Construirea modelului matematic asociat problemei de cercetat. Pronind
de la problema dat, se realizeaz o cercetare interdisciplinar urmrind
gsirea unui model ct mai fidel pentru aceast problem. Aceast etap
ajut i la finalizarea primei etape.
(iii) Studiul modelului matematic. Reducnd problema de baz la o problem
de matematic, se trece la studiul acestei probleme. De regul, etapa se
realizeaz n interiorul matematicii.
(iv) Interpretarea soluiei problemei matematice din punctul de vedere al
problemei de baz. Este vorba de o cercetare interdisciplinar a crei
complexitate ine de natura problemei de baz, ct i de natura aparatului
matematic ce se utilizeaz n aceast cercetare.

Dezintegrarea radioactiv

S-a verificat fizic c radioactivitatea este direct proporional cu numrul
de atomi din substana radioactiv. Astfel, dac ( ) t x este cantitatea de materie
nedezintegrat la momentul t , viteza de dezintegrare ( ) t x este proporional cu
( ) t x adic
( ) ( ) t x t x = (1.36)
unde este o constant pozitiv depinznd de materialul radioactiv. Soluia
general a ecuaiei (1.36.) este dat de
( )
( )
0
0
t t
e x t x

= , t (1.37.)
Drept msur a vitezei de dezintegrare se ia aa-numita perioad de njumtire,
adic timpul necesar pentru dezintegrarea unei jumti din cantitatea de substan.
Din formula (1.37) rezult 2 ln
1

= T .

Un model matematic al creterii populaiei

Dac ( ) t p este populaia unei anumite specii la momentul t iar ( ) p t d ,
este diferenial dintre rata natalitii i cea a mortalitaii, atunci, n ipoteza c
populaia este izolat (adic nu au loc emigrri sau imigrri), viteza de cretere a
populaiei ( ) t p va fi egal cu ( ) p t d , . Un model simplificat de cretere a
populaiei presupune c ( ) p t d , este proporional cu p , cu alte cuvinte, p va
verifica ecuaia diferenial
28
p p = , = constant. (1.38.)
Soluia ecuaiei (1.38.) este ( )
( )
0
0
t t
e p t p

= ceea ce conduce la legea malthisian
a creterii populaiei.
Un model mai realist a fost propus de biologul olandez Verhulst. n acest
model se ia ( ) p t d , de forma
2
p p unde este o constant pozitiv foarte
mic n raport cu . Acest model neliniar de cretere ia n considerare
interaciunea dintre indivizii speciei i anume efectul inhibator al aglomerrii.
Ecuaia diferenial
2
p p p = are soluia general
( ) ( ) ( ) ( ) ( )
1
0 0 0 0
exp

+ = t t p p p t p
unde ( )
0 0
, p t reprezint condiiile iniiale.

Modelul Lotka-Volterra

Un sistem biologic n care dou specii
1
N i
2
N convieuiesc ntr-o zon
limitat astfel nct indivizii speciei
2
N (rpitorii) se hrnesc numai cu indivizii
din specia
1
N (prada) iar acetia din urm se hrnesc cu resursele zonei n care
triesc.
Dac notm cu ( ) t N
1
, ( ) t N
2
numrul indivizilor din prima, respectiv a
doua specie la momentul t , modelul matematic al sistemului biologic de mai sus
este descris de sistemul diferenial

+ =
=
2 1 2 2
2 1 1 1
N dN cN N
N bN aN N
,
unde a , b , c , d sunt constante pozitive.

Un model matematic al epidemiilor

Vom descrie un model matematic elaborat de Karmac i McKendric.
S considerm o populaie format din n indivizi i o maladie n care
infecia se rspndete prin contact direct. Se presupune c indivizii infectai vor fi
fie izolai, fie devin imuni prin vindecare. Prin urmare, populaia este compus la
un momet t din trei categorii ( ) t x , ( ) t y , ( ) t z reprezentnd respectiv, indivizii
neinfectai, indivizii infectai care circul liberi i indivizii izolai. Vom presupune
c viteza de infectare x este proporional cu numrul xy , reprezentnd numrul
contactelor dintre indivizii neinfectai i cei infectai. De asemenea, indivizii
infectai devin izolai cu o vitez proporional cu numrul lor.




29
Prin urmare, ecuaiile care guverneaz procesul sunt urmtoarele (ca de
obicei am notat
dt
d
= ' ):

= + +
=
=
n z y x
y xy y
xy x

Din primele dou ecuaii de obinea

x
x
y
x

adic
1
1


=
x x
x
dx
dy

i prin integrare se gsete soluia
( )
0
0 0
ln
x
x
x x y x y

+ + = .

Oscilatorul armonic

S considerm micarea unui punct material de mas m care se deplaseaz
pe drepta orizontal Ox sub aciunea forei elastice F ndreptat ctre originea
O. Dac notm cu ( ) t x distana, n momentul t de la punctul de origine, din legea
a doua a lui Newton rezult c ecuaia micrii va fi F x m = . Pe de alt parte, F
fiind o for elastic va fi de forma x F
2
= . Rezult astfel c micarea
punctului este descris de ecuaia diferenial de ordinul doi
0
2
= + x x m
(1.39.)
Un model mai complex al micrii este cel n care se admite existena unei
fore de frecare proporionale cu viteza, adic de forma x b , ct i a unei fore
exterioare ( ) x f aplicate masei punctului. Se obine atunci ecuaia diferenial
( ) ( ) x f x F x b x m = + + .

Pendulul matematic

S considerm problema oscilaiilor unui pendul. Fie ( ) ( ) t l t s = , l fiind
lungimea firului i ( ) t unghiul firului fa de vertical. mg P = , unde m este
masa punctului material i g acceleraia gravitaional.
Fora P se descompune n dou componente dintre care una este anulat
de rezistena firului. Micarea se desfoar sub aciunea componentelor
sin mg . Ecuaia diferenial a micrii este ( ) ( ) t mg t ml = sin sau
30
( ) ( ) 0 sin = + t
l
g
t .
Considernd numai oscilaii mici, putem lua aproximatix ( ) ( ) t t sin
i ecuaia devine ( ) ( ) 0 = + t
l
g
t . Se verific imediat c orice funcie de forma
( )
|
|
.
|

\
|
+ = t
l
g
k t sin
este soluie a ecuaiei.

II. PROBLEMA CAUCHY

Vom prezenta unele rezultate clasice privind existena, unicitatea i
dependena de date a soluiei problemei Cauchy pentru ecuaii i sisteme de ecuaii
difereniale.
Considerm sistemul de ecuaii difereniale
( ) y x f y , = (2.1.)
unde :
n n
f . Problema lui Cauchy relativ la sistemul (2.1.) const n
aceea c se d un punct ( )
0 0
, y x i se cer soluiile ecuaiei (2.1.) ce satisfac
condiia
( )
0 0
y x y = . (2.2.)
Condiia (2.2) poart denumirea de condiie iniial sau condiia lui
Cauchy.
Din punct de vedere geometric, problema lui Cauchy revine la a determina
curbele integrale ale ecuaiei (2.1.) ce trec prin punctul ( )
0 0
, y x .
Se observ cu uurin c proble Cauchy (2.1.)-(2.2.) este echivalent cu
ecuaia integral Volterra
( ) ( ) ( )

+ =
x
x
ds s y x f y x y
0
0
, .
(2.3.)

II.1. Existena i unicitatea local

Vom ncepe studiul problemei lui Cauchy pentru ecuaii de ordinul nti.

Problema lui Cauchy pentru ecuaii difereniale de ordinul nti

Teorema 1. Presupunem verificate urmtoarele condiii:
1. Funcia f este continu pe mulimea
( )
{ }
2
0 0
, , D x y x x a y y b = (2.4.)
31
2. Funcia f este lipschitzian ca funcie de y pe mulimea D, adic exist o
constant pozitiv L astfel nct
( ) ( ) z y L z x f y x f , , , ( ) ( ) D z x y x , , , (2.5.)
Atunci exist o soluie unic ( ) x y y = a problemei Cauchy (2.1.)-(2.2.)
definit pe intervalul
{ }
0
I x x x = , unde
)
`

=
M
b
a, inf , iar
( ) ( ) { } D y x y x f M = , , sup .

Problema lui Cauchy pentru sisteme difereniale de ordinul nti

Considerm sistemul diferenial
( )
n i i
y y x f y ,..., ,
1
= , n i ,..., 1 = (2.6.)
cu condiiile iniiale
( )
0
0 i i
y x y = , n i ,..., 1 = (2.7.)
unde funciile
n
f f ,...,
1
sunt definite pe un paralelipiped de forma:
( ) { } n i b y y a x x y x D
i i
,..., 1 , , ,
0
0
= = (2.8.)
din spaiul +1 n dimensional
1 n+
.
Teorema 2. Presupunem c sunt ndeplinite urmtoarele condiii:
1. Funciile
i
f , n i ,..., 1 = sunt continue pe D.
2. Funciile
i
f , n i ,..., 1 = sunt lipschitziene n ( )
n
y y y ,...,
1
= pe D, adic
exist 0 > L astfel nct
( ) ( )
{ } n i n j z y L
z z x f y y x f
j j
n i n i
,..., 1 , 1 , max
,..., , ,..., ,
1 1
=

(2.9.)
pentru toi ( )
n
y y x ,..., ,
1
, ( )
n
z z x ,..., ,
1
din D.
Atunci exist o soluie unic ( ) ( ) ( ) ( ) x y x y x y
n
,...,
1
= a problemei Cauchy
(2.6.)-(2.7.) definit pe intervalul
{ }
0
I x x x = unde |
.
|

\
|
=
M
b
a, inf
i
( ) ( ) { } D y y x y y x f M
n n i
= ,..., , ,..., , max
1 1
.
Formularea teoremei de existen i unicitate pentru problema (2.6.)-(2.7.)
pare s arate c nu exist o diferen de fond ntre ecuaiile difereniale i sistemul
de ecuaii difereniale de ordinul nti. Adoptnd notaia vectorial vom vedea c,
de fapt, nici forma ecuaiilor i sistemelor difereniale nu difer.
32
n cele ce urmeaz vom considera spaiul
n
al vectorilor
n dimensionali ( )
n
y y y ,...,
1
= , nzestrat cu structura liniar (vectorial) i cu
norma
{ } n i y y
i
,..., 1 , max = = , ( )
n
y y y ,...,
1
= .
Pe spaiul
n
nzestrat cu aceast norm (de fapt cu oricare alta, deoarece
normele pe spaiile finit dimensionale sunt echivalente) se poate dezvolta un calcul
diferenial i integral analog celui existent pentru funciile scalare. Pe un interval I
din , vom numi funcie vectorial pe I o aplicaie :
n
y I de forma
( ) ( ) ( ) ( ) x y x y x y
n
,...,
1
= , unde
i
y sunt funcii scalare definite pe I .
Funcia :
n
y I se numete continu (ntr-un punct sau un interval)
dac funciile coordonate { } n i y
i
,..., 1 , = sunt continue. Funcia y se numete
derivabil n I x
0
dac
i
y , n i ,..., 1 = au aceast proprietate. Prin derivata
funciei y n x , notat ( ) x y se nelege vectorul ( ) ( ) ( ) x y x y
n
,...,
1
. O
semnificaie analog o are noiunea de difereniabilitate sau de integrabilitate
pentru funciile vectoriale cu valori n
n
.
n particular, vom nota
( ) ( ) ( )
|
|
.
|

\
|
=

x
a
n
x
a
x
a
ds s y ds s y ds s y ,...,
1

unde ( ) ( ) ( ) ( ) s y s y s y
n
,...,
1
= .
n acelai context, irul { }
k
y de funcii vectoriale pe I converge (uniform
sau punctual) la :
n
y I dac irul coordonatelor sale are aceeai proprietate.
Dup cum uor se poate observa, toate aceste noiuni admit o formulare echivalent
n terminologia normei spaiului
n
. De exemplu, continuitatea funciei
:
n
y I n punctul I x
0
revine la condiia ( ) ( ) 0 lim
0
0
=

x y x y
x x
. n mod
analog se poate defini derivata, integrala sau convergena.
S revenim acum la problema Cauchy (2.6.)-(2.7.). Dac notm cu
:
n
y I funcia vectorial ( )
n
y y ,...,
1
i cu :
n
f D funcia
( ) ( ) ( ) ( )
n n n
y y x f y y x f y x f ,..., , ,..., ,..., , ,
1 1 1
=
sistemul (2.6.) devine
( ) y x f y , = (2.10.)
iar condiia iniial (2.7.) se scrie
( )
0 0
y x y = (2.11.)
unde ( )
0 0
1 0
,...,
n
y y y = .
n notaie vectorial teorema 2 se poate formula dup cum urmeaz.
33
Teorema 3. Presupunem verificare urmtoarele condiii:
1. Funcia :
n
f D este continu.
2. Funcia f este lipschitzian n y pe D, adic exist 0 > L astfel nct:
( ) ( ) z y L z x f y x f , , , ( ) ( ) D z x y x , , , .
Atunci exist o soluie unic y a problemei (2.10.)-(2.11.) definit pe
intervalul
{ }
0
I x x x = , unde |
.
|

\
|
=
M
b
a, inf i
( ) ( ) { } D y x y x f M = , , sup .

Problema Cauchy pentru ecuaii difereniale de ordin superior

S considerm ecuaia diferenial de ordinul n
( ) ( )
( )
1
,..., , ,

=
n n
y y y x g y (2.12.)
cu condiia Cauchy
( )
0
0 0
y x y = , ( )
0
1 0
y x y = , ,
( )
( )
0
1 0
1

=
n
n
y x y , (2.13.)
unde ( )
0
1
0
1
0
0
,..., , ,
n
y y y x este fixat n
1 n+

Teorema 4. Presupunem verificate urmtoarele condiii:
1. Funcia g este continu pe mulimea D definit prin:
( )
{ }
0
1 0 1
, ,..., , , 1,...,
n
n i i
D x y y x x a y y b i n

= =

(2.14.)
2. Exist 0 > L astfel nct:
( ) ( ) { }
1 1
, ,..., , ,..., max , 1
n n i i
g x y y g x z z L y z i n
pentru toi ( ) ( )
n n
z z x y y x ,..., , , ,..., ,
1 1
.
Atunci problema Cauchy (2.12.)-(2.13.) admite o soluie unic y definit
pe intervalul
{ }
0
I x x x = , unde
)
`

=
M
b
a, inf i
( ) ( ) { } D y y x y y y y x g M
n n n
= ,..., , ,..., , ,..., , sup
1 1 1
.

Problema de existen a lui Peano

Vom demonstra acum un rezultat de existen pentru problema Cauchy
(2.6.)-(2.7.) datorat lui Peano. n linii mari, se afirm c numai n ipoteza de
continuitate asupra lui f , problema Cauchy (2.6.)-(2.7.) admite cel puin o soluie
ntr-o vecintate a momentului iniial.



34
Teorema 5. Fie :
n
f D o funcie continu, unde D este
( )
{ }
1
0 0
, ,
n
D x y x x a y y b
+
= .
Atunci problema Cauchy (2.6.)-(2.7.) admite cel puin o soluie pe
intervalul
{ }
0
I x x x = , unde
)
`

=
M
b
a, inf i
( ) ( ) { } D y x y x f M = , , sup .
Observaie. Nu se poate deduce din teorema 5 unicitatea soluiei
problemei lui Cauchy. n general, numai din ipotaza de continuitate asupra funciei
f soluia problemei lui Cauchy (2.6.)-(2.7.) nu este unic.

II.2. Existena i unicitatea global

S considerm sistemul diferenial (n notaia vectorial)
( ) y x f y , = (2.15.)
unde
1
:
n n
f
+
este o funcie continu pe mulimea deschis
din
1 n+
.
Vom presupune c funcia f este local lipschitzian n y pe , cu alte
cuvinte pentru orice submulime compact K exist 0 >
K
L astfel ca
( ) ( ) z y L z x f y x f
K
, , , ( ) ( ) K z x y x , , , (2.16.)
unde este norma uniform pe
n
adiv { } n i y y
i
= 1 , max .
Teorema 6. Presupunem c funcia f este continu pe i local
lipschitzian n y . Atunci, oricare ar fi punctul ( )
0 0
, y x din exist ntr-o
vecintate a punctului
0
x o soluie unic ( ) x y = sistemului (2.15.) cu condiia
iniial ( )
0 0
y x = .
Teorema 6 poate fi reformulat i astfel:
Fie :
n
f I G continu n G I i local lipschitzian n
G I n raport cu G y . Atunci pentru orice ( )
0 0
, y x din G I exist un
interval J coninnd
0
x i o soluie a sistemului (2.15.) definit pe J cu
proprietatea ( )
0 0
y x = . n plus aceast soluie este unic.
Att existena, ct i unicitatea problemei Cauchy au loc ntr-o vecintate a
punctului
0
x . Cu toate acestea ne putem atepta ca unicitatea s aib un caracter
global.
Teorema 7 (unicitate global). Fie i dou soluii ale sistemului
(2.15.) definite pe intervalele (deschise) I respectiv I . Fie I I x
0
astfel
nct ( ) ( )
0 0
x x = . Atunci ( ) ( ) x x = pentru orice I I x .
35
Definiie
- O soluie a sistemului (2.15.), definit pe un interval | | b a I , = se numete
prelungibil dac exist o alt soluie a sistemului (2.15.) definit pe un
interval I I astfel nct ( ) ( ) x x = pentru orice I x .
- O soluie definit pe | | b a I , = se numete prelungibil la dreapta dac
exist b b > i o soluie definit cel puin pe intervalul | | b a , astfel nct
( ) ( ) x x = pentru | | b a x , .
- O soluie definit pe | | b a I , = se numete prelungibil la stnga dac
exis a a < i o soluie definit cel puin pe intervalul | | b a , astfel nct
( ) ( ) x x = pentru orice | | b a x , .
- O soluie care nu este prelungibil se numete saturat. Analog, o soluie care
nu este prelungibil la dreapta (stnga) se numete saturat la dreapta
(saturat la stnga).
Cu alte cuvinte, o soluie a sistemului (2.15.) definit pe un interval I este
saturat dac I este intervalul maxim de definiie a soluiei.
Din teorema 7 rezult c intervalul de definiie al unei soluii saturate este
deschis. Dac soluia este saturat la dreapta (stnga) atunci intervalul de definiie
este deschis la dreapta (stnga).
Teorema 8. Fie
1 n+
o mulime deschis, :
n
f o funcie
continu pe , local lipschitzian n al doilea argument.
1. Exist o soluie saturat (neprelungibil) pentru orice valoare iniial n .
2. Dac o soluie saturat a sistemului (2.15.) coincide cu alt soluie a
sistemului (2.15.) ntr-un punct, atunci este o prelungire a lui .
3. Dac dou soluii saturate ale sistemului (2.15.) coincid ntr-un punct, atunci
ele coincid n ntregime, adic ele au acelai interval de definiie i sunt egale
pe acest interval.
n continuare vom studia comportarea soluiilor n vecintatea frontierei
( ) Fr a mulimii de definire a sistemului (2.15.). Pentru simplitate ne vom
ocupa doar de soluiile saturate la dreapta, cazul soluiilor saturate la stnga
tratndu-se n mod analog.
Teorema 9. Fie
1 n+
o mulime deschis, :
n
f o funcie
continu pe , local lipschitzian n al doilea argument. Dac ( ) x y = este o
soluie saturat la dreapta, definit pe intervalul | ) X x ,
0
, atunci orice punct limit
pentru X x al graficului ( ) ( ) { } X x x x x G < =
0
, este fie punct de la
infinit, fie aparine frontierei ( ) Fr a mulimii .
Teorema de mai sus poate fi utilizat pentru determinarea intervalului
maxim de definire a unei soluii. Utiliznd teorema 9 se poate deduce urmtorul
rezultat.
36
Teorema 10. Fie
1 n+
= i ( ) x y = o soluie saturat la dreapta,
definit pe intervalul | ) X x ,
0
. Atunci are loc una i numai una din urmtoarele
dou situaii:
(i) + = X ;
(ii) ( ) + =

x
x
lim .
Teorema 10 spune c o soluie este definit fie pe ntreaga semidreapt,
fie explodeaz n timp finit (fenomen ntlnit n literatur sub denumirea de blow-
up).

II.3. Continuitatea soluiei n raport cu parametrii
i cu condiiile iniiale

Am vzut c n anumite condiii, fiind dat un punct iniial ( )
0 0
, y x exist o
soluie maximal unic a crei valoare n
0
x este
0
y . n cele ce urmeaz vom
studia cum depinde aceast soluie de ( )
0 0
, y x . n general, dac sistemul de ecuaii
difereniale depinde continuu de un numr de parametrii va rezulta c soluiile sunt
i ele funcii continue de parametrii. Acest aspect are o anumit semnificaie fizic:
pentru fenomene descrise de sisteme de ecuaii difereniale, mici abateri sau erori
n condiiile iniiale sau n nsi legea de evoluie nu defirmeaz prea puternic
procesul. Cum asemenea perturbaii sau erori sunt ntotdeauna inevitabile,
proprietatea de continuitate n raport cu condiiile iniiale i cu parametrii asigur
c descrierea evoluiei proceselor prin ecuaii difereniale i date iniiale este
adecvat.
Teorema 11. Fie
1 n+
,
l
mulimi deschise, :
n
f
o funcie continu pe , local lipschitzian n ( ) , y , adic pentru orice
compact K
~
din exist 0 ~ >
K
L astfel ca
( ) ( ) ( )
1 1 2 2 1 2 1 2
, , , ,
n l
n
K
f x y f x y L y y +


pentru orice ( ) ( ) K y x y x
~
, , , , ,
2 2 1 1
.
Fie ( )
0 0
, y x ,
0
. Notm cu ( ) ; x y soluia maximal a
sistemului
( ) = , , y x f
dx
dy

care pentru
0
x x = ia valoarea
0
y . Fie intervalul de definiie al soluiei ( )
0
; x y ,
iar J J compact. Atunci pentru orice 0 > exist

cu proprietatea c

<
0
implic:

37
1. soluia ( ) ; x y este definit pe J ;
2. ( ) ( ) <
0
; ; x y x y pentru orice J x ; mai precis exist 0 > astfel ca
( ) ( )
0 0
; ; < x y x y .
Teorema 12. Fie
1
:
n n
f
+
continu pe , local lipschitzian
n al dilea argument. Fie ( )
0 0
, y x i ( )
0 0
, ; y x x y soluia maximal a
sistemului ( ) y x f
dx
dy
, = care n punctul
0
x ia valoarea
0
y . Fie J
~
intervalul de
definiie al soluiei ( )
0 0
~
,
~
; y x x y , J J
~
, J compact. Atunci pentru orice 0 >
exist

cu proprietatea c pentru

< +
0 0
~ ~
y y x x soluia ( )
0 0
, ; y x x y
este definit pe J i ( ) ( ) <
0 0 0 0
~
,
~
; , ; y x x y y x x y pentru orice J x .

II.4. Difereniabilitatea soluiei n raport
cu parametrii i cu condiiile iniiale

Teorema 13. Fie :
n l n
f I G . Presupunem c f
este continu n G I i c admite derivate pariale n raport cu ( ) , y n
G , continue n G I . Fie ( ) G I y x , ,
0 0
i ( ) ; x y soluia
maximal a problemei
( ) = , , y x f
dx
dy
, ( )
0 0
, y x y = . (2.17.)
Fie
0
, I J
0
intervalul de definiie al soluiei ( )
0
; x y i
0
J J
compact.
Atunci exist o vecintate V a lui
0
cu proprietatea c pentru V
soluiile ( ) ; x y sunt definite pentru J x , sunt difereniabile n raport cu n
0
i matricea derivatelor pariale ( )

; x
y
este matricea de soluii a sistemului
( ) ( ) ( ) ( )
0 0 0 0
, ; , , ; ,

= x y x
f
z x y x
y
f
dx
dz

(2.18.)
determinat de condiia ( ) 0
0
= x z .
Teorema 14. Fie :
n n
f I G continu n G I i de clas
1
C n raport cu y . Fie ( ) G I y x
0 0
~
, ,
0
J intervalul de definiie al soluiei
( )
0 0
~
, ; y x x y i
0
J J compact.
Atunci exist o vecintate V a lui
0
~
y astfel nct pentru V y
0
soluia
( )
0 0
, ; y x x y este definit pe J , difereniabil n raport cu
0
y n punctul
0
~
y i
38
matricea derivatelor pariale ( )
0 0
0
~
, ; y x x
y
y

este matricea fundamental de soluii


a sistemului ( ) ( )z y x x y x
y
f
dx
dz
0 0
~
, ; ,

= .
Teorema 15. Fie :
n n
f I G de clas
1
C n G I ,
( ) G I y x
0 0
,
~
,
0
J intervalul de definiie al soluiei ( )
0 0
,
~
; y x x y i
0
J J
compact.
Atunci exist o vecintate U a lui
0
~
x astfel nct pentru U x
0
soluia
( )
0 0
, ; y x x y este definit pe J , difereniabil n raport cu
0
x n punctul
0
~
x i
derivata sa ( )
0 0
0
,
~
; y x x
x
y

este soluia sistemului ( ) ( )z y x x y x


y
f
dx
dz
0 0
,
~
; ,

=
determinat de condiia ( ) ( )
0 0 0
,
~ ~
y x f x z = .

III. ECUAII DIFERENIALE LINIARE

O ecuaie liniar de ordinul n este de forma
( )
( )
( )
( )
( ) ( ) x f y x a y x a y x
n
n n
= + + +

...
1
1 0
, I x (3.1.)
unde
n
a a a f ,..., , ,
1 0
sunt funcii continue pe un interval I al axei reale. Dac
0 = f ecuaia (3.1.) se numete omogen, n caz contrar ea este neomogen.
O soluie a ecuaiei (3.1.) este o funcie ( ) I C y
n
cu proprietatea c
( )
( )
( ) ( )
( )
( ) ( ) ( ) ( ) x f x y x a x y x a x y x
n
n n
= + + +

...
1
1 0
, I x .
n cele ce urmeaz vom face un studiu pentru ecuaia (3.1.) presupunnd,
pentru nceput, c ( ) 0
0
x a pentru orice I x , deci dup mprirea cu
0
a i
apoi redenumirea funciilor obinem ecuaia
( )
( )
( )
( ) ( ) x f y x a y x a y
n
n n
= + + +

...
1
1
, I x .

III.1. Ecuaii difereniale liniare omogene

Considerm operatorul ( ) ( ) I C I C L
n
: definit prin
( )
( )
( )
( )
( )y x a y x a y y L
n
n n
+ + + =

... :
1
1
. (3.2.)
Operatorul L este liniar. Determinarea soluiilor ecuaiei
( )
( )
( )
( ) 0 ...
1
1
= + + +

y x a y x a y
n
n n
(3.3.)
revine la determinarea nucleului lui L . Evident, nucleul lui L este un subspaiu
vectorial din ( ) I C
n
. Suntem interesai de dimensiunea nucleului lui L .
39
Propoziia 1. Dac ( ) I C y y
n
n
1
1
,...,

sunt liniar dependente, atunci
determinantul
( )
( ) ( ) ( )
( ) ( ) ( )
( )
( )
( )
( )
( )
( ) x y x y x y
x y x y x y
x y x y x y
y y x W
n
n
n n
n
n
n
1 1
2
1
1
1
2 1
1
,..., ;


=


este identic nul.
Determinantul ( )
n
y y x W ,..., ;
1
este wronskianul funciilor
n
y y ,...,
1
sau
determinantul lui Wronsky.
Propoziia 2. Dac ( ) L y y
n
Ker ,...,
1
sunt liniar independente, atunci
( ) 0 ,..., ;
1

n
y y x W pentru orice I x .
Ca o consecin a celor de mai sus obinem c dac ( ) L y y
n
Ker ,...,
1
,
atunci ( )
n
y y x W ,..., ;
1
sau este identic egal cu zero i n acest caz sistemul de
funcii este liniar dependent, sau este diferit de zero pentru orice I x i n acest
caz sistemul de funcii este liniar independent. Mai mult, avem urmtorul rezultat
datorat lui Liouville.
Propoziia 3. Dac ( ) L y y
n
Ker ,...,
1
, atunci
( ) ( ) ( )
|
|
.
|

\
|
=

x
x
n n
ds s a y y x W y y x W
0
1 1 0 1
exp ,..., , ,..., , . (3.4.)
Formula (3.3.) este cunoscut n literatur ca formula lui Abel-Liouville.
Propoziia 4. Exist n ( ) L Ker n funcii liniar independente.
Teorema 1. Nucleul operatorului L definit de (3.2.) are dimensiunea n
adic ( ) n L = Ker dim .
O baz a lui ( ) L Ker se va numi sistem fundamental de soluii pentru
ecuaia (3.3.). Dac
n
y y ,...,
1
este un sistem fundamental de soluii, atunci soluia
general a ecuaiei (3.1.) este
n n
y C y C y + + = ...
1 1
,
deci problema integrrii ecuaiei omogene revine la a construi un sistem
fundamental de soluii pentru aceast ecuaie.
Se observ c n funcii formeaz un sistem fundamental de soluii pe
intervalul I dac i numai dac sunt soluii i sunt liniar independente.
Remarca 1. Orice 1 + n soluii ale unei ecuaii difereniale de ordinul n
definite pe un interval I sunt liniar dependente pe I .



40
Construcia ecuaiei difereniale liniare de ordinul n
cu un sistem fundamental de soluii dat

n cele de mai sus s-a vzut c unei ecuaii difereniale liniare i putem
pune n coresponden un sistem fundamental de soluii formate cu n funcii liniar
independente.
Problema pe care o considerm acum este cea a determinrii unei ecuaii
difereniale liniare de ordinul n care are un sistem fundamental de soluii format
cu n funcii liniar independente date pe un interval I .
Teorema 2. Dou ecuaii difereniale de ordinul n , omogene
( )
( )
( )
( ) ( ) 0 ...
1
1
1
= + + + +

y x a y x a y x a y
n n
n n

( )
( )
( )
( ) ( ) 0 ...
1
1
1
= + + + +

y x b y x b y x b y
n n
n n

care au acelai sistem fundamental de soluii pe un interval dat I , sunt identice pe
I , adic ( ) ( ) x b x a
k k
= , n k ,..., 1 = , I x .
Din teorema 2 deducem c un sistem
n
y y ,...,
1
fundamental de soluii pe
I determin o ecuaie diferenial de ordinul n i numai una, pentru care
n
y y ,...,
1
este un sistem fundamental de soluii pe I . Aceast ecuaie este
( ) ( ) ( )
0
1
1
1
=

n
n
n n
n
n
y y y
y y y
y y y

(3.5.)
dup cum se verific imediat.

III.2. Ecuaii difereniale liniare neomogene

Considerm ecuaia (3.1.). Fie
0
y o soluie particular a ecuaiei (3.1.) i
y o soluie oarecare a ecuaiei (3.1.). Avem ( ) ( ) ( ) 0
0 0
= = y L y L y y L , deci
( ) f y y Ker
0
. Prin urmare, dac
n
y y ,...,
1
este un sistem fundamental de
soluii ale ecuaiei omogene ( ) 0 = y L , atunci soluia general a ecuaiei
neomogene este

=
+ =
n
i
i i
y C y y
1
0

adic problema integrrii unei ecuaii difereniale neomogene revine la
determinarea unei soluii particulare a ecuaiei neomogene i la determinarea unui
sistem fundamental de soluii pentru ecuaia omogen.
Dac se cunoate un sistem fundamental de soluii pentru ecuaia omogen,
atunci urmtoarea metod a variaiei constantelor, datorat lui Lagrange, permite
determinarea unei soluii particulare a ecuaiei neomogene.
41
Fie
n
y y ,...,
1
un sistem fundamental de soluii ale ecuaiei omogene (3.3).
Cutm soluia particular a ecuaiei (3.1.) sub forma
( ) ( ) ( ) ( ) ( ) x y x C x y x C x y
n n
+ + = ...
1 1
, I x . (3.6.)
Avnd n funcii nedeterminate, putem impune 1 n condiii de o
asemenea manier ca problema s aib o form simpl. Avem
( ) ( ) ( ) ( ) ( )

= =
+ =
n
i
i i
n
i
i i
x y x C x y x C x y
1 1
.
Impunem condiia
( ) ( ) 0
1
=

=
n
i
i i
x y x C . (3.7.)
Atunci
( ) ( ) ( ) ( ) ( )

= =
+ =
n
i
i i
n
i
i i
x y x C x y x C x y
1 1

Impunem a doua condiie de forma
( ) ( ) 0
1
=

=
n
i
i i
x y x C . (3.8.)
i aa mai departe pn la derivata de ordinul 1 n :
( )
( ) ( )
( )
( ) ( )
( )
( )

=

=

+ =
n
i
n
i i
n
i
n
i i
n
x y x C x y x C x y
1
1
1
2 1

i impunem condiia
( )
( )
( ) 0
1
2
=

n
i
n
i i
x y x C . (3.9.)
Din
( )
( ) ( )
( )
( ) ( )
( )
( )

=

=
+ =
n
i
n
i i
n
i
n
i i
n
x y x C x y x C x y
1
1
1

nlocuind
( ) n
y y y ,..., , n ecuaia (3.1.) rezult
( )
( )
( ) ( ) x f x y x C
n
i
n
i i
=

1
1
. (3.10.)
Prin urmare, din (3.7.)-(3.10.) se obine pentru
n
C C ,...,
1
sistemul de
ecuaii algebrice
( )
( )
( )
( )
( )
( ) ( )

=
= =

=
x f x y x C
n k x y x C
n
i
n
i i
n
i
k
i i
1
1
1
2 ,..., 1 , 0 , 0

42
Acest sistem este compatibil i are o soluie unic, deci ( ) ( ) x x C
1 1
= ,
( ) ( ) x x C
2 2
= , , ( ) ( ) x x C
n n
= . Se determin ( ) ( ) x C x C
n
,...,
1
i se
nlocuiete n (3.6.) obinndu-se soluia particular pentru ecuaia (3.1.)

III.3. Ecuaii difereniale liniare cu coeficieni constani

Am vzut n paragrafele anterioare c integrarea unei ecuaii difereniale
liniare revine la determinarea unui sistem fundamental de soluii.
Pentru ecuaiile difereniale cu coeficieni constani de forma
( )
( ) ( )
0 ... :
1
1
= + + + =

y a y a y y L
n
n n
(3.11.)
unde
1
,...,
n
a a putem s determinm un sistem fundamental de soluii.
Cutm soluii particulare de forma
rx
e y = , r
Are loc relaia
( ) ( ) r f e e L
rx rx
= (3.12.)
unde
( )
n
n n
a r a r r f + + + =

...
1
1

este polinomul caracteristic, iar ( ) 0 = r f este ecuaia caracteristic ataat ecuaiei
(3.11.).
Se arat cu uurin c
( ) ( )
( )
( )
( )
( )
(

+ +

+ =
n
n
rx rx
z
n
r f
z
r f
z r f e z e L
!
...
! 1
. (3.13.)
Observm c pentru integrarea ecuaiei difereniale (3.11.) trebuie s inem
seama de natura rdcinilor ecuaiei caracteristice ( ) 0 = r f .

i) Ecuaia caracteristic are n rdcini reale i distincte

Fie
n
r r ,...,
1
rdcinile ecuaiei caracteristice. n acest caz, un sistem
fundamental de soluii al ecuaiei difereniale (3.11.) este ( )
x r
e x y
1
1
= ,
( )
x r
e x y
2
2
= , , ( )
x
n
r
n
e x y = , deoarece
( )
( )
1 1
2
1
1
2 1 ...
1
1
1 1 1
,..., ,

+ +
=
n
n
n n
n x
n
r r
n
r r r
r r r
e y y x W


iar soluia general a ecuaiei (3.11.) este
x
n
r
n
x r
e C e C y + + = ...
1
1
.
43
ii) Ecuaia caracteristic are rdcini reale multiple

Fie
1
r r = o rdcin cu ordinul de multiplicitate p a ecuaiei
caracteristice, adic ( ) 0
1
= r f , ( ) 0
1
= r f , ,
( )
( ) 0
1
1
=

r f
p
,
( )
( ) 0
1
r f
p
.
Identitatea (3.13.) devine n acest caz
( )
( )
( )
( )
( )
( )
( )
(
(

+ + =
n
n
p
p
x r x r
z
n
r f
z
p
r f
e z e L
!
...
!
1
1 1
.
nlocuind pe z cu
1
,..., , 1
p
x x obinem ( ) 0
1
=
x r
e L , ( ) 0
1
=
x r
xe L , ,
( ) 0
1
1
=

x r
p
e x L adic ( )
x r
e x y
1
1
= , ( )
x r
xe x y
1
2
= , , ( )
x r
p
p
e x x y
1
1
= sunt
soluii ale ecuaiei difereniale (3.11.). Deci soluiei
1
r r = , multipl de ordinul p ,
a ecuaiei caracteristice, i corespunde soluia
( ) ( ) x Q e e C x C x C y
x r x r
p
p p
1
1 1
1
2
1
1
0
... = + + + =



pentru ecuaia diferenial (3.11.), unde ( ) x Q
1
este un polinom de grad cel
mult 1 p .
S presupunem c ecuaia caracteristic ( ) 0 = r are rdcinile reale i
distincte dou cte dou
k
r r ,...,
1
, multiple cu ordinele de multiplicitate respectiv
k
p p ,...,
1
astfel ca n p
k
i
i
=

=1
.
n acest caz ecuaia diferenial (3.11.) are soluiile
x r
e
1
,
x r
xe
1
, ,
x r p
e x
1
1
1

, ,
x
k
r
e ,
x
k
r
xe , ,
x
k
r
k
p
e x
1

(3.14.)
care formeaz un sistem fundamental de soluii.
Soluia general a ecuaiei difereniale (3.11.) n cazul rdcinilor multiple
este dat de
( ) ( ) ( ) x Q e x Q e x y
k
x
k
r x r
+ + = ...
1
1

unde ( ) x Q
i
sunt polinoame n x de grad cel mult 1
i
p , k i ,..., 1 = .

iii) Ecuaia caracteristic are rdcini complexe

Soluiile particulare gsite la punctele precedente sunt n acest caz
complexe. Ele formeaz un sistem fundamental, deoarece proprietile pentru
soluii reale rmn valabile, ele bazndu-se pe proprieti algebrice valabile i n
corpul numerelor complexe. Dar se pot gsi i n acest caz soluii reale.
ntr-adevr, dac ( ) ( ) ( ) x v x u x y i + = este o soluie a ecuaiei difereniale
(3.11.), avem ( ) ( ) ( ) 0 i i = + = + v L u L v u L adic ( ) 0 = u L , ( ) 0 = v L . Dac
+ = i r este o soluie a ecuaiei caracteristice, atunci i = i r este o
44
soluie deoarece coeficienii ecuaiei caracteristice sunt reali. Acestor dou soluii
le corespund pentru ecuaia diferenial (3.11.) soluiile reale
x e y
x
=

cos
1
, x e y
x
=

sin
2

care sunt i ele liniar independente.
Dac ecuaia caracteristic are rdcini complexe multiple, se procedeaz
la fel ca la punctul ii). Adic, n ipoteza c + = i r este o rdcin multipl de
ordin p a ecuaiei caracteristice i = i r va fi o soluie multipl de ordin p
a aceleiai ecuaii. Lor le corespund soluiile liniar independente
x e
x

cos , x xe
x

cos , , x e x
x p


cos
1

x e
x

sin , x xe
x

sin , , x e x
x p


sin
1
.

Cazul neomogen

Determinarea unei soluii particulare pentru ecuaia neomogen se poate
face cu metoda variaiei constantelor a lui Lagrange. Totui, n anumite cazuri, se
poate determina mai uor o soluie particular a ecuaiei
( ) ( )
( ) x g y a y a y
n
n n
= + + +

...
1
1
. (3.15.)
i) Presupunem c g este un polinom de grad m, adic
( )
m
m
x x g + + = ...
0
.
Dac 0
n
a , ecuaia diferenial (3.15.) are o soluie de forma
( )
m
m
x x y + + = ...
0

unde coeficienii
m
,...,
0
se obin prin identificare.
Dac 0 =
n
a , , 0
1
=
+ p n
a , iar 0
p n
a , ecuaia (3.15.) are o soluie
de forma
( ) ( )
m
m p
x x x y + + = ...
0
(3.16.)
unde coeficienii
m
,...,
0
se determin prin identificare.
ii) Presupunem c g are forma
( ) ( )
m
m x
x e x g + + =

...
0
.
Dac nu este rdcin a ecuaiei caracteristice, ecuaia diferenial
(3.15.) are o soluie de forma
( ) ( )
m
m x
x e x y + + =

...
0

unde coeficienii
m
,...,
0
se determin prin identificare.
Dac este o rdcin multipl de ordin p a ecuaiei caracteristice,
ecuaia diferenial (3.15.) are o soluie de forma
( ) ( )
m
m p x
x x e x y + + =

...
0

unde coeficienii
m
,...,
0
se determin prin identificare.
45
iii) Considerm ecuaiile difereniale
( ) ( )
( ) x x P e y a y a y
x
n
n n
== + + +

cos ...
1
1
(3.17.)
( ) ( )
( ) x x P e z a z a z
x
n
n n
= + + +

sin ...
1
1
(3.18)
unde , , iar P un polinom avnd gradul m. Punnd z y w i + = ,
avem
( ) ( ) ( )
( ) x P e w a w a w
x
n
n n +
= + + +
i 1
1
... .
Aplicnd rezultatele de la punctul ii) obinem:
Dac n ecuaiile (3.17.) i (3.18.) P este un polinom de gradul m i dac
+ i nu este rdcin a ecuaiei caracteristice, atunci ecuaiile
difereniale (3.17.) i (3.18.) au soluii de forma
( ) ( ) | | x x Q x x Q e
x
+

sin cos
2 1

unde
1
Q i
2
Q sunt polinoame de gradul m ale cror coeficieni se
determin prin identificare.
Dac n ecuaiile (3.17.) i (3.18.) P este un polinom de gradul m i dac
+ i este rdcin multipl de ordinul p a ecuaiei caracteristice,
atunci ecuaiile difereniale (3,17,) i (3,18.) au soluii de forma
( ) ( ) | | x x Q x x Q x e
p x
+

sin cos
2 1

unde
1
Q i
2
Q sunt polinoame de gradul m ale cror coeficieni se
determin prin identificare.

III.4. Ecuaii difereniale liniare reductibile la ecuaii difereniale liniare
cu coeficieni constani

Pentru ecuaia diferenial liniar
( )
( )
( )
( )
( ) 0 .. :
1
1
= + + + =

y x a y x a y y L
n
n n
(3.19.)
se consider n cele ce urmeaz dou categorii de transformri, una de variabil
independent, iar alta a variabilei dependente.
Propoziia 5. Dac ecuaia (3.19.) este reductibil la o ecuaie
diferenial liniar cu coeficieni constani prin schimbarea variabilei
independente ( ) x t t = , atunci t este o primitiv a funciei ( )
n
n
x a C x , unde
C este o constant.

Ecuaia diferenial Euler

Ecuaia diferenial liniar
( ) ( )
( ) x g y a y x a y x a y x
n n
n n n n
= + + + +


1
1 1
1
... (3.20)
unde
k
a , n k ,..., 1 = , ( ) I C g i care se consider pentru 0 x este numit
ecuaia diferenial a lui Euler.
46
Prin schimbarea de variabil
t
e x = sau x t ln = , ecuaia diferenial
(3.20.) se transform ntr-o ecuaie diferenial cu coeficieni constani.
Ecuaia diferenial
( )
( )
( )
( )
( )
1
1
1 1
...
n n
n n
n n
ax b y a ax b y a xy a y g x

+ + + + + + = (3.21)
unde
k
a , n k ,..., 1 = , ( ) I C g , prin schimbarea de variabil
t
e b ax = + se
transform ntr-o ecuaie diferenial liniar de ordinul n cu coeficieni constani.
Pentru integrarea ecuaiilor difereniale neomogene (3.20.) i (3.21.) se
folosete n general metoda variaiei constantelor a lui Lagrange.

III.5. Proprieti ale soluiilor ecuaiilor difereniale
liniare de ordinul doi

O ecuaie diferenial de ordinul doi poate s apar sub una din
urmtoarele trei forme:
( ) ( ) ( ) x f y x b y x a y
1
= + + , ( ) I C f b a
1
, , (3.22.)
( ) ( ) ( ) ( ) x f y x q y x p
2
= +

, ( ) I C f q p p
2
, , , , ( ) 0 x p (3.23.)
( ) ( ) x f y x c y
3
= + , ( ) I C f c
3
, (3.24.)
numite forma normal, forma autoadjunct respectiv forma redus.
n anumite condiii impuse coeficienilor acestor ecuaii, cele trei forme
sunt echivalente.
O alt particularizare a ecuaiilor difereniale liniare de ordinul doi este
faptul c sunt echivalente cu ecuaiile de tip Riccati.
Pentru ecuaia diferenial liniar (3.22.) omogen, adic
0 = + + by y a y (3.25.)
avem urmtoarele proprieti.
Propoziia 6. Fie a , b continue pe intervalul I .
1) Dac y este o soluie a ecuaiei (3.25.) i ntr-un punct I x
0
avem
( ) ( ) 0
0 0
= = x y x y , atunci y este o funcie identic nul pe I .
2) Dac y este o soluie a ecuaiei (3.25.) care are un zero I x
0
, adic
( ) 0
0
= x y , atunci y i schimb semnul n vecintatea lui
0
x .
3) ntr-un interval de lungime finit | | I , , orice soluie a ecuaiei (3.25.)
are cel mult un numr finit de zerouri.
4) Toate zerourile oricrei soluii neidentic nule pentru ecuaia diferenial
(3.25.) sunt simple.
5) Dac
1
y i
2
y sunt soluii ale ecuaiei (3.25.) i ( ) ( ) 0
0 2 0 1
= = x y x y , atunci
1
y i
2
y difer printr-un factor constant, adic exist C astfel nct
( ) ( ) x Cy x y
1 2
= , pentru orice I x .
47
Teorema 3 (principiul de maxim). Dac ( ) 0 < x b cnd x aparine
interiorului lui I , atunci orice soluie nenul a ecuaiei (3.25.) nu-i atinge
minimele negative i maximele pozitive n interiorul intervalului I .
Teorema 4 (de separare a lui Sturm). Dac
1
y i
2
y sunt soluii liniar
independente ale ecuaiei difereniale (3.25.), atunci zerourile lor se separ
reciproc, adic ntre dou zerouri consecutive ale lui
1
y se gsete un zerou i
numai unu pentru
2
y .
Teorema 5 (de comparaie a lui Sturm). Fiind date ecuaiile
( ) 0
1
= + y x c y (3.26.)
( ) 0
2
= + z x c z (3.27.)
unde ( ) I C c c
2 1
, i
2 1
c c . ntre dou zerouri consecutive ale unei soluii a
ecuaiei (3.26.) se afl cel puin un zero al oricrei soluii a ecuaiei (3.27.)
Teorema 6. Se consider ecuaia diferenial
( ) 0 = + y x c y (3.28.)
unde | | b a C c , i ( ) M x c m < 0 pentru orice | | b a x , . Dac y este o
soluie a ecuaiei (3.28.) i
1
x
2
x sunt dou zerouri consecutive ale lui y , atunci
m
x x
M

2 1
.

IV. SISTEME DIFERENIALE LINIARE

Un sistem diferenial liniar de ordinul nti este de forma
( ) ( ) ( ) ( ) x b x y x a x y
i
n
j
j ij i
+ =

=1
, n i ,..., 1 = , I x
(4.1.)
unde
ij
a i
i
b sunt funcii reale continue pe intervalul I al axei reale. Sistemul se
numete neomogen. Dac 0
i
b , n i ,..., 1 = , atunci sistemul capt forma
( ) ( ) ( )

=
=
n
j
j ij i
x y x a x y
1
, n i ,..., 1 = , I x
(4.2.)
i se numete omogen. Dac folosim notaia vectorial sistemele (4.1.) i (4.2) se
scriu sub forma
( ) ( ) ( ) ( ) x b x y x A x y + = , I x (4.3.)
respectiv
( ) ( ) ( ) x y x A x y = , I x (4.4.)
unde ( ) x A este matricea ptrat cu n linii i n coloane format cu elementele
( ) x a
ij
, n j i ,..., 1 , = , ( ) ( ) ( ) ( )
T
n
x y x y x y ,...,
1
= , ( ) ( ) ( ) ( )
T
n
x b x b x b ,...,
1
= .
48
Evident, sistemului (4.1.) (respectiv (4.2.)) i se poate aplica teorema local
de existen i unicitate mpreun cu toate rezultatele referitoare la existena i
unicitatea global a soluiilor. n concluzie, pentru orice ( )
0 0
,
n
x y I exist o
soluie saturat unic a sistemului (4.1.) verificnd condiia iniial
( )
0 0
y x y = . (4.5.)
Este interesant de menionat c, n acest caz, domeniul de existen al
soluiei saturate coincide cu intervalul I de continuitate al elementelor
ij
a i
i
b .

IV.1. Sisteme difereniale liniare omogene

Vom studia n acest paragraf sistemul (4.2.) (respectiv (4.4.)) n ipoteza c
( ) I C a
ij
. Dm pentru nceput o teorem de structur a mulimii soluiilor.
Teorema 1. Mulimea soluiilor sistemului omogen (4.2.) formeaz un
spaiu vectorial de dimensiune n .
Din teorema 1 rezult c ( ) L Ker admite o baz format cu n elemente.
Fie { }
n
y y ,...,
1
o asemenea baz . Cu alte cuvinte,
n
y y ,...,
1
reprezint n soluii
liniar independente ale sistemului (4.4.), adic singurele constante
n
C C ,...,
1
pentru
care are loc egalitatea
( ) ( ) 0 ...
1 1
= + + x y C x y C
n n
, I x
sunt cele nule ( 0 ...
2 1
= = = =
n
C C C ).
Matricea ( ) x Y ale crei coloane sunt funciile
n
y y ,...,
1
se numete
matrice fundamental de soluii ale sistemului (4.4). Este uor de vzut c
matricea ( ) x Y este soluie a ecuaiei
( ) ( ) ( ) x Y x A x Y = (4.6.)
(am notat cu Y matricea format cu derivatele elementelor matricii ( ) x Y ).
Matricea fundamental nu este unic. Dac ( ) x Y este o matrice
fundamental, atunci orice matrice ( ) ( ) C x Y x Z = , unde C este o matrice
constant nesingular este matrice fundamental de soluii ale sistemului (4.4.); i
reciproca este adevrat.
Propoziia 1. Fie ( ) x Y o matrice fundamental a sistemului (4.4.). Orice
soluie a sistemului (4.4.) se reprezint sub forma
( ) ( ) c x Y x y = , I x (4.7.)
unde c este un vector constant n
2
(constant n x , dar depinznd de y ).
Dac
n
y y ,...,
1
sunt soluii ale sistemului (4.4.) vom nota prin ( ) x W
determinantul matricei ( ) x Y , adic ( ) ( ) | | x Y x W det = .
49
Teorema 2 (Wronsky). Sistemul de soluii { }
n
y y ,...,
1
este fundamental
dac i numai dac wronskianul lor, ( )
n
y y x W ,..., ;
1
este nenul ntr-un punct al
intervalului I (echivalent pe ntreg intervalul I ).
Teorema 3 (Liouville). Dac { }
n
y y ,...,
1
este un sistem de n soluii ale
sistemului (4.4.), atunci pentru orice x ,
0
x din I avem
( ) ( ) ( ) ( )
|
|
.
|

\
|
=

x
x
n n
ds s A y y x W y y x W
0
1 0 1
tr exp ,..., ; ,..., ; (4.8.)
unde ( ) ( ) ( )

=
=
n
i
ii
x a s A
1
tr .

IV.2. Sisteme difereniale liniare neomogene

Considerm sistemul liniar neomogen (4.3.)
( ) ( ) x b y x A
dx
dy
+ = ,
unde elementele matricei A i a vectorului b sunt funcii continue pe un interval
I din .
Teorema 4. Fie ( ) x Y o matrice fundamental de soluii a sistemului
omogen (4.4.) i ( ) x y
~
o soluie particular a sistemului neomogen (4.3.). Soluia
general a sistemului (4.3.) se reprezint sub forma
( ) ( ) ( ) x y c x Y x y
~
+ = , I x (4.9.)
unde c este un vector arbitrar din
n
.
Rezultatul urmtor precizeaz coninutul teoremei 4, oferind o formul de
reprezentare pentru soluia particular y
~
.
Teorema 5 (formula variaiei constantelor). Fie ( ) x Y o matrice
fundamental a sistemului omogen (4.4.). Atunci soluia general a sistemului
neomogen (4.3.) se reprezint sub forma
( ) ( ) ( ) ( ) ( )


+ =
x
x
ds s b s Y x Y c x Y x y
0
1
, I x
(4.10.)
unde
n
c i I x
0
.
Observaie. Din (4.10.) rezult c soluia sistemului (4.3.) care verific
( )
0 0
y x y = este definit de formula
( ) ( ) ( ) ( ) ( ) ( )


+ =
x
x
ds s b s Y x Y y x Y x Y x y
0
1
0 0
1
, I x .
(4.11.)
50
n teoria sistemelor matricea U definit prin ( ) ( ) ( ) s Y x Y s x U
1
,

= ,
I s x , se numete, adesea, matricea de tranziie a sistemului (4.3.). Dac pentru
un sistem de ecuaii difereniale liniare cunoatem matricea de tranziie, atunci
( ) ( ) ( ) ( )

+ =
x
x
ds s b s x U y x x U x y
0
0 0
, , , I x
este soluia sistemului (4.3.) care verific condiia ( )
0 0
y x y = .

IV.3. Sisteme difereniale liniare cu coeficieni constani

Vom studia n cele ce urmeaz sistemul diferenial (4.4.) Ay y = unde
matricea ( )
ij
a A = este o matrice constant. Vom nota cu ( ) x S
A
matricea
fundamental a sistemului (4.4.) care verific condiia iniial ( ) E S
A
= 0 unde E
este matricea identitate.
Propoziia 2. Familia ( )
{ }
A
S x x are urmtoarele proprieti:
(i) ( ) ( ) ( ) z S x S z x S
A A A
= + , , x z ;
(ii) ( ) E S
A
= 0 ;
(iii) ( ) ( )u x S u x S
A A
x x
0
0
lim =

,
n
u .
Propoziia 2 exprim faptul c familia ( )
{ }
A
S x x este un grup
continuu de transformri liniare ale spaiului
n
n el nsui.

Structura matricei
A
S

Pentru a construi o matrice fundamental de soluii vom face cteva
consideraii preliminare. Fie dat un ir de matrici { }
k
A de dimensiune n n s
considerm seria
A A
k
k
=

=0
. (4.12.)
Se pune proble definirii convergenei seriei (4.12.)
Definiie. Spunem c seria

=0 k
k
A converge la A dac irul sumelor
pariale

=
=
j
k
k j
A B
0
converge n norm la matricea A, adic
0 A B
j
, pentru j . (4.13.)

51
Avnd n vedere c (4.13.) revine la convergena pe componente, este uor
de vzut c criteriul lui Cauchy de convergen pentru serii numerice rmne
adevrat i n cazul seriilor de matrici. n particular, se menine adevrat i
urmtorul criteriu de convergen.
Propoziia 3. Dac seria de matrici

=0 k
k
A este majorat de o serie
numeric convergent, adic
k k
a A , unde + <

=0 k
k
a , atunci seria

=0 k
k
A
este convergent.
Folosind noiunea de serie convergent de matrici se pot defini diverse
funcii de matrici. Astfel, dac f este o funcie numeric analitic, avnd
reprezentarea ( )

=
=
0 k
k
k
a f , R < , atunci, prin definiie
( )

=
=
0 k
k
k
A a A f , pentru R A < . (4.14.)
Conform propoziiei 2, seria (4.14.) este convergent pentru R A < . n
felul acesta se pot defini funcii de matrici exponeniale, logaritmice,
trigonometrice etc. n particular, pentru x exist funcia

=
=
0
!
j
j j
Ax
j
x A
e (4.15.)
A fiind o matrice ptrat oarecare. Cum seria

0
!
j
j
j
este convergent pentru orice
, seria (4.15.) este convergent pentru orice x i orice matrice A de
tipul n n .
Teorema 6. n cazul sistemelor de ecuaii difereniale (4.4.) cu coeficieni
constani, un sistem fundamental de soluii este dat de matricea
Ax
e . Mai mult
( ) x S e
A
Ax
= .
Observaie. Este util s menionm c
( )
( )
( )
0 0 0
0
y x x S y e x y
A
x x A
= =


verific ecuaia (4.4.) i condiia ( )
0 0
y x y = . Mai mult
( )
( )
( )
( )

+ =
x
x
s x A
x x A
ds s b e y e x y
0
0
0
, x
verific ecuaia b Ay y + = i condiia ( )
0 0
y x y = .
Dac n teorema 6 am precizat forma unei matrici fundamentale de soluii
pentru un sistem diferenial liniar cu coeficieni constani, vom da n cele ce
urmeaz cteva moduri de construire a matricei fundamentale
Ax
e .
52
Teorema 7. Are loc urmtoarea egalitate:
( )

= d A E e e
x Ax
i 2
1
, x
(4.16.)
unde este un contur nchis i rectificabil din planul complex coninnd n
interiorul domeniului pe care l determin rrcinile
k
,...,
1
ale ecuaiei
caracteristice ( ) 0 det = A E .
Formula (4.16.) poate fi utilizat pentru a da o teorem de structur pentru
matricea
Ax
e . Notnd cu ( ) ( ) A E D = det , formula (4.16.) se scrie sub forma
( )
( )
( )
( ) ( )

= d
A e
d
D
A
e e
k
m
k
m
x
x Ax
...
i 2
1
i 2
1
1
1

unde am notat cu ( ) A matricea complemenilor algebrici ai matricei A E ,
adic ( ) ( ) ( ) E D A E A = .
Observaie. Prin procedeul de mai sus, calculul matricei
Ax
e se reduce la
operaii algebrice.
Un alt mod de a calcula matricea
Ax
e folosete faptul c dac C este o
matrice nesingular i AC C B
1
= , atunci
1
= C Ce e
Bx Ax
, deci dac tim s
calculm
Bx
e , atunci putem s calculm
Ax
e . Dar se tie c exist C o matrice
nesingular astfel nct matricea AC C B
1
= s aib forma canonic Jordan
|
|
|
.
|

\
|
=
s
J
J
B
1

unde
s
J J ,...,
1
sunt celule Jordan.
Din definiia exponenialei, rezult c
|
|
|
|
|
.
|

\
|
=
x
s
J
x J
x J
Bx
e
e
e
e

2
1
.
Orice celul Jordan J se reprezint sub forma I E J + = , unde E i I se scriu
sub forma
|
|
|
|
|
.
|

\
|
=
1
1
1

E ,
|
|
|
|
|
.
|

\
|
=
0
1
1 0
1 0

I ,
53
adic 1 =
ii
E i 0 =
ij
E pentru j i , iar 1
1 ,
=
+ i i
I i 0 =
ij
I pentru 1 + i j . Se
constat direct c dac I are m linii i m coloane, atunci 0 =
m
I . Deducem
|
|
|
|
|
|
.
|

\
|




=
+
+
+
k
m k m
k
k
m k m
k
k
k
k
m k m
k
k
k
k
k
k
K
C
C C
C C C
j

0 0 0
0 0
0
3 3
2 2 1 1
1 1 2 2 1 1
,
apoi
( )
( )
( )
x
m
m
m
k
k k
Jx
e
m
x
m
x x
m
x x x
k
x J
e

=
|
|
|
|
|
|
|
|
|
|
.
|

\
|

= =

1 0 0 0
! 3
1 0 0
! 2 ! 1
1 0
! 1 ! 2 ! 1
1
!
3
2
1 2
0

.
Cu acestea se obine c dac
k
,...,
1
sunt valori proprii distincte de
multiplicitate
k
m m ,...,
1
ale matricei A, atunci
( )

=
k
j
x
j
j
Ax
e x P e
1

unde elementele matricei ( ) x P
j
sunt polinoame de grad cel mult 1
j
m . Prin
urmare, orice soluie a sistemului (4.4.) este de forma
( ) ( )

=
k
j
x
j
j
e x p x y
1

unde elementele vectorilor ( ) x p
j
sunt polinoame n x de grad cel mult 1
j
m .
Un alt procedeu de obinere a unei matrici fundamentale de soluii se
bazeaz pe urmtoarea teorem.
Teorema 8. Fie ( )
n
AM i sistemul asociat matricei A. Fie ( ) A sp
spectrul matricei A (adic mulimea vectorilor proprii) i pentru fiecare n
( ) A sp fie ( ) m multiplicitatea algebric (ordinul de multiplicitate al valorii
proprii ca rdcin a polinomului caracteristic ( ) A E det ).



54
1) Oricare ar fi ( ) sp A exist
,k n
j
P

astfel ca aplicaiile
k


definite prin:
( )
( )
x
m
j
j k
j
k
e x P x


=

|
|
.
|

\
|
=

1
1
,
, x, ( ) = m k ,..., 1 (4.17.)
sunt soluii liniar independente ale ecuaiei (4.4.).
2) Oricare ar fi ( ) A sp i + = pentru care ( ) 0 > = m exist
,k
j
P


astfel nct aplicaiile
k

i
k

, ( ) = m k ,..., 1 definite prin:


( )
( )
|
|
.
|

\
|
=


=

1
1
,
Re
m
j
j k
j
x k
x P e x , x
( )
( )
|
|
.
|

\
|
=


=

1
1
,
Im
m
j
j k
j
x k
x P e x , x
(4.18.)
sunt soluii liniar independente ale ecuaiei (4.4.).
3) Soluiile ( ) ( ) { } =

m k A
k
,..., 1 , sp din (4.17.) i (4.18.) constituie un
sistem fundamental de soluii ale sistemului (4.4.).
4) Dac ( ) A sp i ( ) 1 = m , atunci

0
P este un vector propriu pentru .
Utiliznd teorema de mai sus se obine urmtorul algoritm pentru obinerea
unei matrici fundamentale de soluii.
Pasul 1. Se determin spectrul ( ) A sp , ca mulimea rdcinilor ecuaiei
caracteristice ( ) 0 det = A E ; pentru fiecare ( ) A sp se reine
( ) m , ordinul de multiplicitate al valorii proprii .
Pasul 2. Pentru fiecare ( ) sp A pentru care ( ) 1 = m se rezolv
sistemul
( ) 0 = u E A
i se alege { } \ 0
n
u

o soluie nenul a acestui sistem; se consider


( )
x
e u x


=
drept soluie a ecuaiei (4.4.) corespunztoare valorii proprii .
Pasul 3. Pentru fiecare ( ) A sp i + = , 0 > pentru care ( ) 1 = m se
rezolv n
n
sistemul algebric
( ) 0 = u E A
i se alege o soluie { } \ 0
n
u

a acestui sistem; reinem


( ) ( )

= u e x
x
Re , ( )

= u e
x
Im
drept soluii ce corespund valorilor proprii i .

55
Pasul 4. Pentru fiecare ( ) sp A pentru care ( ) 1 > = m m se caut
0 1 1
, ,...,
n
m
P P P

astfel ca
( )
|
|
.
|

\
|
=

1
1
m
j
j
j
x
x P e x
s fie soluie a ecuaiei (4.4.); prin identificarea coeficienilor din
identitatea ( ) ( ) x A x = se obin relaiile
( ) 0
1
=
m
P A E , ( ) ( )
1
1
+
+ =
j j
P j P A E , 0 ,..., 2 = m j
care se scriu echivalent prin
( ) 0
0
= P A E
m
, ( )
0
!
1
P A E
j
P
j
j
= , 1 ,..., 0 = m j ;
se aleg m vectori liniar independeni
,
0
k n
P

, m k ,..., 1 = care sunt


soluii ale ecuaiei ( ) 0
0
= P A E
m
, se definesc
( )
k j k
j
P A E
j
P
,
0
,
!
1

= , 1 ,..., 0 = m j , m k ,..., 1 =
i se obin
( )

=
1
0
,
m
j
j k
j
x k
x P e x , m k ,..., 1 =
drept soluii liniar independente corespunztoare valorii proprii cu
ordinul de multiplicitate ( ) 1 > = m m .
Pasul 5. Pentru ( ) A sp i + = , 0 > pentru care ( ) 1 > = m m se caut
0 1 1
, ,...,
n
m
P P P

astfel ca
( )
|
|
.
|

\
|
=

1
1
~
m
j
j
j
x
x P e x
s verifice identitatea ( ) ( ) x A x = . De aici prin identificarea
coeficienilor se obin relaiile
( ) 0
1
=
m
P A E , ( ) ( )
1
1
+
+ =
j j
P j P A E , 0 ,..., 2 = m j
care se scriu echivalent prin
( ) 0
0
= P A E
m
, ( )
0
!
1
P A E
j
P
j
j
= , 1 ,..., 0 = m j ;
se alege o baz { } m k P
k
,..., 1 ,
,
0
=

pentru ( )
m
A E Ker , se definesc
( )
k j k
j
P A E
j
P
,
0
,
!
1

= , 1 ,..., 0 = m j , m k ,..., 1 =


56
i se obin
( )
|
|
.
|

\
|
=

1
0
,
Re
m
j
j k
j
x k
x P e x
( )
|
|
.
|

\
|
=

1
0
,
Im
m
j
j k
j
x k
x P e x
drept soluii liniar independente corespunztoare valorilor proprii i
cu ordinul de multiplicitate ( ) ( ) 1 > = = m m m .
Pasul 6. Se renumeroteaz cele n soluii obinute n paii precedeni
( ) ( ) { } { }
n
k
m k A = =

,..., ,..., 1 , sp
1

care constituie un sistem fundamental de soluii pentru ecuaia (4.4.).
Soluia general se scrie sub forma
( ) ( )

=
=
n
i
i i
x c x y
1
.

IV.4. Proprieti ale zerourilor soluiilor sistemelor liniare

Vom considera n acest paragraf un sistem de forma
0
1 1
= + + z b y a y , 0
2 2
= + + z b y a z (4.19.)
unde ( ) I C b b a a
2 1 2 1
, , , .
Teorema 9. Fie ( )
t
z y, o soluie nenul a sistemului (4.19.).
(i) Dac ( ) 0
1
x b , I x , atunci zerourile lui y sunt simple i mulimea
lor este finit.
(ii) Dac ( ) 0
2
x b , I x , atunci zerourile lui z sunt simple i mulimea
lor este finit.
Teorema 10 (M. Nicolescu). Fie | | b a C b a
i i
, , i ( ) ( ) 0
2 1
< x b x a
pentru | | b a x , , Dac ( ) z y, este o soluie nenul a sistemului (4.19.), atunci
zerourile lui y i z se separ reciproc pe | | b a, .

V. PROBLEME LA LIMIT PENTRU ECUAII DIFERENIALE

Dac n seciunile anterioare am considerat problema Cauchy pentru o
ecuaie diferenial (sistem dee cuaii difereniale), n cele ce urmeaz vom
considera o problem la limite pentru o ecuaie diferenial (sistem de ecuaii
difereniale).




57
V.1. Probleme la limit pentru ecuaii difereniale liniare

ncepem cu o problem la limit pentru o ecuaie liniar de ordinul doi. Fie
( ) f ry y q y p y L = + + = (5.1.)
( ) ( ) ( ) ( ) ( )
1 12 11 12 11 1
= + + + = b y b y a y a y y U
( ) ( ) ( ) ( ) ( )
2 22 21 22 21 2
= + + + = b y b y a y a y y U
(5.2.)
unde | | b a C f r q p , , , , , , ,
ij ij i
i presupunem c rangul matricei
|
|
.
|

\
|


22 21 22 21
12 11 12 11

este doi, iar ( ) 0 x p pentru | | b a x , .
Condiiile (5.2.) se numesc condiii la limite, iar problema determinrii
unei funcii | | b a C y ,
2
care verific ecuaia (5.1.) i condiiile la limite (5.2.) se
numete problem la limite sau problem Sturm-Liouville.
Dac 0
2 1
= = condiiile la limite (5.2.) se numesc omogene iar dac n
plus 0 = f problema la limite se numete omogen.
Atam problemei (5.1.)-(5.2.) problema omogen corespunztoare
( ) 0 = y L (5.3.)
( ) 0
1
= y U , ( ) 0
2
= y U (5.4.)
Este uor de vzut c problema (5.1.)-(5.2.) are cel mult o soluie dac i
numai dac problema omogen asociat (5.3.)-(5.4.) are numai soluia nul.
Dac considerm aplicaiile
| | | | b a C b a C L , , :
2
; ( ) y L y
| | R b a C U , :
2
1
; ( ) y U y
1

| | R b a C U , :
2
2
; ( ) y U y
2

atunci aceste aplicaii sunt liniare i mulimea soluiilor problemei (5.3.)-(5.4.) este
( ) ( ) ( )
2 1
Ker Ker Ker U U L i prin urmare formeaz un subspaiu liniar al lui
| | b a C ,
2
. Unicitatea revine la faptul c ( ) ( ) ( ) { } 0 Ker Ker Ker
2 1
= U U L .
Cum ( ) L Ker este un spaiu liniar bidimensional, fiind format din
mulimea soluiilor unei ecuaii difereniale liniare de ordinul doi, orice
( ) L y Ker se scrie sub forma
2 2 1 1
y C y C y + = , unde { }
2 1
, y y formeaz un
sistem fundamental de soluii pentru ecuaia (5.3.). Impunnd condiia ca y s
aparin lui ( ) ( )
2 1
Ker Ker U U obinem sistemul
( ) ( )
( ) ( )

= +
= +
0
0
2 2 2 1 2 1
2 1 2 1 1 1
y U C y U C
y U C y U C



58
a crei rezolvabilitate este caracterizat de rangul matricei
( )
( ) ( )
( ) ( )
|
|
.
|

\
|
=
2 2 1 2
2 1 1 1
y U y U
y U y U
y U
Dac { }
2 1
~
,
~
y y este un alt sistem fundamental de soluii i T este o
aplicaie liniar nesingular, atunci ( ) ( ) y TU y U =
~
i deci rangul lui U nu
depinde de alegerea bazei lui ( ) L Ker . Din acest motiv rangul matricei U se
numete rangul problemei la limite.
S trecem acum la studiul rezolvabilitii problemei la limite (5.1.)-(5.2.).
Dac rangul problemei (5.1.)-(5.2.) este doi, atunci restricia lui L la
( ) ( )
2 1
Ker Ker U U este injectiv i deci putem s vorbim de inversa aplicaiei
( ) ( ) | | b a C U U L , Ker Ker :
2 1

Vom construi pe
1
L i vom vedea c
1
L este un operator integral iar
nucleul acestui operator se va numi funcia lui Green a problemei la limite date.

Funcia lui Green

Prin funcia lui Green a problemei (5.1.)-(5.2.) nelegem o funcie
| | | |
: , , G a b a b , ( ) ( ) s x G s x , ,
ce satisface urmtoarele condiii:
(i) | | | | ( ) b a b a C G , , ;
(ii) Pentru orice | | b a s , funcia ( ) s x G x , este de clas
2
C pe mulimea
| | { } s b a \ , i
( ) ( )
( ) s p
s s
x
G
s s
x
G 1
, , =

;
(iii) Funcia ( ) s x G x , este soluie a ecuaiei ( ) 0 = y L pe mulimea
| | { } s b a \ , i satisface condiiile liniare i omogene ( ) ( ) 0
2 1
= = y U y U .
Teorema 1. Dac problema la limite omogen de rang doi (5.3.)-(5.4.) are
numai soluia nul, adic ( ) ( ) ( ) { } 0 Ker Ker Ker
2 1
= U U L , atunci funcia lui
Green exist i este unic.
Teorema 2. Dac problema omogen are numai soluie nul, atunci
problema la limite
( ) f y L = (5.5.)
( ) 0
1
= y U , ( ) 0
2
= y U (5.6.)
are o soluie i numai una pentru orice | | b a f , . Mai mult, soluia este dat de
( ) ( ) ( )

=
b
a
ds s f s x G x y , (5.7.)
unde G este funcia lui Green a problemei (5.5.)-(5.6.).
59
Prin urmare,
1
L , aplicaia invers a restriciei lui L la
( ) ( )
2 1
Ker Ker U U este | | | | b a C b a C L , , :
2 1

, f L f
1
i este definit
prin
( )( ) ( ) ( )

b
a
ds s f s x G x f L ,
1
.
Remarc. Dac problema omogen de rangul doi are numai soluia nul,
atunci pentru orice | | b a C f , ,
1 2
, problema
( ) f y L = , ( )
1 1
= y U , ( )
2 2
= y U
are o soluie i numai una. Mai mult, soluia este dat de
( ) ( ) ( ) ( ) x g ds s f s x G x y
b
a
+ =

, , | | b a x ,
unde G este funcia Green pentru problema (5.3.)-(5.4.) iar g este un element din
( ) L Ker care verific condiiile ( )
1 1
= g U , ( )
2 2
= g U .
Dac
1
y i
2
y este un sistem fundamental de soluii pentru ecuaia
( ) 0 = y L , atunci orice element din ( ) L Ker este de forma
2 2 1 1
y C y C y + = .
Condiiile la capete devin
( ) ( )
1 2 1 2 1 1 1
= + y U C y U C , ( ) ( )
2 2 2 2 1 2 1
= + y U C y U C .
Deoarece problema la limit este de rangul doi matricea
( )
( ) ( )
( ) ( )
|
|
.
|

\
|
=
2 2 1 2
2 1 1 1
y U y U
y U y U
y U
este nesingular i deci se poate determina n mod unic
1
C i
2
C din sistemul de
mai sus.

Probleme la limit pentru ecuaii difereniale liniare de ordin n

Rezultatele prezentate anterior se pot extinde la orice ecuaie diferenial
liniar de ordin 2 > n ; astfel, dac L este operatorul diferenial
( ) ( )
( )

=
=
n
j
j
j
y x a y L
0
:
(5.8.)
condiiile la limit vor fi de forma
( ) = y U (5.9.)
unde ( ) ( ) ( ) | |
t
m
y U y U y U ,...,
1
= iar
( )
( )
( )
( )
( ) | |

=
+ =
1
0
n
k
k
jk
k
jk j
b y a y y U , m j ,..., 1 =
unde m este rangul matricei ( )
k j
jk jk
,
, i ( )
t
m
= ,...,
1
.
60
Se pot determina uor condiiile de compatibilitate a problemei la limite
( ) f y L = , m
dac se cunoate soluia general a ecuaiei ( ) f y L = ; scriind

=
+ =
n
j
j j
y y C y
1
~

vor trebui determinate constantele
n
C C ,...,
1
pentru a se verifica condiiile la limit
( ) = y U , ceea ce este echivalent cu rezolvarea sistemului liniar
( ) ( ) = +

=
y U U C
n
j
j j
~
1

format cu m ecuaii cu n necunoscute. Acest sistem va fi compatibil dac
( ) ( )
( ) ( )(
(
(

n m m
n
y U y U
y U y U

1
1 1 1
,
( ) ( ) ( )
( ) ( ) ( ) (
(
(



m m n m m
n
y U y U y U
y U y U y U
~
~
1
1 1 1 1 1


au acelai rang; dac r este acest rang, atunci problema la limit omogen
( ) 0 = y L , ( ) 0 = y U
admite exact r n soluii liniar independente.
Problema la limit omogen va avea mereu soluii nenule dac n m < ;
dac n m = vor exista soluii nenule numai dac matricea ( ) ( )
k j
y U este singular,
iar dac n m > , n general nu sunt soluii nenule.
n particular, n cazul m n = are loc urmtoarea alternativ: dac
problema la limit omogen admite numai soluia nul, atunci problema la limit
neomogen admite numai o singur soluie.

Soluii fundamentale i funcii Green

Propoziia 1. Dac L este un operator difereniar liniar definit prin
( ) ( )
( )

=
=
n
j
j
j
y x a y L
1

unde | | b a C a
j
, , ( ) 0 x a
n
| | b a x , iar
n
y y ,...,
1
este un sistem
fundamental de soluii pentru ecuaia ( ) 0 = y L , atunci funcia
| | | |
: , , k a b a b definit prin
61
( )
( )
( ) ( )
( ) ( )
( ) ( )
( )
( )
( )
( )
( ) ( ) x y x y
s y s y
s y s y
s y s y
s w s a
s x
s x k
n
n
n
n
n
n
n

1
2 2
1
1
1
2
sgn
,

=
unde ( ) 1 sgn = s x dac s x > , ( ) 1 sgn = s x dac s x < iar w este
wronskianul soluiilor
n
y y ,...,
1
, are urmtoarele proprieti:
(i) n fiecare din triunghiurile b s x a < i b x s a < derivatele
pariale n raport cu x pn la n inclusiv sunt funcii continue n ambele
variabile;
(ii) n fiecare din triunghiurile amintite, avem ( ) 0 , = s x Lk ( s fiind
considerat parametru);
(iii) n ptratul | | | | b a b a , , , k este funcie de clas
2 n
C ;
(iv) dac b s a < < , atunci
( ) ( )
( ) s a
s s
x
k
s s
x
k
n
n
n
n
n
1
, ,
1
1
1
1
=

;
(v) ( ) 0 , = s s k , ( ) 0 , =

s s
x
k
, , ( ) 0 ,
2
2
=

s s
x
k
n
n
.
O funcie
| | | |
: , , g a b a b care are proprietile (i)-(iv) se numete
soluie fundamental pentru operatorul liniar L . Dac
n
y y ,...,
1
este un sistem
fundamental de soluii pentru ecuaia ( ) 0 = y L , atunci orice soluie fundamental
g pentru operatorul L este de forma
( ) ( ) ( ) ( ) ( ) ( ) x y s c x y s c s x k s x g
n n
+ + + = ... , ,
1 1
. (5.10.)
Dac n egalitatea (5.10.) se determin funciile
n
c c ,...,
1
astfel nct s se
verifice ca funcie de x i condiiile la limit ( ) 0 = g U , atunci aceast soluie
fundamental se numete funcie Green a problemei la limit ( ) 0 = y U ataat
operatorului L i se noteaz prin G .
Teorema 3. Dac problema la limit omogen are numai soluia nul,
atunci problema la limit
( ) f y L = , ( ) 0 = y U are o soluie i numai una pentru orice | | b a C f , . Mai
mult soluia este dat de
( ) ( ) ( )

=
b
a
ds s f s x G x y , .


62
V.2. Probleme la limite neliniare

n acest paragraf ne propunem s studiem rezolvabilitatea unor probleme la
limit neliniare. Considerm pentru nceput problema local
( ) y x f y , = (5.11.)
( ) = a y , ( ) = b y (5.12.)
unde
| | ( )
, ,
n n
f C a b .
Presupunem c
| | ( )
2
, ,
n
C a b este soluie a problemei
(5.11.)-(5.12.), adic
( ) ( ) ( ) x x f x = , , | | b a x , (5.13.)
( ) = a , ( ) = b (5.14.)
Considerm urmtoarea problem bilocal
( ) ( ) x x f y = , (5.15.)
( ) = a y , ( ) = b y (5.16.)
Aceast problem are soluie unic i anume
( ) ( ) ( ) ( )

+ =

a b
a x
a b
x b
ds s s f s x G x y
b
a
, , (5.17.)
unde
( )
( )( )
( )( )




=
x s dac
x s dac
,
a b
s b a x
a b
x b a s
s x G (5.18.)
Dar funcia este soluie a problemei (5.13.)-(5.14.), deci y definit de
(5.17.) este egal cu . n acest mod am artat c y este soluie a ecuaiei
integrale Fredholm
( ) ( ) ( ) ( )

+ =

a b
a x
a b
x b
ds s y s f s x G x y
b
a
, , (5.19.)
Cum i reciproca este adevrat, are loc urmtorul rezultat
Propoziia 2. Problema bilocal (5.11.)-(5.12.) este echivalent cu ecuaia
integral (5.19.).
Dac n locul condiiilor la limit (5.12.) considerm condiiile la limit
( )
1 1
= y U , ( )
2 2
= y U (5.20.)
unde
( ) ( ) ( ) ( ) ( ) b y b y a y a y y U
i i i i i
+ + + =
2 1 2 1
, 2 , 1 = i
atunci avem urmtorul rezultat.


63
Propoziia 3. Dac problema la limit are rangul doi, iar G este funcia
lui Green pentru problema la limit
f y = , ( ) 0
1
= y U , ( ) 0
2
= y U ,
atunci problema bilocal (5.11.)-(5.12.) este echivalent cu ecuaia integral
( ) ( ) ( ) ( ) ( ) x h ds s y s f s x G x y
b
a
+ =

, , (5.21.)
unde h este o soluie a problemei
f y = , ( )
1 1
= y U , ( )
2 2
= y U .
De asemenea are loc urmtorul rezultat.
Propoziia 4. Dac problema
g y = , ( ) 0
1
= y U , ( ) 0
2
= y U (5.22.)
are soluie unic pentru
| | ( )
, ,
n
g C a b , soluie ce se reprezint sub forma
( ) ( ) ( )

=
b
a
ds s g s x G x y , ,
atunci problema bilocal
( ) y y x f y = , , , ( ) 0
1
= y U , ( ) 0
2
= y U
este echivalent cu ecuaia integrodiferenial
( ) ( ) ( ) ( ) ( )

=
b
a
ds s y s y s f s x G x y , , , (5.23.)

Sisteme integrale de tip Fredholm

Anterior am vzut c o problem la limit este echivalent cu o ecuaie
integral de tip Fredholm. Acesta este motivul pentru care ne ocupm de studiul
acestor tipuri de ecuaii integrale.
Considerm urmtorul sistem de ecuaii de tip Fredholm
( ) ( ) ( ) ( ) x g ds s y s x K x y
b
a
+ =

, , , | | b a x , (5.24.)
unde
| | | | ( )
, , ,
n
K C a b a b J ,
| | ( )
, ,
n
g C a b ,
n
J .
Relativ la sistemul (5.24.) avem urmtorul rezultat de existen i unicitate.
Teorema 4. Presupunem c
(i)
| | | | ( )
, , ,
n n
K C a b a b i
| | ( )
, ,
n
g C a b ;
(ii) exist 0 >
K
L astfel nct
( ) ( ) , , , ,
n
n K
K x s u K x s v L u v


pentru orice | | b a s x , , i ,
n
u v ;
64
(iii) ( ) 1 < a b L
K
.
n aceste condiii sistemul de ecuaii integrale (5.24.) are n
| | ( )
n
R b a C g , , o soluie i numai una, soluie ce este limita irului { }
k
y definit
prin
| | ( )
0
, ,
n
y C a b ,
( ) ( ) ( ) ( ) x g ds s y s x K x y
b
a
k k
+ =

1
, , , | | b a x , pentru 1 k .
Teorema 5. Presupunem c
(i)
| | | | ( )
, , ,
n
K C a b a b J ,
n
J compact i
| | ( )
, ,
n
g C a b ;
(ii) exist 0 >
K
L astfel nct
( ) ( ) , , , ,
n
n K
K x s u K x s v L u v


pentru orice | | b a s x , , i orice J v u , ;
(iii) ( ) r a b M
K
, unde numerele
K
M i r sunt astfel nct
( )
K
n
R
M u s x K , , , | | b a s x , , , J u
i
( ) | | ( )
{ }
, , ,
n
y B g r f C a b f g r =
implic ( ) J x y pentru orice | | b a x , ;
(iv) ( ) 1 < a b L
K
.
n aceste condiii, n bila nchis ( ) r g B , sistemul (5.24.) are o soluie i
numai una, soluie ce se obine ca limit a oricrui ir { }
k
y definit prin
( ) r g B y ,
0
, ( ) ( ) ( ) ( ) x g ds s y s x K x y
b
a
k k
+ =

1
, , , | | b a x , .
n ce privete studiul dependenei soluiei sistemului (5.24.) n funcie de
K i g considerm sistemul integral perturbat
( ) ( ) ( ) ( ) x h ds s z s x H x z
b
a
+ =

, , . (5.25.)
Teorema 6. Presupunem c
(i) sistemul (5.24.) satisface condiiile din teorema 4 i notm cu
*
y unica
soluie a acestui sistem;
(ii)
| | | | ( )
, , ,
n n
H C a b a b i
| | ( )
, ,
n
h C a b ;
(iii) ( ) ( )
1
, , , ,
n
K x s u H x s u

, | | b a s x , , ,
n
u i
( ) ( )
2

n
R
x h x g ; | | b a x , .
65
n aceste condiii, dac
*
z este o soluie a sistemului (5.25.), atunci
( )
( ) a b L
a b
z y
K

+

1
2 1 * *

(5.26.)
S aplicm rezultatele de mai sus pentru existena i unicitatea soluiei
bilocale (5.11.)-(5.12.). Dup cum am vzut aceast problem este echivalent cu o
ecuaie integral de forma
( ) ( ) ( ) ( ) ( ) x g ds s y s f s x G x y
b
a
+ =

, , (5.27.)
unde G este funcia lui Green pentru problema ( ) 0 = y L , ( ) 0 = y U , iar g este o
soluie a problemei bilocale ( ) 0 = y L , ( ) = y U .
Se observ cu uurin c dac f este o funcie Lipschitz n raport cu y ,
atunci i funcia Gf este Lipschitz n raport cu y . Vom nota cu
Gf
L o constant
Lipschitz pentru operatorul Gf . Aplicnd pentru ecuaia (5.27.) teoremele de
existen i unicitate stabilite mai sus, obinem urmtoarele rezultate.
Teorema 7. Presupunem c
(i)
| | ( )
, ,
n n
f C a b ;
(ii) f este Lipschitz n raport cu al doilea argument, adic
( ) ( ) v u L v x f u x f
f
, , , ,
n
u v ;
(iii) ( ) 1 < a b L
Gf
.
n aceste condiii n
| | ( )
, ,
n n
C a b problema (5.11.)-(5.12.) are o
soluie unic.
Teorema 8. Presupunem c
(i)
| | ( )
, ,
n
f C a b J i ( ) ( ) J x y r B y , 0 pentru orice
| | b a x , ;
(ii) f este o funcie lipschitzian n raport cu al doilea argument;
(iii) ( ) 1 < a b L
Gf

(iv) ( ) r a b M
Gf

n aceste condiii n bila nchis ( ) r B , 0 problema bilocal
( ) ( ) y x f y L , = , ( ) 0 = y U are o soluie i numai una.
Alturi de problema (5.11.)-(5.12.) s considerm i problema bilocal
( ) z x g z , = (5.28.)
( ) 0 = a z , ( ) 0 = b z . (5.29.)


66
n condiii de continuitate asupra lui g problema (5.28.)-(5.29.) este
echivalent cu ecuaia integral
( ) ( ) ( ) ( )

=
b
a
ds s z s g s x G x z , ,
Din teorema de dependen obinem urmtorul rezultat.
Teorema 9. Presupunem c:
(i) problema bilocal ( ) y x f y , = , ( ) 0 = a y , ( ) 0 = b y satisface condiiile
din teorema 4 i notm cu
*
y unica soluie a acestei probleme;
(ii)
| | ( )
, ,
n n
g C a b ;
(iii) ( ) ( ) ( ) < u x g u x f s x G , , , , | | b a s x , , ,
n
x .
n aceste condiii, dac
*
z este soluie a problemei (5.28.)-(5.29.), atunci
( )
( ) a b L
a b
z y
Gf



1
* *
.
Observaii. Aplicnd direct principiul contraciilor pentru ecuaii integrale
(5.27.) se observ c
(a) condiia ( ) 1 < a b L
K
se poate nlocui prin
| |
( ) 1 , max
,
<

b
a
b a x
f
ds s x G L ;
(b) condiia ( ) r a b M
K
se poate nlocui prin
| |
( )
( )
r M
a b
ds s x G M
f
b
a
b a x
f

8
, max
3
,
.

BIBLIOGRAFIE

1. Roca I., Lecii de ecuaii difereniale i cu derivate pariale, Editura Fundaiei
Romnia de Mine, Bucureti, 2000
2. Marinescu C., Marin M., Ecuaii difereniale i integrale, Editura Tehnic,
Bucureti, 1996
3. Miric t., Ecuaii difereniale i cu derivate pariale, Tipografia Universitii
Bucureti, Bucureti, 1989
4. Rus I.A., Ecuaii difereniale. Ecuaii integrale i sisteme dinamice,
Transilvania Press, Cluj, 1996

67


LIMBAJE FORMALE I AUTOMATE

Prof. univ. dr. GRIGORE ALBEANU


I. LIMBAJE

I.1. Alfabet. Cuvnt. Limbaj

Definiie. Un alfabet (vocabular) este o mulime finit i nevid ale crei
elemente sunt numite simboluri (litere).
Notaie. Alfabetele (vocabularele) se vor nota prin semne precum: V, V
N
,
V
T
, etc.
Definiie. Fie = {a
1
, a
2
, ..., a
n
} un alfabet (n 1). Orice secven
x = a
i1
a
i2
...a
ir
, a
ij
, 1 j r, se numete cuvnt (ir, fraz) peste . Lungimea
cuvntului x se noteaz cu |x| i este egal cu r. Convenim s considerm i
cuvntul ,,format cu zero simboluri pe care-l notm cu pe care-l numim
cuvntul vid sau irul nul.
Notaie. Mulimea tuturor cuvintelor peste se noteaz cu *, iar
mulimea tuturor cuvintelor nenule, *-{}, se noteaz cu
+
.
Observaie. Mulimea * este monoid n raport cu operaia de
concatenare a cuvintelor definit prin
xy = a
i1
a
i2
...a
ir
a
j1
a
j2
...a
js
,
unde
x = a
i1
a
i2
...a
ir
, y = a
j1
a
j2
...,a
js
, a
ip
(1pr), a
jq
(1qr),
deoarece operaia de concatenare este asociativ, iar este element neutru.
Observaie. Dac
0
= {},
2
= (mulimea cuvintelor de lungime 2),

3
=
2
(mulimea cuvintelor de lungime 3),
n
=
n-1
(mulimea cuvintelor de
lungime n; n>1), atunci
a) * =

0

k
k
;
b)
+
=

1

k
k
.
Definiie. Orice submulime L * se numete limbaj peste .

I.2. Operaii cu limbaje

Limbajele fiind mulimi, operaiile obinuite ale teoriei mulimilor
acioneaz i asupra limbajelor. Pentru alfabetul fixat, au sens reuniunea,
intersecia, complementara (fa de *) i diferena limbajelor. Aceste operaii vor
fi notate, n mod uzual, prin , , C i -.
68
Definiie. Fie L
1
(peste
1
) i L
2
(peste
2
), limbaje. Atunci
L
1
L
2
= {uv| u L
1
, v L
2
}
se numete concatenarea sau produsul limbajelor L
1
i L
2
.
Observaie
L{}={}L=L;
L = L = ,
pentru oricare limbaj L, unde este limbajul vid.
Definiie. Fie L *. nchiderea Kleene a limbajului L este limbajul
L* =

0 k
k
L ,
unde
L
0
= {}, L
n+1
= L
n
L, n0.
Notaie. L
+
=

1 k
k
L .
Observaie. Dac L este un limbaj -liber (nu conine cuvntul vid), atunci
L
+
= L* - {}.
Definiie. Fie irurile x, y * i x = a
i1
a
i2
...a
ir
. Dac exist u, v *
astfel nct y = uxv, spunem c x este subcuvnt (subir) al lui y. Dac exist
v * astfel nct y = xv, atunci x este prefix al lui y, iar dac exist u * astfel
nct y = ux, atunci x este sufix al lui y. irul rsturnat(x) = a
ir
...a
i2
a
i1
se numete
rsturnatul (oglinditul) lui x.
Notaie. Pentru un ir y *, notm prin Sub(y), Pref(y), Suf(y) mulimea
subcuvintelor, prefixelor i, respectiv, a sufixelor cuvntului y.
Definiie. Fie L *. Atunci
Sub(L) =

L x
x

) ( Sub ; Pref(L) =

L x
x

) ( Pref ; Suf(L) =

L x
x

) ( Suf .
Observaie. n mod similar, se poate defini rsturnatul (oglinditul)
limbajului L.
Definiie. Fie ansamblul (U, V, s), unde U, V sunt vocabulare, iar
s : V P(U*) este o aplicaie oarecare. Aplicaia s extins la V* prin
s()={}, s(xy)=s(x)s(y), x, y V*,
iar apoi la limbaje, se numete substituie.
Dac s(a) este o mulime finit, pentru orice a V, atunci s se numete
substituie finit, iar dac s(a) are exact un element pentru fiecare a din V, atunci s
este un homomorfism i scriem s(a) = x, n loc de s(a) = {x}. Dac s(a) nu conine
cuvntul vid, pentru orice a din v, atunci s este substituie -liber, sau
homomorfism -liber (cnd este cazul).
Exemplu [Definirea inductiv a limbajelor]: Fie = {a, b}. Definim,
recursiv, limbajul L * prin urmtoarele reguli:
1) L;
2) Dac xL atunci axb L;
3) Orice cuvnt din L se obine prin aplicarea regulilor anterioare de un
numr finit de ori.
69
Se poate arta c L = {a
n
b
n
| n0}.
Teorema 1 [Levi]. Fie un alfabet i x, y, u, v *. Dac xy = uv, atunci
a) |x| > |u| exist w*, x = uw i v = wy;
b) |x| = |u| x = u i y =v;
c) |x| < |v| exist w*, u = xw i y = wv.
Propoziia 1 [* este mulime numrabil]. Dac este alfabet, atunci
* este mulime numrabil.

I.3. Expresii regulate

Definiie. Fie un alfabet. Mulimea expresiilor regulate peste este
(prin definire recursiv) compus astfel:
a) este o expresie regulat;
b) este o expresie regulat;
c) a este o expresie regulat pentru oricare a ;
d) dac r i s sunt expresii regulate, atunci (r+s), (rs) i (r*) sunt expresii
regulate;
e) singurele expresii regulate sunt cele obinute prin regulile 1-4.
Definiie. Fie r o expresie regulat peste alfabetul . Limbajul L(r),
desemnat de expresia r, este obinut astfel:
1) L() = ; L()={}, L(a) = {a};
2) L(r+s)=L(r)L(s); L(rs)=L(r)L(s); L(r*) =(L(r))*,
se numete limbajul expresiei regulate r.
Observaie. Dac presupunem c ordinea operaiilor (pe baza prioritii de
aplicare) este *, ., + atunci se poate renuna la paranteze.
Definiie. Limbajul asociat unei expresii regulate se numete limbaj
regulat.

II. AUTOMATE FINITE

II.1. Automatul finit determinist (AFD)

Definiie. Un AFD (automat finit determinist) este o structur
M = (Q, , , q
0
, F) unde:
Q o mulime finit i nevid de elemente numite stri;
- un alfabet de intrare;
:QxQ este o funcie parial (parial definit), numit funcie de
tranziie;
q
0
Q este starea iniial a automatului M;
F Q o mulime nevid, numit mulimea strilor finale.




70
Observaie. Unui AFD i se poate asocia un digraf (o diagram de
tranziie) astfel:
- nodurile digrafului sunt strile automatului (corespund elementelor
mulimii Q);
- dac (q, a) = p atunci, n digraf, exist un arc de la nodul q la nodul p,
etichetat cu simbolul a;
- digraful nu conine alte noduri i alte arce n afara celor specificate mai
sus.
Pentru a citi uor o diagram de tranziie, se accept marcarea, n mod
diferit, a strii iniiale i a strilor finale.
Definiie. Numim extinderea funciei funcia ^:Qx*Q definit prin
^(q,)=q; ^(q,a)= (q,a), pentru oricare a ; ^(q, wa)= (^(q,w), a), pentru
oricare a i w*. Deoarece ^(q,a)= (q,a), pentru oricare a se noteaz
^ tot cu , fr nici o confuzie.
Propoziia 1. (q, uv)= ((q,u), v), pentru oricare u, v *.
Definiie. Fie M =(Q, , , q
0
, F) un AFD. Limbajul acceptat de M, notat
L(M), este:
L(M) = {u | u *, (q
0
, u) F}.

II.2. Automatul finit nedeterminist (AFN)

Definiie. Un AFN (automat finit nedeterminist) este o structur
N = (Q, , , q
0
, F), unde Q, , q
0
i F au aceeai semnificaie din definia 2.1., iar
:QxP(Q), mulimea submulimilor lui Q.
Observaie. Diagrama de tranziie (digraful asociat automatului) se obine
ca n observaia anterioar.
Definiie. Numim extinderea funciei de tranziie funcia ^:Qx*P(Q)
definit astfel:
^(q,)={q}; ^(q, wa)={p|exist r ^(q,w), p(r,a)}.
Dac w=, obinem ^(q, a)= (q,a), oricare a . Astfel, se noteaz ^ tot cu ,
fr nici o confuzie.
Observaie.
(,u)=;
(P,u)=

P q
u q

) , ( , oricare PQ, P.
Definiie. Fie N un sistem AFN. Limbajul acceptat de N este:
L(N) = {w | w *. (q
0
, w)F}.

II.3. Puterea de acceptare a sistemelor AFD i AFN

Propoziia 2. Orice limbaj acceptat de un AFD este acceptat de un AFN.
Propoziia 3. Fie L un limbaj acceptat de un AFN. Atunci exist un AFD,
notat cu M, astfel nct L(M) = L.
71
Teorema 1. Automatele finite nedeterministe au aceeai putere de
acceptare ca automatele finite determinste. Sistemele AFN i AFD sunt echivalente
din punctul de vedere al clasei limbajelor acceptate.

II.4. Sistemele AFN i expresiile regulate

Propoziia 4. Fie r o expresie regulat. Atunci exist un AFN care
recunoate limbajul L(r).
Propoziia 5. Dac L este un limbaj acceptat de un AFD, atunci L este o
mulime regulat.
Teorema 2. Un limbaj este regulat dac i numai dac este recunoscut de
un AFN (deci i de un AFD).
Teorema 3 [Kleene]. Familia limbajelor regulate este cea mai mic
familie de limbaje care conine limbajele finite i este nchis la reuniune, produs
(concatenare) i la operaia * (nchiderea Kleene).

II.5. Minimizarea automatelor finite

Teorema 4 [Myhill-Nerode]. Fie L* un limbaj. Urmtoarele afirmaii
sunt echivalente:
1) L este un limbaj regulat;
2) L este reuniunea unor clase de echivalen ale unei congruene drepte de rang
finit;
3) Relaia
L
*x* definit prin:
u
L
v dac i numai dac oricare w * astfel nct uw L vw L
este o congruen dreapt de rang finit.
Demonstraie
1 2. Dac L este limbaj regulat, atunci exist un AFD M = (Q, , , q
0
, F) astfel
nct L(M)=L. Relaia
M
*x* definit prin u
M
v dac i numai dac
(q
0
,u) = (q
0
, v) este o relaie de echivalen, chiar o congruen dreapt de rang
fint (u
M
v i w * uw
M
vw) ale crei clase de echivalen sunt n numr cel
mult egal cu numrul strilor automatului M. Deducem c L este reuniunea claselor
de echivalen corespunztoare strilor finale ale automatului M.
2 3. Se verific uor c
L
este o congruen dreapt de rang finit.
3 1. Se construiete automatul M = (Q, , , q
0
, F), unde Q este mulimea
(finit) a claselor de echivalen a relaiei
L
, q
0
este clasa de echivalen a
cuvntului vid , F este mulimea claselor de echivalen a cuvintelor limbajului
L, iar este definit astfel. Fie [w] clasa de echivalen a cuvntului w. Atunci,
orice [w] Q i orice a , ([w],a)= [wa] (definire consistent).
Fie w *. Atunci w L(M) dac i numai dac (q
0
, w) F dac i
numai dac ([], w) F dac i numai dac [w] F dac i numai dac w L.
Deci L(M)=L.
72
Teorema 5. Automatul M construit anterior (n demonstraia teoremei 4)
este automatul minimal care accept limbajul L i el este unic pn la o
redenumire a strilor (un izomorfism).
Definiie. Fie M = (Q, , , q
0
, F) un AFD. Definim pe mulimea strilor o
relaie de echivalen astfel: Dac p, q Q, atunci p q dac i numai dac
pentru oricare w * avem echivalena:
(p,w)F (q,w)F.
Definiie. Fie M = (Q, , , q
0
, F) un AFD. O stare q Q este accesibil
din q
0
dac exist un cuvnt w * astfel nct (q
0
,w) = q.
Observaie. Exist o coresponden biunivoc ntre clasele de echivalen
ale relaiei i strile automatului M construit prin teorema Myhill-Nerode.
Concluzie. Pentru a determina strile automatului minimal care accept
limbajul L(M) este suficient s gsim clasele de echivalen ale relaiei .

Algoritmul 1. [Determinarea strilor echivalente]
Intrare: AFD M = (Q, , , q
0
, F)
Ieire: Mulimea perechilor de stri echivalente, mulimea perechilor de stri
neechivalente.
Paii:
1. Se marcheaz toate perechile (p, q), pF, qQ-F; S
1
= F, S
2
-F.
2. Pentru fiecare pereche (p, q) SxS, unde S = S
1
sau S = S
2
, p q,
execut
A. Dac exist a astfel nct ((p,a), (q,a)) este marcat atunci :
i) se marcheaz (p, q);
ii) se marcheaz, recursiv, toate perechile din lista lui (p, q) i
din listele altor perechi marcate la acest pas.
B. Dac pentru oricare a , perechea ((p,a), (q,a)) nu este
marcat atunci, pentru oricare a , se adaug (p, q) n lista
perechii ((p,a), (q,a)) ori de cte ori (p,a) (q,a).

Observaie. Orice p, q Q, p nu este echivalent cu q (relativ la ) dac i
numai dac n urma aplicrii algoritmului 1. perechea (p, q) este marcat.
Observaie. Odat gsite perechile de stri echivalente se poate construi
automatul minimal care accept limbajul supus discuiei. Fie
M=(Q, , , [q
0
], F) unde prin [q] notm clasa de echivalen relativ la relaia
care are ca reprezentat starea q. Celelalte elemente sunt:
Q = {[q] | q este stare accesibil din q
0
}, F = {[q] | q F}, ([q], a)= [(q,a)],
oricare [q]Qi oricare a.

II.6. Lema de pompare pentru limbaje regulate. Aplicaii

Teorema 6 [Lema de pompare]. Fie L un limbaj regulat. Exist atunci un
numr natural n astfel nct pentru orice cuvnt w L, |w|n, w = xyz cu
proprietile: a) |xy|n; b) |y|1; c) xy
i
zL pentru oricare i 0.
73
Propoziia 6. Fie L un limbaj acceptat de un AFD cu n stri. Atunci:
1. L exist w L astfel nct |w| < n;
2. L este infinit exist w L, n |w| < 2n.

II.7. Automatele finite i analiza lexical

Prima faz important a unui interpretor sau compilator este analiza
lexical. Analizorul lexical este un automat finit care recunoate: identificatori,
constante, comentarii etc.

BIBLIOGRAFIE

1. Atanasiu A., Bazele Informaticii, Universitatea din Bucureti, 1987.
2. Atanasiu A., Limbaje formale, Culegere de probleme, Universitatea din
Bucureti, 1990.
3. Grigora Gh., Limbaje formale i tehnici de compilare, Universitatea
Al. I. Cuza, Iai, 1985.
4. Jucan Toader, Andrei tefan, Limbaje formale i teoria automatelor,
Universitatea Al. I. Cuza, Iai, 2002.
5. Pun Gh., Probleme actuale n teoria limbajelor formale, Editura
tiinific i Enciclopedic, Bucureti, 1984.
6. Popovici C., Rudeanu S., Georgescu H., Bazele Informaticii, Vol II,
Universitatea Bucureti, 1991.
7. Serbanai Luca-Dan, Limbaje de programare i compilatoare, Editura
Academiei, Bucureti, 1987.
8. Simovici Dan, Limbaje formale i tehnici de compilare, Editura Didactic
i Pedagogic, Bucureti, 1978.
9. ndreanu N., Bazele Informaticii. Exerciii de calcul boolean, automate
i limbaje formale, Universitatea din Bucureti, 1980.

74

COMBINATORIC I TEORIA GRAFURILOR

Prof. Dr. Ioan Tomescu

Partea nti: Elemente de combinatoric

I. FUNCTII DE NUMARARE SI FORMULA MULTINOMULUI

n cele ce urmeaz se va lucra cu mulimi finite. Numrul de elemente din
mulimea finit X va fi notat cu X . Unei funcii f de la X n Y , unde X i
Y sunt mulimi finite, astfel nct { }
n
x x X ,...,
1
= i { }
m
y y Y ,...,
1
= , i se pune n
coresponden o aranjare a mulimii X de obiecte n mulimea Y de csue, astfel
nct n csua
i
y s intre obiectele din mulimea { }
i
y x f X x x = ) ( , . Aceast
coresponden este o bijecie. De asemenea, se poate stabili o bijecie ntre
mulimea funciilor Y X f : i mulimea n -uplelor formate cu elemente din Y
sau a cuvintelor de lungime n formate cu litere din mulimea Y astfel: unei funcii
f i se pune n coresponden cuvntul ( ) ( ) ( )
n
x f x f x f ...
2 1
n care ordinea
literelor este esenial.
Propoziia 1. Numrul funciilor Y X f : este egal cu
n
m , dac
n X = i m Y = .
Prin definiie se noteaz | | ) 1 )...( 1 ( + = n x x x x
n
i
| | ) 1 )...( 1 ( + + = n x x x x
n
, ambele produse coninnd cte n factori consecutivi.
Propoziia 2. Numrul funciilor injective Y X f : , unde n X = i
m Y = este egal cu | |
n
m .
Aranjamente de m luate cte n se numesc cuvintele de lungime n
formate cu litere diferite din mulimea Y , iar numrul lor este | |
n
m . Dac n m = ,
aceste cuvinte de lungime n formate cu litere din Y se numesc permutri ale
mulimii Y i numrul lor este egal cu | |
n
n , care se noteaz cu n n = ... 2 1 ! i
se numete n factorial. Prin definiie 1 ! 0 = .
Dac mulimea Y este o mulime ordonat astfel nct
n
y y y < < < ...
2 1
,
un cuvnt de lungime n format cu litere din Y,
n
i i
y y ...
1
se numete cresctor dac
n
i i i
y y y ...
2 1
i strict cresctor dac
n
i i
i
i
y y y < < < ...
2
. Cuvintele strict
cresctoare de lungime n formate cu m simboluri se mai numesc combinri de
m luate cte n , iar cele cresctoare se numesc combinri cu repetiie de m luate
cte n .
75
Propozia 3. Numrul cuvintelor strict cresctoare de lungime n formate
cu m simboluri este egal cu
| |
! n
m
n
. Acest numr este egal i cu numrul
submulimilor cu n elemente ale unei mulimi cu m elemente.
Numerele | |
n
m se mai noteaz prin
|
|
.
|

\
|
n
m
i se numesc numere binomiale
cu parametrii m i n .
Propoziia 4. Numrul cuvintelor cresctoare de lungime n formate cu
m simboluri este egal cu
| |
! n
m
n
.
Numerele binomiale apar drept coeficieni n formula binomului:
( )

=

|
|
.
|

\
|
= +
n
k
k k n n
b a
k
n
b a
0
, (1)
care este valabil pentru orice b a, dintr-un inel comutativ.
Propoziia 5. Numrul de aranjri ale unei mulimi de n obiecte
{ }
n
x x X ,...,
1
= ntr-o mulime de p csue { }
p
y y Y ,...,
1
= , astfel nct csua
i
y s conin
i
n obiecte pentru orice p i 1 ( ) n n n
p
= + +...
1
este egal cu
! !... !
!
2 1 p
n n n
n
.
Acest raport de factoriale se mai noteaz
|
|
.
|

\
|
p
n n n
n
,..., ,
2 1
i se numete
numr multinomial, care generalizeaz numerele binomiale (cazul 2 = p ) i apar
n formula multinomului care extinde relaia (1):
( )

= + +

|
|
.
|

\
|
= + + +
n
p
n n
p
n n
p
n
p
n n
p
n
p
a a a
n n n
n
a a a
...
1
0 ,...,
1
2
2
1
1
2 1
2 1
...
,..., ,
...
.
(2)











76
II. PRINCIPIUL INCLUDERII I AL EXCLUDERII I APLICAII

Principiul includerii i al excluderii constituie o generalizare a identitii:
B A B A B A + = (3)
unde X B A , .
Teorema 1 (Principiul includerii i al excluderii). Dac
I
A ( q i 1 )
sunt submulimi ale unei mulimi X , are loc relaia:
( )
1 1 1
1
1 1
... 1
q q
i i i j
i i j q i
q
q
i j k i
i j k q i
A A A A
A A A A
= < =

< < =
= +
+ +

(4)
Aplicaii
1. Determinarea funciei lui Euler ( ) n
Fiind dat un numr natural n, ( ) n reprezint numrul numerelor
naturale mai mici ca n i relativ prime cu n. Dac descompunerea lui n n
factori primi distinci este
q
i
q
i i
p p p n ...
2
2
1
1
= i se noteaz cu
i
A mulimea
numerelor naturale mai mici sau egale cu n care sunt multipli de
i
p , se
obine
i
i
p
n
A = ,
j i
j i
p p
n
A A = etc. Deci
( )
1 2
1 1
1 1
1
... ...
... ( 1)
...
q
q i i j
i i j q
q
q
i i j q
i i j q
n n A A A n A A A
n n n
n
p p p p p

= <
= <
= = +
= + +





adic
( )
|
|
.
|

\
|

|
|
.
|

\
|

|
|
.
|

\
|
=
q
p p p
n n
1
1 ...
1
1
1
1
2 1
. (5)
2. Determinarea numrului ( ) n D al permutrilor a n elemente fr puncte
fixe
Fie p o permutare a mulimii { } n X ,..., 1 = , adic o bijecie
X X p : . Permutarea are un punct fix n i dac ( ) i i p = . Dac notm
cu
i
A mulimea permutrilor care au un punct fix n i rezult c
( )
1
1 1 1
! ... ! ... ( 1)
n n
n
n i i j i
i i j n i
D n n A A n A A A A
= < =
= = + +




77
Se obine, ( )! ...
2 1
k n A A A
k
i i i
= deoarece o permutare din
mulimea
k
i i
A A ...
1
are puncte fixe n poziiile
k
i i i ,..., ,
2 1
, celelalte
imagini putnd fi alese n ( )! k n moduri. Deoarece k poziii
k
i i ,...,
1
pot
fi alese din mulimea celor n poziii n
|
|
.
|

\
|
k
n
moduri, rezult
( )
|
|
.
|

\
|
+ +

+ + =
!
) 1 (
...
!
) 1 (
...
! 2
1
! 1
1
1 !
n k
n n D
n k
. (6)
3. Determinarea numrului
m n
s
,
al funciilor surjective
Fie mulimile { }
n
x x X ,...,
1
= i { }
m
y y Y ,...,
1
= . Pentru fiecare i ,
m i 1 , s notm prin
i
A mulimea funciilor de la X n Y pentru care
i
y nu este imaginea nici unui element din X, adic
{ } ) ( : X f y Y X f A
i i
= . Se obine.
, 1
1 1 1
... ... ( 1)
m m
n n m
n m m i i j i
i i j m i
s m A A m A A A A
= < =
= = + +



.
i
A este mulimea funciilor definite pe X cu valori n { }
i
y Y \ , deci
n
i
m A ) 1 ( = i n general
n
l
i i
l m A A ) ( ...
1
= . Deoarece fiecare
sum

< < m
l
i i
l
i i
A A
...
1
1
1
... conine
|
|
.
|

\
|
l
m
termeni egali cu
n
l m ) ( ,
deducem:
1
,
( 1) ( 2) ... ( 1)
1 2 1
n n n m
n m
m m m
s m m m
m

| | | | | |
= + +
| | |

\ . \ . \ .

(7)

III. NUMERELE LUI STIRLING, BELL, FIBONACCI I CATALAN

Alturi de numerele binomiale i multinomiale, numerele lui Stirling, Bell
i Fibonacci joac un rol deosebit n probleme de numrare.
Pentru a defini numerele lui Stirling de prima spe, pe care le notm
( ) k n s , , vom dezvolta polinomul | |
n
x n ordinea cresctoare a puterilor lui x.
Coeficienii acestei dezvoltri sunt prin definiie numerele lui Stirling de prima
spe, adic
| | ( )

=
=
n
k
k
n
x k n s x
0
, (8)
78
Numerele ( ) k n s , se pot calcula prin recuren, utiliznd relaiile
( ) 0 0 . = n s , ( ) 1 , = n n s i ( ) ( ) ( ) k n ns k n s k n s , 1 , , 1 = + , ultima relaie
obinndu-se prin egalarea coeficienilor lui
k
x n cei doi membri ai egalitii
| | | | ) (
1
n x x x
n n
=
+
. Se obine tabelul urmtor, unde ( ) 0 , = k n s pentru k n < .

( ) k n s ,
0 = k 1 2 3 4 5
1 = n 0 1 0 0 0 0
2 0 -1 1 0 0 0
3 0 2 -3 1 0 0
4 0 -6 11 -6 1 0
5 0 24 -50 35 -10 1

Numrul lui Stirling de spea a doua, notat ( ) m n S , , este numrul
partiiilor unei mulimi cu n elemente n m clase. S observm c att ordinea
claselor, ct i ordinea elementelor ntr-o clas a unei partiii sunt indiferente. De
exemplu, dac avem { } d c b a X , , , = , partiiile cu trei clase ale acestei mulimi
sunt: ( ) ( ) ( ) { } d c b a , , , , ( ) ( ) ( ) { } d b c a , , , , ( ) ( ) ( ) { } c b d a , , , , ( ) ( ) ( ) { } d a c b , , , ,
( ) ( ) ( ) { } c a d b , , , , ( ) ( ) ( ) { } b a d c , , , , deci 6 ) 3 , 4 ( = S .
Numerele lui Stirling de spea a doua pot fi calculate prin recuren astfel.
Considernd mulimea celor ( ) 1 , k n S partiii ale unei mulimi cu n elemente n
1 k clase, putem obine ( ) 1 , k n S partiii a 1 + n elemente n k clase, adugnd
la fiecare partiie o nou clas format dintr-un singur element i anume al ( ) 1 + n -
lea. S considerm acum o partiie a n elemente n k clase. Deoarece putem aduga
al ( ) 1 + n -lea element la clasele deja existente n k moduri diferite i toate partiiile
a 1 + n elemente cu k clase se obin fr repetiii printr-unul din cele dou
procedee expuse, rezult c
( ) ( ) ( ) k n kS k n S k n S , 1 , , 1 + = +
pentru n k < < 1 i ( ) ( ) 1 , 1 , = = n n S n S . Aceste relaii permit calculul prin
recuren al numerelor ( ) m n S , obinndu-se tabelul urmtor:
( ) m n S ,
1 = m 2 3 4 5
1 = n 1 0 0 0 0
2 1 1 0 0 0
3 1 3 1 0 0
4 1 7 6 1 0
5 1 15 25 10 1

79
Pentru calculul direct al numerelor lui Stirling de spea a doua, vom arta
c ( )
!
,
,
m
s
m n S
m n
= . ntr-adevr, oricrei surjecii f a mulimii { }
n
x x X ,...,
1
= pe
mulimea { }
n
y y Y ,...,
1
= i corespunde o partiie a mulimii X cu m clase i
anume ( ) ( ) ( )
m
y f y f y f
1
2
1
1
1
...

. Deoarece ntr-o partiie nu conteaz ordinea
claselor, rezult c ! n funcii surjective de la X pe Y vor genera o aceeai partiie a
mulimii X. innd seama de (7) rezult:
( )

=

|
|
.
|

\
|
= =
1
0
,
) ( ) 1 (
!
1
!
1
,
m
k
n k
m n
k m
k
m
m
s
m
m n S (9)
Propoziia 6. Polinoamele
n
x se exprim ca sume de polinoamele | |
k
x cu
coeficienii ( ) k n S , , adic:
( )| |

=
=
n
k
k
n
x k n S x
1
, (10)
Ca urmare a rezultatului din propoziia 6 putem scrie i relaia
( ) | | ( )

= =
= + =
n
k
k
n
k
n
k n S n k n S k m m m m
1 1
, , ) 1 )...( 1 ( (11)
Sunstituindu-l n (10) pe | |
k
x cu expresia dat de (8) i egalnd coeficienii
lui
n
x din cei doi membri ai expresiei astfel obinute, se deduce c matricile, de un
ordin fixat, ale numerelor lui Stirling de prima i de a doua spe sunt inverse una
alteia, adic ( ) ( )
q p
n
k
q k s k p S
,
1
, , =

=
pentru orice n numr natural fixat i orice
n q p , 1 , unde
q p,
este simbolul lui Kronecker. Numrul tuturor partiiilor
unei mulimi cu n elemente se noteaz cu
n
B i se numete numrul lui Bell. Deci
conform definiiei, ( )

=
=
n
k
n
k n S B
1
, .
Propoziia 7. Numerele lui Bell verific urmtoarea relaie de recuren:

=
+
|
|
.
|

\
|
=
n
k
k n
B
k
n
B
0
1
(12)
unde 1
0
= B .
Pentru a introduce numerele lui Fibonacci vom rezolva urmtoarea
problem de numrare:





80
Propoziia 8. Se noteaz cu ( ) k n f , numrul submulimilor lui
{ } n X
n
,..., 1 = care au k elemente i nu conin doi intregi consecutivi. Exist
relaia:
( )
|
|
.
|

\
| +
=
k
k n
k n f
1
, .

Rezult c numrul tuturor submulimilor lui
n
x care nu conin doi ntregi
consecutivi (lund n considerare i mulimea vid, creia i corespunde cuvntul
avnd 0 ...
1
= = =
n
), este egal cu:

+
|
|
.
|

\
| +
=
0
1
1
k
n
k
k n
F
(13)
Ultimul indice k pentru care suma de mai sus conine termeni nenuli este
(

+
2
1 n
, deoarece numerele binomiale sunt nenule numai pentru indicele superior
mai mare sau egal cu indicele inferior. Din (13) se obine: 1
0
= F , 1
1
= F ,
2
2
= F , 3
3
= F , 5
4
= F i se observ c
2 1
+ =
n n n
F F F pentru orice 2 n .
Numerele
n
F Se numesc numerele lui Fibonacci.
Pentru a defini numerele lui Catalan, notate
n
C , vom considera
urmtoarea problem de numrare: S se determine n cte moduri putem pune
parantezele ntr-un produs de n factori scrii n ordinea
n
x x x ,..., ,
2 1
. Notnd acest
numr cu
n
C , se deduce 1
2
= C , 2
3
= C , 5
4
= C , deoarece avem ( )
2 1
x x ;
( )
3 2 1
x x x , ( )
3 2 1
x x x ; ( )( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x , ( ) ( )
4 3 2 1
x x x x ,
( ) ( )
4 3 2 1
x x x x . Prin definiie se consider 1
1
= C . Expresia numerelor lui Catalan
este dat de propoziia urmtoare:
Propoziia 9. Exist relaia:
|
|
.
|

\
|

=
1
2 2
1
n
n
n
C
n
(14)
Numerele lui Catalan intervin n multe probleme de numrare, de exemplu
n
C reprezint numrul de arbori binari cu n noduri terminale (frunze), ceea ce se
obine imediat asociind n mod canonic fiecrui mod de a pune parantezele ntr-un
produs cu n factori un arbore binar cu cele n frunze etichetate cu cei n factori ai
produsului sau numrul de moduri n care putem triangulariza suprafaa unui
poligon convex cu 1 + n vrfuri ducnd 2 n diagonale ( 2 n ) (Euler).



81
IV. PARTITII ALE UNUI INTREG

O partiie a numrului natural n cu m pri este o scriere a lui n sub forma:
m
a a a n + + + = ...
2 1

unde numerele naturale
m
a a a ,..., ,
2 1
(numite prile partiiei) verific inegalitile:
1 ...
2 1

m
a a a .
Din cauza condiiei impuse ca numerele
m
a a ,...,
1
s formeze un ir
descresctor, dou partiii ale lui n se deosebesc numai prin natura prilor
m
a a ,...,
1
, nu i prin ordinea lor. Prin ) , ( m n P se va nota numrul partiiilor
numrului natural i pozitiv n n m pri. Aceste numere verific mai multe relaii
de recuren, printre care i cea dat de propoziia urmtoare.
Propoziia 10. Numerele ) , ( m n P verific recurena:
) , ( ) , ( ... ) 2 , ( ) 1 , ( k k n P k n P n P n P + = + + + , (15)
iar 1 ) , ( ) 1 , ( = = n n P n P .
Aceast propoziie ne permite calculul prin recuren al numerelor ) , ( k n P
linie cu linie, aa cum se face n tabelul urmtor.
) , ( m n P 1 = m 2 3 4 5 6 7 ) (n P
1 = n 1 0 0 0 0 0 0 1
2 1 1 0 0 0 0 0 2
3 1 1 1 0 0 0 0 3
4 1 2 1 1 0 0 0 5
5 1 2 2 1 1 0 0 7
6 1 3 3 2 1 1 0 11
7 1 3 4 3 2 1 1 15

Prin ) (n P s-a notat numrul tuturor partiiilor lui n, adic
) , ( ... ) 2 , ( ) 1 , ( ) ( n n P n P n P n P + + + = .
O serie de proprieti ale partiiilor unui ntreg sunt date de propoziiile
urmtoare.
Propoziia 11. Numrul de partiii ale lui n, astfel nct cea mai mare
parte s fie egal cu k, este egal cu numrul partiiilor lui n cu k pri.
De exemplu, pentru 7 = n i 4 = k , partiiile lui 7 cu cea mai mare parte
egal cu 4 sunt: 1 1 1 4 + + + , 1 2 4 + + i 3 4 + , iar partiiile lui 7 cu 4 pri sunt:
1 1 1 4 + + + , 1 1 2 3 + + + i 1 2 2 2 + + + .
Propoziia 12. Numrul partiiilor lui n cu pri distincte este egal cu
numrul partiiilor lui n cu pri impare.
Propoziia 13 (Euler). Se noteaz prin ) (n Q
p
numrul partiiilor lui n cu
un numr par de pri distincte i prin ) (n Q
i
numrul partiiilor lui n cu un
numr impar de pri distincte. Are loc relaia ) ( ) ( n Q n Q
i p
= dac n nu se poate
82
reprezenta sub forma
2
3
2
k k
n

= cu k numr ntreg. n caz contrar, are loc
relaia
k
i p
n Q n Q ) 1 ( ) ( ) ( + = .
Corolar 1 (Identitatea lui Euler). Dac produsul infinat
( )( ) ( )... 1 ... 1 1
2 n
x x x
este scris sub forma unei serii, se obine
... 1 ) ( 1
1
26 22 15 12 7 5 2
+ + + + = +

= n
n
x x x x x x x x x n ,
unde
k
n ) 1 ( ) ( = dac
2
3
2
k k
n

= i 0 ) ( = n dac n nu se poate reprezenta
sub forma
2
3
2
k k
n

= cu k numr ntreg.
Propoziia 14. Funcia generatoare a numerelor ) (n P este:
( )( ) ( )... 1 ... 1 1
1
) (
2
0
n
n
n
x x x
x n P

=

=
,
(16)
unde prin definiie 1 ) 0 ( = P .
Corolar 2 (teorema pentagonal a lui Euler). Pentru orice 3 n
numerele ) (n P verific relaia de recuren
... ) 7 ( ) 5 ( ) 2 ( ) 1 (
2
3
2
3
) 1 ( ) (
0
2 2
1
+ + =
=
|
|
.
|

\
|
|
|
.
|

\
| +
+
|
|
.
|

\
|
=

n P n P n P n P
k k
n P
k k
n P n P
k
K


Bibliografie partea nti

1. I. Tomescu, Introducere n combinatoric, Editura Tehnic, Bucureti, 1972.
Ediia englez: Introduction to combinatorics, Collet's Publishers Ltd., London
and Wellingborough, 1975.
2. I. Tomescu, Combinatoric i teoria grafurilor, Tipografia Universitii din
Bucureti, 1978.
3. I. Tomescu, Probleme de combinatoric i teoria grafurilor, Editura Didactic
i Pedagogic, Bucureti, 1981. Ediia englez: Problems in Combinatorics
and Graph Theory, John Wiley, New York, 1985.
4. M. Aigner, Combinatorial theory, Springer-Verlag, Berlin-Heidelberg, 1979.
5. C. Berge, Principes de combinatoire, Dunod, Paris, 1968.
6. L. Comtet, Analyse combinatoire, I, II, Presses Universitaires de France, Paris,
1970.


83
Partea a doua: Elemente de teoria grafurilor

I. NOTIUNI SI DEFINITII DE BAZA

Prima lucrare de teoria grafurilor a fost scris de Euler n anul 1736, fiind
consacrat ''problemei celor 7 poduri'' din Konigsberg, n care a demonstrat
imposibilitatea realizrii unui traseu care s treac o singur dat peste fiecare pod.
Un graf neorientat este compus din dou mulimi: o mulime de vrfuri i o
mulime de muchii care sunt perechi de vrfuri. Aceste muchii pot reprezenta
legturile chimice dintr-o molecul, rezistenele sau tensiunile electromotoare
dintr-o reea electric, legturile rutiere sau feroviare dintre localiti, muchiile unui
poliedru, legturile dintre nodurile unei reele de calculatoare, ierarhiile dintr-o
structur administrativ, meciurile directe dintre echipele participante la un turneu
sportiv, graniele dintre statele reprezentate pe o hart. n secolul al XIX-lea
dezvoltarea teoriei grafurilor a fost impulsionat de aplicaiile n fizic (teoria
reelelor electrice), chimie (studiul fenomenelor de izomerism, descoperite de
Crum Brown), studiul poliedrelor convexe i a legturii lor cu grafurile planare i
problema celor patru culori. n prezent, teoria grafurilor este o ramur a
matematicii, dar modelul de graf este utilizat n cercetarea operaional pentru
rezolvarea unor probleme de optimizare, n informatic, pentru studiul reelelor de
calculatoare, al algoritmilor de sortare i regsirea informaiei, al reelelor de
interconexiune din calculul paralel, n chimie, precum i n multe alte domenii.
Mai nti vom defini noiunile de baz relative la grafurile neorientate, pe
care le vom numi pe scurt grafuri. Un graf este o pereche ( ) ) ( ), ( G E G V , unde
) (G V este o mulime finit i nevid de elemente numite vrfuri i ) (G E este o
mulime de perechi neordonate de elemente distincte din ) (G V numite muchii.
) (G V se numete mulimea vrfurilor i ) (G E mulimea muchiilor grafului G.
O muchie { } y x, se va nota mai simplu xy i vom spune c ea unete vrfurile x i
y. Orice graf G poate fi desenat n plan reprezentnd vrfurile sale prin puncte i
muchiile prin linii care unesc anumite perechi de vrfuri. ntr-o astfel de
reprezentare nu conteaz distanele dintre vrfuri sau unghiurile dintre muchii.
Dou vrfuri unite printr-o muchie se numesc adiacente. Cele dou vrfuri care
compun o muchie se numesc extremitile muchiei. Gradul unui vrf x este egal cu
numrul muchiilor care au o extremitate n vrful x i se noteaz cu ) (x d . Un vrf
de gradul zero se numete vrf izolat, iar un vrf de gradul unu este numit vrf
terminal.
Propoziia 1. Pentru orice graf suma gradelor este egal cu dublul
numrului de muchii, adic ) ( 2 ) (
) (
G E x d
G V x
=

.
De aici rezult c pentru orice graf numrul vrfurilor de grad impar este
par.

84
Un graf parial al unui graf G este un graf H care are aceeai mulime de
vrfuri cu G, deci ) ( ) ( G V H V = i ) ( ) ( G E H E . Deci un graf parial al lui G
este G sau se obine din G prin suprimarea anumitor muchii din G. Un subgraf al
unui graf G este un graf H astfel nct ) ( ) ( G V H V , iar muchiile lui H sunt toate
muchiile lui G care au ambele extremiti n mulimea de vrfuri ) (H V . Deci un
subgraf H al unui graf G este graful G nsui sau se obine din G prin suprimarea
anumitor vrfuri i a tuturor muchiilor care au cel puin o extremitate n mulimea
vrfurilor care au fost suprimate. Se spune c subgraful H este indus sau generat
de mulimea de vrfuri ) (G V .
Un lan ntr-un graf G este o succesiune finit de vrfuri ale lui G care se
noteaz | |
r
x x x ,..., ,
1 0
, cu proprietatea c oricare dou vrfuri vecine sunt
adiacente, adic ) (
1
G E x x
i i

+
pentru orice 1 0 r i . Vrfurile
0
x i
r
x se
numesc extremitile lanului, iar numrul r care reprezint numrul de muchii ale
lanului se numete lungimea acestui lan. Dac vrfurile
r
x x x ,..., ,
1 0
sunt
distincte, lanul se numete elementar. Un lan poate fi interpretat ca traseul unei
deplasri pe muchiile grafului. De aceea, un lan de extremiti
0
x i
r
x se mai
spune c este un lan de la
0
x la
r
x . O alt noiune fundamental este aceea de
ciclu. Un ciclu ntr-un graf G este o succesiune finit de vrfuri ale lui G, notat
| |
r
x x x ,..., ,
1 0
, cu urmtoarele proprieti:
a) oricare dou vrfuri vecine sunt adiacente, adic ) (
1
G E x x
i i

+
pentru orice
1 0 r i ;
b)
r
x x =
0
;
c) toate muchiile
1 0
x x ,
2 1
x x , ,
r r
x x
1
sunt distincte.
Numrul r, care reprezint numrul de muchii ale ciclului, se numete
lungimea acestui ciclu. Dac toate vrfurile
1 1 0
,..., ,
r
x x x sunt distincte, ciclul se
numete elementar. Deci un ciclu este un lan care se ntoarce n punctul de plecare
i pentru care toate muchiile parcurse sunt distincte. Dac nu am impune condiia
c), atunci orice graf care are o muchie ab ar conine i un ciclu i anume | | a b a , , .
Un graf G se numete conex dac pentru orice pereche de vrfuri distincte
x, y ale lui G, exist un lan de extremiti x i y n G. O component conex C a
unui graf G este un subgraf conex maximal al lui G (maximal n sensul c nu exist
nici un lan care s uneasc un vrf din C cu orice vrf care nu aparine lui C).
Grafurile conexe au o singur component conex.
Graful complementar grafului G se noteaz prin G i el are
( ) ) (G V G V = i ( ) ) (G E G E = , adic complementara mulimii muchiilor lui G,
dou vrfuri distincte fiind adiacente n G dac i numai dac ele nu sunt
adiacente n G.

85
Clase speciale de grafuri

Un graf pentru care oricare dou vrfuri sunt adiacente se numete graf
complet. Graful complet cu n vrfuri se noteaz
n
K i al are
|
|
.
|

\
|
2
n
muchii. Toate
vrfurile grafului
n
K au gradul 1 n . Un graf se numete regulat dac toate
vrfurile sale au un acelai grad. Dac acest grad comun al vrfurilor este egal cu k,
graful se numete k-regulat. Graful complet
n
K este ) 1 ( n -regulat. Un interes
special n clasa grafurilor regulate l reprezint grafurile formate cu vrfurile i
muchiile celor 5 poliedre regulate. Astfel graful tetraedrului regulat este graful
complet
4
K ; graful cubului este 3-regulat (astfel de grafuri se mai numesc cubice);
el are 8 vrfuri. Graful octaedrului este 4-regulat i are 6 vrfuri; graful
dodecaedrului este cubic i are 20 vrfuri, iar graful icosaedrului este 5-regulat i
are 12 vrfuri.
Ciclurile elementare cu p vrfuri se noteaz
p
C . Dac mulimea vrfurilor
unui graf G poate fi partiionat n dou mulimi disjuncte de vrfuri,
2 1
) ( V V G V = , astfel nct fiecare muchie unete un vrf din
1
V cu un vrf din
2
V , graful G se numete bipartit. ntr-un graf bipartit orice ciclu conine un numr
par de vrfuri, deoarece el trece alternativ din
1
V n
2
V i se ntoarce n punctul de
plecare. De exemplu ciclurile impare
1 2 + k
C , unde N k nu sunt bipartite i vom
vedea c inexistena ciclurilor impare caracterizeaz grafurile bipartite. Dac orice
vrf din
1
V este adiacent cu orice vrf din
2
V , graful se numete bipartit complet.
Un graf bipartit complet pentru care m V =
1
i n V =
2
se noteaz
n m
K
,
. Un graf
bipartit complet de forma
n
K
, 1
, format dintr-un vrf central adiacent cu alte n
vrfuri, neadiacente ntre ele se numete graf-stea.
Teorema 1 (Konig). Un graf G este bipartit dac i numai dac nu
conine cicluri impare.
Dou grafuri G i H se numesc izomorfe dac exist o bijecie
) ( ) ( : H V G V f astfel nct: a) dac ) (G E xy atunci ) ( ) ( ) ( H E y f x f ;
b) dac ) (G E xy atunci ) ( ) ( ) ( H E y f x f . Cu alte cuvinte, grafurile G i H
difer eventual printr-o renumerotare a vrfurilor. Deoarece f este o bijecie ntre
mulimile de vrfuri ale celor dou grafuri, rezult c oricare dou grafuri izomorfe
au acelai numr de vrfuri. De asemenea, grafurile izomorfe au acelai numr de
muchii, aceleai iruri ale gradelor vrfurilor, acelai numr de cicluri de o anumit
lungime etc.
Noiunea de izomorfism al grafurilor explic fenomenul de izomerism din
chimie. De exemplu, moleculele de hidrocarburi constau din atomi de carbon de
valen 4 i de hidrogen de valen 1. Astfel moleculele de butan i de 2-
metilpropan (izobutan) conin fiecare patru atomi de carbon i zece atomi de
86
hidrogen, avnd formula
10 4
H C . Grafurile asociate au fiecare cte 14 vrfuri, dar
nu sunt izomorfe. Astel de structuri neizomorfe care au aceeai formul chimic (n
cazul de fa
10 4
H C ) se numesc izomeri. Recunoaterea izomorfismului a dou
grafuri este important n chimie, deoarece o substan nou descoperit trebuie s
aib graful neizomorf cu graful substanelor deja cunoscute.
Exist situaii cnd modelul de graf neorientat nu este suficient pentru a
reprezenta o situaie dat, fiind necesar s definim o anumit orientare a muchiilor.
Un graf orientat G este o pereche ( ) ) ( ), ( G E G V , unde ) (G V este o mulime
finit i nevid de elemente numite vrfuri i ) (G E este o mulime de perechi
ordonate de elemente distincte din ) (G V , numite arce. ) (G V se numete
mulimea vrfurilor i ) (G E mulimea arcelor grafului G. Deci, n cazul
grafurilor orientate mulimea arcelor este o submulime a produsului cartezian
) ( ) ( G V G V care conine numai perechi ( ) y x, de vrfuri distincte. Se spune c x
este extremitatea iniial i y este extremitatea final a arcului ( ) y x, . Ca i n
cazul grafurilor neorientate, un graf orientat poate fi desenat n plan reprezentnd
vrfurile prin puncte i arcele prin sgei orientate de la extremitatea iniial ctre
extremitatea final a oricrui arc. Dou vrfuri unite printr-un arc se numesc
adiacente. Spre deosebire de cazul neorientat, orice vrf x are dou grade: gradul
exterior, notat ( ) x d
+
, este numrul arcelor care l au pe x extremitate iniial, deci
care pleac din vrful x; gradul interior, notat ( ) x d

, este numrul arcelor care l


au pe x extremitate final, deci care intr n vrful x. Urmtorul rezultat este
analogul propoziiei 1 pentru grafuri orientate.
Propoziia 2. Pentru orice graf orientat G suma gradelor de intrare este
egal cu suma gradelor de ieire ale vrfurilor lui G, care este egal cu numrul
de arce ale grafului G.
Noiunile de graf parial i de subgraf al unui graf orientat se definesc la
fel ca i n cazul neorientat, nlocuind peste tot cuvntul muchie prin cuvntul arc.
Un lan ntr-un graf orientat G este o succesiune finit de vrfuri ale lui G
care se noteaz | |
r
x x ,...,
0
, cu proprietatea c oricare dou vrfuri vecine sunt
adiacente, adic ( ) ) ( ,
1
G E x x
i i

+
sau ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i . Ca i n cazul neorientat, vrfurile
0
x i
r
x se numesc extremitatea
iniial, respectiv extremitatea final ale lanului, iar numrul de arce r este
lungimea lanului. Un drum ntr-un graf orientat G este un caz particular de lan,
care se obine cnd toate arcele au o aceeai orientare, de la extremitatea iniial
ctre extremitatea final. Deci un drum este o succesiune finit de vrfuri ale lui G
care se noteaz ( )
r
x x ,...,
0
, cu proprietatea c ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i .
Un lan nchis pentru care arcele nu se repet se numete ciclu, iar un drum
nchis pentru care arcele nu se repet se numete circuit. Deci un ciclu ntr-un graf
87
orientat G este o succesiune finit de vrfuri ale lui G, notat | |
r
x x ,...,
0
cu
urmtoarele proprieti: a) ( ) ) ( ,
1
G E x x
i i

+
sau ( ) ) ( ,
1
G E x x
i i

+
pentru orice
1 0 r i ; b)
r
x x =
0
; c) toate arcele lanului sunt distincte. Un circuit este o
succesiune finit de vrfuri ale lui G, notat ( )
r
x x ,...,
0
cu urmtoarele proprieti:
a) ( ) ) ( ,
1
G E x x
i i

+
pentru orice 1 0 r i ; b)
r
x x =
0
; c) toate arcele
( )
1 0
, x x , ( )
2 1
, x x , , ( )
r r
x x ,
1
sunt distincte. Numrul arcelor unui ciclu,
respectiv circuit, se numete lungimea sa. Dac toate vrfurile
1 0
,...,
r
x x sunt
distincte, ciclul, respectiv circuitul se numete elementar. Un graf orientat G cu
proprietatea c pentru orice arc ( ) ) ( , G E y x arcul ( ) ) ( , G E x y se numete
simetric. Astfel putem considera grafurile neorientate cazuri particulare de grafuri
orientate i anume grafuri orientate simetrice. Ca i n cazul neorientat, un graf
orientat se numete conex dac ntre oricare dou vrfuri distincte exist un lan
care le unete. n cazul grafurilor orientate mai putem defini i o alt noiune i
anume conexitatea tare: un graf orientat G se numete tare conex dac oricare dou
vrfuri distincte ale lui G sunt unite printr-un drum. Deoarece putem schimba
rolurile celor dou vrfuri, uneori definiia conexitii tare se mai formuleaz astfel:
un graf orientat G se numete tare conex dac oricare ar fi vrfurile ) ( , G V y x ,
y x , exist un drum de la x la y i un drum de la y la x.

II. MATRICI ASOCIATE UNUI GRAF ORIENTAT

Un graf orientat G cu n vrfuri poate fi caracterizat de o matrice ptrat cu
n linii i n coloane, cu elemente 0 i 1 i numit matricea de adiacen a grafului.
Dac vrfurile grafului sunt
n
x x ,...,
1
, matricea de adiacen, notat
( )
n i i
ij
a A
,..., 1 , =
= se definete astfel: 1 =
ij
a dac exist arcul ( ) ) ( , G E x x
j i
i
0 =
ij
a n caz contrar. Dac graful G este neorientat, matricea sa de adiacen are
proprietatea c 1 =
ij
a dac exist muchia
j i
x x ntre vrfurile
i
x i
j
x i 0 =
ij
a
n caz contrar. n acest caz matricea de adiacen este simetric, adic
ji ij
a a =
pentru orice n j i ,..., 1 , = . O alt matrice util n studiul conexitii unui graf este
matricea drumurilor (sau matricea nchiderii tranzitive a relaiei binare asociate
grafului orientat), care se noteaz ( )
n j i
ij
a A
,..., 1 ,
* *
=
= i are se definete astfel:
1
*
=
ij
a dac exist n graful G un drum care pleac din vrful
i
x i ajunge n
vrful
j
x i 0
*
=
ij
a n caz contrar. Vom avea 1
*
=
ii
a dac exist un circuit care
trece prin
i
x i 0
*
=
ii
a n caz contrar.


88
O alt matrice care caracterizeaz un graf orientat i este util n studiul
circuitelor electrice este matricea de inciden nod-arc. Dac graful orientat G are
n vrfuri
n
x x ,...,
1
i m arce
m
e e ,...,
1
, matricea de inciden nod-arc este o matrice
dreptunghiular cu n linii i m coloane, pe care o notm ( )
m j
n i
ij
b B
,..., 1
,..., 1
=
= = i o
definim astfel: 1 =
ij
b dac arcul
j
e pleac din vrful
i
x , 1 =
ij
b dac arcul
j
e
intr n vrful
i
x i 0 =
ij
b n caz cantrar, deci dac
i
x nu este extremitate a
arcului
j
e . S observm c fiecare coloan a matricii de inciden B conine un 1,
un 1 i 2 n zerouri. Fixnd un sens al curentului pe fiecare latur a unei reele
electrice, care devine astfel un graf orientat i notnd cu ( )
m
i i i ,...,
1
= vectorul
intensitilor curentului pe arcele reelei electrice, prima lege a lui Kirchhoff se
scrie sub forma:
T T
Bi 0 = , unde T reprezint transpusul unui vector, iar 0
reprezint vectorul linie cu n componente nule.
n cazul grafurilor neorientate, matricea de inciden nod-muchie va
conine doi de 1 pe fiecare coloan. Suma oricror r linii ale matricii B pentru un
graf G conex cu n vrfuri conine cel puin o component nenul pentru n r < .
ntr-adevr, n caz contrar ar rezulta c din mulimea de vrfuri corespunztoare
celor r linii nu mai pleac nici un arc n exterior i nu mai sosete nici un arc din
exterior, ceea ce contrazice faptul c G este conex. Deci, oricare r linii n r < ale
matricii B sunt linear independente. Dar suma celor n linii ale matricii B este
vectorul nul, deci ele sunt linear dependente. Am obinut urmtorul rezultat:
Propoziia 3 (Kirchhoff). Dac graful G are n vrfuri i este conex,
rangul matricii sale de inciden nod-arc este 1 n .
Aplicnd acest rezultat submatricilor corespunztoare componentelor
conexe ale lui G, se afl c rangul matricii B este p n dac graful are p
componente conexe.

Algoritmul lui Roy-Warshall

Acest algoritm servete la obinerea matricii drumurilor
*
A plecnd de la
matricea de adiacen A a unui graf G cu n vrfuri i const n urmtoarele:
1. Se face 1 = k .
2. Pentru n i ,..., 1 = i n j ,..., 1 = i k j i , se nlocuiesc elementele 0 =
ij
a
prin ( )
kj ik
a a , min .
3. Se repet pasul 2 pentru n k ,..., 2 = .
Vom arta c, la sfritul aplicrii, algoritmului matricea obinut este
tocmai matricea drumurilor
*
A . Acest algoritm poate fi exprimat i n limbaj
operatorial, definind operatorul
k
T ce acioneaz asupra unei matrici ptrate de
89
ordinul n cu 0 i 1 n felul urmtor: B A T
k
= ) ( , unde ( )
n j i
ij
b B
,..., 1 , =
= este o
matrice ptrat de ordinul n, definit astfel:
( ) ( )
kj ik ij kj ik ij ij
a a a a a a b = = , min , max
pentru n j i ,..., 1 , = . Pentru simplificarea scrierii am notat operaia maximum prin
, iar operaia de minimum este tocmai operaia produs n algebra boolean { } 1 , 0 .
Din cauza proprietii de absorbie mai rezult c
ij ij
a b = dac i sau j este egal cu
k. La pasul 2 al algoritmului se calculeaz tocmai matricea ) ( A T
k
, deoarece
elementele 1 =
ij
a rmn invariante din definiia operatorilor
k
T .
Propoziia 4. Transformrile
k
T sunt idempotente, iar oricare dou
transformri
k
T ,
h
T comut ntre ele.
Teorema 2. Exist egalitatea
*
1
) ( A A T
n
k
k
=

=

pentru orice matrice de adiacen A de ordinul n.
S observm c transformarea
k
T const n nlocuirea tuturor elementelor
0 care nu se gsesc pe linia sau coloana k prin 1, dac ambele lor proiecii pe linia
i coloana k sunt egale cu 1. Deoarece sunt ( )
2
1 n elemente care nu se gsesc pe
linia i coloana k, rezult c att numrul de operaii minimum, ct i numrul de
operaii maximum necesitate de aplicarea algoritmului este egal fiecare cu
( )
2
1 n n , care este complexitatea acestui algoritm.
S notm cu ( )
i
x S mulimea vrfurilor care sunt extremiti terminale ale
unor drumuri care pleac din
i
x i cu ( )
i
x P mulimea vrfurilor care sunt
extremiti iniiale ale unor drumuri care se termin n
i
x . Componenta tare conex
care conine vrful
i
x este tocmai mulimea ( ) ( ) { }
i i i
x x P x S . Dar mulimile
( )
i
x S , respectiv ( )
i
x P se obin imediat din matricea drumurilor
*
A : ( )
i
x S este
compus din acele vrfuri
j
x pentru care indicele j verific 1
*
=
ij
a , deci
corespund coloanelor care conin un 1 n linia i , iar ( )
i
x P este compus din acele
vrfuri
j
x pentru care 1
*
=
ji
a , deci care corespund liniilor care conin un 1 n
coloana i . De aici rezult un algoritm pentru gsirea componentelor tare conexe
ale unui graf orientat G plecnd de la matricea drumurilor
*
A , innd seama c
aceste componente tare conexe constituie o partiie a mulimii de vrfuri ) (G V .



90
III. ARBORI SI ALGORITMUL LUI KRUSKAL

Un graf conex i fr cicluri se numete arbore. Terminologia ine seama
de asemnarea cu arborii din natur. Am vzut c vrfurile de gradul 1 ale unui
graf se numesc vrfuri terminale, care n cazul unui arbore se mai numesc i
frunze. Astfel, unei expresii aritmetice i se asociaz n mod natural un arbore, n
vrfurile cruia se reprezint att operatorii, ct i operanzii. Frunzele au asociai
operanzi, iar celelalte vrfuri conin operatori. Deoarece unele operaii (scderea,
ridicarea la putere, mprirea) nu sunt comutative, avem de a face cu un tip special
de arbori, numii arbori binari. Astfel, vrful n care este reprezentat ultima
operaie se numete rdcina arborelui binar. Rdcina are un subarbore stng i
un subarbore drept. Subarborii stng i drept ai rdcinii sunt, la rndul lor, arbori
binari. n cazul arborilor binari se face distincie ntre stnga i dreapta. Aceti
arbori sunt utilizai n multe capitole ale informaticii. Se observ din desenul unui
arbore c, oricum am suprima o muchie a unui arbore se obine un graf neconex, cu
dou componente conexe. De asemenea, oricum am uni printr-o nou muchie dou
vrfuri neadiacente ale unui arbore, n graful astfel obinut apare un ciclu. Aceste
proprieti au loc pentru orice arbore.
Teorema 3. Urmtoarele afirmaii sunt echivalente pentru un graf G:
a) G este conex i fr cicluri;
b) G este un graf conex minimal, adic G este conex, dar devine neconex prin
suprimarea unei muchii oarecare;
c) G este un graf fr cicluri maximal, adic G nu conine cicluri, dar prin unirea
printr-o muchie a oricror dou vrfuri neadiacente ale lui G, graful obinut
conine cicluri.
Am vzut c un graf parial H al grafului G, este graful G sau se obine din
G prin suprimarea anumitor muchii. Dac graful parial H este arbore, el se
numete arbore parial al lui G.
Corolar 1. Un graf G are un arbore parial dac i numai dac G este
conex.
Propoziia 5. Orice arbore cu 2 n vrfuri are cel puin dou vrfuri
terminale.
Arborii au o proprietate remarcabil, dat de teorema urmtoare.
Teorema 4. Orice arbore cu n vrfuri are 1 n muchii.
Proprietatea unui arbore de a fi un graf conex minimal face ca arborii s
apar ntr-o serie de probleme de optimizare, cum este urmtoarea:

Problema arborelui parial minim

Fie G un graf conex i c o funcie ( ) , 0 ) ( : G E c care asociaz
fiecrei muchii a grafului G un numr real pozitiv numit costul acelei muchii.
Costul unui graf parial al lui G este egal prin definiie cu suma costurilor asociate
muchiilor lui H, ceea ce vom scrie:

=
) (
) ( ) (
H E u
u c H c . Se pune problema
91
determinrii unui graf parial H al lui G care trebuie s fie conex i s aib un cost
minim. Un astfel de graf parial conex de cost minim trebuie s fie un arbore
parial, deoarece arborii sunt singurele grafuri conexe minimale. Deci orice graf
parial de cost minim care este conex este un arbore parial al lui G. Acest arbore
parial exist conform corolarului 1. Pentru gsirea unui arbore parial de cost
minim al unui graf conex, pe care l vom numi, pe scurt, arbore parial minim,
descriem n continuare algoritmul lui Kruskal.

Algoritmul lui Kruskal

Fie G un graf conex cu 2 n vrfuri i o funcie cost ( ) , 0 ) ( : G E c .
Muchiile unui arbore parial minim sunt selectate una cte una, dup cum urmeaz:
Pasul 1: Dintre muchiile nealese ale lui ) (G E se selecteaz o muchie de cost
minim cu condiia s nu formeze cicluri cu muchiile deja alese.
Pasul 2: Au fost selectate 1 n muchii? Dac da, ne oprim. Muchiile selectate
sunt muchiile unui arbore parial minim al lui G. Dac nu, se repet
pasul 1.
Teorema 5. Algoritmul lui Kruskal produce un arbore parial de cost
minim.
Se observ c la pasul curent al aplicrii algoritmului muchiile selectate, n
ordinea cresctoare a costurilor, formeaz un numr de componente conexe care
toate sunt arbori. Acetia se unesc n final pentru a forma un singur arbore, care
este un arbore parial de cost minim. Dac atribuim o aceeai etichet (de exemplu
un numr natural cuprins ntre 1 i n) tuturor vrfurilor dintr-o aceeai component,
avnd grij ca componentele diferite s aib etichete diferite, selectarea unei noi
muchii se poate face acum uor, verificnd numai ca etichetele extremitilor ei s
fie diferite; apoi cele dou componente n care se gsesc extremitile ei se unific
ntr-o singur component, deci toate etichetele celor dou componente trebuie
unificate (de exemplu, cu eticheta cea mai mic). Folosind un vector cu n
componente V se iniializeaz i i V = ) ( pentru n i ,..., 1 = , apoi se aplic algoritmul
descris de unificare a etichetelor la alegerea unei noi muchii pq astfel nct
) ( ) ( q V p V . Dac G are n vrfuri i m muchii, sortarea prealabil a muchiilor n
ordinea cresctoare a costurilor necesit o complexitate de calcul de ordinul
( ) m m O log , iar parcurgerea de 1 n ori a vectorului V al etichetelor i unificarea
etichetelor vrfurilor din componentele care se unesc la fiecare pas mai necesit o
complexitate de ( )
2
n O . Rezult n total o complexitate timp de ordinul
( )
2
log n m m O + , al doilea termen fiind absorbit de primul dac graful are multe
muchii.




92
IV. DISTANTE SI DRUMURI MINIME IN GRAFURI ORIENTATE

Pentru un graf orientat G s presupunem c pe mulimea arcelor sale
) (G E s-a definit o funcie distan ( ) , 0 ) ( : G E d care asociaz fiecrui arc
al grafului G lungimea sa 0 ) , ( > j i d , care va fi notat n continuare cu
ij
d . n
cazul unui astfel de graf ponderat vom defini lungimea unui drum D ca fiind egal
cu suma lungimilor arcelor drumului D. S observm c n cazul unui graf
neponderat lungimea unui drum (respectiv lan n cazul neorientat) s-a definit
analog dac se asociaz fiecrui arc (respectiv muchii) o lungime egal cu 1. Pentru
dou vrfuri ) ( , G V y x pot exista n graful G mai multe drumuri care pleac din
x i sosesc n y. Vom defini distana minim de la vrful x la vrful y n graful G
( y x ) i o vom nota cu ( ) y x d ,
*
, minimul lungimilor drumurilor din graful G
care au extremitatea iniial n x i extremitatea final n y. Dac nu exist nici un
drum de la x la y n G vom defini ( ) = y x d ,
*
.
Lungimile
ij
d ale arcelor grafului se mai numesc i distanele directe
dintre vrfurile grafului i formeaz matricea distanelor directe care se definete
n felul urmtor pentru un graf G cu n vrfuri notate n ,..., 1 : ( )
n j i
ij
d D
,..., 1 , =
= , unde
0 =
ii
d pentru orice n i ,..., 1 = ,
ij
d reprezint lungimea arcului ) , ( j i dac
) ( ) , ( G E j i i =
ij
d dac ) ( ) , ( G E j i . Matricea distanelor minime,
notat ( )
n j i
ij
d D
,..., 1 ,
* *
=
= , se definete n modul urmtor: 0
*
=
ii
d pentru orice
n i ,..., 1 = ,
*
ij
d reprezint distana minim de la vrful i la vrful j dac exist cel
puin un drum de la i la j i =
*
ij
d dac nu exist nici un drum de la i la j n
graful G. Algoritmul lui Floyd permite calcularea matricii
*
D plecnd de la
matricea D a distanelor directe i este analog algoritmului lui Roy-
Warshall pentru obinerea matricii drumurilor plecnd de la matricea de adiacen a
unui graf. Se schimb numai operaiile de maximum i minimum prin minimum i
respectiv +, definite pe mulimea numerelor reale pozitive, iar elementele de pe
diagonala principal nu se mai calculeaz, ele rmnnd egale cu 0.

Algoritmul lui Floyd are urmtorii pai:

1. Se face 1 = k .
2. Pentru n i ,..., 1 = i n j ,..., 1 = , j i , k i , k j , se nlocuiete elementul
ij
d prin ( )
kj ik ij
d d d + , min .
3. Se repet pasul 2 pentru n k ,..., 2 = .
La sfritul aplicrii algoritmului, n locul matricii D apare matricea
*
D .
La fel ca n cazul gsirii matricii drumurilor, acest algoritm se poate exprima n
limbaj operatorial i se poate justifica n mod asemntor.
93
Deoarece elementele de pe diagonala principal a matricii D rmn
neschimbate, numrul de adunri ct i numrul de comparaii pentru algoritmul lui
Floyd este egal cu ( )( ) 2 1 n n n .
n continuare vom prezenta un algoritm pentru determinarea att a
distanelor, ct i a drumurilor minime de la un vrf fixat s al unui graf orientat la
toate celelalte vrfuri, avnd complexitatea timp de ordinul ( )
2
n O dac graful are
n vrfuri. Pentru a descrie modul n care se obin drumurile minime, vom defini
mai nti noiunea de arborescen. O arborescen se obine dintr-un arbore A n
modul urmtor: se alege un vrf r al arborelui A i se orienteaz toate muchiile
arborelui (care astfel devin arce) n mod unic astfel nct pentru orice vrf r x al
arborelui s existe un drum de la r la x. Vrful r se numete rdcina arborescenei.
Algoritmul care va fi descris calculeaz distanele i drumurile minime de la un
vrf s la toate celelalte vrfuri ale unui graf orientat G cu lungimile arcelor numere
nenegative. La sfritul aplicrii algoritmului se obine o arborescen A cu
rdcina s i mulimea vrfurilor V(G) cu proprietatea c pentru orice vrf s i
drumul unic de la s la i n A este un drum de lungime minim n G. Arborescena
A este definit folosind funcia predecesor, notat pred, astfel nct dac
( ) ) ( , A E j i atunci i j pred = ) ( . Algoritmul eticheteaz fiecare vrf i al
grafului cu o etichet notat ) (i l care este un majorant al distanei minime de la
vrful s la vrful i , iar n final va fi egal chiar cu distana minim de la s la i . La
fiecare pas intermediar algoritmul partiioneaz vrfurile n dou mulimi:
mulimea S a vrfurilor cu etichete permanente i complementara sa S , a
vrfurilor cu etichete temporare. Etichetele permanente ale vrfurilor din S
reprezint distanele minime de la s la vrfurile respective, n timp ce etichetele
temporare ale vrfurilor din S reprezint nite majorri ale distanelor minime. La
fiecare pas un vrf din S cu cea mai mic etichet temporar este trecut din S n
S. La sfritul aplicrii algoritmului = S , iar ) (i l va reprezenta pentru orice
vrf i distana minim de la s la i .

Algoritmul lui Dijkstra

Se consider un graf orientat cu n vrfuri notate n ,..., 1 pentru care
lungimea fiecrui arc ( ) j i, se noteaz cu 0
ij
d . Se fixeaz un vrf s din G. La
sfritul aplicrii algoritmului ) (i l va fi distana minim de la vrful s la vrful i
pentru orice n i 1 . Prin definiie, 0 ) ( = s l . Dac la sfritul aplicrii
algoritmului pentru un vrf k se obine = ) (k l , aceasta semnific inexistena
drumurilor de la vrful s la vrful k n graf. n acest caz arborescena drumurilor
minime nu va conine vrful k. Arborescena A a drumurilor minime de la s la
celelalte vrfuri are 1 n arce, care sunt perechile ordonate ( ) i i pred ), ( pentru
orice n i ,..., 1 = i s i . Paii algoritmului sunt urmtorii:
94
1. S , ) (G V S .
2. 0 ) ( s l i ) (i l pentru orice s i .
3. Ct timp n S < se execut urmtoarele operaii:
a) se selecteaz un vrf S i pentru care
{ } S j j l i l = ) ( min ) ( ;
b) {} i S S , {} i S S \ ;
c) pentru fiecare arc ( ) j i, care are extremitatea iniial n i i extremitatea
final n S j , dac
ij
d i l j l + > ) ( ) ( ,
atunci
ij
d i l j l + ) ( ) ( i i j pred ) ( .
Distanele minime se obin n ordinea apropierii vrfurilor respective de
originea s. Aplicnd de n ori acest algoritm i lund de fiecare dat ca vrf surs s
fiecare din vrfurile n ,..., 1 , se pot obine distanele i drumurile minime pentru
toate perechile ordonate de vrfuri ( ) j i, cu j i i n j i , 1 .
Aceste algoritm se aplic i grafurilor neorientate, nlocuind la pasul 3c)
arcul ( ) j i, prin muchia ij care are una dintre extremiti n vrful i selectat
la acel pas i cealalt extremitate ntr-un vrf S j . n acest caz arborescena
drumurilor minime devine un arbore al drumurilor minime care au o extremitate
n s.
Complexitatea timp a algoritmului se evalueaz astfel: Dac S are k
elemente ( n k 1 ),determinarea minimului din numerele ) ( j l pentru S j se
face cu ajutorul a 1 k comparaii. Deoarece exist cel mult 1 k arce de forma
( ) j i, cu i fixat n S i j variabil n S , la compararea lui ) ( j l cu suma
ij
d i l + ) (
se fac cel mult 1 k comparaii i 1 k adunri. Deci numrul total de adunri
este cel mult egal cu
2
) 1 (
) 1 ( ... 2 1

= + + +
n n
n i un numr dublu de
comparaii, adic ) 1 ( n n .
Dac graful conine i arce cu lungimea negativ, se poate ca anumite
distane minime dintre vrfurile sale s nu existe. De exemplu, ntre vrfurile
situate pe un circuit cu suma lungimilor arcelor sale negativ nu exist un minim al
distanelor ntre vrfurile sale, acestea putnd fi fcute s tind la . Exist
algoritmi (de exemplu algoritmul lui Dantzig) care detecteaz existena circuitelor
negative, iar n cazul inexistenei acestora gsesc distanele minime ntre vrfurile
unui graf pentru care distanele directe intre vrfuri pot lua i valori negative.



95
V. FLUX MAXIM IN RETELE DE TRANSPORT

n cazul reelelor de transport vom nota prin ( ) x

, respectiv ( ) x
+

mulimea arcelor care intr, respectiv ies din vrful ) (G V x , adic
( ) ( ) ( ) { } ) ( , ), ( , G E x y G V y x y x =


i
( ) ( ) ( ) { } ) ( , ), ( , G E y x G V y y x x =
+
.
Vom extinde aceste definiii la o mulime de vrfuri ) (G V A n felul
urmtor:
( ) ( ) { } ) ( , , , , ) ( G E y x A y A x y x A =

,
iar
( ) ( ) { } ) ( , , , , ) ( G E y x A y A x y x A =
+
.
Un graf orientat G se numete reea de transport dac verific urmtoarele
condiii:
a) Exist un vrf unic ) (G V s n care nu intr nici un arc, adic =

) (s ,
numit intrarea reelei.
b) Exis un vrf unic ) (G V t din care nu pleac nici un arc, adic =
+
) (t ,
numit ieirea reelei.
c) G este conex i exist drumuri de la s la t.
d) S-a definit o funcie pe mulimea arcelor ) (G E cu valori numere reale
nenegative:
+
R G E c ) ( : .
Numrul ) (u c se numete capacitatea arcului u. O funcie definit pe
mulimea arcelor cu valori numere reale nenegative,
+
R G E ) ( : se numete
flux n reeaua de transport G, dac sunt ndeplinite urmtoarele dou condiii:
A. Condiia de conservare a fluxului n orice vrf diferit de intrare i ieire:
pentru orice vrf s x i t x , suma fluxurilor pe arcele care intr n x este
egal cu suma fluxurilor pe arcele care ies din x, ceea ce se scrie

+


=
) ( ) (
) ( ) (
x u x u
u u .
B. Condiia de mrginire a fluxului pe arcele reelei: fluxul asociat oricrui arc nu
trebuie s depeasc capacitatea arcului respectiv, adic ) ( ) ( u c u pentru
orice arc ) (G E u .
Se noteaz fluxul pe arcele de intrare cu
s
i fluxul pe arcele de ieire cu
t
, adic
( )
( )

+

=
s u
s
u


96
i


=
) (
) (
t u
t
u .
Propoziia 6. Pentru orice reea de transport exist egalitatea
t s
= .
Pentru o reea de transport G cu intrarea s i ieirea t vom considera o
submulime de vrfuri ) (G V A astfel nct A s i A t . Mulimea ) ( A

a
arcelor grafului pentru care extremitatea iniial nu se gsete n A, dar
extremitatea final aparine mulimii A se numete tietur de suport A.
Capacitatea tieturii ) ( A

este egal prin definiie cu suma capacitilor arcelor


tieturii i vom nota
( )

=
) (
) ( ) (
A u
u c A c
S observm c orice drum care leag intrarea s de ieirea t conine cel
puin un arc dintr-o tietur oarecare ) ( A

. ntr-adevr, deoarece A s i
A t , vor exista dou vrfuri vecine ale drumului, x i y astfel nct A x i
A y , deci ( ) ) ( , A y x

.
Propoziia 7. Pentru orice flux i orice tietur ) ( A

dintr-o reea de
transport G exist relaiile:
( ) ) ( ) ( ) (
) ( ) (
A c u u
A u A u
t

+


=

.
Un arc ) (G E u se numete saturat relativ la fluxul dac
) ( ) ( u c u = . Problema fluxului maxim este problema determinrii unui flux n
reeaua G, astfel nct fluxul la ieire
t
(care este egal cu fluxul la intrare), s aib
cea mai mare valoare posibil.
Teorema 6 (ford-Fulkerson). Pentru orice reea de transport valoarea
maxim a fluxului la ieire este egal cu capacitatea minim a unei tieturi, ceea
ce se mai scrie
( ) ) ( min max
) (
A c
A
t


= .
Dac teorema lui Ford-Fulkerson are loc pentru orice fel de capaciti
numere reale pozitive, algoritmul urmtor pentru determinarea unui flux maxim,
datorat de asemenea lui Ford i Fulkerson, funcioneaz numai pentru capaciti
numere ntregi. S observm totui c deoarece putem amplifica att capacitile
arcelor ct i componentele fluxului cu o aceeai cantitate pozitiv, obinnd o
problem similar cu cea iniial, problema determinrii fluxului maxim cu
componente numere raionale ntr-o reea cu capaciti numere raionale se reduce
la cazul cnd componentele fluxului, ct i capacitile arcelor sunt numere ntregi
nenegative.


97
Algoritmul lui Ford-Fulkerson

n cazul cnd capacitile arcelor sunt numere naturale,
algoritmul lui Ford-Fulkerson const n urmtoarele:
Pasul 1: Se determin un flux cu componente numere naturale, care verific
condiiile de conservare i mrginire; de exemplu se poate alege fluxul
cu componente nule pe fiecare arc.
Pasul 2: Se aplic urmtorul procedeu de etichetare: Se eticheteaz intrarea s. Un
vrf y neetichetat se poate eticheta n urmtoarele dou situaii:
a) exist arcul ( ) y x u , = , unde x este etichetat i ) ( ) ( u c u < . n
acest caz vrful y se eticheteaz cu | | x + ;
b) exist arcul ( ) x y v , = , unde x este etichetat i 0 ) ( > v . n acest
caz y se eticheteaz cu | | x .
Dac dup ce se fac toate etichetrile posibile ieirea t nu a fost
etichetat, ne oprim, fluxul obinut este maxim. n caz contrar t a fost
etichetat. Urmrind etichetele vrfurilor n sens invers, de la t la s, se
reconstituie un lan nesaturat L pe care fluxul poate fi mrit cu , definit
n acelai mod ca n demonstraia teoremei lui Ford-Fulkerson. Cu noul
flux se merge la pasul 2.
Algoritmul are un numr finit de pai deoarece att capacitile arcelor ct
i componentele fluxului fiind numere naturale, la fiecare mrire a fluxului
valoarea
t
crete cu 1 iar fluxul este mrginit, el neputnd depi capacitatea
minim a unei tieturi. La sfritul aplicrii algoritmului arcele care unesc vrfurile
etichetate cu vrfurile neetichetate constituie o tietur de capacitate minim,
demonstraia acestei proprieti decurgnd din demonstraia teoremei lui Ford-
Fulkerson.

Bibliografie partea a doua

1. M. Becheanu, I. Tomescu, B. Enescu, A. Vernescu, Matematic, Manual
pentru clasa a X-a (profil M2), Editura Teora, 2000, pp. 92-132.
2. I. Tomescu, Combinatoric i teoria grafurilor, Tipografia Universitii din
Bucureti, 1978.
3. I. Tomescu, Probleme de combinatoric i teoria grafurilor, Editura Didactic
i Pedagogic, Bucureti, 1981. Ediia englez: Problems in Combinatorics
and Graph Theory, John Wiley, New York, 1985.
4. M. Behzad, G. Chartrand, L. Lesniak-Foster, Graphs & Digraphs, Prindle,
Weber & Schmidt, Boston, Massachusetts, 1979.
5. B. Bollobas, Graph Theory. An Introductory Course, Springer-Verlag, New
York, Heidelberg, Berlin, 1979.


98

TEORIA PROBABILITILOR

Prof. univ. dr. RODICA TRANDAFIR


I. ALGEBRE BOOLE. CORPURI DE PRI

I.1. Algebre Boole

Definiie. Se numete algebr Boole, o mulime nevid B , n care sunt definite
operaiile , ,
C
, i fa de care sunt verificate axiomele urmtoare:
1. A B B A = ; A B B A = ; (comutativitate)
2. ( ) ( ) C B A C B A = ; ( ) ( ) C C A C B A = ; (asociativitate)
3. ( ) A A B A = ; ( ) A B A A = ; (absorbie)
4. ( ) ( ) ( ) C A B A C B A = ; ( ) ( ) ( ) C A B A C B A = ;
(distributivitate)
5. ( ) B B A A
C
= ; ( ) B B A A
C
= ; (complementaritate)
oricare ar fi B C B A , , .
Avem urmtoarele consecine rezultate din definiii:
Consecina 1 (transformarea prin dualitate). Dac ntr-o afirmaie adevrat
n care intervin operaiile , ,
C
, i relaiile i , nlocuim peste tot pe cu ,
pe cu , pe cu i cu , iar pe
C
l lsm neschimbat, obinem tot o
afirmaie adevrat numit afirmaie dual.
Se observ c sistemul de axiome 1-5 rmne neschimbat dac substituim mutual
operaiile , , operatorul
C
pstrndu-i locul.
Consecina 2 (Legi de indempoten). Pentru orice B A avem:
A A A = , A A A = (1.1.)
Consecina 3 (Legi de monotonie). Oricare ar fi B C B A , , , din B A
rezult:
C B C A , C B C A (1.2.)
Consecina 4. Pentru orice ( ) B
n i i
A
1
elementele
A ...... A A A ..... A A
n
n
1 i
1 i n
n
1 i
1 i

= =
= =
sunt unic determinate i nu depind de ordinea elementelor.



99
I.2. - algebre Boole

Fie F o familie oarecare de elemente dintr-o algebr Boole.
Definiie. Numim reuniune a elementelor F A elementul B B dac
satisface condiiile:
1. B A pentru orice F A
2. Dac D A pentru orice F A , atunci D B .
Prin dualitate sunt condui la urmtoarea:
Definiie. Numim intersecie a elementelor F A , elementul B C , dac:
1. A C pentru orice F A ,
2. Dac A D pentru orice F A , atunci C D .
Notm:

F F
= =
A A
A C A B
Dac ( )
I i i
A

= F atunci se utilizeaz notaia:

I i
i
A B

= = A C
I i
i

Definiie. Se numete -algebr Boole (algebr Boole -complet), o algebr
Boole, B dac pentru orice ir de elemente ( ) B

*
N n n
A exist B

*
N n
n
A .
Teorema 1 (Legi de distributivitate). Dac B este o -algebr Boole i
B A , ( ) B

*
N n n
A avem:
( )


* *
N n
n
N n
n
A A A A

=
|
|
.
|

\
|
(1.3.)
( )


* *
N n
n
N n
n
A A A A

=
|
|
.
|

\
|
(1.4.)

I.3. Corp de pri

Fie o mulime oarecare format din elemente i ( ) P mulimea tuturor
prilor mulimii .
Definiie. Se numete corp de pri o familie nevid ( ) P , cu
proprietile:
(S1) A implic
C
A ;
(S2) B A, implic B A .
Din definiie rezult urmtoarele proprieti:
(P1) Avem , .
(P2) Dac ( )
n i i
A
1
, atunci
=

n
i
i
A
1
.
(P3) Dac B A, , B A .

100
I.4. - corp de pri

Definiie. Se numete -corp de pri (corp borelian) o familie nevid
( ) P care posed proprietile:
(S1-1) A implic
C
A ;
(S1-2) ( )

*
N n n
A implic

*
N n
n
A

.
Proprietile (P
1
) (P
3
) rmn valabile i pentru -corpuri. Avem adevrate i
urmtoarele proprieti:
(P4) Dac ( )

*
N n n
A , atunci


n
n
n
n
A A lim , lim ,
(P5) Dac ( )

*
N n n
A , atunci

n
n
A lim , dac exist.

II. CMP DE EVENIMENTE. PROBABILITATE

II.1. Cmp de evenimente

n teoria probabilitilor experimentele studiate sunt experimente aleatoare i
fiecare realizare a unui astfel de experiment se va numi prob. Rezultatul unei probe este
un eveniment.
Exemplu. n aruncarea cu zarul, mulimea realizrilor posibile va fi
{ } 6 , 5 , 4 , 3 , 2 , 1 = . Cteva evenimente { } 5 , 3 , 1 = A rezultat impar; { } 4 , 3 , 2 , 1 = B
rezultat inferior lui 5; { } 6 , 4 , 2 = C rezultat par. Dac la o aruncare apare faa cu
numrul 3, sunt realizate evenimentele A i B .
Notnd prin mulimea tuturor rezultatelor posibile ale unui experiment
i prin ( ) P mulimea tuturor prilor lui , evenimentele aleatoare sunt elemente
ale lui ( ) P .
n mulimea a evenimentelor asociate unui experiment se pot introduce trei
operaii corespunztoare operaiilor logice sau, i, non. Fie B A, .
a) A sau B este evenimentul care se realizeaz dac i numai dac se realizeaz cel
puin unul dintre evenimentele A sau B . Acest eveniment se noteaz prin B A
i se va numi reuniunea evenimentelor A i B ;
b) A i B este evenimentul care se realizeaz dac i numai dac se realizeaz
ambele evenimente A i B , numit intersecia acestor evenimente i notate prin
B A ;
c) non A, este evenimentul care se realizeaz dac i numai dac nu se realizeaz
A. Acest eveniment l vom numi contrar lui A i se noteaz
C
A .
Dac fiecrui eveniment i atam mulimea de probe prin care se realizeaz,
atunci operaiile dintre evenimente revin la operaiile respective dintre mulimile de probe
corespunztoare, ceea ce justific notaiile a), b), c). Rezultatele operaiilor cu evenimente
sunt tot evenimente ataate experimentului respectiv.
101
Dac = B A , deci A i B nu se pot realiza simultan, spunem c A i
B sunt evenimente incompatibile.
n mulimea a evenimentelor asociate unui anumit experiment, exist dou
evenimente cu o semnificaie deosebit i anume: evenimentele
C
A A = i
C
A A = . Primul const n producerea evenimentului A sau n producerea
evenimentului
C
A ceea ce are loc evident, ntotdeauna, prin urmare, acest eveniment nu
depinde evenimentul A, n sensul c
C C
B B A A = = , B fiind eveniment din
mulimea . Este natural s numim evenimentul , evenimentul sigur. Evenimentul
const n producerea evenimentului A i n producerea evenimentului
C
A ceea ce nu
poate avea loc niciodat. Acest eveniment se va numi eveniment imposibil.
Fie evenimentele B A, . Spunem c evenimentul A implic evenimentul
B i scriem B A , dac atunci cnd se realizeaz A se realizeaz n mod necesar B .
Dac avem simultan B A i A B , atunci evenimentele A i B sunt
echivalente i notm A=B (aceasta revine la egalitatea mulimilor de probe care
corespund evenimentelor).
Implicaia dintre evenimente este o relaie de ordonare parial n mulimea
evenimentelor i corespunde relaiei de incluziune din algebrele Boole.
Definiie. Un eveniment A este compus dac exist dou evenimente
C B, , A B , A C astfel ca C B A = . n caz contrar evenimentul este
elementar.
Atomii algebrei Boole a evenimentelor se numesc evenimente elementare ale
cmpului (notate ), evenimentul sigur e iar evenimentul imposibil .
Dac mulimea conine un numr finit de evenimente elementare,
{ }
n
= ,..., ,
2 1
atunci un eveniment este o parte a lui i deci va conine i el
un numr finit (r<n) de evenimente elementare. n acest caz mulimea evenimentelor
este chiar ( ) P , n general ns avem ( ) P i se bucur de proprieti analoge
cu ale lui ( ) P .
Analiza unui numr mare de experimente aleatoare a condus la concluzia
urmtoare:
Axiom. Mulimea evenimentelor asociate unui experiment constituie o algebr
Boole.
Definiie. Algebra Boole a evenimentelor asociate unui experiment se numete
cmpul de evenimente al experimentului respectiv.
Deci cmpul de evenimente va fi o mulime nzestrat cu un corp de
evenimente , i se va nota prin { } , .
Definiie. Vom numi corp borelian de evenimente ( - cmp) o mulime
nzestrat cu un cmp borelian ( - cmp) de evenimente i se va nota, de asemenea,
prin { } , .


102
Exemplu. O urn conine 20 de bile numerotate de la 1 la 20. Se extrage o bil
i i reinem numrul. Se cere:
a) S se scrie evenimentul sigur.
b) Fie evenimentele: A - rezultatul este par; B- rezultatul este multiplu de 5 i C -
rezultatul este o putere a lui 2. S se scrie evenimentele B A , B A ,
C
A . S
se arate implicaiile dintre evenimente. Care evenimente sunt incompatibile?
R.: a) = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}.
b) B A - rezultatul este par sau multiplu de 5; B A - rezultatul este
multiplu de 10;
C
A - rezultatul este impar; CA i C B =
Vom da cteva proprieti ale evenimentelor elementare:
(E1) Fie A un eveniment elementar i B un eveniment oarecare.
Dac A B , atunci = B sau A B = .
(E2) Condiia necesar i suficient ca un eveniment A , A s fie
elementar este s nu existe un eveniment B , B cu A B .
(E3) Condiia necesar i suficient ca un eveniment A s fie elementar
este ca pentru orice eveniment B s avem = B A sau A B A = .
(E4) Dou evenimente elementare distincte sunt incompatibile.
(E5) ntr-o algebr finit de evenimente pentru orice eveniment compus
B , exist un eveniment elementar A, B A .
(E6) Orice eveniment dintr-o algebr finit de evenimente se poate scrie
sub firm unic, ca o reuniune de evenimente elementare.
(E7) ntr-o algebr finit de evenimente, evenimentul sigur este reuniunea
tuturor evenimentelor elementare.

II.2. Probabilitate pe un cmp finit de evenimente

S considerm o urn U care conine n bile, dintre care m albe i nm negre (bile
difer numai prin culoare). Se extrage la ntmplare o bil. Avem n evenimente
elementare. Fie A evenimentul bila extras s fie alb. Acest eveniment se poate realiza
prin m probe, n m .
Definiie. Se numete probabilitatea evenimentului A raportul dintre numrul
cazurilor favorabile realizrii lui A i numrul cazurilor egal posibile.
Deci:
n
m
A P = ) ( . (2.1.)
Aceasta este definiia clasic a probabilitii. Ea se poate folosi numai n
experimente cu evenimente elementare egal posibile.
S considerm acum o urn care conine n bile dintre care
1
a bile de culoarea
1
c ;
2
a
bile de culoarea
s
a c ;...;
2
bile de culoarea
s
c ; deci
n
a a a n + + + = ...
2 1
. Bilele difer ntre
ele numai prin culoare. Se extrage o bil din urn. n acest caz extracia unei bile este eveniment
elementar. Probabilitatea extragerii unei bile de culoare l va fi dat de definiia clasic a
probabilitii.
103
n
a
P
1
=
deci eveniment favorabil este extracia unei bile de culoare l.
Un eveniment oarecare al cmpului este apariia uneia din bile avnd culoarea
r
l l l
c c c ,..., ,
2 1
notat A, iar
n
a a a
A P
r
l l l
+ + +
=
...
) (
2 1

De aici rezult c:
1. probabilitatea fiecrui eveniment este o funcie de acest eveniment, avnd valori
pozitive;
2. probabilitatea evenimentului sigur este 1; ( ) 1
n
a ... a a
P
s 2 1
=
+ + +
= ;
3. dac
2 1
A A A = cu =
2 1
A A atunci ( ) ( )
2 1
) ( A P A P A P + = ;
4. evenimentele elementare sunt egal probabile (au probabiltatea
n
1
).
Se observ c experimentul extraciei dintr-o urn poate fi interpretat cu ajutorul
a dou cmpuri de evenimente; cmpul considerat mai sus pentru care eveniment
elementar este extracia unei bile i un alt cmp, ( ) ( ) P , pentru care eveniment
elementar este extracia unei bile de culoare l, ( s l ,..., 2 , 1 = ). Funcia P(A) care
reprezint probabilitatea unui eveniment oarecare din are proprietile 1, 2, 3 dar nu
verific, n general, proprietatea 4 deoarece evenimentele elementare din nu au
probabiliti egale, dect pentru
s
n n n = = = ...
2 1
.
Deci, n cazul unui cmp finit de evenimente { } , , o probabilitate pe acest
cmp o vom defini astfel:
Definiie. Se numete probabilitate pe , o aplicaie R P : care satisface
urmtoarele axiome:
(1) 0 ) ( A P pentru orice A ;
(2) ( ) 1 = P ;
(3) ( ) ( ) ( )
2 1 2 1
A P A P A A P + = pentru orice
2 1
, A A cu =
2 1
A A .
Proprietatea (3) se extinde prin recuren la orice numr finit de evenimente
incompatibile dou cte dou. Deci, dac =
j i
A A , j i , n j i ,..., 1 , = , atunci:
( )

= =
=
|
|
.
|

\
|
n
1 i
i
n
1 i
i
A P A P

.
Definiie. Numim cmp de probabilitate finit, un cmp finit de evenimente
{ } , nzestrat cu o probabilitate P, notat { } P , , .
Din regula de adunare a probabilitilor deducem c pentru a cunoate
probabilitile tuturor evenimentelor A este suficient s cunoatem probabilitile
evenimentelor elementare
i
; r i 1 , care alctuiesc mulimea finit
104
{ }
r
= ,...,
1
, deoarece dac notm { } ( )
i i
p P = , r i 1 i dac
{ } { }
k
i i
A = ...
1
atunci
{ } { } ( ) { } ( ) { } ( )
k
i i
k
i i
k
i i
p p P P P A P + + = + + = = ... ... ... ) (
1 1 1
.
Deci, un cmp finit de probabilitate este complet caracterizat de numerele
nenegative
r
p p p ,..., ,
2 1
cu . 1 p
r
1 i
i
=

=

Dac
r
p p = = ...
1
atunci ( )
r
k
= A P unde k reprezint numrul de evenimente
elementare care intr n compunerea evenimentului A (evenimente elementare favorabile
evenimentului A). Se ajunge astfel la definiia clasic a probabilitii.
Din definiia probabilitii rezult urmtoarele proprieti:
(P1) Pentru orice A , ( ) ) ( 1 A P A P
C
= .
(P2) Avem ( ) 0 = P .
(P3) Pentru orice A avem 1 ) ( 0 A P .
(P4) Pentru orice
2 1
, A A cu
2 1
A A avem ( ) ( )
2 1
A P A P .
(P5) Pentru orice
2 1
, A A avem
( ) ( ) ( )
2 1 2 1 2
A A P A P A A P = .
(P6) Dac
2 1
A A ,
2 1
, A A , atunci
( ) ( ) ( )
1 2 1 2
A P A P A A P = .
(P7) Avem ( ) ( ) ( ) ( )
2 1 2 1 2 1
A A P A P A P A A P + = , oricare ar fi

2 1
, A A .
(P8) ( ) ( ) ( )
2 1 2 1
A P A P A A P + , oricare ar fi
2 1
, A A .
(P9) Dac ( )
n i i
A
1
,
( ) ( ) ( ) ( )
1
1 1 1
... 1
n n n
n
i i i j i j k i
i i j i j k i i
P A P A P A A P A A A P A

= < < < = =


| | | |
= + + +
| |
\ . \ .



.
(P10) Fie evenimentele ( )
n i i
A
1
cu ( ) 0 ...
1 1

n
A A P , atunci:
( ) ( ) ( ) ( ) ( ) ( )
1 2 1 3 1 2 1 1
1
... ...
n
k n n
k
P A P A P A A P A A A P A A A

=
| |
=
|
\ .

.









105
II.3. cmp de probabilitate

Definiie. Fie { } , un cmp de evenimente. Numim probabilitate pe
cmpul { } , , o funcie numeric pozitiv P, definit pe dac:
1. ( ) 1 = P ,
2. ( )


=
|
|
.
|

\
|
I i I i
i
A P A P
1
pentru orice familie numrabil de evenimente
( )
I i i
A , incompatibile dou cte dou.
Observm c probabilitatea este o msur pentru care ( ) 1 = .
Deci un cmp de probabilitate, va fi un cmp de evenimente { } , ,
nzestrat cu o probabilitate; el se va nota cu { } P , , .
Proprietile probabilitii amintite pentru un cmp finit de probabilitate se
extind i la cmpurile de probabilitate. n plus, dac { } P , , este un cmp de
probabilitate avem urmtoarele proprieti:
(P11) Pentru orice ir de evenimente ( )

*
N n n
A pentru care
n n
A A
+1

(descendent), avem: ( )
|
|
.
|

\
|
=



*
lim
N n
n
n
P A P i pentru orice ir de evenimente
( )

*
N n n
A pentru care
n n
A A
+1
(ascendent),
avem: ( )
|
|
.
|

\
|
=



*
lim
N n
n n
n
A P A P .
(P12) ( ) ( ) ( )
n
n
n
n
n
n
n
n
A P A P A P A P



|
.
|

\
|
lim lim lim lim pentru orice ir
( )

*
N n n
A .
(P13) Dac irul ( )

*
N n n
A este 0convergent (
n
n
n
n
A A


= lim lim ) atunci
( ) ( )
n
n
n
n
A P A P

= lim lim (proprietatea de continuitate secvenial a
probabilitii).
(P14) ( )



|
|
.
|

\
|
* *
N n
n
N n
n
A P A P

pentru orice ir ( )

*
N n n
A .






106
II.4. Evenimente independente. Probabilitate condiionat

Definiie. Evenimentele A, B ale cmpului de probabilitate { } P , , sunt P
independente dac:
( ) ) ( ) ( B P A P B A P = (2.2)
Se poate arta cu uurin c dac evenimentele B A, sunt Pindependente
atunci perechile de evenimente
C
B A, ; B A
C
, i
C C
B A , sunt Pindependente.
Definiie. Evenimentele ( )
n i i
A
1
sunt Pindependente m cte m dac
pentru m h i n i i i
h
< < < ... 1
2 1
avem:
( ) ( ) ( ) ( )
h
i i i
h
i i
A P A P A P A A P ... ...
2 1 1
=
(2.3.)
Dac n m = evenimentele sunt Pindependente n totalitatea lor.
Definiie. Spunem c evenimentele ( )

*
N n n
A sunt Pindependente dac
orice numr finit de evenimente din acest ir sunt P-independente.
Definiie. Fie { } P , , un cmp de probabilitate i B A, cu
0 ) ( B P . Numim probabilitate a evenimentului A condiionat de evenimentul B,
raportul
( ) B A P
B P
B A P
=
) (
) (

(2.4.)
Notm i ( ) ) ( A P B A P
B
= .
Tripletul ( )
B
P , , este un cmp de probabilitate dac { } P , , este un
cmp de probabilitate. (Se verific cu uurin axiomele din definiia probabilitii).
Definiie. Numim sistem complet de evenimente o familie cel mult numrabil
de evenimente ( )
I i i
A

cu =
j i
A A pentru orice j i , I j i , i
=

I i
i
A .
Formula probabilitii totale. Fie ( )
I i i
A un sistem complet de
evenimente cu ( ) 0
i
A P , I i . Pentru A , avem:
( ) ( )

=
I i
i i
A A P A P A P ) (
(2.5.)









107
Formula lui Bayes (sau teorema ipotezelor). Fie un sistem complet de
evenimente ( )
I i i
A . Probabilitile acestor evenimente (ipoteze) sunt date nainte
de efectuarea unui experiment. Experimentul efectuat realizeaz un alt eveniment A. S
artm cum realizarea evenimentului A schimb probabilitile ipotezelor. Trebuie s
determinm deci probabilitile ( ) A A P
i
pentru fiecare ipotez
i
A , I i . Avem:
( )
( ) ( )
( ) ( )

=
I i
i i
i i
i
A A P A P
A A P A P
A A P
(2.6.)
Inegalitatea lui Boole. Fie { } , , un cmp de probabilitate i
I i i
) (A
o mulime cel mult numrabil de evenimente. Dac

I i
i
A

atunci:
( )



|
|
.
|

\
|
I i
C
i
I i
i
A P A P 1

(2.7.)

III. VARIABILE ALEATOARE. CARACTERISTICI NUMERICE.
FUNCIE DE REPARTIIE

Una din noiunile fundamentale ale teoriei probabilitilor este aceea de variabil
aleatoare.
Evenimentele unui cmp de probabilitate nu sunt, principial, mrimi n nelesul
atribuit acestora n tiinele naturale sau tehnic; ele se descriu ns cu ajutorul unor mrimi
avnd valori reale i care, n general, sunt rezultatul unor msurtori. Principalul merit al
actualei sistematizri a calcului probabilitilor const n definirea variabilelor aleatoare, deci a
mrimilor pe care ni le prezint experimentul direct, sau teoriile destinate s-l interpreteze.
Dac nelegem prin variabil aleatoare o funcie real definit pe mulimea
evenimentelor elementare asociate experimentului considerat vom putea ilustra prin
exemple tipice pentru teoria probabilitilor cum se trece de la un eveniment la o variabil
aleatoare i anume:
Exemplu. S considerm un experiment care are ca rezultat evenimentul A. n
locul evenimentul A putem considera variabila aleatoare care ia valoarea 1 dac s-a
realizat A i 0 dac s-a realizat
C
A . Am definit o variabil aleatoare bernuollian cu
dou valori (variabil indicatoare a evenimentului A) prin relaia:
( )
C
1 dac A
0 dac A


n practic este de multe ori mai comod ca n locul evenimentelor s utilizm
variabilele aleatoare indicatoare care le sunt asociate.





108
III.1. Variabile aleatoare discrete

Fie { } , , un cmp de probabilitate i ( ) A
I i i

un sistem complet
(finit sau numrabil) de evenimente. Sistemul numeric ( )
i i
A P p = , I i , se numete
distribuia cmpului de probabilitate.
Definiie. Numim variabil aleatoare discret o funcie definit pe mulimea
evenimentelor elementare cu valori reale dac:
1. ia valorile
i
x , I i ;
2. ( ) { } =
i
x , I i .
O variabil aleatoare discret pentru care I este finit se numete variabil
aleatoare simpl.
Schematic variabila aleatoare se noteaz prin:
I i
i
i
p
x

|
|
.
|

\
|
: , 1
1
=

I i
p . (3.1.)
Tabloul (3.1) se numete distribuia sau repartiia variabilei aleatoare .
Numrul produselor defecte dintr-un lot examinat, numrul de defeciuni care
apar ntr-o anumit perioad de funcionare a unui dispozitiv, indicatorul unui eveniment
A sunt variabile aleatoare discrete.
Faptul c 1 p
I i
i
=

ne sugereaz ideea c aceast sum se repartizeaz ntr-un


anumit mod ntre aceste valori
i
x , deci din punct de vedere probabilistic o variabil
aleatoare este complet determinat dac se d o astfel de repartiie. Vom stabili o astfel de
lege de repartiie.
Una din formele cele mai simple n care putem reprezenta o astfel de lege este
forma schematic (3.1) sau sub forma unui tabel.
x
i
x
1
x
2
... x
I
... x
n

p
i
p
1
p
2
... p
I
... p
n

iar o alt form este cea grafic lund pe axa absciselor valorile x
i
iar pe axa ordonatelor
probabilitile corespunztoare. Putem obine unind aceste puncte poligonul de repartiie

109
sau diagrama n batoane


III.2. Momentele unei variabile aleatoare discrete

Momentele unei variabile aleatoare discrete sunt valorile tipice cele mai frecvent
utilizate n aplicaii.
Definiie. Fie o variabil aleatoare discret care ia valorile
i
x cu
probabilitile
i
p , I i . Dac seria

I i
i i
p x este absolut convergent, expresia:
( )

=
I i
i i
p x M
(3.2.)
se numete valoare medie a variabilei aleatoare discrete .
Dac este o variabil aleatoare simpl care ia valorile
n
x x ,...,
1
cu
probabilitile
n
p p ,...,
1
atunci valoarea medie va fi:
( )

=
=
n
i
i i
p x M
1
(3.2'.)
Vom da n continuare cteva proprieti ale valorilor medii:
(P1) Dac i sunt dou variabile aleatoare discrete definite prin (3.2.) i dac
( ) M i ( ) M exist, atunci exist valoarea medie ( ) + M M(+) i
avem:
( ) ( ) ( ) + = + M M M (3.3.)
Prin recuren, se obine:
(P2) Fie
k
, ( n k ,..., 1 = ) n variabile aleatoare discrete. Dac ( )
k
M
( n k ,..., 1 = ) exist, atunci |
.
|

\
|

=
n
1 k
k
M exist i
( )

= =
= |
.
|

\
|

n
k
k
n
k
k
M M
1 1
(3.4.)
110
(P3) Fie o variabil aleatoare discret i c o constant. Dac ( ) M exist,
atunci ( ) c M exist i avem
( ) ( ) = cM c M
(3.5.)
(P4) Fie
k
, ( n k ,..., 1 = ) n variabile discrete i
k
c , ( n k ,..., 1 = ), n
constante. Dac ( )
k
M , ( n k ,..., 1 = ) exist, atunci |
.
|

\
|

=
n
1 k
k k
c M exist i
( )

= =
= |
.
|

\
|

n
i
k k
n
i
k k
M c c M
1 1
(3.6.)
(P5) Valoarea medie a variabilei aleatoare ( ) = M este nul. ( se numete
abaterea variabilei aleatoare ).
(P6) Inegalitatea lui Schwarz. Fie i dou variabile aleatoare discrete pentru
care exist ( )
2
M i ( )
2
M . Avem:
( ) ( ) ( )
2 2
M M M (3.7.)
(P7) Dac i sunt dou variabile aleatoare discrete independente i dac
( ) M i ( ) M exist, atunci ( ) M exist i
( ) ( ) ( ) = M M M
(3.8.)
Definiie. Fie o variabil aleatoarea discret i r un numr natural. Dac
exist valoarea medie a variabilei aleatoare
r
, atunci aceast valoare medie se
numete moment de ordin r al variabilei aleatoare i se noteaz:
( ) ( )

= =
k
k
r
k
r
r
p x M
(3.9.)
Valoarea medie a variabilei aleatoare
r
se numete moment absolut de
ordin r al variabilei aleatoare i se noteaz:
( ) ( )

= =
k
k
r
k
r
r
p x M
(3.10.)
Definiie. Dat o variabil aleatoare discret , momentul de ordinul r al
variabilei aleatoare abatere a lui se numete moment centrat de ordinul r a lui i
se noteaz
( ) ( ) ( ) = M
r r
(3.11.)
Momentul centrat de ordinul doi a variabilei aleatoare discrete se numete
dispersie sau varian i se noteaz prin ( )
2
D sau
2
, deci:
( ) ( ) = =
2
2 2
D (3.12.)
Numrul ( ) ( ) = =
2
D se numete abatere medie ptratic a lui .
111
Vom da n continuare cteva proprieti ale dispersiei i ale abaterii medii
ptratice:
(D1) Are loc egalitatea:
( ) ( ) ( ) | |
2 2 2
= M M D (3.13.)
(D2) Dac b a + = cu a i b constante, atunci ( ) ( ) = D a D .
(D3) Fie ( )
n k k

1
, n variabile aleatoare discrete dou cte dou independente i
n
c c ,...,
1
, n constante. Avem:
( )

= =
= |
.
|

\
|

n
k
k k
n
k
k k
D c c D
1
2 2
1
2
(3.14.)
(D4) Inegalitatea lui Cebev. Fie o variabil aleatoare. Are loc inegalitatea:
( ) ( ) { } ( )
( )
2
2


<
D
M P (3.15.)
pentru orice 0 > .

III.3. Variabile aleatoare de tip continuu

Fie { } P , , un cmp de probabilitate.
Definiie. Se numete variabil aleatoare o funcie R : (definit pe
mulimea evenimentelor elementare cu valori reale), astfel nct toate mulimile de forma
( ) { } x A
x
< = aparin lui pentru orice R x .
Vom da n continuare cteva proprieti ale variabilelor aleatoare:
(P1) Fie o variabil aleatoare i c o constant; atunci c + ; c ; ;
2
;

1
cu
0 sunt variabile aleatoare.
(P2) Fie i dou variabile aleatoare; atunci ( ) ( ) { } > ,
( ) ( ) { } , ( ) ( ) { } = .
(P3) Dac i sunt dou variabile aleatoare atunci , + , ,


dac: 0 , { } , sup , { } , inf sunt de asemenea variabile aleatoare.
Teorema 1. Dac este o variabil aleatoare nenegativ, exist un ir
cresctor ( ) *
N n n
de variabile aleatoare simple, nenegative, care converge ctre .
Teorema 2. Dac ( ) *
N n n
este un ir de variabile aleatoare atunci { }
n
N n

*
sup ,
{ }
n
N n

*
inf ,
n
n


lim ,
n
n


lim sunt de asemenea variabile aleatoare.
112
Definiie. Vom spune c variabilele aleatoare
n
,...,
1
sunt independente
dac pentru toate sistemele reale
n
x x ,...,
1
avem:
( ) ( ) ( )
n n n n
x P x P x x P < < = < < ... ,...,
1 1 1 1
.

III.4. Funcie de repartiie

Definiie. Se numete funcie de repartiie a variabilei aleatoare , funcia:
( ) { } ( ) x P x F < = ) ( (3.16.)
definit pentru orice R x .
Din aceast definiie rezult c orice variabil aleatoare poate fi dat prin
intermediul funciei sale de repartiie.
Dac este o variabil aleatoare discret cu ( )
n n
x P p = = , I n , atunci
din (3.16.) rezult:

<
=
n
x x
n
p x F ) (
(3.17.)
i se numete funcie de repartiie de tip discret. Rezult c n acest caz F este o funcie
n scar, adic ia valori constante pe intervalele determinate de punctele
i
x ( I i ).
Teorema 3. Funcia de repartiie a unei variabile aleatoare are urmtoarele
proprieti:
1. ( ) ( )
2 1
x F x F dac
2 1
x x < ; R x x
2 1
, .
2. ( ) ) ( 0 x F x F = pentru orice R x .
3. 0 ) ( lim =

x F
n
.
4. 1 ) ( lim =
+
x F
x
.
Teorema 4. Orice funcie ) (x F monoton, nedescresctoare, continu la stnga
i cu ( ) 0 = F , ( ) 1 = + F este funcia de repartiie a unei variabile aleatoare definit
pe un cmp de probabilitate convenabil ales.
Teorema 5. Fie o variabil aleatoare a crei funcie de repartiie este
) (x F . Fie a i b dou numere reale cu b a < . Au loc egalitile:
1. ( ) ) a ( F ) b ( F b a P = <
2. ( ) ) a ( P ) a ( F ) b ( F b a P = = < <
3. ( ) ) b ( P ) a ( P ) a ( F ) b ( F b a P = + = = <
4. ( ) ). b ( P ) a ( F ) b ( F b a P = + =





113
Definiie. Fie o variabil aleatoare a crei funcie de repartiie este ) (x F .
Dac exist o funcie real definit i integrabil pe R aa nct:


=
x
du u f x F ) ( ) ( , (3.18.)
atunci ) (x F se numete funcie de repartiie absolut continu, iar se numete
variabil aleatoare absolut continu. Funcia (x) se numete densitate de probabilitate
(repartiie), iar expresia (x)dx se numete lege de probabilitate elementar.
Densitatea de probabilitate are urmtoarele proprieti:
1. 0 ) ( x f pentru orice R x .
2.

+

=1. (u)du
3. Pentru orice b a < reali are loc relaia:
P(a < b) = ( )

= <
b
a
b a P (x)dx

III.5. Momentele unei variabile de tip continuu

Fie { } P , , un cmp de probabilitate i o variabil aleatoare a crei
funcie de repartiie este ) (x F . Fie ) (x f densitatea de repartiie a variabilei
aleatoare .
Definiie. Se numete valoare medie a variabilei aleatoare expresia:
( )



= = dx x xf x xdF M ) ( ) ( (3.19.)
Definiie. Se numete moment de ordinul r, N r , al variabilei aleatoare
continue , expresia:
( ) ( )



= = = dx x f x x dF x M
r r
r r
) ( ) ( (3.20.)
iar expresia:
( ) ( )



= = = dx x f x x dF x M
r r
r r
) ( ) ( (3.21.)
se numete moment absolut de ordin r al variabilei aleatoare .
n acelai mod n care s-au definit momentul centrat de ordinul r, dispersia,
abaterea medie ptratic n cazul variabilelor aleatoare discrete, se definesc i pentru
variabile aleatoare de tip continuu. Proprietile valorii medii i ale dispersiei date pentru
variabile aleatoare de tip discret se menin pentru variabile aleatoare de tip continuu. n
aplicaii se ntlnesc i urmtoarele caracteristici:
Asimetria i excesul. Se numesc asimetrie, A
s
, i exces, E, numerele:
( )
( )

=
3
2
3
s
A ;
( )
( )

=
2
2
4
E
(3.22.)
dac momentele respective exist.
114
Definiie. Se numete moment centrat n a de ordinul r al variabilei aleatoare
, momentul de ordinul r al variabilei aleatoare a , iar momentele
r
a se
numesc momente absolute centrate n a de ordinul r.
Din definiie rezult urmtoarele proprieti:
(P1) Dac e o variabil aleatoare cu ( ) m M = i ( ) = D , are loc
inegalitatea:
2

m M (3.23.)
(P2) Dac i sunt dou variabile aleatoare independente care au aceeai
funcie de repartiie F i este un numr real oarecare, au loc inegalitile:
( ) ( )

P M P
2
1
(3.24.)
( ) ( )
|
.
|

\
|


2
2
2
1
P P M P (3.25.)
pentru orice 0 > , cu

M mediana variabilei aleatoare .


Din definiia medianei rezult c n cazul unei variabile aleatoare de tip
continuu, mediana este unic determinat de egalitatea:

= =
x
x
2
1
(x)dx (x)dx .
Din punct de vedere geometric, mediana este abscisa punctului prin care trece
paralela la axa Oy, care mparte n dou pri egale aria limitat de curba de ecuaie
) (x f y = i axa Ox.
Inegalitatea lui Markov. Fie o variabil aleatoare pozitiv a crei valoare
medie este finit. Pentru orice 1 > avem:
( ) ( )


1
M P . (3.26.)

IV. REPARTIII PROBABILISTICE CLASICE

IV.1. Repartiii de tip discret

n multe aplicaii practice ale teoriei probabilitilor ntlnim cazuri n care un
experiment sau mai multe experimente analoage se repet de un numr de ori, fiecare din
ele ducnd la realizarea sau la nerealizarea unui anumit eveniment. Ceea ce intereseaz
este numrul de realizri ale evenimentului ntr-o serie de experimente. Experimentele
pot fi efectuate n aceleai condiii sau n condiii diferite.




115
Teorema particular a experimentelor repetate. Se fac n experimente
independente, n fiecare din ele un eveniment A se poate realiza cu probabilitatea p i nu
se realizeaz cu probabilitatea p q =1 . S se determine probabilitatea ca n cele n
experimente evenimentul A s se realizeze exact de m ori.
Avem:
m n m m
n n m
q p C P

=
,
(4.1.)
Probabilitile
n m
P
,
au forma termenilor din dezvoltarea binomului ( )
n
q p + .
Din aceast cauz cmpul de evenimente din aceast schem probabilizat dup regula
(4.1.) se numete cmp binominal (este clar c evenimentele elementare ale cmpului
asociat experimentului pot fi considerate ca elemente ale produsului cartezian
= ...
n
).
Aceast schem probabilistic a fost cercetat n mod deosebit de J. Bernoulli,
de aceea se mai numete i schema lui Bernoulli.
Teorema general a experimentelor repetate. Presupunem c se fac n
experimente independente, n fiecare din ele un eveniment A se poate realiza cu
probabilitatea
i
p , n i ,..., 2 , 1 i nu se realizeaz cu probabilitatea
i i
p q =1 . S se
determine probabilitatea ca n cele n experimente evenimentul A s se produc exact de
m ori. Cu notaiile fcute la schema binominal avem (4.1.), de unde:
, 1 1 1 1 1 2 1 1
... ... ... ... ... ...
m n m m n m m m m n n m n m n
P p p q q p p q p q q q q p p
+ + + +
= + +
Avem:
( )

= +
=
m
n m
n
i
i i
z P q z p
,
1
(4.2.)
cu

=
=
n
0 m
n m,
1 P .

Repartiia Poisson de parametru

S presupunem c n repartiia binominal (4.2.) lum = np (const.). S
determinm n acest caz valorile probabilitilor pentru n .
Avem:

= e
k
p
k
k
!
(4.3.)
i
1 e e
k!

e p

0 k
k

0 k
k
= = =

=

,
deci probabilitile definite prin (4.3.) sunt termenii unei repartiii:


116
Definiie. Repartiia determinat prin probabilitile (4.3.) se numete repartiie
Poisson de parametru , iar variabila aleatoare
|
|
.
|

\
|


2

e
k!

e
2!

e
1!

e
k 2 1 0
:
se numete variabil aleatoare Poisson.
Repartiia Poisson este denumit legea evenimentelor rare, datorit proprietii
sale de a aproxima o repartiie binomial cnd numrul experimentelor n este foarte mare
iar probabilitatea de apariie a evenimentului considerat este foarte mic.

Schema polinomial

O urn conine bile de culorile
s
c c ,...
1
n proporii cunoscute; deci cunoatem
probabilitatea
i
p de apariie ntr-o extracie, a unei bile de culoarea
i
c , s i ,..., 1 = . Se
fac n extracii a cte o bil, cu condiia ca la fiecare extracie urna s aib aceeai
compoziie. Fie

A evenimentul ca n extraciile efectuate s apar


i
bile de culoarea
i
c , ( s i ,..., 1 = ), deci ( )
s
= ,...,
1
. Probabilitatea acestui eveniment este:
( )
s
s
s
p p p
n
A P


= ...
! !... !
!
2
2
1
1
2 1
.
(4.4.)
Aceast probabilitate se mai noteaz cu ( )
s
n P ,..., ;
1
.

Schema bilei nerevenite

Se consider o urn cu urmtoarea structur:
1
a bile de culoarea
1
c ;
2
a bile de
culoarea
s
a c ;...;
2
bile de culoarea
s
c . Se fac n extracii fr a repune bila extras napoi
n urn (experiena este echivalent cu extragerea a n bile deodat). Fie

A evenimentul
aleator apariia a exact
k
, ( s k ,..., 1 = ) bile de culoarea
k
c n grupul celor n bile
extrase unde ( )
s
= ,...,
1
,
k k
a 0 , n
s
1 k
k
=

=
. Avem:
( ) ( )
n
s
a a
s
s
a a a
s
C
C C C
n P A P
+ +

= =
...
1
2
2
1
1
1
...
,..., ; (4.5.)
Experimentul descris mpreun cu cmpul de evenimente asociat, probabilizat
dup regula dat, se numete schem hipergeometric sau schema bilei nerevenite.




117
IV.2. Repartiii de tip continuu

n cele ce urmeaz ne vom referi la repartiiile unidimensionale de tip continuu.
Fie { } , , un cmp de probabilitate, L mulimea variabilelor aleatoare
definite pe i F mulimea funciilor de repartiie. Vom presupune c pentru orice
F F exist variabila aleatoare L a crei funcie de repartiie este F.

Repartiia de densitate uniform

Definiie. Se numete funcie de repartiie uniform pe | | b a, , funcia de
repartiie a crei densitate de probabilitate este:
| |
| |

=
b a, x dac 0
b a, x dac
1
) (
a b
x f (4.6.)
Definiie. Variabila aleatoare se numete uniform pe | | b a, dac are
repartiie uniform pe | | b a, .

Legea normal

Legea de repartiie normal este o lege limit ntlnit frecvent n aplicaii
practice. Se poate arta c suma unui numr suficient de mare de variabile aleatoare
independente urmnd o lege oarecare, pentru suficient de puine restricii, tinde
ctre o lege normal.
Definiie. Se numete funcie de repartiie normal notat prin ( )
2
, ; m
funcia de repartiie definit prin densitatea de probabilitate:
( )
( )
2
2
2
2
2
1
, ,


=
m x
e m x f
(4.7.)
m i
2
fiind constante, numite parametrii repartiiei.
Graficul densitii ( )
2
, , m x f este cel din fig.4.1.

Fig. 4.1.
118
Funcia de repartiie este:
( ) ( )
( )



= =
x
m u
x
du e dx m x f m x
2
2
2
2 2
2
1
, , , ; .
(4.8.)
Vom nota ( ) dt e
2
1
x
x
2
t
2

= .
Variabila aleatoare se numete normal ( )
2
, m N dac are funcia de
repartiie ( )
2
, ; m . Pentru vom calcula caracteristicile numerice eseniale:
valoarea medie, dispersia i momentele centrate:
( ) ( )
( )

+

+

= = dx xe
2
1
dx m, x; xf M
2
2
2
m x
2

Rezult: M() = m, de unde: D
2
()=
2

Centrul de dispersie m este centrul de simetrie al repartiiei. Dac m i schimb
valoarea, curba de densitate se deplaseaz de-a lungul axei Ox fr a-i schimba forma.
Deci m caracterizeaz poziia repartiiei pe axa Ox. Parametrul caracterizeaz forma
curbei de densitate. Ordonata maxim a curbei este invers proporional cu .

Repartiia
2


Fie
v
,..., ,
2 1
, variabile aleatoare normale, normate, independente
( ( ) 1 , 0 N
i
). Suma ptratelor acestor variabile aleatoare este o variabil
aleatoare notat:
2 2
2
2
1
2

+ + + = . Aceast variabil aleatoare are


densitatea de repartiie
2
2
2
2
2
2
1
) (
x
v
v
e x
v
x f

|
.
|

\
|

= , | ) , 0 x
(4.9.)
(Reamintim c ( ) dx e x n
x n

=
0
1
este funcia gama a lui Euler, cu n un
parametru pozitiv).
Curba densitii de repartiie nu este simetric (fig. 4.2.) dar ea tinde s
devin simetric dac numrul gradelor de libertate crete (peste 30).
119

Fig. 4.2.

Repartiia Student

Fie
n
,..., ,
2 1
variabile aleatoare normale ( ) , 0 N , independente.
Variabila

=
n
i
i
n
t
1
1

(4.10.)
unde este o variabil aleatoare ( ) , 0 N , independent de irul ( )
n i 1 i
, este o
variabil aleatoare continu cu densitatea de repartiie.
2
1
2
1
2
2
1
1
) (
+

|
|
.
|

\
|
+
|
.
|

\
|

|
.
|

\
| +

=
s
s
x
s
s
s
x f , ( ) + , x (4.11.)
numit densitatea repartiiei Student, (dup pseudonimului matematicianului
W. Gosset), cu 1 = n s grade de libertate.
Curba teoretic a acestei densiti este cea din fig. 4.3.

Fig. 4.3.
Ea este asemntoare cu curba densitii normale, dar diferit. Dac s
repartiia variabilei Student tinde spre funcia Laplace ( ) n .
120
V. SISTEME DE VARIABILE ALEATOARE.
IRURI DE VARIABILE ALEATOARE. CONVERGEN

Definiie. Sistemul ( )
2 1
, se numete variabil aleatoare bidimensional
sau vector aleator cu 2 dimensiuni.

V.1. Sisteme de dou variabile aleatoare

Fie ( ) = , o variabil aleatoare cu 2 dimensiuni.
Definiie. Funcia ( ) ( ) { } ( ) y x P y x F < < = , ) , ( cu ( )
2
, R y x , se
numete funcie de repartiie a variabilei aleatoare .
Interpretnd sistemul ( ) , ca un punct aleator, funcia de repartiie ) , ( y x F nu este
altceva dect probabilitatea ca punctul aleator ( ) , s se gseasc n ptratul infinit cu vrful n
punctul ( ) y x, din fig. 5.1. Notnd cu
) (x F

i ) ( y F

funciile de repartiie ale variabilelor


aleatoare i , n aceeai interpretare
) (x F

reprezint posibilitatea ca punctul aleator s se


afle n semiplanul limitat de dreapta paralel cu Oy ce trece prin punctul de abscis x, la dreapta
dreptei, iar ) ( y F

reprezint probabilitatea ca punctul aleator s se gseasc n semiplanul


situat sub dreapta paralel cu Ox, ce trece prin punctul de ordonat y.

Fig. 5.1.
Vom da cteva proprieti analoage celor date pentru funciile de repartiie
unidimensionale:
(P1) F este nedescresctoare n raport cu fiecare argument;
(P2) F este continu la stnga n raport cu fiecare argument;
(P3) 0 ) , ( ) , ( ) , ( = = = F y F x F ;
(P4) ) ( ) , ( x F x F

= + ; ) ( ) , ( y F y F

= + ;
(P5) 1 ) . ( = + + F
n continuare vom nota simbolic ( ) D , evenimentul punctul aleator
( ) , se gsete n domeniul D. Probabilitatea acestui eveniment se exprim simplu
dac D este un dreptunghi ale crui laturi sunt paralele cu axele de coordonate. Fie
121
dreptunghiul D de vrfuri A(a,c); B(b,c); C(b,d); D(a,d). n acest caz evenimentul
( ) D , este echivalent cu { } { } d c b a < < , deci
( ) ( ) ) , ( ) , ( ) , ( ) , ( , c a F c b F d a F d b F D P + = (5.1.)
Dac exist o funcie real f definit i integrabil pe R
2
aa nct:
=


d du u f y x F
x y
) , ( ) , (
atunci f se numete densitatea de probabilitate (repartiie) a variabilei aleatoare cu 2
dimensiuni .
Fie , dou variabile aleatoare de tip continuu i ( ) , interpretat ca un
punct aleator n plan. Fie

R dreptunghiul de laturi x i y , avem:


( ) ( ) ( ) ( ) ( ) , , , , ( , ) P R F x x y y F x x y F x y y F x y

= + + + + + .
Avem:
y x
) y , x ( F
y x
) R ) , (( P
lim
2
0 x
0 y

=






Notm aceast derivat prin f(x, y):
y x
y x F
y x f

=
) , (
) , (
2
(5.2.)
ea fiind tocmai densitatea de probabilitate a variabilei aleatoare .
Avem:
( ) ( )

=
D
dxdy y x f D P ) , ( ,
(5.3.)
Densitatea de repartiie a lui este nenegativ, iar:

+

+

=1 dxdy ) y , x ( f

V.2. Caracteristici numerice ale sistemelor de dou variabile aleatoare.
Covarian. Coeficient de corelaie

Fie variabila aleatoare cu dou dimensiuni ( ) = ,
Definiie. Vom numi moment iniial de ordin k, s, al sistemului ( ) , .
( )
s k
,
M =
s k

Vom numi moment centrat de ordinul k, s al sistemului ( ) , numrul:
( ) ( ) ( ) | |
s
s k
= M - ) M( - M
k
,

Avem:

+

+

= dxdy y x f y x
s k
s k
) , (
,
(5.4.)
( ) ( ) ( ) ( )

+

+

= dxdy y x f M y M x
s k
s k
) , (
,
(5.5.)
122
formule care n cazul variabilelor aleatoare discrete devin:

=
i j
ij
s
j
k
i s k
p y x
,

(5.6.)
( ) ( ) ( ) ( )

=
i j
ij
s
j
k
i s k
p M y M x
,

(5.7.)
Avem:
( ) ( ) = = M M
0 1
0 , 1

( ) ( ) = = M M
1 0
1 , 0

Un rol important n teoria sistemelor de variabile aleatoare l are covariana.
Definiie. Numim corelaie sau covarian a variabilelor aleatoare ( ) ,
valoarea:
( ) ( ) ( ) ( ) ( ) ( ) = M M M , cov (5.8.)
Efectund calculul i innd seama de proprietile valorii medii rezult:
( ) ( ) ( ) ( ) = M M M , cov (5.8'.)
Covariana este o caracteristic a sistemului care descrie, pe lng dispersie,
legtura dintre ele. Se arat cu uurin c dac i sunt independente, covariana lor
este nul.
Pentru caracterizarea legturii dintre variabilele aleatoare i vom utiliza
coeficientul de corelaie.
Definiie. Se numete coeficient de corelaie al variabilelor aleatoare ,
raportul:
( )
( ) ( )

=

D D
r
, cov
,

(5.9.)
Proprieti ale coeficientului de corelaie
(P1) Fie ( ) ( ) 0 D D , atunci 0 r =

dac i numai dac variabilele i


sunt necorelate.
(P2) Pentru orice dou variabile aleatoare avem . 1 r
2
,



Definiie. Se numesc drepte de regresie ale variabilelor aleatoare ,
dreptele:
( )
( )
( )
( )
( )

=


2 2
, cov
D
M y
D
M x

(5.10.)
( )
( )
( )
( )
( )

=


2 2
, cov
D
M x
D
M y

(5.11.)





123
VI. FUNCII CARACTERISTICE UNIDIMENSIONALE

Fie { } P , , un cmp de probabilitate, o variabil aleatoare a crei
funcie de repartiie este F.
Definiie. Se numete funcie caracteristic a variabilei aleatoare aplicaia
C R

: definit de relaia
( )

+

= = ) ( ) ( x dF e e M t
itx it
(6.1.)
Dac este de tip discret i ia valorile ( )
I k k
x

,
*
N I cu probabilitile
( )
I k k
p

atunci (6.1.) devine:

=
I k
k
itx
k
e p t) (
(6.2.)
Dac este de tip continuu cu densitatea de repartiie , atunci (6.1.) devine:

= dx x f e t
itx
) ( ) ( (6.1'.)
Exemplu. Dac este o variabil aleatoare Poisson avem
|
|
.
|

\
|



e
! n
n
e
! 1
e
n 1 0
: , variabil este de tip discret, deci:
( ) 1
0 0
!
) (

=
=

= =

it
e
k
itk
k
k
k
k
itx
e e
k
e p e t (6.3.)
Vom da n continuare cteva proprieti ale funciei caracteristice:
(P1) 1 ) 0 ( = .
(P2) Pentru orice R t , ( ) 1 t .
(P3) ( ) ( ) t t = , pentru orice t R.
(P4) este uniform continu pe R.
(P5) Dac b a + = , R b a , atunci ) ( ) ( at e t
itb

= .
(P6) Funcia caracteristic a unei sume finite de variabile aleatoare independente
este egal cu produsul funciilor caracteristice corespunztoare termenilor.

VII. PROCESE MARKOV

Independena variabilelor aleatorii este o noiune avnd o conexiune slab
cu realizarea fenomenelor n raport cu dependena variabilelor. Adeseori ipoteza de
independen se dovedete o idealizare a faptelor reale. Dependena stochastic are
un coninut mai adecvat i mai corespunztor. Aceast dependen a fost studiat
ndeosebi sub forma enunat de matematicianul A. A. Markov.


124
Procese Markov depinznd de un parametru discret

Fie ( ) P , , un cmp probabilizate i ( )
i
i


un ir de variabile
aleatorii discrete. Pentru fiecare i exist o mulime cel mult numrabil
i
I pe
care este concentrat repartiia variabilei
i
.
Fie
i
i
I I

mulimea cel mult numrabil a valorilor tuturor variabilelor


i
( i ). Prin urmare, pentru fiecare I i , exist t astfel nct
( ) { } ( ) 0 > = i s s P
t
.
Un element I i se numete stare a procesului, deci I este mulimea
tuturor strilor procesului { }
t
t


.
Definiie. irul { }
t
t


are proprietatea Markov, dac pentru orice
2 n ,
n
t t < < ... 0
1
i orice I i i
n
,...,
1
, este satisfcut egalitatea
( ) { } ( ) ( ) { } ( )
( ) { } ( ) { } ( )
1
1
1
1
1
1
,...,

= = =
= = = =
n
n
t n
n
t
t n
n
t n
n
t
i s s i s s P
i s i s s i s s P
. (7.1)
Dac irul { }
t
t


are proprietatea Markov, se spune c formeaz un
proces Markov cu parametru discret.
Din definiia precedent rezult c
( ) { } ( ) ( ) { } ( )
( ) { } ( ) { } ( )
1 1
1 1 1 1
,...,


= = =
= = = =
n n n n
n n n n
i s s i s s P
i s i s s i s s P
(7.2)
pentru orice
*
n i I i i
n
,...,
1
.
Reciproc, din egalitatea (7.2) rezult proprietatea Markov pentru irul
{ }
t
t


.
Propoziia 1. Pentru orice m,
m n n
t t t
+
< < < < ... ... 0
1
i
I i i i
m n n

+
,..., ,...,
1
avem
( ) { } ( ) { } ( )
( ) { } ( ) { } ( )
1
1
,
1 1 , ,

= + = =
= = + =
n
n
t v
v
t
v
v
t v
v
t
i s s m n v n i s s P
n v i s s m n v n i s s P

(7.3)
S notm cu
t
cea mai mic algebr de pri ale spaiului S cu
proprietatea c

este ( ) B ,
t
msurabil, pentru orice t ; n particular,
0

este cea mai mic algebr cu proprietatea c
t
este ( ) B ,
0
msurabil
pentru orice t .
125
Corolar 1. Dac { }
t
t


este un procea Markov, atunci
( ) { } ( ) ( ) { } ( )
n
n
t v
v
t
i s A P n v i s A P = = = 1 , (7.4)
oricare ar fi
1 +

n
t
A .
n mod evident, funcia
1 , + t i
P definit prin egalitatea
( ) ( ) ( ) { } ( ) i s s I B P I B i P
t t t i
= =

+ +

1
1 1 ,
,
Este o probabilitate de trecere pe ( ) I I B .
Dac { }
t
t


este un procea Markov, atunci avem
( ) ( ) { } ( )
( ) { } ( ) ( ) { } ( ) { } ( )

=

< = = = =
= = =
n
t
t t
n n
t i s s i s s P i s s P
i s i s s P
1
0 0
0 0
0 ,
,...,

Definiie.
(i) Probabilitile ( ) { } ( ) i s s P p
i
= =
0
se numesc probabilitile iniiale
pentru procesul { }
t
t


.
(ii) Probabilitile ( ) ( ) { } ( ) { } ( )
1 1 ,
1

= = =
t t t t
t
i
t
i
i s s i s s P t p se numesc
probabilitile de trecere ale procesului { }
t
t


.
Cu notaiile din definiia precedent avem
( ) { } ( ) ( )

=

= =
n
t
t
i
t
i i t t
t p p n t i s s P
1
,
1 0
0 , . (7.5)
Definiie. Procesul Markov { }
t
t


se numete omogen, dac funcia
( ) t p
t
i
t
i ,
1
este independent de t , adic ( )
t
i
t
i
t
i
t
i
p t p
,
1
,
1
= .
Aadar, dac { }
t
t


este un proces omogen, avem
( ) { } ( )

=

= =
n
t
t
i
t
i i t t
p p n t i s s P
1
,
1 0
0 , . (7.6)
n acest caz este justificat notaia
( ) { } ( ) { } ( ) j s s i s s P p
t t ij
= = =
1

pentru probabilitile de trecere. Se spune c
ij
p este probabilitatea de trecere a
procesului { }
t
t


din starea i n starea j dup un pas (o unitate de timp).
Matricea ( )
I j i
ij
p

=
,
format cu probabilitile de trecere se mai
numete matricea de trecere a procesului { }
t
t


,
126
Propoziia 2. Probabilitile
i
p ( I i ) i probabilitile de trecere
ij
p
( I j i , ) satisfac relaiile
0
i
p , ( I i ), 1 =

I i
i
p ;
0
ij
p , ( I j i , ), 1 =

I j
ij
p .
n baza relaiilor (7.6) rezult c probabilitile
i
p ,
ij
p determin complet
funcia-probabilitate P pe ( ) , S ,
0
= fiind algebra generat de procesul
omogen { }
t
t


. n acest sens probabilitile iniiale i probabilitile de trecere
caracterizeaz un proces Markov.
Fie n continuare
( )
ij ij
p =
0
,
( )
ij ij
p p =
1
,
( ) ( ) ( )

+
=
I h
hj
n
ih
n
ij
p p p
1 1

(7.7)
Propoziia 3. Pentru fiecare v avem
( )
( ) { } ( ) { } ( ) i s s j s s P p
v n v
n
ij
= = =
+
(7.8)
oricare ar fi I j i , .
Observaie. S notm
( ) ( )
( )
I j i
n
ij
n
p

=
,
. Relaiile (7.7) arat c matricea
de trecere dup n pai,
( ) n
este chiar puterea a n-a a matricii .
Propoziia 4 (relaiile Chapman-Kolmogorov). Pentru orice , m n i
I j i , avem
( ) ( ) ( )

+
=
I h
m
hj
n
ih
m n
ij
p p p
(7.9)
Probabilittile
( )
( ) { } ( ) i s s P p
n
n
i
= = se numesc probabilitile absolute la
momentul n al procesului.
Propoziia 5. Pentru orice n i I i avem
( ) ( )

=
I j
n
ji j
n
i
p p p ,
( ) ( ) ( )

+
=
I j
ji
n
j
n
i
p p p
1 1

(7.10)
Definiie. Dac pentru fiecare I j i , irul
( )
( )
n
ij
n
p

are limit pentru


n tinznd la infinit, independent de i , procesul { }
t
t


se numete ergodic.
Teorema 1. Fie { }
t
t


un proces omogen avnd mulimea de stri I
finit. O condiie necesar i suficient ca procesul s fie ergodic este s existe un
numr
*
s i o stare I h astfel nct
( )
0 >
s
ih
p , oricare ar fi I i .
Corolar 1. Pentru orice m i I h avem
( ) ( ) ( )

=
h
I j
m
jh j
p p p .
(7.11)
127
Corolar 2. Avem
( )
0 >

j
p pentru orice I j dac i numai dac exist
*
s astfel nct
( )
0 >
s
ij
p pentru orice I j i , .
Corolar 3. Fie m numrul de stri ale lanului. Avem
( )
m
p
j
1
=

, I j
dac i numai dac 1 =

I i
ij
p pentru orice I j .
Comportarea asimptotic a probabilitilor de trecere dup n pai
constituie tema principal de cercetare a proceselor Markov cu parametru discret.
n aceast tem se ncadreaz studiul limitelor
( )

=

1
0
1
lim
n
v
v
ij
n
p
n
.
Teorema 2. Fie { }
t
t


un proces omogen cu mulimea strilor I finit
i fie
( ) n
ij
p probabilitile de trecere dup n pai. Pentru orice I j i , irul
( )
*
1
0
1
N n
n
v
v
ij
p
n

=
|
.
|

\
|

este convergent.
Fie
( ) ( )

=
1
0
1
lim
n
v
v
ij
n
ij
p
n
p . Sunt evidente egalitile
( )
1
ij
j I
p

,
( ) ( ) ( )

=
ij
I h
n
hj ih
p p p
oricare ar fi I j i , .
Dar cum se reflect structura procesului n limitele
( )
ij
p ? n continuare
vom da un rspuns la aceast ntrebare. Vom nota cu
( ) n
ij
f probabilitatea ca pentru
prima oar dup n pai procesul { }
t
t


s se afle n starea j . Dac la momentul
iniial, 0 = t , el s-a aflat n starea i :
( )
( ) ( ) { } ( ) { } ( ) i s s n v j s j s s P f
v n
n
ij
= = =
0
1 1 , , .
n cazul cnd { }
t
t


este omogen avem
( )
( ) ( ) { } ( ) { } ( ) i s s n v j s j s s P f
m v m m n
n
ij
= = =
+ +
1 1 , ,
oricare ar fi n.
Evident
( ) ( )
( )

=
=
ij
n
n
ij
f f
1
este probabilitatea ca procesul s treac cel puin
o dat n ntreaga lui desfurare prin starea j , dac la momentul iniial el s-a aflat
n starea i .
128
n mod natural, I i se numete stare de irevesibilitate a procesului dac
( )
1 =

ii
f . Se constat nemijlocit c
( ) ( ) ( ) n
ij
n
v
v n
ij
v
ij
p p f =

1
(7.12)
pentru orice I j i , .
Propoziia 6. Dac j este stare de ireversibilitate, atunci
( ) ( )
( )

= =
1
1
0
1 1
lim
n
n
jj
n
v
v
jj
n
jj
nf
p
n
p ,
( ) ( )
( )
( )

= =
1
1
1
0
1
lim
n
n
jj
n
n
ij
n
v
n
ij
n
ij
nf
f
p
n
p ( i ).
n caz contrar, limitele sunt zero.
Suma
( )

=1 n
n
jj
nf se numete timp mediu de revenire a procesului n starea
j . Aceast denumire este justificat de faptul c suma precedent d media
variabilei ale crei valori sunt momentele aleatorii n cu probabilitile
( ) n
jj
f .

BIBLIOGRAFIE

1. Ciucu, G., Simboan, G., Teoria probabilitilor i statistica matematic, Editura
Tehnic, Bucureti, 1962.
2. Leonte, A., Trandafir R., Clasic i actual n teoria probabilitilor, Editura Dacia,
Cluj-Napoca, 1974.
3. Mihoc, G., Ciucu, G., Craiu V., Teoria probabilitilor i statistic matematic,
Editura Didactic i Pedagogic, Bucureti, 1978.
4. Onicescu, O., Probabiliti i procese aleatoare, Editura tiinific i
Enciclopedic, Bucureti, 1977.
5. Smboan, G. .a., Teoria probabilitilor, Editura Didactic i Pedagogic,
Bucureti, 1967.
6. Trandafir, R., Culegere de probleme de matematici pentru ingineri, ed. II-a,
Editura Tehnic, 1977.

129

CERCETRI OPERAIONALE

Lector univ. Silviu Brz


I. SISTEME DE ECUATII SI INECUATII LINIARE

I.1. Sisteme de ecuaii liniare

S considerm un corp comutativ K, elementele K a
ij
, m i 1 ,
n j 1 i elementele K b
i
, m i 1 . Sistemul de egaliti
i
n
j
j ij
b X a =

=1
, m i 1
se numete sistem de m ecuaii liniare cu n nedeterminate
j
X , n j 1 cu
coeficieni n corpul K. Dac se consider matricea ( )
ij
a A = i vectorii coloan
( )
i
b b = i ( )
j
X X = sistemul de ecuaii se poate scrie i sub forma matriceal
b AX = .
Dac b=0, sistemul de ecuaii este numit omogen. Un vector
n
K se
numete soluie a acestui sistem dac b A = . Un sistem care are cel puin o
soluie este numit sistem compatibil. n caz contrar, sistemul este numit
incompatibil. Este clar c sistemul omogen este compatibil, avnd soluia banal
0 = .
n cele ce urmeaz vom utiliza vectorii coloan ( )
T
mj j
j
a a a ,...
1
= ,
n j 1 i vectorii coloan ( )
T
in i i
a a a ,...
1
= , m i 1 . Matricea A poate fi
deci pus sub forma
( )
n
a a A ,...,
1
=
n care se pun n eviden coloanele sale sau sub forma
|
|
|
.
|

\
|
=
T
m
T
a
a
A
1

pentru a evidenia liniile sale. Urmeaz c putem de asemenea scrie sistemul de
ecuaii sub forma b X a
n
j
j
j
=

=1
, n care punem n eviden coloanele matricei sau
sub forma
i
T
i
b X a = , m i 1 considernd liniile matricei.
Rezultatul fundamental privind compatibilitatea sistemelor de ecuaii
liniare este dat n teorema care urmeaz.
130
Teorema 1. (Kronecker-Capelli) Sistemul de ecuaii considerat mai
sus este compatibil dac i numai dac rangul matricei A este egal cu rangul
matricei (A,b).
S considerm un sistem compatibil i s notm
p=rang(A)=rang(A,b).
Urmeaz c exist un minor nenul de ordinul p al matricei A. Fr a restrnge
generalitatea, putem presupune c acest minor este format cu elementele situate pe
primele p linii i primele p coloane ale matricei A, adic
|
|
|
.
|

\
|
=
pp p
p
a a
a a

1
1 11
det .
Primele p ecuaii ale sistemului considerat (adic ecuaiile n care apar elementele
minorului ) sunt numite ecuaii principale, celelalte fiind numite ecuaii
secundare. Evident, dac p=m toate ecuaiile sistemului considerat sunt principale.
Sistemul de ecuaii principale este deci sistemul urmtor
b X a
T
i
= , p i 1 .
Teorema 2. Mulimea soluiilor unui sistem compatibil de ecuaii liniare
coincide cu mulimea soluiilor sistemului format numai cu ecuaiile principale.
Urmeaz c ecuaiile secundare, dac exist, pot fi neglijate. Din acest
motiv, dac nu se precizeaz altfel, n cele ce urmeaz vom considera numai
sisteme de ecuaii compatibile formate din ecuaii principale, adic avnd
proprietatea c rangul matricei A este egal cu numrul su de linii.
S considerm un sistem compatibil AX=b, unde ) (
,
K A
n m
M are rangul
m. Exist deci sisteme de m vectori coloan liniar independeni printre coloanele
matricei A. Fie
m
j j
a a ,...,
1
un astfel de sistem de vectori coloan ai matricei A.
Este clar c acest sistem de vectori formeaz o baz n spaiul liniar generat de
coloanele matricei A. Din acest motiv, prin abuz de limbaj, matricea
( )
m
j j
a a B ,...,
1
=
format cu aceste coloane este numit baz. Vom nota prin { }
m
j j ,...,
1
= B
mulimea indicilor coloanelor care formeaz baza B i prin { } B R \ ,..., 2 , 1 n =
mulimea format cu indicii coloanelor rmase n A dup formarea bazei B.
Evident, dac m=n vom avea = R i deci A=B. Deoarece, n condiiile
noastre, matricea ( ) K B
m
M are coloane liniar independente, rezult c B este
matrice inversabil. Rezult c, n acest caz, sistemul are soluia unic
b A X
1
=
Dac m<n vom nota prin R matricea cu coloanele ( )
R j
j
a i vom
considera de asemenea vectorii coloan
( )
B
=
j
j
B
X X , { }
R
=
j
j
R
X X .
131
Cu aceste notaii, sistemul de ecuaii considerat poate fi scris i sub forma
b RX BX
R B
= + .
Deoarece, n condiiile noastre, matricea ) (K B
m
M are coloane liniar
independente, rezult c B este matrice inversabil. nmulind cu inversa lui B n
ecuaia precedent, obinem
R B
RX B b B X
1 1
= .
Aceast form a sistemului de ecuaii este numit forma explicit n raport cu
baza B. Deoarece exist cel mult
m
n
C baze care se pot forma din matricea A,
rezult c putem obine cel mult
m
n
C forme explicite pentru sistemul de ecuaii
considerat. Una din aceste forme explicite poate fi utilizat pentru obinerea formei
generale a soluiei. Utiliznd forma explicit obinut mai sus, rezult c soluia
general a sistemului de ecuaii considerat este urmatoarea
=
R
X , =

R B b B X
B 1 1

unde
m n
K

este parametru.
n optimizarea liniar joac un rol deosebit o soluie particular a
sistemului de ecuaii considerat, numit soluie de baz. O soluie
n
K a
sistemului de ecuaii considerat este numit soluie de baz dac componentele
nenule ale lui corespund la coloane liniar independente n matricea A. Cum
rangA=m rezult c o soluie de baz poate avea cel mult m componente nenule.
Dac numrul componentelor nenule este egal cu m, soluia este numit
nedegenerat, n caz contrar fiind numit degenerat. Dac vectorul nul este
soluie a sistemului, atunci aceast soluie este considerat soluie de baz prin
definiie.
Se poate vedea uor c putem obine o soluie de baz din forma general a
soluiei lund valoarea nul pentru parametru:
0 =
R
X , b B X
B 1
= .
Fiecrei baze B i putem deci asocia n acest mod o soluie de baz. Aplicaia astfel
definit este evident surjectiv. n cazul n care exist soluii de baz degenerate,
este posibil ca aceast aplicaie s nu fie injectiv.

I.2. Sisteme de inecuaii liniare

S considerm corpul real R, elementele R a
ij
, m i 1 , n j 1 i
elementele R b
i
, m i 1 . Sistemul de inegaliti
i
n
j
j ij
b X a

=1
, m i 1
se numete sistem de m inecuaii liniare cu nedeterminate
j
X , n j 1 cu
coeficieni n corpul R.


132
Alegerea tipului de inegaliti nu este esenial. n locul inegalitilor de
tipul " " care apar n sistemul considerat, putem avea i alte tipuri de inegaliti
sau egaliti, aducerea la forma precedent fiind imediat. Dac se consider
matricea ( )
ij
a A = i vectorii coloan ( )
i
b b = i ( )
j
X X = , sistemul de inecuaii
se poate scrie i sub forma matriceal
b AX
Dac b=0 sistemul de inecuaii este numit omogen. Un vector
n
R se numete
soluie a acestui sistem dac B A . Un sistem care are cel puin o soluie este
numit sistem compatibil. n caz contrar, sistemul este numit incompatibil. Este clar
c sistemul omogen este compatibil, avnd soluia banal 0 = .
Conform cu observaiile fcute pentru sistemele de ecuaii liniare, urmeaz
c putem de asemenea scrie sistemul de inecuaii sub forma
b X a
n
j
j
j

=1

n care punem n eviden coloanele matricei sau sub forma
i
T
i
b X a , m i 1
n care punem n eviden liniile matricei.
Pentru compatibilitatea sistemelor de inecuaii liniare nu mai avem un
rezultat aa de frumos ca Teorema Kronecker-Capelli pentru sisteme de ecuaii
liniare. Rezultatul pe care l vom da mai jos este totui util pentru a decide asupra
compatibilitii sistemelor de inecuaii liniare.
Lema 1. Fie ) (
,
R A
n m
M ,
m
R b i R c , 0 c . Dintre sistemele de
ecuaii liniare
Ax=b
i
0 = u A
T
, c u b
T
=
unul i numai unul este compatibil.
Acest rezultat se poate utiliza pentru demonstrarea lemei urmtoare.
Lema 2. (Farkas-Minkowski). Fie ) (
,
R A
n m
M i
m
R b . Dintre
sistemele de inecuaii liniare
Ax=b, 0 x
i
0 u A
T
, 0 < u b
T

unul i numai unul este compatibil.
Rezultatul precedent poate fi pus ntr-o form mai general.






133
Teorema 1. (Farkas-Minkowski) Dintre sistemele de ecuaii liniare


+ +
= + +
+ +
0 , , 0
3 2 1
3 3 33 2 32 1 31
2 3 23 2 22 1 21
1 3 13 2 12 1 11
x arbitrar x x
b x A x A x A
b x A x A x A
b x A x A x A

i

> + +


=

0
0 , , 0
0
0
0
3 3 2 2 1 1
3 2 1
3 33 2 23 1 13
3 32 2 22 1 12
3 31 2 21 1 11
u b u b u b
u arbitrar u u
u A u A u A
u A u A u A
u A u A u A
T T T
T T T
T T T
T T T

unul i numai unul este compatibil.
Pe baza teoremei precedente se poate demonstra urmtoarea consecin.
Corolar. Fie ) (R D
n
M o matrice antisimetric (adic D D
T
= )
Atunci exist
n
R x astfel nct
0 x D , 0 x , 0 > + x x D .

II. REZULTATE FUNDAMENTALE N OPTIMIZAREA LINIAR

II.1. Exemple de probleme de ptimizare liniar

1. Utilizarea optim a resurselor limitate
S considerm o firm care poate produce n tipuri de produse. n procesul
de fabricaie sunt folosite m tipuri de resurse. Pentru fiecare resurs { } m i ,..., 1 se
pot utiliza cel mult cantitile
i
b , { } m i ,..., 1 , disponibile. Cantitatea din fiecare
resurs { } m i ,..., 1 necesar pentru producerea unei uniti din tipul de produs
{ } n j ,..., 1 (consumurile specifice) sunt cunoscute i sunt notate cu
ij
a ,
{ } m i ,..., 1 , { } n j ,..., 1 . Dac se noteaz cu
j
x , { } n j ,..., 1 cantitile ce
urmeaz s fie produse de firm, rezult c urmatoarele condiii trebuie s fie
satisfcute:
{ }
{ }

=
n j x
m i b x a
j
n
j
i j ij
,..., 1 , 0
,..., 1 ,
1





134
Orice soluie a sistemului de inecuaii scris mai sus reprezint un plan de
producie posibil al firmei. Dac notm prin
j
c , { } n j ,..., 1 profitul obinut
pentru o unitate din tipul de produs j, { } n j ,..., 1 , atunci profitul total este

=
n
j
j j
x c
1

Problema care se pune este s determinm acel plan de producie
j
x , { } n j ,..., 1
pentru care profitul total este maxim. Altfel spus, avem de rezolvat problema
{ }
{ }



)
`


=
=
n j x
m i b x a
x c
j
j
n
j
j ij
n
j
j j
,..., 1 , 0
,... 1 ,
sup
1
1

2. Problema transporturilor
n m depozite se afl depozitat o resurs n cantitile
i
a , { } m i ,..., 1 .
Aceast resurs trebuie transportat la n consumatori n cantitile
j
b ,
{ } n j ,..., 1 , cerute de acetia. Cantitile
ij
x , { } m i ,..., 1 , { } n j ,..., 1 , ce
urmeaz s fie transportate de la depozite la beneficiar trebuie s satisfac cerinele
{ }
{ }
{ } { }


=
=

=
=
n j m i x
n j b x
m i a x
ij
j
m
i
ij
i
n
j
ij
,..., 1 , ,..., 1 , 0
,..., 1 ,
,..., 1 ,
1
1

Se poate arat c sistemul de inecuaii precedent are o infinitate de soluii
dac i numai dac sunt ndeplinite condiiile
{ }
{ }

=



= =
m
j
j
m
i
i
j
i
b a
n j b
m i a
1 1
,..., 1 , 0
,..., 1 , 0





135
Dac notm prin
ij
c , { } m i ,..., 1 , { } n j ,..., 1 , costurile unitare de transport,
rezult c cheltuielile totale de transport sunt

= =
m
i
n
j
ij ij
x c
1 1

Urmeaz c trebuie s alegem acel plan de transport pentru care cheltuielile totale
de transport sunt minime, adic avem de rezolvat problema
{ }
{ }
{ } { }


=
=
)
`


=
=
= =
n j m i x
n j b x
m i a x
x c
ij
j
n
i
ij
i
n
j
ij
m
i
n
j
ij ij
,..., 1 , ,..., 1 , 0
,..., 1 ,
,..., 1 ,
inf
1
1
1 1


II.2. Formele problemelor de optimizare liniar

Din exemplele date mai sus rezult c forma general a unei probleme de
optimizare liniar este
{ }


+ +
= + +
+ +
+ +
0 , , 0
sup(inf)
3 2 1
3 3 33 2 32 1 31
2 3 23 2 22 1 21
1 3 13 2 12 1 11
3 3 2 2 1 1
x arbitrar x x
b x A x A x A
b x A x A x A
b x A x A x A
x c x c x c
T T T

Funcia al crei maxim sau minim trebuie determinat se numete funcia
obiectiv (funcie criteriu), iar condiiile impuse sunt restriciile problemei.
Condiiile privind semnul scrise mai sus pe ultima linie se numesc restricii de
semn. Condiiile 0
1
x sunt numite restricii de nenegativitate, restriciile 0
3
x
sunt numite restricii de nepozitivitate. Restricia "
2
x arbitrar" semnific faptul c
vectorul
2
x poate avea componente de orice semn.
Exist i forme particulare ale problemei de optimizare liniar.
Spunem c o problem de optimizare liniar are form standard dac toate
variabilele sunt supuse condiiilor de nenegativitate iar restriciile problemei sunt
ecuaii liniare. O problema de optimizare liniar n form standard are deci forma
{ }

=
0
inf
x
b Ax
x c
T
, unde ) (
,
R A
n m
M .
136
O inecuaie de tipul " " este numit concordant dac apare ntr-o
problem de minimizare i neconcordant dac apare ntr-o problem de
maximizare. Analog, o inecuaie de tipul " " este numit concordant dac apare
ntr-o problem de maximizare i neconcordant dac apare ntr-o problem de
minimizare. Spunem c o problem de optimizare liniara are forma canonic dac
toate variabilele sunt supuse condiiei de nenegativitate iar restriciile sunt inecuaii
concordante. O problem de maximizare n form canonic este deci de forma
{ }

0
sup
x
b Ax
x c
T

iar o problem de minimizare n form canonic are forma
{ }

0
inf
x
b Ax
x c
T

n sfrit, spunem c o problem de optimizare liniar are form mixt
dac toate variabilele sunt supuse condiiei de nenegativitate iar restriciile sunt fie
ecuaii, fie inecuaii concordante. De exemplu, o problem de minimizare n form
mixt se scrie n modul urmtor:
{ }


=
0
inf
2 2
1 1
x
b x A
b x A
x c
T
.
O problem de optimizare liniar n form general poate fi adus la
oricare dintre formele particulare menionate mai sus cu ajutorul urmtoarelor
transformri echivalente:
a) Sensul unei inecuaii se schimb prin nmulire cu -1;
b) Transformarea inecuaiilor n ecuaii plus condiii de nenegativitate. O
inecuaie b x a
T
cu
n
R a se poate scrie echivalent sub forma
b y x a
T
= + , 0 y
introducnd o variabil ecart (de compensare, abatere etc.) y. Analog, o
inecuaie de forma b x a
T
se poate scrie echivalent sub forma
b y x a
T
= , 0 y
prin scderea variabilei ecart y.
c) Transformarea ecuaiilor n inecuaii: o ecuaie de forma b x a
T
= se poate
scrie echivalent sub forma
b x a
T
, b x a
T

sau sub forma
b x a
T
, b x a
T
.
137
d) Schimbri de variabile. O variabil fr restricii de semn x se poate scrie sub
forma
2 1
x x x = , 0 ,
2 1
x x
utiliznd variabilele
1
x i
2
x supuse condiei de nenegativitate. O variabil x
supus condiiei de nepozitivitate se poate scrie sub forma x x = unde
variabila x este supus condiiei de nenegativitate.
e) Dac se consider o funcie R X f : , unde
n
R X , atunci avem
totdeauna relaia
{ } { } X x x f X x x f = ) ( sup ) ( inf .
Urmeaz c o problema de minimizare se poate transforma ntr-o problem de
maximizare schimbnd semnul funciei obiectiv.
Din cele de mai sus rezult c att studiul teoretic, ct i metodele de
rezolvare pot fi abordate utiliznd oricare dintre formele problemelor de optimizare
liniar. Din motive uor de intuit, n cele ce urmeaz vom opta pentru problema de
optimizare liniar n form standard, alegnd problema de minimizare, adic
{ } x c
T
inf
cu condiiile
b Ax = , 0 x
unde ) (
,
R A
n m
M .
O soluie a sistemului de ecuaii Ax=b este numit admisibil (realizabil,
posibil etc.) dac satisface condiia de nenegativitate 0 x . n caz contrar vom
spune c soluia nu este admisibil. Mulimea soluiilor admisibile este deci
{ } 0 , = = x b Ax x P .
Un punct P x
*
este numit punct de minim global al funciei obiectiv x c z
T
=
sau soluie optima a problemei dac
*
x c x c
T T
pentru orice P x . Mulimea
soluiilor optime este deci
{ } P x x c x c P x x P
T T
= , ,
* * * *

Dac notm
{ } P x x c z
T
= inf
*

atunci este clar c avem
{ }
* * * * *
, z x c P x x P
T
= =
n cazul n care =
*
z spunem c problema are optim infinit. Dac
= P punem prin convenie + =
*
z .
Se poate arta (vezi Seciunea 3.5) c
*
P dac i numai dac
R z
*
.


138
II.3. Teorema fundamental a optimizrii liniare

Teorema 1. (Teorema fundamental a optimizarii liniare).
(i) Dac problema are soluii admisibile ( P ) atunci problema are soluii
admisibile de baz;
(ii) Dac problema are soluii optime (
*
P ) atunci problema are soluii
optime de baz.
Din aceast teorem urmeaz c putem cuta soluii optime numai printre
soluiile de baz, care sunt n numr finit. Pe aceast observaie se bazeaz
urmtoarea metod pentru rezolvarea problemei de optimizare liniar, numit
metoda descrierii complete:
Pasul 1: Se cerceteaz dac problema are soluii optime. Dac nu exist soluii
optime ne oprim (STOP). n caz contrar se trece la pasul urmtor.
Pasul 2: Se determin soluiile de baz ale sistemului de ecuaii b Ax = .
Pasul 3: Pentru soluiile de baz admisibile se calculeaz valorile funciei obiectiv
x c z
T
= .
Pasul 4: Comparnd valorile funciei obiectiv, se determin soluiile de baz
optime.
Pentru realizarea pasului 1 se poate aplica Teorema lui Weierstrasse, care
spune c o funcie continu pe un compact i atinge marginile. Deoarece mulimea
soluiilor admisibile P este nchis, iar funcia obiectiv este evident funcie
continu, pentru aplicarea teoremei amintite este suficient s dovedim c P este
mulime mrginit. Pe de alt parte, dac P este nemrginit, problema poate nc
avea soluii optime, dar Teorema lui Weierstrasse nu mai poate fi utilizat.
Pentru realizarea pasului 2 este necesar s gsim toate soluiile de baz ale
sistemului de ecuaii, care sunt cel mult
m
n
C . Pentru valori mari ale lui n i m
calculele sunt enorme i, n general, nenecesare. Aceast metod are deci o valoare
redus din punct de vedere aplicativ.

III. ALGORITMUL SIMPLEX PRIMAL

III.1. Introducere

Algoritmul simplex datorat lui G.B. Dantzig (1951) este o metod eficient
pentru determinarea unei soluii optime a problemei de optimizare liniar. Aceast
metod exploreaz n mod sistematic soluiile de baz admisibile ale problemei
pentru a ajunge n final la o soluie optim de baz. Metoda furnizeaz de
asemenea criterii pentru punerea n eviden a faptului c problema are optim
infinit sau a cazului n care mulimea soluiilor admisibile este vid.




139
S considerm problema de optimizare liniar n form standard
{ }

=
0
inf
x
b Ax
x c
T

unde ) (
,
R A
n m
M .
Vom presupune pentru nceput c rangA=m, adic toate ecuaiile
sistemului sunt ecuaii principale. Dup cum tim, n acest caz putem considera o
baz ( )
m
j j
a a B ,...,
1
= format cu m coloane liniar independente
m
j j
a a ,...,
1
ale
matricei A. Am utilizat urmtoarele notaii: { }
m
j j ,...,
1
= B este mulimea
indicilor coloanelor care formeaz baza B i { } B R \ ,..., 1 n = este mulimea
format cu indicii coloanelor rmase n A dup formarea bazei B. Am notat prin R
matricea cu coloanele { }
R j
j
a i am considerat de asemenea vectorii coloan
( )
B
=
j
j
B
x x , ( )
R
=
j
j
R
x x .
Cu aceste notaii, sistemul de ecuaii considerat poate fi scris i sub forma
R B
Rx B b B x
1 1
=
numit forma explicit n raport cu baza B, iar soluia de baz corespunztoare
bazei B este
0 =
R
x , b B x
B 1
= .
Dac notm
b B x
B 1
= ,
j B
j
a B y
1
= , { } n j ,..., 1
forma explicit a sistemului n raport cu baza B devine

=
R j
j
B
j
B B
x y x x
sau
B
R
=

i x y x x
j
j
B
ij
B
i i
,
iar soluia de baz corespunztoare este
0 =
R
x ,
B B
x x = .
Este clar c aceast soluie de baz este admisibil dac 0
B
x sau, echivalent,
0
1

b B . O baz B cu proprietatea c soluia de baz corspunztoare este


admisibil va fi numit baz primal admisibil. Cuvntul ''primal'' din aceast
denumire va cpta un sens ceva mai departe.
Dac se consider i vectorii coloan
( ) ( )
R B
= =
j
j R
j
j B
c c c c ,
atunci funcia obiectiv poate fi exprimat numai cu ajutorul variabilelor nebazice
( ) ( )
1 1 1 1 T T B T R T R T R T T T R
B R B R B B R
z c x c x c x c B b B Rx c x c B b c B R c x

= = + = + =
140
Dac utilizm i notaiile introduse mai devreme, obinem
( )

=
R j
j j
B
j
T
B
B T
B
x c y c x c z
n sfrit, notnd
B T
B
B
x c z = ,
B
j
T
B
B
j
y c z = , { } n j ,..., 1
ultima relaie devine
( )

=
R j
j j
B
j
B
x c z z z

III.2. Rezultatele fundamentale

Putem da acum rezultatele pe care se bazeaz algoritmul simplex primal.
Teorema 1 (Testul de optim). Fie B o baz primal admisibil. Dac
0
j
B
j
c z , R j
atunci soluia de baz corespunztoare bazei B este soluie optim.
Atragem atenia c pot exista soluii optime pentru care condiia scris n
enun nu este ndeplinit. Cu alte cuvinte, condiia din enun este numai suficient.
Teorema 2 (Testul de optim infinit). Fie B o baz primal admisibil.
Dac exist R k astfel nct 0 >
k
B
k
c z i 0
B
k
y , atunci problema are
optim infinit.
Lema 1 (Lema substituiei). Fie K un corp comutativ, fie ) (K A
n
M o
matrice inversabil, fie
n
K b un vector coloan, fie A
~
matricea obinut din A
nlocuind coloana de rang r cu vectorul b, adic
( )
n r r
a a b a a A ,..., , , ,...,
~
1 1 1 +
=
i fie b A c
1
= . Atunci:
(i) Matricea A
~
este inversabil dac i numai dac 0
r
c ;
(ii) Dac 0
r
c , atunci:
( )
1 1
~

= A E A
r

unde
( ) ( )
n r r
r
e e e e E ,..., , , ,...,
1 1 1 +
=
vectorii
i
e sunt vectorii unitari din baza canonica a lui
n
R , iar
( )
T
n r r r
c c c c c ,..., , 1 , ,...,
1 1 1
1
+

= .






141
Teorema 3 (Teorema de schimbare a bazei). Fie B o baz primal
admisibil. S presupunem c exist R k astfel nct 0 >
k
B
k
c z iar vectorul
B
k
y are i componente pozitive. Dac alegem B r astfel nct
B
rk
B
r B
ik
B
ik
B
i
y
x
y i
y
x
=

> 0 , min B
atunci:
(i) Matricea B
~
obinut din B nlocuind coloana
r
a cu coloana
k
a este baza
primal admisibil;
(ii) Avem:
B B
z z
~
.
Teoremele precedente ne permit s enunm algoritmul simplex n modul
urmtor.
Pasul 0: (iniializare). Se determin o baz primal admisibil B i se calculeaz
elementele
B
x ,
B
z ,
B
j
y , j i
j
B
j
c z , j .
Pasul 1: (Testul de optim) Dac
0
j
B
j
c z , R j
atunci am obinut o soluie optim (STOP). n caz contrar trecem la pasul
urmtor.
Pasul 2: (Testul de optim infinit)} Dac exist R j astfel nct 0 >
j
B
j
c z i
0
B
j
y , rezult c problema are optim infinit (STOP). n caz contrar
trecem la pasul urmtor.
Pasul 3: (Schimbarea bazei) Se alege un R k astfel nct 0 >
k
B
k
c z i
vectorul
B
k
y are i componente pozitive. Se determin B r cu
criteriul:
B
rk
B
r B
ik
B
ik
B
i
j
y
x
y i
y
x
=

> 0 , min B .
Se consider baza primal admisibil B
~
obinut din B nlocuind coloana
r
a cu coloana
k
a , se calculeaz elementele corespunztoare:
B
j
B B
y z x
~ ~ ~
, ,
pentru toi { } n j ,..., 1 i
j
B
j
c z
~
pentru toi { } n j ,..., 1 , dup care se
revine la pasul 1 nlocuind baza B cu baza B
~
.
Se poate arta c o alegere care n multe cazuri se dovedete mai bun
pentru indicele R k de la pasul 3 este dat de criteriul
{ }
k
B
k j
B
j
j
c z c z = max .

142
III.3. Formule de schimbare a bazei

S considerm baza B i matricea B
~
obinut din B nlocuind coloana
r
a
prin coloana
k
a . Dac 0
B
rk
y , din Lema substituiei urmeaz c B
~
este tot baz.
Utiliznd formulele stabilite mai sus, se pot stabili formule de schimbare a bazei,
adic formule care permit calculul elementelor
B
j
B B
y z x
~ ~ ~
, , pentru toi { } n j ,..., 1
i
j
B
j
c z
~
pentru toi { } n j ,..., 1 corespunztoare bazei B
~
n funcie de
elementele disponibile
B
j
B B
y z x , , pentru toi { } n j ,..., 1 i
j
B
j
c z pentru toi
{ } n j ,..., 1 corespunztoare bazei B. Aceste formule sunt urmtoarele:
B
rk
B
r B
k
y
x
x =
~
,
B
rk
B
rj
B
kj
y
y
y =
~
, } { \ k j R
B
rk
B
ik
B
r B
i
B
i
y
y x
x x =
~
, } { \ r i B
B
rk
B
ik
B
rj
B
ij
B
ij
y
y y
y y =
~
, } { \ }, { \ k j r i R B
Pentru funcia obiectiv obinem n mod asemntor
( )
B
rk
k
B
k
B
r B B
y
c z x
z z

=
~

i
( )
( )
B
rk
B
rj k
B
k
j
B
j j
B
j
y
y c z
c z c z

=
~
, } { \ k j R
n aplicarea algoritmului simplex, elementele
B
j
B B
y z x , , pentru toi
{ } n j ,..., 1 i
j
B
j
c z pentru toi { } n j ,..., 1 corespunztoare fiecarei baze B
sunt prezentate ntr-un tabel simplex. Tabelul simplex corespunztor bazei B este
urmtorul:
V.B. V.V.B.
1
x

j
x

n
x
B
x
B
x
B
y
1


B
j
y

B
n
y
z
B
z
1 1
c z
B


j
B
j
c z

n
B
n
c z
n prima coloan a tabelului se afl variabilele de baz (V.B) i funcia
obiectiv z. n cea de a doua coloan se afl valorile variabilelor de baz (V.V.B.)
adic vectorul
B
x i valoarea funciei obiectiv
B
z . Urmtoarele n coloane ale
tabelului corespund coloanelor matricei A sau variabilelor problemei: pentru
143
fiecare variabil
j
x n tabel, pe coloana corespunztoare se afl vectorul
B
j
y i, pe
ultima linie, numrul real
j
B
j
c z .
Utiliznd tabelele simplex, aplicarea formulelor de schimbare a bazei date
mai devreme se reduce la aplicarea urmtoarele reguli practice. Elementul
B
rk
y care
apare n aceste formule este numit pivotul transformrii.
Primele formule de schimbare a bazei scrise mai sus arat cum se
transform linia pivotului. Regula care se deduce este urmtoarea: linia pivotului se
mparte la pivot.
n ceea ce privete coloana pivotului, observaia este c ea devine vector
unitar, deoarece coloana
k
a devine coloan de baz n baza B
~
.
Urmtoarele formule de schimbare a bazei arat cum se transform
celelalte elemente ale tabelului simplex. Se poate verifica uor c toate aceste
formule se reduc la aplicarea unei reguli simple, numit regula dreptunghiului.
Dac ne imaginm un dreptunghi avnd o diagonal format din elementul care
trebuie transformat i pivotul transformrii, regula dreptunghiului este urmtoarea:
noua valoare se obine din cea veche scznd produsul elementelor de pe cealalt
diagonal a dreptunghiului mprit la pivot.

III.4. Determinarea unei soluii de baz iniiale

S considerm din nou problema de optimizare liniar n form standard
{ }

=
0
inf
x
b Ax
x c
T
(1)
unde ) (
,
R A
n m
M .
Pn n acest moment am fcut presupunerea c rangA=m, adic sistemul
de ecuaii Ax=b este compatibil i toate ecuaiile sunt principale. n aceast
seciune ndeprtm aceast ipotez, matricea A fiind o matrice asupra creia nu
facem nici o ipotez suplimentar.
Singura ipotez este c vectorul b are componente nenegative. Evident,
aceast presupunere nu este restrictiv.
Ne punem problema s cercetm dac problema de optimizare liniar
considerat mai sus are soluii admisibile i, n caz afirmativ, s determinm o
soluie admisibil de baz. Vom asocia n acest scop o nou problem de
optimizare liniar de forma
{ }


= +
+ +
+ +
0 , 0
... inf
1
x x
b x Ax
x x
m n n

(2)
144
unde x este vectorul coloan cu componentele
m n n
x x
+ +
,...,
1
, variabile pe care le
vom numi variabile artificiale. Se poate verifica uor c matricea sistemului de
ecuaii din problema (2) este ( ) E A A , = , unde E este matricea unitate de ordinul
m. Avem evident ) (
,
R A
m n m +
M , m A rang = i deci problema (2) satisface
ipoteza utilizat n seciunile precedente pentru aplicarea algoritmului simplex. Mai
mult, E este baz primal admisibil pentru problema (2), soluia de baz
corespunzatoare fiind x=0, b x = . Ultima observaie este c problema (2) nu poate
avea optim infinit, deoarece funcia sa obiectiv este mrginit inferior de valoarea
zero pe mulimea soluiilor admisibile. Urmeaz c putem rezolva problema (2) cu
algoritmul simplex primal plecnd de la baza primal admisibil iniial E i vom
obine ntr-un numr finit de pai o soluie optim de baz ( ) x x , corespunztoare
unei baze B format din matricea A . (Problema convergenei ntr-un numr finit
de pai a algoritmului simplex va fi cercetat puin mai departe). Avem
urmtoarele rezultate:
Teorema 1. Dac 0 ...
1
> + +
+ + m n n
x x , atunci problema (1) nu are soluii
admisibile.
Teorema 2. Dac 0 ...
1
= + +
+ + m n n
x x i { } = n ,..., 1 B , atunci B este
baz primal admisibil pentru problema (1).
Teorema 3. S presupunem c 0 ...
1
= + +
+ + m n n
x x i { } n ,..., 1 B .
Dac exist { } n i ,..., 1
0
B astfel nct 0
0
=
B
j i
y pentru orice { } n j ,..., 1 ,
atunci
(i) 1 m A rang ;
(ii) Ecuaia de rang n i
0
din sistemul de ecuaii Ax=b este ecuaie
secundar.
Pe baza acestor rezultate se poate enuna o metod pentru determinarea
unei baze primal admisibile numit metoda bazei artificiale sau metoda celor dou
faze:
Faza 1:
Pasul 0: Se rezolv problema (2) cu algoritmul simplex i se obine o
soluie optim de baz ( ) x x , corespunztoare unei baze B
format din matricea A .
Pasul 1: Dac 0 ...
1
> + +
+ + m n n
x x , conform cu Teorema 1 rezult c
problema (1) nu are soluii admisibile (STOP). n caz contrar
trecem la pasul urmtor.
Pasul 2: Dac { } = n ,..., 1 B , conform cu Teorema 2 rezult c B este
baz primal admisibil pentru problema (1) i se trece n
continuare la Faza 2. n caz contrar se trece la pasul urmtor.
145
Pasul 3: Dac exist { } n i ,..., 1 B i { } n j ,..., 1 astfel nct
0
B
ij
y , se face o transformare cu pivotul
B
ij
y , obinndu-se o
nou baz B i soluia optim de baz corespunztoare, dup
care se trece la Pasul 2 nlocuind B cu B . n caz contrar se trece
la pasul urmtor.
Pasul 4: Fie { } { }
p
i i n ,..., ,..., 1
1
= B . Atunci, conform cu Teorema 3,
rezult c rangA=m-p i ecuaiile cu rangurile n i n i
p
,...,
1

sunt ecuaii secundare n sistemul de ecuaii Ax=b. Eliminnd
din B coloanele cu rangurile
p
i i ,...,
1
i liniile cu rangurile
n i n i
p
,...,
1
, se obine o baz primal admisibil B pentru
problema (1), trecndu-se n continuare la Faza 2.
Faza 2: Se rezolv problema (1) cu algoritmul simplex primal utiliznd ca baz
iniial una dintre bazele B, B sau B , dup caz.

III.5. Degenerare i ciclare

S considerm din nou problema de optimizare liniar n form standard
( )

=
0
inf
x
b Ax
x c
T
(1)
unde ) (
,
R A
m n
M i rangA=m.
Prin trecerea de la o baz la alta n cursul aplicrii algoritmului simplex,
valoarea funciei obiectiv se poate micora sau poate rmne aceeai. Dac
valoarea funciei obiectiv scade strict la fiecare iteraie, atunci nici o baz nu se
poate repeta, deoarece fiecrei baze i corespunde o anumit valoare a funciei
obiectiv. n acest caz rezult c, ntr-un numr finit de iteraii (numrul bazelor
fiind finit), se ajunge la o soluie optim de baz sau se pune n eviden faptul c
problema are optim infinit. Spunem n acest caz c algoritmul simplex este finit.
Dac valoarea funciei obiectiv rmne constant pentru mai multe iteraii
succesive, este posibil s revenim la o baz utilizat anterior. n acest caz, aplicarea
algoritmului simplex se continu indefinit, fr s ajungem la unul dintre cele dou
stopuri menionate n enunul algoritmului. Spunem n acest caz c apare
fenomenul de ciclare.
Conform cu formulele de schimbare a bazei, la efectuarea unei iteraii
simplex cu pivotul
B
rk
y , diferena dintre noua valoare i vechea valoare a funciei
obiectiv este
( )
B
rk
k
B
k
B
r
y
c z x

146
Aceast valoare se anuleaz dac i numai dac 0 =
B
r
x , situaie ce poate s apar
atunci cnd soluia de baz corespunztoare bazei B este degenerat.
O problem de optimizare liniar, avnd cel puin o soluie admisibil de
baz degenerat, va fi numit degenerata. n caz contrar, problema se numete
nedegenerata. De aici urmeaz c algoritmul simplex este finit dac este aplicat
unei probleme nedegenerate. Dac aplicm algoritmul simplex unei probleme
degenerate este posibil s apar fenomenul de ciclare. Pentru a avea siguran n
funcionarea algoritmului simplex ca algoritm finit, este deci necesar s-l
modificm astfel nct acest algoritm s rezolve orice problem ntr-un numr finit
de iteraii.
Exist mai multe metode cu care se poate obine o variant finit a
algoritmului simplex. n cele ce urmeaz prezentm metoda perturbrii a lui
Charnes (1952). Ideea n aceast metod este s nlocuim n problema de
optimizare liniar vectorul b cu vectorul
( )

=
=
n
j
j j
a b
1

unde 0 > este un numr real arbitrar. Vectorul ( ) b este o variant perturbat a
lui b diferind puin de acesta din urm pentru valori suficient de mici ale lui .
Asociem problemei (1) problema perturbat
{ }
( )

=
0
inf
x
b Ax
x c
T

(2)
Dac B este o baz primal admisibil pentru problema (1), vom nota prin
( ) ( )

= =

= = =
n
j
B
j
j
n
j
j j B
y a B b B x
1 1
1 1

soluia de baz a problemei (2) corespunztoare bazei B.
Avem urmtoarele rezultate:
Teorema 1. Dac ( )
m
a a B ,...,
1 0
= este o baz primal admisibil pentru
problema (1), atunci exist 0
0
> astfel nct ( ) 0
0
>
B
x pentru orice
( )
0
, 0 .
Conform cu rezultatul precedent, rezult c soluia de baz a problemei (2)
corespunztoare lui
0
B este primal admisibil i nedegenerat pentru 0 >
suficient de mic.
Teorema 2. Fie B o baz primal admisibil pentru problema (1) cu
proprietatea c exist 0 >
B
astfel nct ( ) 0 >
B
x pentru orice ( )
B
, 0 . Fie
R k astfel nct mulimea
{ } 0 , > =
+
B
ik
y i i B B
este nevid.
147
Atunci exist 0 > astfel nct, pentru fiecare ( ) , 0 , indicele
+
B r determinat cu criteriul
( ) ( )
B
rk
B
r
B
ik
B
i
y
x
i
y
x
=

+
B min
este unic.
Mai mult, matricea B
~
obinut din B nlocuind coloana
r
a cu coloana
k
a este baz primal admisibil pentru problema (1) i ( ) 0
~
>
B
x pentru orice
( ) , 0 .
Cele dou teoreme precedente arat c, alegnd 0 > suficient de mic,
toate soluiile de baz admisibile utilizate n rezolvarea problemei (2) sunt
nedegenerate i deci algoritmul simplex este finit pentru aceast problem.
Pe de alt parte, rezolvarea problemei (2) duce la rezolvarea
problemei (1). ntr-adevr, dac se determin pentru problema (2) o soluie optim
de baz corespunztoare unei baze B, rezult c soluia de baz corespunztoare lui
B n problema (1) este de asemenea soluie optim. Analog, dac se pune n
eviden faptul c problema (2) are optim infinit i rezult c (1) are optim infinit.
S observm de asemenea c determinarea indicelui unic
+
B r cu
criteriul din enun se poate face n modul urmtor. Se determin mai nti mulimea

=
+ +
B
ik
B
i
B
jk
B
j
y
x
j
y
x
i i B B B min ,
0

Dac
0
B este format dintr-un singur indice, acesta este indicele cutat r. n caz
contrar se definete mulimea

=
B
ik
B
i
B
jk
B
j
y
y
j
y
y
i i
1
0
1
0 1
min , B B B .
Din nou, dac
1
B este format dintr-un singur indice, acesta este indicele r. n caz
contrar se merge mai departe construind succesiv mulimile ,... ,
3 2
B B date de
relaia de recuren

=

B
ik
B
it
t
B
jk
B
jt
t t
y
y
j
y
y
i i
1 1
min , B B B , m t 1
pn se obine o mulime format dintr-un singur indice, care este indicele cutat r.





148
Din cele de mai sus rezult c pentru evitarea ciclrii n enunul
algoritmului simplex se opereaz urmtoarele modificri:
- la pasul iniial, se determin o baz primal admisibil iniial format din
primele m coloane ale matricei A, eventual renumerotnd coloanele,
- la pasul de schimbare a bazei, criteriul de ieire din baz se nlocuiete cu
criteriul urmtor: Se determin mulimile ...
2 1 0
B B B pn se
obine o mulime format dintr-un singur indice r care este indicele
corespunztor coloanei
r
a care iese din baz.
Cu aceste dou modificri, rezult c algoritmul simplex primal este finit,
indiferent dac problema rezolvat este degenerat sau nu. Urmeaz atunci c
pentru o problem de optimizare liniar oarecare una i numai una dintre situaiile
urmtoare este adevarat:
a) problema nu are soluii admisibile;
b) problema are soluii optime;
c) problema are optim infinit.

III.6. Algoritmul simplex revizuit

Din enunul algoritmului simplex primal rezult c, pentru fiecare baz
primal admisibil B utilizat, trebuie s cunoatem numai numerele
j
B
j
c z ,
{ } n j ,..., 1 i vectorii
B
x i
B
k
y , unde R k este indicele determinat cu
ajutorul criteriului de intrare n baz. n cazul n care exist coloane
j
a ale
matricei A care nu fac parte din nici una dintre bazele utilizate n cursul aplicrii
algoritmului, calculul vectorilor corespunztori
B
j
y nu este necesar.
n plus, dac se consider vectorul
1
= B c u
T
B
T
B
, rezult c avem
j
j T
B j
j T
B j
B
j
T
B j
B
j
c a u c a B c c y c c z = = =
1
, { } n j ,..., 1
i deci numerele
j
B
j
c z , { } n j ,..., 1 , pot fi calculate apeld numai la vectorul
B
u i la coloanele matricei A, fr s calculm n prealabil vectorii
B
j
y ,
{ } n j ,..., 1 .
Pe aceste observaii se bazeaz algoritmul simplex primal revizuit, al crui
enun l dm n continuare.
Pasul 0: Se determin o baz primal admisibil iniial B i se calculeaz inversa
sa
1
B , vectorul
B
x i vectorul
B
u .
Pasul 1: (Testul de optim). Se determin numerele
j
j T
B j
B
j
c a u c z = , R j .
Dac 0
j
B
j
c z , R j , atunci soluia determinat este optima
(STOP). n caz contrar se determin indicele R k cu criteriul de ieire
din baz
149
{ }
j
B
j
j
k
B
k
c z c z =
R
max
i se trece la pasul urmtor.
Pasul 2: (Testul de optim infinit). Se calculeaz vectorul
k B
k
a B y
1
= . Dac
0
B
k
y , atunci problema de optimizare liniar are optim infinit. n caz
contrar se trece la pasul urmtor.
Pasul 3: (Schimbarea bazei). Se determin indicele B r cu criteriul de intrare
n baz
B
rk
B
r B
ik
B
ik
B
i
y
x
y i
y
x
=

> 0 , min B ,
se consider noua baz primal admisibil B
~
obinut din B nlocuind
coloana
r
a cu coloana
k
a , se determina elementele corespunztoare
1
~

B ,
B
x
~
,
B
u~ , dup care se revine la pasul 1 nlocuind baza B cu baza
B
~
.
Prima observaie este c
1
B i
B
u pot fi determinate simultan dac se
utilizeaz aa-numita form complet a problemei de optimizare liniar. Mai
precis, dac iniial problema de optimizare liniar n form standard este
{ }

=
0
inf
x
b Ax
x c
T

(1)
unde ) (
,
R A
n m
M i rangA=m, atunci forma complet a acestei probleme este
urmtoarea
{ }

=
=
0
0
inf
0
0
x
b Ax
x c x
x
T

(1')
Dac notm prin A matricea sistemului de ecuaii din problema (1') i prin
j
a ,
{ } n j ,..., 1 , 0 , coloanele sale, rezult c
|
|
.
|

\
|
=
0
1
0
a ,
|
|
.
|

\
|
=
j
j j
a
c
a , { } n j ,..., 1 .
Dac B este o baz primal admisibil pentru problema (1), atunci matricea B
definit prin
|
|
.
|

\
|
=
B
c
B
T
B
0
1

150

este o baz format din matricea A i inversa sa este
|
|
.
|

\
|
=

1
1
0
1
B
u
B
T
B

i deci
1
B conine att pe
1
B ct i vectorul
B
u . Mai mult, dac nmulim prima
linie din
1
B cu coloanele
j
a ale matricei A , obinem
( )
j
B
j j
j T
B
c z
a
c
u =
|
|
.
|

\
|
1 , R j
ceea ce permite calculul simplu al numerelor
j
B
j
c z , R j .
Produsul dintre celelalte linii ale lui
1
B i coloana
k
a este
( )
B
k k
k
y
a
c
B =
|
|
.
|

\
|
1
0 .
n sfrit, produsul dintre
1
B i termenul liber b din problema (1') este
|
|
.
|

\
|
=
|
|
.
|

\
|
|
|
.
|

\
|
=

B
B T
B
x
z
b B
u
b B
0
0
1
1
1

ceea ce permite calculul valorii
B
z al funciei obiectiv i al valorilor variabilelor
de baz care sunt componentele vectorului
B
x .
Pentru aplicarea practic a algoritmului simplex revizuit, pentru fiecare
baz primal admisibil B utilizat se asociaz un tabel simplex revizuit care are
forma urmtoare:
V.B.
1
B b B
1

k
a B
1

B
x
x
0

1
0
1

B
u
T
B

B
B
x
z

B
k
k
B
k
y
c z

n prima coloan a tabelului apar variabilele de baz din problema (1')
corespunztoare bazei B . n coloana urmtoare apare inversa
1
B . Urmtoarea
coloan conine vectorul b B
1
, adic valorile variabilelor de baz n problema
(1'). Ultima coloan a tabelului apare la pasul al doilea (Testul de optim infinit),
dup calculul vectorului
B
k
y .
Se constat uor c trecerea de la o baz la alta se poate face pe tabele de
aceast form utiliznd regulile cunoscute de la tabelele simplex obinuite.




151
IV. DUALITATE N OPTIMIZAREA LINIAR

IV.1. Definirea problemei duale

Dualitatea ocup un loc important n optimizarea liniar, att din punct de
vedere teoretic, ct i din punct de vedere practic.
S considerm problema de optimizare liniar n forma general
{ }


+ +
= + +
+ +
+ +
0 , , 0
inf
3 2 1
3 3 33 2 32 1 31
2 3 23 2 22 1 21
1 3 13 2 12 1 11
3 3 2 2 1 1
x arbitrar x x
b x A x A x A
b x A x A x A
b x A x A x A
x c x c x c
T T T

(1)
Numim problema dual asociat problemei date (1), problema urmtoare
{ }


+ +
= + +
+ +
+ +
0 , , 0
sup
3 2 1
3 3 33 2 23 1 13
2 3 32 2 22 1 12
1 3 31 2 21 1 11
3 3 2 2 1 1
u arbitrar u u
c u A u A u A
c u A u A u A
c u A u A u A
u b u b u b
T T T
T T T
T T T
T T T

(2)
Problema iniial (1) se va numi i problema primal. Este clar c duala problemei
duale este chiar problema primal.
Din examinarea cuplului de probleme duale (1) si (2), rezult c duala se
obine din primal n modul urmtor:
a) Termenii liberi din problema primal devin coeficieni n funcia obiectiv a
problemei duale.
b) Coeficienii funciei obiectiv din problema primal devin termeni liberi n
problema dual.
c) O problem de minimizare (maximizare) se transform ntr-o problem de
maximizare (minimizare).
d) Matricea coeficienilor sistemului de restricii duale este transpusa matricii
coeficienilor sistemului de restricii primale.
e) Variabilele dintr-o problem se asociaz cu restriciile din cealalt problem
dup urmtoarele reguli:
- la variabile nenegative se asociaz restricii concordante;
- la variabile nepozitive se asociaz restricii neconcordante;
- la variabile fr restricie de semn se asociaz ecuaii.





152
Din definiia dat mai sus rezult n particular c duala problemei n form
standard
{ }

=
0
inf
x
b Ax
x c
T
(3)
este
{ }

arbitrar u
c u A
u b
T
T
sup
(4)
Analog, duala problemei n form canonic
{ }

0
inf
x
b Ax
x c
T
(5)
este problema
{ }


0
sup
u
c u A
u b
T
T
(6)
care are de asemenea form canonic.
Cuplul de probleme duale (3) i (4) este numit cuplul dual nesimetric, iar
cuplul de probleme duale (5) i (6) este numit cuplul dual simetric.

IV.2. Rezultate privind dualitatea

n cele ce urmeaz vom studia cuplul dual simetric (5), (6) considerat n
seciunea precedent. Rezultatele pe care le vom obine se pot transcrie uor i
pentru alte cupluri de probleme duale.
Fie
{ } 0 , = x b Ax x P
mulimea soluiilor admisibile pentru problema (5) i
{ } 0 , = u c u A u D
T

mulimea soluiilor admisibile pentru problema (6).
Lema 1. Dac P x i D u atunci u b x c
T T
.
Lema 2. Dac P x
*
i D u
*
i dac
* *
u b x c
T T
= atunci
*
x este
soluie optim a problemei primale (5), iar
*
u este soluie optim a problemei
duale (6).
Rezultatul fundamental este dat n teorema care urmeaz.
153
Teorema 1. (Teorema fundamental a dualitaii). Fiind dat cuplul dual
simetric (5),(6), una i numai una dintre afirmaiile urmtoare este adevarat:
(i) Ambele probleme au soluii admisibile (adic avem P i D ). n
acest caz ambele probleme au soluii optime i valorile optime ale
funciilor obiectiv sunt egale.
(ii) Una dintre probleme are soluii admisibile, iar cealalt nu are soluii
admisibile. n acest caz, problema care are soluii admisibile are optim
infinit.
(iii) Nici una dintre probleme nu are soluii admisibile (adic avem = P i
= D ).
Teorema 2. (Teorema tare a ecarturilor complementare). Dac P
i D atunci exist o soluie optim P x
*
i o soluie optim D u
*
astfel
nct
( ) 0
* *
> + u b Ax
i
( ) 0
* *
> + x u A c
T
.
Teorema 3. (Teorema slab a ecarturilor complementare). Fie P x
*

i D u
*
. Atunci
*
x este soluie optim pentru problema primal (5) i
*
u este
soluie optim pentru problema dual (6) dac i numai dac sunt ndeplinite
condiiile:
( ) ( ) 0
* *
= b Ax u
T

i
( ) ( ) 0
* *
= u A c x
T
T


IV.3. Rezolvarea simultan

S considerm o problem de optimizare liniar n form standard
{ }

=
0
inf
x
b Ax
x c
T
(1)
unde ) (
,
R A
n m
M i rangA=m.
Duala acestei probleme este
{ }

arbitrar u
c u A
u b
T
T
sup
(2)
Dup cum tim, o baz B format din matricea A a problemei (1) este
numit baz primal admisibil dac soluia de baz corespunztoare lui B este
admisibil sau, echivalent, avem ndeplinit condiia 0
1

b B . Cuvntul ''primal''
154
din aceast denumire capt un sens clar n acest moment, referindu-se la problema
primal (1).
Spunem c o baz B format din matricea A a problemei (1) este dual
admisibil dac este ndeplinit condiia
0
j
B
j
c z , R j .
Justificarea denumirii date este furnizat de rezultatul urmtor.
Teorema 1. Fie B o baz dual admisibil pentru problema (1). Atunci
vectorul
1
= B c u
T
B
T
B
este soluie admisibil a problemei duale (2).
Rezultatul care urmeaz ne permite rezolvarea simultan a cuplului dual
nesimetric (1),(2).
Teorema 2. Fie B o baz primal i dual admisibil pentru problema (1).
Atunci soluia de baz corespunztoare bazei B este soluie optim pentru
problema (1), iar
B
u este soluie optim a problemei duale (2).
Dac rezolvm problema (1) cu algoritmul simplex revizuit i obinem o
baz B care este primal i dual admisibil, soluia optim pentru problema primal
(1) este
B B
x x = , 0 =
R
x
iar soluia optim a problemei duale este
B
u . Att
B
x ct i
B
u sunt prezentai n
tabelul simplex revizuit corespunztor bazei B.
Dac rezolvm problema (1) cu algoritmul simplex obinuit i obinem o
baz B care este primal i dual admisibil, soluia optim pentru problema primal
(1) este dat n tabelul simplex corespunztor bazei B. Pentru a determina i pe
B
u
vom proceda n modul urmtor. Dac o coloan
j
a a matricei A este vectorul
unitar
i
e , atunci componenta de rang i a lui
B
u se calculeaz n modul urmtor:
( ) ( )
j j
B
j
B
j
j T
B
i T
B i B
c c z z a B c e u u + = = = =
1

cu observaia c
j
B
j
c z se afl din tabelul simplex.

IV.4. Algoritmul simplex dual

S considerm din nou cuplul dual nesimetric (1),(2) din seciunea
precedent.
Fie
{ } 0 , = = x b Ax x P
mulimea soluiilor admisibile pentru problema primal (1) i
{ } arbitrar u c u A u D
T
, =
mulimea soluiilor admisibile pentru problema dual (2). Vom presupune n cele
ce urmeaz c exist baze duale admisibile i deci exist soluii admisibile n
problema dual (2), adic D .
155
n algoritmul simplex primal se exploreaz de o manier sistematic
mulimea bazelor primal admisibile pn se gsete o baz care este i dual
admisibil sau pn se pune n eviden c problema are optim infinit.
Este clar c putem ncerca un demers analog, explornd bazele dual
admisibile pn se gsete o baz care este i primal admisibil sau se pune n
eviden c problema primal nu are soluii admisibile. Aceast idee st la baza
algoritmului simplex dual.
Fie B o baz dual admisibil i fie
{ } 0 , < =

B
i
x i i B B .
Algoritmul simplex dual se bazeaz pe urmtoarele rezultate:
Teorema 1. (Testul de optim). Fie B o baz dual admisibil. Dac
=

B , atunci soluia de baz corespunztoare bazei B este soluie optim


pentru problema (1).
Teorema 2. (Testul de incompatibilitate). Fie B o baz dual admisibil.
Dac exist

B i astfel nct 0
B
ij
y , { } n j ,..., 1 , atunci problema (1) nu are
soluii admisibile.
Teorema 3. (Schimbarea bazei). Fie B o baz dual admisibil.
Presupunem c pentru orice

B i exist R j astfel nct 0 <


B
ij
y . Dac
alegem

B r arbitrar i R j cu criteriul
B
rk
k
B
k B
rj
B
rj
j
B
j
y
c z
y j
y
c z

=

<

0 , min R
atunci:
a) Matricea B
~
obinut din B nlocuind coloana
r
a cu coloana
k
a este baz
dual admisibil;
b) Avem:
B
T
B
T
u b u b ~ .
Pe baza teoremelor precedente putem da enunul algoritmului simplex
dual.
Pasul 0: Se determin o baz dual admisibil iniial B i se calculeaz
elementele corespunztoare:
B
x ,
B
z ,
B
j
y pentru toi { } n j ,..., 1 i
j
B
j
c z pentru toi { } n j ,..., 1 .
Pasul 1: (Testul de optim) Se determin mulimea
{ } 0 , < =

B
i
x i i B B .
Dac =

B atunci am obinut o soluie optim (STOP). n caz contrar


trecem la pasul urmtor.
156
Pasul 2: (Testul de incompatibilitate) Dac exist

B i astfel nct 0
B
ij
y ,
{ } n j ,..., 1 , atunci problema (1) nu are soluii admisibile (STOP). n
caz contrar trecem la pasul urmtor.
Pasul 3: (Schimbarea bazei). Se alege un

B r arbitrar i R k cu criteriul
B
rk
k
B
k B
rj
B
rj
j
B
j
y
c z
y j
y
c z

=

<

0 , min R .
Se consider baza dual admisibil B
~
obinut din B nlocuind coloana
r
a cu coloana
k
a , se calculeaz elementele corespunztoare:
B
x
~
,
B
z
~
,
B
j
y
~
pentru toi { } n j ,..., 1 i
j
B
j
c z
~
pentru toi { } n j ,..., 1 , dup
care se revine la pasul 1 nlocuind baza B cu baza B
~
.
Observaii. Din formulele de schimbare a bazei, rezult uor c o alegere
mai bun a indicelui

B r se poate face cu criteriul


{ }
B
r
B
i
x i x =

B min .
Pentru aplicarea algoritmului simplex este necesar s dispunem de o baz
dual admisibil iniial. Se poate da o metod de determinare a unei astfel de baze,
n cazul n care exist, dar nu o prezentm aici. Motivul este c algoritmul simplex
dual se aplic de obicei atunci cnd o baz dual admisibil este deja disponibil,
cum se ntmpl, de exemplu, n problemele de reoptimizare care vor fi prezentate
mai departe.
Observm totui c, dac dispunem de o baz B cu proprietatea c 0 =
B
c
i 0 c , atunci B este dual admisibil. ntr-adevr, avem
j j
B
j
T
B j
B
j
c c y c c z = = , { } n j ,..., 1 .
n sfrit, o variant finit a acestui agoritm va fi prezentat mai departe.

V. COMPLEMENTE PRIVIND METODA SIMPLEX

V.1. Mulimea soluiilor optime

S considerm din nou o problem de optimizare liniar n form standard
{ }

=
0
inf
x
b Ax
x c
T
(1)
unde ) (
,
R A
n m
M i rangA=m.



157
Fie
{ } 0 , = = x b Ax x P
mulimea soluiilor admisibile pentru problema primal (1) i fie
{ } P x x c z
T
= inf
*
.
Mulimea soluiilor optime pentru problema (1) este
{ } P x z x c x P
T
= = ,
* *
.
Evident, putem avea =
*
P . n caz contrar, mulimea soluiilor optime
(care este mulime convex) are fie un singur element, fie o infinitate de elemente.
Rezultatele care urmeaz dau caracterizri ale soluiilor optime i un criteriu de
recunoatere a situaiei cnd avem soluie optim unic.
Teorema 1. (Caracterizarea soluiilor optime). Fie B o baz primal i
dual admisibil i fie P x . Atunci
*
P x dac i numai dac
( ) 0 =
j j
B
j
x c z , R j .
Teorema 2. (Unicitatea soluiei optime). Fie B o baz primal admisibil.
(a) Dac
0 <
j
B
j
c z , R j
atunci soluia de baz corespunztoare bazei B este unica soluie optim a
problemei (1);
(b) Dac soluia de baz corespunztoare bazei B este nedegenerat i este unica
soluie optim a problemei (1) atunci
0 <
j
B
j
c z , R j .
Dac exist soluii optime (adic dac
*
P ) metoda simplex
furnizeaz o soluie optim de baz corespunztoare unei baze B care este simultan
primal i dual admisibil. Teorema 2 ne permite s recunoatem dac aceast
soluie optim este unic. Dac nu avem unicitate, putem utiliza Teorema 1 pentru
a gsi i alte soluii optime de baz. Mai precis, dac exist R j astfel nct
0 =
j
B
j
c z , atunci se introduce n baz coloana
j
a corespunztoare, utiliznd
algoritmul simplex primal. Noua soluie de baz este tot soluie optim, cum
rezult imediat din formulele de schimbare a bazei.

V.2. Forma secundar a tabelelor simplex

S considerm din nou problema de optimizare liniar n form standard
(1) scris n seciunea precedent. Dac B este o baz format din matricea A
sistemul de ecuaii Ax=b se poate scrie n forma
B
R
=

i x y x x
j
j
B
ij
B
i i
,
numit form explicit n raport cu baza B. Reamintim c funcia obiectiv
x c z
T
= poate fi exprimat numai cu ajutorul variabilelor nebazice:
158
( )

= =
R j
j j
B
j
B T
x c z z x c z .
(1)
Rezult c problema (1) se poate scrie sub forma
{ }
( )


=
=
=

R B
R
B
i x
i x x
i x y x x
x c z z x
x
i
R j
j ij i
R j
j
B
ij
B
i i
R j
j j
B
j
B
, 0
, 0
,
inf
$ $
$ $
$ $
0
0


(2)
unde
ij
sunt simbolurile lui Kronecker. Problema (2) este numit form
secundar (sau form explicit) a problemei (1) n raport cu baza B. Vom
presupune c n problema (2), ecuaiile sunt prezentate ntr-o ordine stabilit (de
exemplu, ordinea natural a indicilor 0,1,,n) i c aceast ordine este pstrat
pentru toate bazele B utilizate n metoda simplex.
Dac notm cu
0
p vectorul coloan cu componentele
0 i
p , { } n i ,..., 1 , 0 ,
date de relaiile

=
=
R
B
i pentru
i pentru x
i pentru z
p
B
i
B
i
0
0
0

i prin
j
p , R j , vectorul cu componentele
ij
p , { } n i ,..., 1 , 0 , date de relaiile

=
=
R
B
i pentru
i pentru y
i pentru c z
p
ij
B
ij
j
B
j
ij

0

atunci sistemul de ecuaii din problema (2) poate fi scris sub forma
( )

+ =
R j
j j
x p p x
0

(3)
unde x este vectorul coloan cu componentele
i
x , { } n i ,..., 1 , 0 .










159
Tabelul simplex n form secundar corespunztor bazei B este de forma
urmtoare:

j
x

0
x
00
p

j
p
0


1
x
10
p

j
p
1




i
x
0 i
p

ij
p



n
x
0 n
p

nj
p

S stabilim i n acest caz formulele de schimbare a bazei. Fie baza B
~

obinut din baza B prin nlocuirea coloanei
r
a cu coloana
k
a (i deci 0
B
rk
y
conform cu Lema substituiei). Dac
j
p
~
, R j , sunt vectorii corespunztori,
rezult:
{ } { } k p
p
p
p p
kj
rk
rj
j j
\ 0
~
R =
i
k
rk
r
p
p
p
1
~
=
Conform cu aceste formule, transformarea tabelului simplex n forma
secundar cu pivotul
B
rk
y se face dup regulile urmtoare:
(a) coloana pivotului se mparte la pivotul luat cu semn schimbat;
(b) celelalte coloane se transform dup regula dreptunghiului.

V.3. Reoptimizare i parametrizare

Una dintre problemele importante pentru aplicaiile practice ale optimizrii
liniare este urmtoarea: cum se modific soluiile optime atunci cnd intervin
modificri n datele numerice ale problemei (matricea A, vectorul b al termenilor
liberi sau vectorul c al coeficienilor din funcia obiectiv). Aceast problem poate
fi pus att nainte, ct i dup rezolvarea problemei de optimizare.
Dac dup rezolvarea problemei schimbm anumite date numerice, avem o
problem de reoptimizare. n cele ce urmeaz ne vom ocupa de schimbarea lui b
sau a lui c. Metodele prezentate se pot extinde i n alte cazuri (modificarea lui A,
adugarea de restricii, adugarea de variabile etc.) Prin combinarea acestor cazuri
pot fi rezolvate cazuri mai complexe.



160
Putem de asemenea ca, nainte de rezolvarea problemei, anumite date
numerice s fie parametrizate. Aceasta se face fie pentru a prentmpina
schimbarea lor ulterioar, fie pentru descoperirea restriciilor mai importante sau
mai puin importante. Ca i n cazul reoptimizrii, vom considera situaiile cnd se
parametrizeaz vectorii b sau c.
S considerm problema de optimizare liniar n form standard
{ }

=
0
inf
x
b Ax
x c
T
(1)
unde ) (
,
R A
n m
M i rangA=m.
S presupunem c problema are o soluie optim corespunztoare unei
baze B care este simultan primal i dual admisibil. Vom avea deci satisfcute
condiiile
0
1

b B (2)
i
0
1

j
j T
B
c a B c , R j (3)
Este clar c schimbarea sau parametrizarea lui b nu afecteaz relaia (3).
Cu alte cuvinte, n acest caz, baza B rmne dual admisibil pentru problema
modificat. Problema modificat va putea deci s fie rezolvat cu algoritmul
simplex dual. Singura modificare necesar n tabelul simplex corespunzator lui B
este calculul soluiei de baz corespunztoare noului termen liber.
Este de asemenea clar c schimbarea sau parametrizarea lui c nu afecteaz
relaia (2). Cu alte cuvinte, n acest caz, baza B rmne primal admisibil pentru
problema modificat. Problema modificat va putea deci s fie rezolvat cu
algoritmul simplex primal. Singura modificare necesar n tabelul simplex
corespunztor lui B este calculul ultimei linii a tabelului corespunztoare noilor
coeficieni din funcia obiectiv.
Observaiile precedente sunt suficiente pentru reoptimizarea sau
parametrizarea vectorilor b sau c. Alte cazuri pot fi tratate n mod asemntor.













161
VI. OPTIMIZARE LINIAR DISCRET

VI.1. Introducere

Vom studia n cele ce urmeaz o problem de optimizare liniar n care o
parte sau toate variabilele problemei pot lua numai valori ntregi precizate n
prealabil. Mai precis, vom considera problema
{ }

=
J j S x
x
b Ax
x c
j j
T
,
0
inf
(1)
unde ) (
,
R A
n m
M , rangA=m, J este o submulime nevid a mulimii { } n ,..., 1 , iar
j
S , J j , sunt submulimi nevide date ale mulimii numerelor ntregi Z. O
problem de optimizare de aceast form va fi numit problem de optimizare
liniar discret. Evident, eliminnd ultima condiie din (1), condiie care va fi
numit condiia de integritate, se obine o problem de optimizare liniar. Dac
{ } n J ,..., 1 = spunem c (1) este o problem de optimizare liniar (total) n
numere ntregi. n caz contrar, (1) este numit problem de optimizare parial n
numere ntregi sau mixt.
Se poate constata uor c, fr a restrnge generalitatea, putem presupune
c avem Z S
j
= pentru toi J j . Cu alte cuvinte, este suficient s considerm
problema
{ }

=
J j Z x
x
b Ax
x c
j
T
,
0
inf
(2)
unde ) (
,
R A
n m
M i rangA=m.
Fie
{ } 0 , = = x b Ax x P
mulimea soluiilor admisibile ale problemei de optimizare care se obine din (2)
prin eliminarea (relaxarea) condiiei de integritate, adic a problemei
{ }

=
0
inf
x
b Ax
x c
T
(3)


162
Fie
{ } J j Z x P x x P
j
= , ,
mulimea soluiilor admisibile ale problemei (2).
Lema 1. Dac
*
x este soluie optim a problemei (3) i dac P x
*
,
atunci
*
x este soluie optim a problemei de optimizare discret (2).
Rezultatul precedent sugereaz posibilitatea construirii unui algoritm care
s rezolve problema de optimizare discret. Mai precis, rezolvm mai nti
problema de optimizare liniar (3). Dac
*
x este soluie optim a problemei (3),
atunci avem dou posibiliti:
(a) Avem P x
*
. n acest caz, conform lemei precedente, rezult c
*
x este
soluie optim a problemei (2) (STOP).
(b) Avem P x
*
. n acest caz se adaug la restriciile care definesc mulimea P o
restricie de secionare, restricie care elimin din P soluii admisibile care nu
pot fi soluii optime ale problemei (2). Este clar c astfel de soluii exist,
*
x
fiind evident o astfel de soluie.
n seciunile urmtoare se prezint doi algoritmi datorai lui Gomory,
algoritmi care utilizeaz ideea precedent.

VI.2. Algoritmul ciclic

Algoritmul ciclic al lui Gomory este destinat rezolvrii problemei de
optimizare liniar total n numere ntregi. Fie B o baz primal i dual admisibil
pentru problema de optimizare liniar (3). Rezult c soluia de baz
corespunztoare lui B este soluie optim a problemei (3). Sistemul de ecuaii
Ax=b se poate scrie n form explicit
B
R
=

i x y x x
j
j
B
ij
B
i i
,
Dac Z x
B
i
, B i , atunci, din Lema 1 dat n seciunea precedent
rezult c soluia de baz corespunztoare bazei B este soluie optim pentru
problema de optimizare liniar n numere ntregi (2).
n caz contrar, fie B u astfel nct Z x
B
u
. S introducem notaiile :
( )
0 u
B
u
B
u
f x E x + =
i
( )
uj
B
uj
B
uj
f y E y + = , R j
unde prin E(a) am notat partea ntreag a numrului real a.
Restricia de secionare care se obine este urmtoarea
( )


R j
u j uj
f x f
0

Adugnd aceast restricie la problema (3), rezult c urmeaz s
rezolvam problema de optimizare liniar
163
{ }
( )


= +
=
+
+

0 , 0
inf
1
0 1
n
u n
j
j uj
T
x x
f x x f
b Ax
x c
R
(1)
unde
1 + n
x este variabila ecart introdus pentru transformarea restriciei de
secionare n ecuaie.
Se constat uor c pentru problema (1) avem o baz corespunztoare
variabilelor
B
x i
1 + n
x . Adugnd tabelului simplex corespunztor lui B o linie
suplimentar pentru variabila de baz
1 + n
x i o coloan suplimentar
corespunztoare aceleiai variabile obinem tabelul simplex pentru problema (1):
V.B. V.V.B.
j
x

1 + n
x
B
x
B
x

B
j
y
0
1 + n
x
0 u
f

uj
f
1
B
z
B
z

j
B
j
c z
0
Se poate arat c, n anumite condiii, acest algoritm este finit.

VI.3. Algoritmul mixt

Algoritmul mixt al lui Gomory este destinat pentru rezolvarea problemei
de optimizare liniar parial n numere ntregi. n acest caz vom avea deci
{ } n J ,..., 1 .
Sistemul de ecuaii Ax=b se poate scrie n form explicit
B
R
=

i x y x x
j
j
B
ij
B
i i
,
Dac = J B sau dac Z x
B
i
pentru otice J i B , atunci, din
Lema 1 rezult c soluia de baz corespunztoare bazei B este soluie optim
pentru problema de optimizare liniar parial n numere ntregi (2).
Dac exist J u B astfel nct Z x
B
u
, s introducem notaiile
J \
*
R R =
{ } 0 ,
* *
> =
+
B
uj
y j j R R
i
{ } 0 ,
* *
< =

B
uj
y j j R R




164
Restricia de secionare care se obine n acest caz are forma
( )
0 u
j
j uj
f x d

R

unde
( )

>

=

+
cazuri celelalte n 0
, 1
1
,
1
0
0
0
0
*
0
0
*
u uj uj
u
u
u uj uj
B
uj
u
u
B
uj
ij
f f J j pentru f
f
f
f f J j pentru f
j pentru y
f
f
j pentru y
d

R
R
R
R

Utilizarea restriciei de secionare obinut mai sus se face n acelai mod
n care s-a procedat la algoritmul ciclic.
Se poate de asemenea arta c, n anumite condiii, algoritmul mixt al lui
Gomory este finit.

VII. PROBLEMA TRANSPORTURILOR

VII.1. Introducere

Problema transporturilor a fost formulat n seciunea II.1 ca problem de
optimizare liniar de forma
{ }
{ }
{ } { }


=
=
)
`


=
=
= =
n j m i x
n j b x
m i a x
x c
ij
j
m
i
ij
i
n
j
ij
m
i
n
j
ij ij
,..., 1 , ,..., 1 , 0
,..., 1 ,
,..., 1 ,
inf
1
1
1 1
(1)
Pentru rezolvarea acestei probleme se pot aplica algoritmii simplex expui
anterior. Trebuie observat ns c n problema (1) apare un sistem de m+n ecuaii
liniare cu mn nedeterminate. Pentru valori mari ale lui m sau n putem ntmpina
dificulti de calcul. Din acest motiv vom adapta algoritmul simplex pentru
rezolvarea problemei transporturilor cu scopul de a obine o variant a acestui
algoritm eficient n cazul unor valori mari pentru m sau n.






165
Teorema 1. Problema transporturilor are soluii admisibile dac i numai
dac sunt indeplinite condiiile
{ }
{ }

=



= =
n
j
j
m
i
i
j
i
b a
n j b
m i a
1 1
,..., 1 , 0
,..., 1 , 0
(2)
Observaie. Dac ( )
ij
x este o soluie admisibil pentru (1), rezult c
avem
{ }
j i ij
b a x , min 0 , { } m i ,..., 1 , { } n j ,..., 1
Urmeaz c mulimea soluiilor admisibile este o mulime mrginit.
Aceast mulime este evident nchis i deci compact. Utiliznd Teorema lui
Weierstrasse, obinem rezultatul urmtor.
Teorema 2. Problema transporturilor are soluii optime dac i numai
dac sunt ndeplinite condiiile (2).
Pentru a scrie problema (1) n form matriceal, introducem urmtoarele
notaii:
( )
T
mn m n
x x x x x ,..., ,..., ,...,
1 1 11
=
( )
T
mn m n
c c c c c ,..., ,... ,...,
1 , 1 11
=
( )
n m
b b a a b ,..., , ,...,
1 1
=
( )
mn m n
a a a a A ,..., ,..., ,...,
1 1 11
=
unde vectorii coloan
ij
a corespund variabilelor
ij
x din problema (1) i sunt
evident dai de relaiile
j m i ij
e e a
+
+ = , { } m i ,..., 1 , { } n j ,..., 1
iar
i
e , { } m i ,..., 1 este vectorul unitar din baza canonic a lui
n m
R
+
. Cu aceste
notaii problema (1) se poate scrie sub forma
{ }

=
0
inf
x
b Ax
x c
T
(3)

VII.2. Rezultate privind matricea problemei

Pentru matricea A a problemei transporturilor (3) definit n seciunea
precedent, avem urmtoarele rezultate.
Teorema 1. Rangul matricei A este egal cu m+n-1.
Teorema 2. Orice minor al matricei A are una dintre valorile 0, 1 sau -1.
166
innd seama de teorema 1, rezult c exist sisteme de m+n-1 vectori
coloan liniar independeni n matricea A. Fie B o matrice format cu m+n-1
vectori coloan liniar independeni n matricea A. Prin abuz de limbaj, matricea B
este numit baz. Este clar c matricea ) (
1 ,
R B
n m n m + +
M are rangul m+n-1.
Putem obine soluia de baz a sistemului de ecuaii corespunztoare bazei B dac
eliminm una dintre ecuaiile sistemului (care este ecuaie secundar) i rezolvm
sistemul de ecuaii principale rmas, anulnd bineneles variabilele nebazice.
innd seama de aceste observaii, din Teorema 2 obinem rezultatul care urmeaz.
Teorema 3. S presupunem c Z a
i
, { } m i ,..., 1 i Z b
j
,
{ } n j ,..., 1 . Atunci:
(a) orice soluie de baz a problemei transporturilor are componente ntregi;
(b) exist soluii optime de baz cu componente ntregi.
Datele problemei transporturilor se prezint ntr-un tabel de transport care
are m linii i n coloane. La fiecare baz B asociem un tabel de transport.
Fie
( ) { } = lui al a j i
ij
coloan vector este , B
i { } { } B R \ ,..., 1 ,..., 1 n m = .
O pereche ( ) { } { } n m j i ,..., 1 ,..., 1 , este numit celul a tabelului de
transport. Celulele se clasific n celule de baz ( ) B j i, i celule secundare
( ) R j i, .
O celul de baz (i,j) este asociat cu coloana
ij
a , cu variabila
ij
x , cu
costul unitar
ij
c i cu valoarea
ij
x a variabilei de baz
ij
x n soluia de baz
corespunztoare lui B. Convenim s scriem ntr-o celul de baz numerele
ij
c i
ij
x , cu convenia c
ij
c este scris n partea superioar a celulei, deasupra
diagonalei trasate n celula tabelului.
O celul secundar (i,j) este asociat cu coloana
ij
a , cu variabila
ij
x i cu
costul unitar
ij
c . Cum valoarea
ij
x a variabilei secundare
ij
x n soluia de baz
corespunztoare lui B este nul, convenim s scriem ntr-o celul secundar numai
numrul
ij
c , subnelegnd c 0 =
ij
x .
S considerm liniile distincte { } m i i
t
,..., 1 ,...,
1
i coloanele distincte
{ } n j j
t
,..., 1 ,...,
1
. Mulimea de celule
( ) ( ) ( ) ( ) ( ) { }
1 2 2 2 1 1 1
, , , ,..., , , , , , j i j i j i j i j i
t t t

este numit ciclu de celule. Este clar c numrul de celule dintr-un ciclu este
numr par, pe fiecare dintre liniile i coloanele selectate gsindu-se exact dou
celule din ciclu.
167
Teorema 4. O condiie suficient ca un sistem de vectori coloan ai
matricei A s fie liniar dependent este ca celulele corespunztoare s formeze un
ciclu. Dac
( ) ( ) ( ) ( ) ( ) { }
1 2 2 2 1 1 1
, , , ,..., , , , , , j i j i j i j i j i
t t t

este un ciclu de celule, atunci
0 ...
1 2 2 2 1 1 1
= + +
j
t
i
t
j
t
i j i j i j i
a a a a a .
Se poate arta c, condiia din enun este nu numai suficient, ci i
necesar.
Dac B este baz, atunci, conform cu teorema precedent, mulimea B nu
poate conine cicluri de celule. Avem ns rezultatul urmtor.
Teorema 5. Fie B o baz i fie ( ) R k s, o celul secundar. Atunci
exist i este unic un ciclu de celule determinat de celula (s,k) cu celule din B .

VII.3. Adaptarea algoritmului simplex

Pe baza rezultatelor obinute n seciunile precedente se poate adapta
algoritmul simplex primal pentru problema transporturilor.
Fie ( ) R k s, . Conform cu Teorema 5, exist i este unic un ciclu
( ) ( ) ( ) ( ) ( ) { } k i j i j i j s k s C
t t t
, , , ,..., , , , , ,
1 1 1
=
format de celula (s,k) cu celule din B . Numerotm celulele ciclului C ncepnd cu
celula (s,k). Din Teorema 4 rezult
k
t
j
t
j
t
i j i sj
sk
a a a a a + + = ...
1 1 1

Vectorul coloan din tabelul simplex corespunztor coloanei
sk
a , a
matricei A este notat n cele cu urmeaza cu
sk
y , iar componentele sale cu
sk
ij
y ,
( ) B j i, . Din relaia precedent rezult c avem
( )
1 dac (i n C
1 dac (i n C
0 dac i,j
sk
ij
j are rang par
y j are rang impar
C
, )

= , )

.
Cu alte cuvinte, vectorul
sk
y este determinat ndat ce se determin ciclul
format de (s,k) cu celule din B .
Se poate observa de asemenea c pivotul transformrii simplex va fi egal
cu 1, deoarece trebuie s fie o component pozitiv a lui
sk
y . Mai mult, dac
pivotul transformrii este 1 =
sk
rt
y , din formulele de schimbare a bazei, rezult c
noua soluie de baz ( )
ij
x
~
corespunztoare bazei B
~
care se obine din B nlocuind
coloana
rt
a cu coloana
sk
a este dat de formulele
168
( )
( )
( )
dac i,j are rang par n C
dac i,j are rang impar n C
dac i,j
ij rt
ij ij rt
ij
x x
x x x
x C

= +

.
n sfrit, observnd c elementele pozitive ale lui
sk
y sunt egale cu 1 i
corespund celulelor din C de rang par, criteriul de ieire din baz din algoritmul
simplex devine
( ) { }
rt ij
x j i x = C n par rang are , min
Calculul cantitilor
sk sk
c z corespunztoare se poate face dup formula
( )
sk
j i
sk
ij ij sk sk
c y c c z =

B ,

Deoarece numrul celulelor secundare este (m-1)(n-1), pentru aplicarea acestui
procedeu ar trebui determinate toate cele (m-1)(n-1) cicluri, ceea ce conduce la
calcule laborioase.
Exist, din fericire, o metod mai simpl sugerat de teorema slab a
ecarturilor complementare.
S considerm n acest scop duala problemei transporturilor
{ } { }

+
)
`

+

= =
arbitrari v u
n j m i c v u
v b u a
j i
ij j i
n
j
j j
m
i
i i
,
,..., 1 , ,..., 1 ,
sup
1 1
(4)
Soluia admisibil ( )
ij
x pentru problema primal (1) i soluia admisibil ( )
j i
v u ,
pentru problema dual (4) sunt soluii optime dac i numai dac verific relaiile
( ) 0 =
j i ij ij
v u c x , { } m i ,..., 1 , { } n j ,..., 1
n particular, dac soluia admisibil ( )
ij
x pentru problema primal (1) este soluie
de baz corespunztoare bazei B, condiia precedent se reduce la condiia
( ) 0 =
j i ij ij
v u c x ( ) B j i,
Este deci suficient s avem
ij j i
c v u = + , ( ) B j i,








169
Teorema 6. Fie B o baz. Atunci:
(i) Sistemul de m+n-1 ecuaii n m+n nedeterminate
ij j i
c v u = +
( ) B j i, este compatibil.
(ii) Dac ( )
j i
v u , este o soluie particular a acestui sistem de ecuaii, orice
soluie a sistemului este de forma
{ }
{ }

=
+ =
n j K v v
m i K u u
j j
i i
,..., 1
,..., 1

unde K este o constant real oarecare.
Teorema 7. Fie B o baz. Dac ( )
j i
v u , este o soluie particular a
acestui sistem de ecuaii, atunci:
sk k s sk sk
c v u c z + = ( ) R k s, .
Rezultatele precedente ne permit acum s formulm varianta modificat a
algoritmului simplex pentru problema transporturilor.
Pasul 0: Se determin o baz primal admisibil B, soluia de baz
corespunztoare ( )
ij
x i mulimea B a celulelor de baz.
Pasul 1: (Testul de optim). Se determin o soluie particular ( )
j i
v u , a sistemului
de ecuaii
ij j i
c v u = + ( ) B j i, .
Se calculeaz apoi numerele
ij j i ij ij
c v u c z + = ( ) R j i, .
Dac 0
ij ij
c z pentru ( ) R j i, , rezult c avem o soluie optim
(STOP). n caz contrar se trece la pasul urmtor.

Pasul 2: (Schimbarea bazei). Se determin ( ) R k s, cu criteriul de intrare n
baz
{ }
sk sk ij ij
c z c z = max
i ciclul C determinat de celula (s,k) de celule din B , ciclu care se
numeroteaz ncepnd cu celula (s,k). Se determin celula ( ) B t r, cu
criteriul de intrare n baz
( ) { }
rt ij
x j i x = C n par rang are , min .
Se consider noua baz B
~
obinut din B nlocuind coloana
rt
a cu
coloana
sk
a , se calculeaz noua soluie de baz ( )
ij
x
~
cu formulele:
170
( )
( )
( )
dac , are rang par n C
dac , are rang impar n C
dac ,
ij rt
ij ij rt
ij
x x i j
x x x i j
x i j C

= +


i se revine la pasul 1, nlocuind B cu B
~
.

VII.4. Determinarea unei soluii de baz iniiale

Pentru determinarea unei soluii de baz iniiale se aplic urmtoarea
metod general.
Se fixeaz o celul (i,j) i se atribuie variabilei
ij
x valoarea
( )
j i ij
b a x , min =
Dac
i ij
a x = , se elimina din tabelul de transport linia i i se nlocuiete
j
b cu
ij j
x b .
Dac
j ij
b x = , se elimina din tabelul de transport coloana j i se
nlocuiete
i
a cu
ij i
x a .
Se repeta procedeul pe tabelul astfel obinut.
n metodele particulare se d o regul de alegere a celulei din tabelul de
transport.
n Metoda colului de Nord-Vest, se alege n fiecare tabel celula din colul
de Nord-Vest.
n Metoda costului minim, se alege n fiecare tabel celula corespunztoare
costului unitar minim.
Se pot da i alte metode particulare pentru determinarea unei soluii de
baz iniiale.
Se poate arta c aceste metode furnizeaz ntr-adevr o soluie de baz
admisibil pentru problema transporturilor.

VII.5. Degenerare i ciclare

Ca i n cazul general, varianta algoritmului simplex dat mai sus pentru
rezolvarea problemei transporturilor nu este n mod necesar un algoritm finit. Aa
cum am vzut, dac problama este degenerat, este posibil s apar fenomenul de
ciclare. n legatur cu aceast chestiune, prezentm rezultatul urmtor:
Teorema 8. O condiie suficient ca problema transporturilor s fie
degenerat este ca s existe mulimile nevide de indici { } m M ,..., 1 i
{ } n N ,..., 1 astfel nct


=
M i N j
j i
b a
Se poate arta c aceast condiie este i necesar.
171
Conform cu rezultatul precedent, pentru a evita degenerarea este suficient
s nlocuim numerele
i
a cu numerele
+ =
i i
a a , { } m i ,... 1
i numerele
j
b cu numerele

= +

=
n j pentru m b
n j pentru b
b
n
j
j
1 1

unde 0 > este un numr real arbitrar de mic.
Se verific fr dificultate c pentru orice mulimi nevide de indici
{ } m M ,..., 1 i { } n N ,..., 1 avem



N j
j
M i
i
b a .

BIBLIOGRAFIE

1. A. tefnescu, C. Zidroiu, Cercetri operaionale, Editura Didactic i
Pedagogic, Bucureti, 1981
2. C. Zidroiu, Programare liniar, Editura Tehnic, Bucureti 1983
3. M. Malia, C. Zidroiu, Matematica organizrii, Ediia a II-a, Editura
Tehnic, Bucureti 1975
4. David G. Luenberger, Linear and Non Linear Programming, Addison
Wesley, Massuchusatts, 1989
5. Josef, Stoer, Christoph Witsgall, Convexity and Optimization in Finite
Dimensions, I, Springer Verlag, Berlin, 1970


172

REELE DE CALCULATOARE

Lect. univ. MARIANA POPA


I. NOIUNI DE BAZ

Construirea reelelor de calculatoare a cunoscut o explozie nemaintlnit.
Reelele de calculatoare au aprut din nevoia oamenilor de a parataja resurse fizice
(imprimante, scannere etc.) i informaii:
- Partajarea resurselor fizice aduce multe economii companiilor mari, n care
spre exemplu, nu mai este necesar cumprarea cte unei imprimante
pentru fiecare sistem din reea, ci o aceeai imprimant este utilizat de
ctre toti angajaii.
- Partajarea informaiilor ns aduce pe lng economiile materiale rezultate
din costurile de transport i a consumabilelor i mari economii de timp,
fiind permis accesul instantaneu la serverul cu aplicaii, baze de date etc.
Datele sunt memorate pe calculatoare numite servere i sunt accesate de
angajai de la calculatoarele de birou, numite clieni.
- Nevoia de a comunica ct mai rapid a dus la apariia: potei electronice (e-
mail) folosit pentru comunicaiile zilnice, a videoconferinelor, a
comerului electronic (e-commerce), a camerelor de discuii (chat-room-
ul), a mesageriei instantanee.
- Nevoia de divertisment a fost satisfacut prin video la cerere, filme,
muzic, prin jocuri pentru mai multe persoane cu simulare n timp real,
prin realitate virtual global i partajat.
n multe situaii calculatoarele de birou fixe au fost nlocuite cu calculatoare
portabile, numite pe scurt PDA-uri (Personal Digital Assistant). Pe ap, n aer sau
pe uscat, ori unde s-ar afla, posesorul unui PDA dorete s poat primi, trimite
apeluri telefonice, s poat naviga pe Web sau s acceseze o baz de date. Aa s-au
dezvoltat reelele fr fir. Acestea au cunoscut importante aplicaii n domeniul
militar, n taximetrie, poliie, n telefonia fr fir i comerul mobil (M-commerce).
Prin reea de calculatoare nelegem o colecie interconectat de calculatoare
autonome.
Interconectarea ( posibilitatea de a schimba informaie) se face prin cabluri de
cupru, fibre optice, microunde sau satelii de comunicaie.
Calculatoarele din reea fiind autonome, ntre ele nu exist relaii de tip
master/slave sau faciliti de control al unora asupra altora din reea.
Nu trebuie confundat o reea de calculatoare nici cu un sistem distribuit n
care existena mai multor calculatoare autonome este transparent pentru
utilizator, dar care nu e contient de existena mai multor procesoare, sistemul
artnd ca un singur procesor virtual. ntr-un astfel de sistem, pentru execuia unui
program, SO alege procesorul cel mai potrivit, identific i transfer toate fiierele
necesare ctre respectivul procesor i n final depune rezultatele n locul potrivit.
Aici nimic nu este explicit, totul realizndu-se automat fr cunotina
utilizatorului.
173
ntr-o reea de calculatoare fiecare utilizator se conecteaz explicit la un
anumit calculator, comand explicit execuia proceselor la distan, transfer
explicit fiierele i ntr-un cuvnt, personalizeaz ntreaga administrare a reelei.
Diferena major ntre un sistem distribuit i o reea de calculatoare nu apare
la nivel de echipamente, ci la nivel de SO, unde se decide cine face munca:
sistemul sau utilizatorul.
n proiectarea unei reele de calculatoare (RC), deosebit de importante sunt:
- tehnologia de transmisie,
- scara la care opereaz reeaua.
Exist dou tipuri de tehnologii de transmisie: reele cu difuzare i reele punct-la-
punct.
n reelele cu difuzare exist un singur canal de comunicaie partajat de
toate mainile din reea, pe care fiecare main poate trimite mesaje scurte, numite
i pachete. Exist un cmp de adres pe pachet care precizeaz maina creia i
este adresat pachetul. Toate mainile din reea primesc pachetul, controleaz
cmpul de adres, i pstreaz pachetul numai acea main creia i este adresat,
restul ignorndu-l. Reelele de dimensiuni mai mici folosesc aceast tehnologie.
n reelele punct-la-punct exist diferite conexiuni ntre maini individuale,
din care se formeaz trasee multiple pe care pachetele ajung de la surs la
destinaie, trecnd uneori prin mai multe maini intermediare. n acest caz un rol
deosebit l joac algoritmii de dirijare. Reelele de dimensiuni mai mari folosesc
aceast tehnologie.
n ce privete scara la care opereaz reeaua, exist urmtoarele tipuri de
sisteme cu procesoare multiple:
- Maini de tip flux de date - cu mai multe procesoare pe aceeai plac de
circuite, situate la distane n jur de 10 cm. Acestea sunt calculatoare cu
grad ridicat de paralelism, avnd mai multe uniti funcionale ce pot lucra
la acelai program.
- Multicalculatoare - cu procesoare n acelai sistem, situate la o distan n
jur de 1 m care comunic transmind mesaje prin magistrale foarte scurte
i rapide.
- Reelele locale (Local Area Networks-LAN-uri) cu procesoare situate n
aceeai camer, cldire sau campus, la distane de pn la 10, 100 i
respectiv 1000 m i care comunic prin schimb de mesaje prin cabluri mai
lungi. conecteaz calculatoare personale i staii de lucru cu scopul de a
partaja resurse i de a schimba informaii. Se disting de alte tipuri de reele
prin mrime, tehnologia de transmisie i topologie. LAN-urile au
dimensiuni reduse, folosesc o tehnologie de transmisie ce const dintr-un
singur cablu la care sunt ataate toate mainile i funcioneaz la viteze
ntre 10Mbs i 100Mbs cu ntrzieri de ordinul zecilor de microsecunde i
cu erori foarte puine.







174
LAN-urile cu difuzare au dou tipuri de tehnologii: cu magistral sau cu
inel, ca n desenele urmtoare:
calculator

..

calculator
cablu



- n LAN-urile cu magistral, la fiecare moment unul din
calculatoare poate transmite, iar celelalte ateapt. n cazul
transmisiilor simultane este necesar un mecanism de arbitrare care
poate fi centralizat sau descentralizat. n cazul centralizat exist o
unitate central de arbitrare a magistralei care decide cine urmeaz la
rnd pe baza unui algoritm intern care analizeaz cereri de
transmisie. n cazul descentralizat nu exist aceast unitate central i
fiecare main hotrte singur dac s transmit sau nu controlul
Ethernet(IEEE802.3)) este o reea cu magistral i control
descentralizat n care calculatoarele transmit oricnd doresc cu
10Mbs sau 100Mbs i dac au loc ciocniri de pachete fiecare
calculator ateapt un timp aleator i apoi ncearc din nou.
- n LAN-urile cu inel fiecare bit se propag independent de ceilali
pe inel, fr s atepte restul pachetului. i aici este nevoie de o
regul pentru a arbitra accesele simultane la inel (exemplu IEEE
802.5 este un LAN de tip inel cu jeton ce opereaz la 4Mbs i la
16Mbs).
n funcie de modul de alocare a canalului, reelele cu difuzare pot fi statice
sau dinamice. n cele statice se divizeaz timpul n intervale discrete i se ruleaz
un algoritm de alocare round-rabin (RR), lsnd fiecare main s emit
numai atunci cnd i vine rndul. Dac o main nu are nimic de transmis n cuanta
de timp alocat, se irosete inutil capacitatea canalului i de aceea majoritatea
sistemelor aloc la cerere canalul, adic n mod dinamic. n reelele dinamice
metodele de alocare sunt centralizate sau descentralizate.
Exist i LAN-uri cu linii punct-la-punct n care linii individuale leag o
main specificat de o alt main specificat. Un altfel de LAN constituie un
WAN n miniatur.
- Reelele metropolitane (Metropolitan Area Networks-MAN-uri) cu
procesoare situate n acelai ora, la o distan de cel mult 10km, sunt
versiuni extinse ale LAN-urilor i deci folosesc tehnologii similare, putnd
suporta pe lng date, voce i legturi cu reeaua local de televiziune prin
cablu.
- Reelele larg rspndite geografic (Wide Area Networks WAN-uri) cu
procesoare n aceeai ar sau pe acelai continent, situate la o distan de
100 respectiv 1000km, dispun de o subreea de comunicaie compus din
linii de transmisie numite i circuite, canale sau trunchiuri i din
elemente de comutare numite generic rutere ce pot fi noduri de comutare
a pachetelor, sisteme intermediare sau comutatoare de date. La subreea
175
sunt legate calculatoare numite gazde. n general gazdele sunt conectate la
un LAN, dar uneori pot fi legate direct de un ruter.
Liniile de comunicaie transfer biii ntre calculatoare.
Ruterele sunt calculatoare specializate ce conecteaz dou sau mai multe linii
de comunicaie. La sosirea unor date pe o linie la router, acesta trebuie s aleag o
nou linie pentru a transmite datele mai departe. Sarcina subreelei este s
transporte mesajele de la o gazd la alta, acestea fiind conectate prin subreeaua de
comunicaie.
n WAN-uri subreeaua poate fi cu comutare de pachete (punct-la-punct
sau memoreaz i transmite) sau cu difuzare. n primul caz subreeaua conine
numeroase cabluri sau linii telefonice, fiecare legnd o pereche de rutere. Dac
dou rutere ce nu mpart acelai cablu doresc s comunice folosesc rutere
intermediare n care pachetele trimise sunt primite n ntregime, reinute un timp
(timp n care linia de ieire cerut devine liber) i apoi transmise.



gazd



LAN

Subreea
Legtura: gazd - subreea

n cazul reelelor cu comutare de pachete, topologia de interconectare a ruterelor
poate fi de diverse tipuri: stea, inel, arbore, complet, inele intersectate, neregulat.
n cel de al doilea caz, subreeaua folosete un satelit sau un sistem radio. n
aceast situaie fiecare ruter are o anten cu care poate recepiona i transmite.
Toate ruterele pot auzi semnalul de la satelit i n unele cazuri pot auzi i transmisia
de la rutere ctre satelit.
Reelele fr fir, sunt de trei tipuri:
- Interconectarea componentelor unui sistem (mouse, tastatur, camer
digital etc): prin unde radio cu raza mic de aciune, numit Bluetooth.
- LAN-uri fr fir se folosesc n cldirile n care cablarea este incomod
sau n spaiile n care se instaleaz greu o reea. Ele au modem radio i
anten pentru a putea comunica ntre sisteme.
- Wan-uri fr fir au fost implementate prin reeaua radio, i utilizate
pentru voce i date.
- Inter-reele. Dac se pune problema ca persoane conectate la reele
diferite, uneori incompatibile, s comunice ntre ele, apare necesitatea
conectrii ntre ele. Acest lucru se face prin intermediul unor maini
speciale numite pori, care realizeaz conectarea i asigur translatrile
necesare att la nivel de hardware ct i la nivel de software. O colecie
de reele interconectate se numete interreea sau INTERNET, ea are
procesoare i la o distant de 10000km. O interreea poate fi gndita ca o
colecie de LAN-uri conectate printr-un WAN.
ruter
176
- Reelele casnice sunt instalate o dat cu construcia cldirilor i fac
accesibil comunicarea ntre toate dispozitivele din cas (calculator, TV,
DVD, combin muzical, telefon fix sau mobil, frigider, cuptor, aparat de
aer condiionat etc) prin Internet.
Reelele sunt organizate pe straturi sau niveluri, fiecare nivel oferind servicii
nivelurilor superioare. Nivelul n de pe o main comunic, folosind anumite reguli
i convenii numite protocoale, cu nivelul n de pe alt main.
Protocolul este deci o nelegere ntre pri asupra modului de realizare a
comunicrii. n realitate nu se transmit direct informaii ntre nivelul n al celor dou
maini, ci datele de pe nivelul n se transmit nivelului n-1, de aici nivelului n-2 i
aa mai departe pn la nivelul 1 sub care se afl nivelul fizic prin care se produce
comunicarea efectiv ntre cele doua maini.
Intre dou niveluri adiacente exist o interfa care definete operaiile i
serviciile primitive oferite de nivelul n nivelului n+1.
O colecie de niveluri i protocoale de comunicaie se numete arhitectur
de reea.
O list de protocoale folosit de un sistem, cte un protocol pentru fiecare
nivel se numete stiv de protocoale.
S presupunem c la nivelul 5 o aplicaie produce un mesaj M . Acesta este
furnizat nivelului 4 .
Nivelul 4 insereaz un antet n faa mesajului, i trimite rezultatul nivelului
3. Antetul cuprinde o serie de informaii numite informaii de control.
Nivelul 4 nu impune limita de mrime a mesajelor , dar exist o limit
impus de protocolul nivelului 3.
Nivelul 3 sparge mesajele n uniti mai mici, numite pachete, i ataeaza
fiecrui pachet un antet specific nivelului 3. Nivelul 3 trimite pachetele nivelului 2
Nivelul 2 adaug la fiecare pachet un antet i o ncheiere, i trimite
unitatea rezultat nivelului 1 care o va transmite fizic mainii receptoare.
Maina receptoare trimite mesajul n sus, din nivel n nivel, la fiecare nivel
fiind eliminat antetul corespunztor.
Se observ din acest exemplu c, comunicarea ntre nivelul n de pe o main
i nivelul n de pe maina destinaie nu are loc pe orizontal prin protocolul
nivelului n cum ar prea la prima vedere.
La proiectarea nivelurilor unei reele pot aprea o serie de probleme:
- Protocolul trebuie s determine la cte canale logice corespunde o
conexiune i care sunt prioritile acestora, deoarece exista reele cu dou
canale logice pe conexiune (unul este folosit pentru date normale iar
cellalt pentru date urgente), astfel datele pot circula ntr-un singur
sens - comunicare simplex; n ambele sensuri dar nu simultan -
comunicare semi-duplex sau n ambele sensuri simultan - comunicare
duplex.
- Fiecrui nivel i trebuie un mecanism care s identifice emitorii i
receptorii .
- Este necesar un control al erorilor pe circuitele fizice care nu sunt perfecte.
Acelai cod detector i corector de erori trebuie folosit de ambele capete
ale unei conexiuni i n pus receptorul trebuie s poat anuna emitorul ce
mesaje nu au fost primite corect.
177
- Protocolul trebuie s furnizeze explicit receptorului informaia necesar
reconstituirii ordinii corecte a fragmentelor pentru c nu toate canalele
pstreaz ordinea mesajelor trimise.
- O alt problem ce intervine la fiecare nivel se refer la controlul fluxului
de date, adic la evitarea situaiei n care un emitor rapid trimite unui
receptor lent date la vitez prea mare.
- Nu toate procesele ce se desfoar n cadrul nivelurilor accept mesaje de
lungime arbitrar, astfel de multe ori este necesar dezasamblarea
mesajelor, transmiterea i apoi reasamblarea lor.
- Atunci cnd este prea costisitoare alocarea unei conexiuni separate pentru
fiecare pereche de procese comunicante, nivelul implicat n comunicare
poate utiliza aceeai conexiune pentru mai multe conversaii diferite.
Aceast operaie se numeste multiplexare i demultiplexare, ea se
realizeaz transparent i poate avea loc la orice nivel.
- Dac transmiterea mesajului de la surs la destinaie se poate face pe mai
multe ci, trebuie ales un anumit drum. Aceast problema se numete
dirijare sau rutare.
Elementele active ale unui nivel se numesc entiti. Entitile aceluiai nivel
dar de pe maini diferite se numesc entiti pereche. Dac entitile nivelului n
implementeaz un serviciu folosit de nivelul n+1, nivelul n se numete furnizor de
servicii, iar nivelul n+1 utilizator de servicii. Entitile pot fi:
- entiti software (un proces),
- entiti hardware ( un cip I/E inteligent).
Punctele nivelului n prin care nivelul n+1 are acces la serviciile oferite de
acesta se numesc SAP-uri (Service Acces Points - puncte de acces la servicii).
Exist doua tipuri de servicii oferite de fiecare nivel nivelurilor superioare: -
servicii orientate pe conexiuni i servicii fr conexiuni.
Serviciul orientat pe conexiuni este asemntor sistemului telefonic. Pentru a
vorbi cu cineva:
- se ridica receptorul,
- se formeaza numrul ,
- se vorbete ,
- se nchide.
Analog n serviciul orientat pe conexiuni :
- se stabilete o conexiune,
- se folosete conexiunea,
- se elibereaz conexiunea.
Serviciul fr conexiuni este asemntor sistemului potal, mesajele conin
adresele complete de destinaie i fiecare mesaj circul independent fa de
celelate. Dac dou mesaje au aceeai destinaie se poate ntmpla ca cel care a fost
trimis al doilea s ajung primul.
Una dintre caracteristicile unui serviciu este calitatea serviciului.
Un serviciu trebuie s fie sigur, adic s nu pierd niciodat date. Pentru aceasta,
receptorul trebuie s confirme primirea fiecrui mesaj, ceea ce duce la introducerea
unui timp suplimentar i la ntrzieri.




178
Servicii sigure orientate pe conexiuni pot fi:
- Secvenele de mesaje, n care este meninut delimitarea mesajelor.
Dac spre exemplu sunt trimise dou mesaje de aceeai dimensiune, ele
vor sosi la destinaie sub forma a dou mesaje distincte i niciodat ca
un singur mesaj de dimensiune dubl.
- Fluxurile de octei, n care nu exist delimitri ale mesajelor. Dac
receptorul primete 2048 de octei, el nu poate ti dac toi octeii provin
de la acelai mesaj sau de la 2 sau mai multe mesaje mai mici.
Serviciile nesigure (neconfirmate) fr conexiuni : se mai numesc i
datagrame i funcioneaz pe principiul telegramelor, unde nu se transmit
confirmri ctre expeditor.
Se poate folosi i serviciul datagrama confirmat sau serviciul cerere-
rspuns.
Formal, un serviciu este specificat printr-un set de primitive (operaii),
disponibile entitii care folosete acest serviciu. Aceste primitive comand
serviciului s execute anumite aciuni sau s raporteze despre aciunile executate de
o entitate pereche. Cele dou tipuri de servicii, orientat pe conexiuni i fr
conexiuni, au primitive diferite.
Exemple de primitive pentru implementarea unui serviciu simplu orientat
pe conexiune:
- LISTEN (ascult) , blocheaz i ateapt o conxiune;
- CONNECT (conecteaz) stabilete conexiune cu o entitate pereche aflat n
ateptare;
- RECEIVE (primete) blocheaz n ateptare de mesaj;
- SEND (trimite) trimite mesaj entitii pereche;
- DISCONNECT (deconecteaz) ncheie conexiunea.
Serviciile i protocoalele sunt concepte distincte.
Prin serviciu nelegem un set de primitive pe care un nivel le furnizeaz
nivelului de deasupra. El spune ce operaii poate oferi utilizatorilor si fr s
precizeze nimic despre modul de implementare al acestor operaii. Serviciul este
definit n contextul unei interfee ntre dou nivele.
Prin protocol nelegem un set de reguli ce guverneaz formatul i
semnificaia cadrelor, pachetelor sau mesajelor schimbate ntre ele de entitile
pereche ale unui nivel. Entitile folosesc protocoale pentru a implementa operaiile
serviciului lor.
Din cele dou definiii se poate trage urmtoarea concluzie: serviciile sunt
legate de interfeele dintre niveluri, iar protocoalele sunt legate de pachetele trimise
ntre entitile pereche de pe diferite maini.

II. MODELE DE REFERINA

Arhitecturile de reea cele mai cunoscute sunt modelul de referina OSI
(Open System Interconnection interconectarea sistemelor deschise) i TCP
(Transmission Control Protocol).





179
Modelul OSI

Cuprinde 7 niveluri. La crearea lui stau urmtoarelor principii:
- Un nivel se creeaz cnd apare necesitatea unui nivel diferit de abstractizare.
- Fiecare nivel are un rol bine definit.
- Funcia fiecrui nivel trebuie aleas nct s se poat defini protocoale
standardizate.
- Delimitarea nivelurilor se face astfel nct s minimizeze fluxul de informaii
prin interfee.
- Numrul nivelurilor trebuie s fie suficient de mare pentru a nu introduce
funcii diferite n acelai nivel i trebuie s fie suficient de mic pentru ca
arhitectura reelei s fie funcional.



Nivelul fizic are rolul de a transmite biii de la o maina la alta printr-un
canal de comunicaie, variind cteva proprieti fizice cum ar fi tensiunea i
intensitatea curentului. Acest nivel trebuie proiectat n aa fel nct s poat rezolva
problemele tipice de tipul: ci voli sunt necesari pentru reprezentarea unui bit 1 i
respectiv a unui bit 0, dac transmisia se poate realiza simultan n ambele sensuri
ale canalului de comunicaie, modalitatea de stabilire i de ntrerupere a conexiunii,
numrul de pini i uitlitatea fiecrui pin al conectorului de reea. n funcie de
acestea se modeleaza comportamentul semnalului. Pentru transmisie se pot utiliza
mediul magnetic, cablul torsodat, cablul coaxial n band de baz, cablul coaxial de
band larg, fibre optice sau comunicaiile fr fir (spectrul electromagnetic,
Nivel Numeleunitatii sch
Protocolul aplicatie
7 Aplicatie Aplicatie APDU
Interfata
Protocolul prezentare
6 Prezentare Prezentare PPDU
Interfata
Protocolul sesiune
5 Sesiune Sesiune SPDU
Protocolul transport
4 Transport Transport TPDU
Limitasubretelei decomunicatie
Protocolul internal subretelei
3 Retea Retea Retea Retea Pachet
a d
2 Legaturadedate Legaturadedate Legaturadedate Legaturadedate Cadru
b d
1 Fizic Fizic Fizic Fizic Bit
c Ruter d Ruter
GazdaA GazdaB
a Protocol gazda-ruter delanivelul retea
b Protocol gazda-ruter delanivelul legaturadedate
c Protocol gazda-ruter delanivelul retea
d Protocol internal subretelei
180
transmisia radio, transmisia prin microunde, unde infraroii i milimetrice, sistemul
telefonic, reeaua digital cu servicii integrate de band larg).

Nivelul legtur de date
- are rolul de a transforma un mijloc de transmisie ntr-o linie disponibil
nivelului reea fr erori de transmisie,
- oblig emitorul s descompun datele n cadre de date, s transmit
secvenial cadrele i s prelucreze cadrele de confirmare transmise de
receptor,
- o alta funcie pe care o ndeplinete nivelul legtur de date este reglarea
traficului, astfel nct un receptor lent s nu fie inundat de un emitor rapid.
Emitorul trebuie s dispun de mecanisme speciale care s l informeze
asupra spaiului tampon deinut de receptor la un moment dat,
- nivelul legtur de date cuprinde un subnivel de control al acesului la mediu
care rezolv problema controlului accesului la canalul partajat pentru reelele
cu difuzare.

Nivelul reea are rolul de a controla funcionarea subreelei. Acesta trebuie
s detemine modul de dirijare a pachetelor de la surs la destinaie. Dirijarea se
poate realiza prin intermediul tabelelor statistice (prin trasee care sunt stabilite la
nceputul fiecrei conversaii) sau n mod dinamic (prin determinarea traseelor
pentru fiecare pachet n parte n concordan cu traficul din reea la momentul
respectiv).
Printre funciile nivelului reea enumerm: controlul congestiilor, tratarea
ntrzierilor, timpul de tranzitare, fluctuaiile. De asemenea, nivelul reea se ocup
de transferul pachetelor dintr-o reea n alta, n cazul n care apar complicaii
datorate modului de adresare sau a protocoalelor diferite, dimensiunii prea mari a
pachetelor etc. Pentru retelele cu difuzare, dirijarea fiind simpl, nivelul reea poate
fi inexistent.

Nivelul transport descompune datele pe care le primete de la nivelul
sesiune n uniti mai mici, le trimite nivelului reea i se asigur c acestea ajung
corect. De asemenea, stabileste tipul de serviciu pe care l furnizeaz nivelului
sesiune i utilizatorilor reelei.
n cadrul nivelului transport se realizeaz un schimb de informaii ntre
maina surs i maina destinaie prin intermediul unor programe similare instalate
pe respectivele maini, folosind antetele mesajelor i mesaje de control.
Nivelul sesiune are rolul de a facilita utilizatorilor de pe maini diferite
stabirea sesiuni ntre ei. Sesiunile trebuie s controleze dialogul, astfel nct
utilizatorii s respecte regulile impuse comunicrii, s gestioneze jetonul (n cazul
n care doi utilizatori ncearc simultan o operaie critic) i s asigure
sincronizarea introducnd puncte de control.
Nivelul prezentare are rolul de a verifica sintaxa i semantica
informaiilor transmise, asigurnd comunicarea ntre maini care folosesc codificri
diferite ale datelor.
Nivelul aplicaie conine o multitudine de protocoale utilizate frecvent
cum ar fi HTTP (protocol de transmitere a hipertextului), FTP (protocol pentru
transferul fiierelor), SMTP (protocol pentru pota electronica) etc.
181
La transmiterea datelor n reea din nivel n nivel sunt utilizate diferite
dispozitive: repetoare, noduri, comutatoare, puni, rutere i pori.
Legtura ntre aceste dispozitive i datele transmis poate fi prezentat pe
scurt astfel:
- Repetoarele sunt dispozitive analogice conectate ntre dou segmente de
cablu. Ele neleg doar tensiuni electrice, rolul lor este de a amplifica i
trimite pe cellalt cablu un semnal aprut pe unul din cabluri.
- Un nod are mai multe linii de intrare pe care le unete din punct de vedere
electric, el nu amplific semnalul, cadrele ajunse pe o linie sunt trimise
afar pe toate celelalte linii, nu recunoaste i nu utilizeaz adresele 802. Un
nod formeaz un singur domeniu de coliziune. Nodurile suport multe
plci de extensie cu mai multe intrri.
- Comutatoarele i punile ruteaz cadre pe baza adreselor. Comutatorul
conecteaz calculatoare individuale, fiecare port al comutatorului este
conectat la un singur calculator. Punile conecteaz numai reele.
- Ruterul funcioneaz la nivelul reea, interconecteaz mai multe reele
locale de tipuri diferite, care utilizeaz acelai protocol de nivel fizic. Cnd
un pachet ajunge la un ruter, acesta elimin antetul i sfritul cadrului,
apoi pachetul localizat n informaia util a cadrului trece la software-ul de
rutare care folosete antetul pachetului pentru a alege o linie de ieire.
- Porile (de la nivelul transport) conecteaz dou calculatoare ce utilizeaz
diferite protocoale de transport orientate pe conexiune, poate copia pachete
de la o conexiune la alta, refcnd pachetele, dac este nevoie.
- Porile (de la nivelul aplicaie) nteleg formatul i coninutul datelor i
traduc mesajul de la un format la altul.

Modelul de referin TCP/IP



Modelul de referin TCP/IP a fost definit prima dat n 1974 de catre Cerf i
Kahn, rspunznd cerinelor de interconctare a reelelor prin satelit i radio. Prin
acest model s-a dorit asigurarea conexiunilor i n cazul nefuncionrii unor
echipamente din reea. De asemenea, s-a dorit asigurarea unor servicii foarte
diferite incluznd transferul de fiiere i transmiterea vorbirii n timp real.


182
Nivelul Internet este un nivel inter-reea fr conexiuni, fiind cel mai
important nivel al acestui model. El are rolul de a permite calculatoarelor s
transmit pachete de date n orice reea i s asigure transportul lor independent
pn la calculatorul destinaie. n cadrul acestui nivel sunt definite un format de
pachet i un protocol numit IP (Internet Protocol).
Nivelul internet este similar nivelului reea din modelul OSI, avnd ca
probleme principale dirijarea pachetelor i evitarea congestiei.
Nivelul transport are rolul de a permite conversaii ntre utilizatorii a dou
calculatoare, respectiv surs i destinaie. Nivelul cuprinde dou protocoale capt-
la-capt: protocolul TCP i protocolul UDP.
Protocolul TCP (Transmission Control Protocol) este un protocol sigur,
orientat pe conexiune care realizeaz controlul transmisiei (pentru a elimina erorile
de transmisie ce pot aprea ntre dou masini aflate n reea) i controlul fluxului
(pentru a evita inundarea unui receptor lent de ctre un emitor cu o vitez mult
mai mare).
Protocolul UDP (User Datagram Protocol) este un protocol nesigur i
neorientat pe conexiune care ofer posibilitatea utilizatorilor s foloseasc propriul
lor control al transmisiei i al fluxului. Protocolul asigur comunicarea rapid
client-server i ntre aplicaii, fr s garanteze ns acurateea.
Nivelul aplicaie cuprinde toate protocoalele de nivel nalt cum ar fi
protocolul de terminal virtual (TELNET) care permite unui utilizator de pe o
main s se conecteze i s lucreze pe o main situat la distan, transferul de
fiiere (FTP) care posed un mecanism de mutare eficient a datelor de pe o main
pe alta, pota electronic (SMTP), precum i alte servicii: serviciul numelor de
domenii (DNS) care stabilete corespondena dintre numele gazdelor i adresele
reelelor, protocolul pentru transferarea de tiri (USENET), protocolul folosit
pentru aducerea paginilor de pe web (HTTP).
Nivelul gazd-reea are rolul de a conecta gazda la reea, prin intermediul
unui protocol. Protocolul nu este definit, fiind diferit de la gazd la gazd i de la
reea la reea.
Putem face o comparatie intre cele doua modele:
Asemnri
- Protocoalele sunt independente i stratificate.
- Nivelele ndeplinesc n linii generale aceleai funcii.
Deosebiri
- Modelul OSI are apte niveluri, modelul TCP are patru.
- Spre deosebire de modelul TCP, OSI are clar delimitate conceptele
eseniale (servicii, interfee, protocoale), caracteristic modern care l
aseamn cu programarea orientat pe obiecte.
- Protocoalele OSI sunt mai bine protejate i pot fi mai uor nlocuite i
adaptate la tehnologiile moderne dect n cazul modelului TCP.
- Modelul OSI suport att comunicaia fr conexiuni, ct i pe cea
orientat pe conexiuni n nivelul reea, dar numai ultimul tip de
comunicaie n cadrul nivelului transport. Modelul TCP suport numai
primul tip de comunicaie la nivelul reea i ambele la nivelul transport.
- Modelul OSI (mai puin nivelurile sesiune i prezentare) este extrem de
utilizat pentru a discuta reele de calculatoare, dar protocoalele OSI nu s-au
impus n lumea calculatoarelor.
183
- Protocoalele modelului TCP/IP au devenit extrem de populare fiind larg
utilizate.
Critici aduse modelului TCP/IP: nu are clar delimitate conceptele de
serviciu, interfa, protocol; nu este general i nu poate lucra cu alt stiv de
protocoale; nivelul gazd-reea nu este suficient dezvoltat; nu sunt delimitate n
cadrul modelului nivelurile fizic i legtur de date, dei sunt complet diferite;
protocoalele sunt greu de nlocuit, fiind rspndite pe scar larg, de cele mai multe
ori gratuit.
Critici aduse modelului OSI: ratarea momentului de apariie a
protocoalelor; tehnologii proaste de delimitare a nivelelor i de proiectare a
protocoalelor care sunt greu de implementat i ineficiente n funcionare;
implementri proaste ale modelului i a protocoalelor; politici proaste privind
utilitatea i sfera de aplicabilitate a modelului.

III. EXEMPLE DE REELE

Reelele se deosebesc prin istoric, administrare, faciliti oferite, proiectare i
prin comunitile lor de utilizatori. n prezent funcioneaz n lume un numr
foarte mare de reele printre care:

- INTERNET-ul, colecie de reele ce ofer anumite servicii comune i utilizizeaz
protocoale comune. Nu este controlat de nimeni i are o dezvoltare continu. A
aprut dup 1 ianuarie 1983 cnd TCP/IP a devenit protocol oficial. De la apariia
n 1983 a Internetului numrul calculatoarelor din reea a crescut exponenial (n
1990 reeaua Internet cuprindea 3000 reele cu 20000 calculatoare, n 1992 a fost
conectat gazda cu numrul 1000000, iar n 1995 n reea existau mai multe
coloane vertebrale, sute de reele regionale, zeci de mii de LAN-uri, milioane de
gazde i zeci de milioane de utilizatori. n fiecare an mrimea Internetului se
dubleaz. O main este pe Internet dac folosete stiva de protocoale TCP/IP, are
o adresa IP i poate trimite pachete IP ctre toate celelalte maini de pe Internet.
Dezvoltarea Internetului din anii 1990 a dus la apariia ISP-urilor (Internet Service
Provideri furnizori de Internet).
Aplicaii principale ale Internetului sunt:
Pota electronic - mijloc de a interaciona cu lumea exterioar, depeste
telefonul i pota obinuit, programele de pot electronic fiind
disponibile pe orice tip de calculator.
Sistemele de pot electronic pun la dispoziie 5 funcii de baz:
- compunerea (procesul de creare a mesajelor i a rspunsurilor),
- transferul (deplasarea mesajului de la autor la receptor. Acesta necesit
stabilirea unei conexiuni la destinaie sau la o main intermediar, emiterea
mesajului i eliberarea conexiunii),
- raportarea (informarea autorului despre ce s-a ntmplat cu mesajul ( livrat,
respins, pierdut)),
- afiarea mesajelor primite (utilizatorii ii pot citi pota),
- dispoziia (se refer la ce face receptorul cu mesajul dup ce l-a primit
(eliminare nainte de citire, aruncare dup citire, salvare etc.)).
184
Internet-ul azi.
LAN Corporatie
Client
Punct de livrare
ISP
regional
Coloana
vertebrala
Ruter
NAP
Grupurile de tiri (USENET) - forumuri specializate n care utilizatorii cu un
interes comun pot s fac schimb de mesaje. Fiecare grup de tiri are eticheta, stilul
i obiceiurile sale proprii.
USENET este un sistem de grupuri de tiri cu ntindere planetar numit net news
(reea de tiri). n zilele noastre o mare parte din trafic este transmis prin Internet.
Unele site-uri Internet nu primesc tiri iar altele primesc tiri fr a fi Internet.
Astfel USENET si Internet sunt lucruri distincte.
Un grup de tiri este format dintr-un forum universal de discuii pe teme
specifice. Cei interesai de o anumit tem pot subscrie la un grup de tiri specific
temei. Acetia pot folosi un agent utilizator special pentru a citi toate mesajele
trimise la un grup de tiri, agent care este un program de citire tiri. Fiecare articol
trimis unui grup de tiri este transmis automat tuturor celor ce formeaz grupul
oriunde ar fi ei. Numrul grupurilor de tiri este peste 10.000 i pentru ca ele s
poat fi gestionate au fost organizate ntr-o ierarhie. Aici ntlnim:
Conectare la distan (folosind Telnet, Rlogin sau alte programe). Transfer de
fiiere de pe o masina din Internet pe alta folosind programul FTP.


WWW (World Wide Web) inventat de fizicianul Tim Berners Lee . Prin
WWW site-urile pun la dispoziie utilizatorului pagini cu informaii ce cuprind pe
lng text, poze, sunet, video, legturi la alte pagini sau hri etc.
Web-ul poate fi considerat o colecie imens de documente numite pagini
rspndite n toat lumea. Fiecare pagin poate conine link-uri (legturi) la alte
pagini aflate oriunde n lume. Se spune c aceste pagini folosesc hypertext. O
legtur funcioneaz dnd un clic pe ea i astfel se ajunge la pagina indicat de
legtur. Procesul se poate repeta ct timp paginile accesate conin link-uri.
Paginile pot fi vzute prin programe de navigare numite browsere printre care
amintim Mosaic i Netscape, care aduc pagina dorit, interpreteaz textul i
comenzile de formatare coninute n text i afieaz pagina formatat corespunztor
pe ecran.

















185
ARPANET-ul a aprut din nevoia de tehnologie util n scopuri militare,
tehnologie care avea la baz o reea cu comutare de pachete format dintr-o
subreea i din calculatoare gazd, si care in anii 1974 a culminat cu introducerea
de catre Cerf i Kahn a protocolului TCP/IP. In 1983 din ARPANET a derivat o
subreea separat numit MILNET. Conectarea la ARPANET a unui numr din ce
n ce mai mare de LAN-uri a dus la crearea DNS-ului (Domain Naming System
Sistemul numelor de domenii) care organiza mainile n domenii i punea n
corespondent numele gazdelor cu adrese IP.
- NSFNET-ul i are originea n NFS (National Science Foundation Fundaia
Naional de tiine din SUA), care la sfritul anilor 70 a vzut impactul
ARPANET-ului asupra cercetrii universitare i pentru a se putea conecta la
ARPANET a organizat o reea virtual CSNET centrat n jurul unei singure
maini ce era suport pentru linii telefonice i care avea conexiuni cu ARPANET-ul
i alte reele. Prin CSNET cercettorii puteau suna i lsa pot electronic pentru a
fi citit ulterior de alte persoane.
n 1984 NFS a construit o coloan vertebral care lega supercalculatoare din 6
orae i 20 de reele regionale. Reeaua obinut a fost numit NSFNET i ulterior
a fost conectat la ARPANET. i n Europa exista reele comparabile cu NSFNET
cum ar fi EBONE care este coloana vertebral IP pentru organizaii de cercetare,
sau EuropaNET, reea orientat spre domeniul comercial.
Au aprut astfel NAP-urile (Network Access Point punct de acces la reea) care
ajutau ca orice reea regional s poata comunica cu orice alt reea regional.

Reele orientate pe conexiune

Exist dup cum tim dou tipuri de subreele: subreelele fr conectare i
subreelele orientate pe conexiune. Susintorii subreelelor fr conexiune provin
din comunitatea ARPANET/Internet, n care era admis tolerana la defecte i nu
se fcea taxarea clienilor.
Susintorii reelelor orientate pe conexiune provin din lumea comunicaiilor pe
linii telefonice, pentru care calitatea serviciilor este important, iar facturarea este
modul lor de supravieuire. Intr-o reea fr conexiune, dac la acelai ruter ajung
mai multe pachete n acelai moment, ruterul va fi sufocat i va pierde din pachete.
Dac expeditorul observ le va retrimite, dar calitatea serviciilor va fi proast, mai
ales pentru comunicaiile audio sau video, excepie fcnd cazurile n care reeaua
este doar foarte liber.

X.25 - primele reele orientate pe conexiuni care suport circuite virtuale att
comutate, ct i permanente, au fost dezvoltate n ani 70 i au funcionat aproape
un deceniu.
n anii 80, reelele X.25 sunt nlocuite cu un nou tip de reea, denumit
Frame Relay (Releu de Cadre), reea orientat pe conexiune, fr control al ero-
rilor si fr control al fluxului de date. Frame Relay seamana cu o reea local de
dimensiuni mari si a fost utilizata la interconectarea diverselor reele locale aflate
n birourile companiilor. A avut un succes modest.


186
ATM (ATM Asynchronous Transfer Mode, rom: Mod de Transfer Asincron) -
reea orientat pe conexiune, n care spre deosebire de reelele telefonice in care
majoritatea transmisiilor sunt sincrone (strns legate de un semnal de ceas),
transmisiile sunt asincrone.
ATM-ul a rezolvat majoritatea problemelor legate de reele i telecomunicaii, prin
unificarea transmisiilor de voce, date, televiziune prin cablu, telex, telegraf, ntr-un
singur sistem integrat.
Cum reelele ATM sunt orientate pe conexiuni, un apel presupune
transmiterea unui mesaj pentru stabilirea conexiunii, trimiterea celulelor spre
destinaie pe acelai traseu, i sosirea acestora n ordinea transmiterii. Reelele
ATM sunt organizate ca WAN-uri cu linii i rutere ce lucreaz la viteze de 155
Mbs i 622 Mbs. Ideea de baz n ATM este c se transmit toate informaiile n
pachete mici, de dimensiune fix, denumite celule (cells). Celulele au 53 de octei,
din care 5 octei reprezint antetul, iar restul de 48 reprezint informatia propriu-
zis.
Posibilitatea reelelor ATM de a multiplica o celul pe care o primesc la intrare, pe
mai multe linii de ieire, a fost speculata de distribuitorii TV care trebuiau sa
transmita un acelasi program de televiziune ctre mai muli receptori.
Cum ATM lucreaza cu celule mici, nici o linie nu va fi blocata mai mult timp ceea
ce garanteaza calitatea serviciilor. Livrarea celulelor nu este garantat, dar ordinea
lor da, ceea ce face ca solutia ATM sa fie mai bun dect cea oferita de Internet,
unde pe langa pierderea pachetelor si ordinea de ajungere a acestora la destinaie
poate fi oricare (nu are legtur cu ordinea de transmisie).

Modelul de referin ATM este un model tridimensional, compus din trei
niveluri, dou avnd i cte dou subniveluri:
- Nivelul fizic, n care se planific biii i se analizeaz voltajul, cu
subnivelurile:
o PMD (Physical Medium Dependent, rom: dependent de mediul fizic)
are drept scop transferul biilor i planificarea transmisiei la nivelul i.
o TC (Transmission Convergence, rom: convergena transmisiei). Rolul
nivelului TC este s converteasc fluxul de bii primii de la PMD n
flux de celule i s trimit celulele nivelului ATM.
- Nivelul ATM are drept scop celulele, stabilind structura, cmpurile i
transportul acestora , trateaz congestiile i modul de stabilire i eliberare al
circuitelor virtuale.
- Nivelul de adaptare ATM numit i AAL (ATM Adaption Layer), permite
utilizatorilor s trimit pachete mai mari dect o celul, segmenteaz aceste
pachete, transmite celulele individual i le reasambleaz la cellalt capt. El are
dou subniveluri:
o SAR (Segmentation And Reassembly, rom: segmentare i
reasamblare) subnivel la care sunt descompuse pachetele n celule - la
captul la care are loc transmisia - i sunt recompuse la destinaie.
o CS (Convergence Sublayer, rom: subnivel de convergen) ofer
diverse tipuri de servicii : transfer de fiiere, video la cerere,etc.
- Plus orice alt nivel propus de utilizator.
Reelele ATM nu s-au dezvoltat ns pe masura ateptrilor.

187
Cablu de
interfatare
ETHERNET-ul este cea mai popular dintre reelele locale. Prin reeaua Ethernet
se transmit informaii ntre calculatoare la viteze foarte mari. Standardul Ethernet
este definit de IEEE (Institute for Electrical and Electronic Engineers) ca IEEE
802.3. Standardul definete regulile pentru configurarea unei reele Ethernet
precum i modul de interaciune ntre diferitele elemente ale unei astfel de reele.
Ideea acestui standard este urmtoarea: staia care dorete s transmit, ascult
cablul:
dac este ocupat, ateapt pn se elibereaza;
dac este liber, transmite imediat;
dac dou sau mai multe staii ncep s transmit simultan pe un cablu liber,
apare coliziunea ;
toate staiile intrate n coliziune ntrerup transmisia, ateapt o perioad de timp
aleatorie i repet ntregul proces de la capt.
Fiecare calculator echipat cu o plac de reea Ethernet, denumit i staie,
funcioneaz independent de toate celelalte staii din reea: nu exist control
centralizat. Toate staiile ataate la reea sunt conectate la acelai sistem de
transport pentru semnal, denumit mediu de comunicaie. Informaia este transmis
serial, un bit la un moment dat, prin linia de comunicaie ctre toate staiile ataate
acesteia.
n prima variant , Eternet-ul folosea sistemul ALOHANET cu transmisie radio
pe dou frecvene:
o trimite ( upstream ctre calculatorul central);
o primete (downstream de la calculatorul central).
Expeditorul transmitea un pachet care coninea datele pe canalul Trimite i primea
rspuns pe canalul Primete. Dac apreau coliziuni pe canalul Trimite se
retransmitea pachetul. Pe cellalt canal coliziunile erau excluse fiind un singur
transmitor. Acest sistem era viabil numai in condiii de trafic redus pe canalul
Trimite.
A doua variant a fost creat de Bob Metcalfe i colegul su David Boggs care
au realizat o reea local de calculatoare de pn la 256 de calculatoare folosind ca
mediu de transmisie cablul coaxial gros. Un cablu cu mai multe maini ataate n
paralel este numit cablu multidrop.
Ethernetul era mult mbuntit. El reuea s evite coliziunile prin ascultarea
canalului (dac se facea o transmisie pe canal, calculatorul care dorea s trimit
date la un moment dat atepta ca aceasta s se ncheie i apoi transmitea i el),
lucru posibil pe un cablu unic.











Aa a aprut Ethernet-ul Xerox
Eter
Transiver
188
Mai rmnea ns de rezolvat problema transmisiei simultane a dou sau mai multe
calculatoare.
Ethernet-ul Xerox a fost standardizat pentru o reea Ethernet de 10Mbps, denumit
i standardul DIX, i cu mici modificri acest standard a devenit n 1983 IEEE
802.3 .

Alte standarde LAN cunoscute sunt : Token Bus (Jeton pe magistrala 802.4) i
Token Ring (Jeton pe Inel 802.5).

Apariia calculatoarelor portabile a adus cu ea i ideea conectrii la Internet fr fir,
astfel a fost creat standardul 802.11 care lucreaza att n prezena unei staii de
baz ct i n absena acesteia. Acest standard poate transmite un pachet IP ntr-un
LAN fr fir la fel cum era transmis un pachet IP prin Ethernet. Conexiunea dintre
sistemele 802.11 i lumea exterioar se numete portal. O variant a standardului
802.11 este 802.11a care are o band de frecven larg i poate depi viteza de
54Mbps. Standardele 802.11 au multe variante i ele pot face INTERNET-ul
mobil.

In august 2002 a fost finalizat Standardul 802.16 care a aparut ca o soluie pentru
serviciile de voce i de Internet de mare vitez. Ca si 802.11, 802.16 a fost
proiectat pentru a oferi comunicaii fr fir de mare vitez. Desi par asemanatoare,
cele doua standarde difera semnificativ, astfel 802.16 ofer servicii pentru cladiri
care nu sunt mobile si opereaza ntr-o gam de frecvene mult mai nalte, de 10-66
GHz, etc.

Standardul IEEE 802.15 Bluetooth aducea cu el un alt element de noutate,
eliminarea cablurilor dintre anumite dispozitive.

Standardul IEEE 802.1Q sau VLAN (Virtual LAN) a aparut din necesitatea de a
recabla cladirile in intregime doar cu ajutorul software-ului . VLAN-urile se
bazeaza pe comutatoare dedicate. Ele pot avea insa si hub-uri la periferie.

IV. SECURITATE

ntr-un mediu de reea, trebuie s existe garania c datele secrete sunt
protejate, astfel nct numai utilizatorii autorizai s aib acces la ele. Nu numai
protejarea informaiilor confideniale este important, ci i protejarea operaiilor
efectuate n reea.

Exist patru ameninri majore la securitatea unei reele:
accesul neautorizat;
alterarea electronic a datelor;
furtul de date;
daunele intenionate sau accidentale.
Aspectele teoretice ale securitatii sunt studiate de criptografie. Aceasta
studiaz tehnicile matematice care au legtur cu diferite aspecte ale securitii
informaiei, ca de exemplu confidenialitatea, integritatea datelor, autentificarea
unei persoane sau a originii datelor.
189
Metodele de criptare sunt mprite in dou categorii:
cifruri cu substituie (fiecare liter sau grup de litere se substituie cu alt liter
sau alt grup de litere),
cifruri cu transpoziie (reorganizeaz literele fr a le substitui cu altele).
Exemple de algoritmi de criptare utilizai de criptografia moderna:
algoritmii cu cheie secret (DES (Data Encription Standard), AES (Advanced
Encription Standard) etc.),
algoritmii cu cheie public (RSA creat de Rivest, Shamir i Adelman)
Semnturile digitale i gestionarea cheilor publice sunt de asemenea dou
teme de baz studiate n securitatea reelelor
Din punct de vedere practic, principalul motiv care conduce la apariia
unor bree de securitate este configurarea greit sau necorespunztoare a
sistemului victim. Majoritatea sistemelor de operare sunt livrte ntr-o configuraie
nesigur. Exist dou manifestri ale insecuritatii software-ului livrat ce pot fi
clasificate ca:
starea activ a insecuritii (anumite utilitare de reea, atunci cnd sunt
activate, pot crea serioase riscuri de securitate, produsele software sunt de
multe ori cu aceste utilitare activate necesitand interventia administratorului de
reea pentru dezactivarea sau configurarea lor corespunztor),
starea pasiv a insecuritii (sistemele de operare care au nglobate utilitare
de securitate sunt eficiente doar cnd sunt activate, activare ce trebuie facuta in
general tot de administratorul de reea, in starea pasiv, aceste utilitare nu sunt
niciodat activate, deoarece de obicei utilizatorul nu tie de existena lor).
Instrumentele software utilizate n securitate sunt:
Scanerul, program care detecteaz automat punctele slabe n securitatea unui
sistem local sau la distan. n securitatea Internetului, este cel mai important
utilitar. Adevratele scanere sunt scanere de porturi TCP, adic programe care
atac porturile i serviciile TPC/IP i nregistreaz rspunsul de la int. Ele
dezvluie punctele vulnerabile ale unei reele. Exemple de scanere: NSS
(Network Security Scanner - este un scaner destul de necunoscut, scris n Perl),
Strobe (este un scaner care nregistreaz toate porturile de pe o main dat),
Jakal (este un scaner invizibil care poate scana un domeniu, n spatele unui
firewall, fr a lsa vreo urm a sa).
190
Sprgtorul de parole (password cracker), un program care poate decripta
parole sau care poate dezactiva n vreun fel protecia prin parole. Un sprgtor
de parole nu are nevoie ns, s decripteze ceva. De obicei, funciile de criptare
a parolelor sunt one-way, i deci parolele nu pot fi decriptate printr-o funcie
invers. Multe sprgtoare de parole nu sunt altceva dect programe care
folosesc fora brut, adic ncearc fiecare cuvnt (cutare exhaustiv).
Exemple: Crack (unul din cele mai cunoscute), Merlin (program pentru
administrarea sprgtoarelor de parole, a scanerelor i a altor utilitare de
securitate).
Interceptorul, dispozitiv, hardware sau software, care captureaz
informaiile transportate printr-o reea.
Dispozitivele Software pot fi i distructive, ele sunt programe sau tehnici
de hruire sau distrugere a datelor, exemple : troienii, viruii i instrumentele de
refuz al serviciului. Acestea pot provoca pagube importante sau pot crea bree n
securitatea serverului.

Dispozitivul firewall este folosit pentru prevenirea accesului din exterior
ntr-o reea intern, este de obicei o combinaie de hardware i software. De cele
mai multe ori, dispozitivele firewall implementeaz scheme de excludere sau reguli
care filtreaz adresele dorite i nedorite.
Exist multe tipuri de dispozitive firewall, fiecare avnd avantajele i dezavantajele
lui. Cel mai ntlnit tip este firewall-ul la nivel de reea este firewallul bazat pe
ruter care este foarte rapid.

BIBLIOGRAFIE

1. Tanenbaum A. Reele de calculatoare, ediia a patra, Byblos, Bucureti,
2003.
2. Popa M. Bazele modelrii reelelor de calculatoare, Editura Universitii
din Bucureti, 2004.
3. Wyatt A. L. Succes cu INTERNET; Editura i Atelierele Tipografice
Metropol; Bucureti 1995.
4. Stallings W. Local and Metropolitan Area Networks, McMillian, 1993.
5. Zimmerman P. An Introduction to Cryptography, Network Asociates,
1998.
6. Klander L. Anti Hacker Ghidul securitii reelelor de calculatoare,
Editura All, Bucureti, 1998.
7. Peterson LL., Davie B.S. Reele de calculatoare, Editura All, 2001.
8. Peterson L.L. , Davie B.S. Computer Network A Systems Approach,
California, 1996.



191

TEHNICI DE PROGRAMARE

Prof. univ. dr. Grigore Albeanu

I. RECURSIVITATE N LIMBAJELE PASCAL I C

I.1. Noiunea de recursivitate

n general, prin recursivitate se nelege proprietatea intrinsec a unei
entiti (fenomen, proces etc.) de a fi definit i/sau analizat folosind entiti de
aceeai natur. Un algoritm n a crui descriere este necesar referirea la el nsui
se numete algoritm recursiv. Aceast clas de algoritmi este ntlnit frecvent. Ea
face posibil prezentarea unor descrieri simple i elegante ale operaiilor
algoritmului.
Iat dou moduri diferite utilizate pentru a defini n!, unde n este un numr
ntreg pozitiv. Prima definiie este nerecursiv, a doua este recursiv.
,,n! este produsul tuturor numerelor ntregi cuprinse ntre 1 i n inclusiv.
,,Dac n=1 atunci n!=1, altfel n! este produsul dintre n i (n-1)!.
Observnd c n a doua definiie se folosete aceeai descriere dar pentru o
valoare mai mic, adic n-1, i c procedeul poate continua pn la ntlnirea
valorii 1, putem demonstra prin inducie c a doua definiie este corect.
Limbajele de programare moderne ofer posibilitatea descrierii i utilizrii
subprogramelor recursive. Printre aceste limbaje gsim: Pascal, PL/C, Lisp, APL,
C, Java precum i altele. Ceea ce caracterizeaz un subprogram recursiv este faptul
c se autoapeleaz, pentru un domeniu restrns de valori.
Exemplificm implementarea definiiilor de mai sus n subprograme
Pascal. Funcia fact_nr descrie algoritmul de calcul nerecursiv, iar funcia fact_r
codific definiia recursiv.
Exemplu (Calculul factorialului)
Program Demonstrativ_Fact;
var eroare: boolean;
function fact_nr(n:integer):integer;
var p, i:integer;
begin
if n<=0 then begin eroare:=true; fact_nr:=-1 end
else begin
eroare:=false; p:=1; for i:=1 to n do p:=p*i;
fact_nr:=p
end
end;
function fact_r(n:integer):integer;
begin
if n<=0 then begin eroare:=true; fact_r:= -1 end

192
else if n=1 then begin eroare:=false; fact_r:=1 end
else fact_r:=n*fact_r(n-1)
end;
var x:integer;
begin
eroare:=false;
for x:= -1 to 7 do
if not eroare then writeln(fact_nr(x), , fact_r(x))
end.

I.2. Tipuri de recursivitate

ntr-un program Pascal de forma p[ ...; q; ...; r; ...] :
program p;
...
procedure q;
...
begin ... end;
...
procedure r;
...
begin ... end;
...
begin ... end.
subprogramul r poate sa apeleze subprogramul q, dar q nu poate apela r deoarece r
nu este nc declarat. Pentru aceasta, limbajul Pascal, propune utilizarea directivei
forward. n declaraia propriu-zis a lui r care urmeaz subprogramului q, se
folosete un antet redus n care se specific doar numele lui r, fr parametrii i
tipuri (similar prototipurilor de funcii C). Programul P va avea forma p[ ..; r
forward; ..; q; ..; r; ..] :
program p;
...
procedure r (var x:integer); forward;
...
procedure q;
...; var t:integer; ...
begin ...; r(t); ... end;
...
procedure r;
...
begin ...; x:=x+1; ... end;
...
begin
...
end.

193
Referirea lui r n q este posibil i fr folosirea directivei forward,
prin simpla inversare a ordinii declaraiilor lui q i r n p. Se obine forma:
p[ ...; r; ...; q; ...] . Dac att q apeleaz r ct i r apeleaz q, inversarea nu rezolv
problema i trebuie folosit directiva forward. Referirea mutual a dou sau mai
multe subprograme n maniera descris mai sus, cu folosirea necesar a directivei
forward, se numete recursie indirect. Atunci cnd un subprogram se apeleaz
nemijlocit pe el nsui spunem c recursia este direct.
n limbajul C, introducerea declaraiilor fr definiii ale funciilor
(prototipuri), nu numai c problema recursivitii indirecte este rezolvat, dar
compilatorul are i posibilitatea de a efectua verificarea validitii apelurilor
(numrul i tipul parametrilor) precum i eventualele conversii de tip pentru
parametri i rezultat. Vom prezenta un exemplu de program C n care apare
fenomenul de recursivitate. Mai multe exemple (subprograme recursive codificate
n C sau Pascal) vor fi introduse n capitolele urmtoare.
Exemplu (Metoda inseriei binare pentru ordonarea cresctoare a unui
tablou unidimensional cu numere n virgul mobil). ncepnd cu al 2-lea element,
se determin - prin cutare binar - poziia pe care trebuie s-o ocupe un element,
cunoscnd numai elementele deja prelucrate, apoi deplaseaz anumite elemente
pentru a-l depune la locul potrivit.
# include <stdio.h>
# include <conio.h>
# define max 100
typedef float vector[ max] ;
int n,i,k; vector a;
int poz(int st, int dr, int j) {
/* determin poziia elementului a[ j] }n ~irul a[ st] ,..., a[ dr] */
int mijloc;
if (st == dr) if (a[ j] < a[ st] ) return (st); else return (j);
else if (dr-st == 1)
if (a[ j] <a[ dr] ) if (a[ j] >= a[ st] ) return (dr);
else return (st);
else return(j);
else { mijloc = (st+dr)/2;
if (a[ mijloc] <= a[ j] ) return (poz(mijloc, dr, j));
else return (poz(st, mijloc, j));
} }
void deplasare(int j, int poziie) {
int i, temp;
if (j > pozitie) {
temp = a[ j] ;
for (i=j; i>=poziie+1; i--) a[ i] = a[ i-1] ;
a[ poziie] = temp;
}

194
}
void main(void) {
clrscr(); printf(,,n>,,); scanf(,,%d, &n);
for (i=0; i<=n-1; i++) { printf(,,%d:, i); scanf(,,%f, &a[ i] );}
for (i=1; i<=n-1; i++) { k=poz(0,i-1,i); deplasare(i,k); }
printf(,,Sirul ordonat:\ n);
for (i=0; i<=n-1; i++) printf(,,%5.2f, a[ i] );
gotoxy(1,25); printf(,,Apas{ orice tast{!); getch();
}

II. FIIERE

Organizarea datelor, necesar pentru prelucrarea acestora, presupune
realizarea unor operaii precum: identificarea, clasificarea i descrierea atributelor
caracteristice; gruparea datelor n colecii; stocarea coleciilor pe suporturi de date
(n general de tip magnetic); specificarea i implementarea procedurilor de
prelucrare a datelor precum i alte proceduri (manuale sau automate) de ntreinere
a suporturilor de informaii.
Structurile de date necesare prelucrrii coleciilor mari de date sunt att
interne ct i externe. Structura de date de tip extern o reprezint fiierul. Un fiier
este o mulime de date omogene ca interpretare i prelucrare. Din punct de vedere
al sistemului de operare un fiier are anumite caracteristici (nume, atribute,
informaii pentru asigurarea accesului i a securitii datelor). Intern, un fiier este
o colecie de articole (date de tip record - n Pascal, struct - n C). Lungimea unui
articol este dat de suma lungimii cmpurilor componente. Dac toate articolele
unui fiier au aceeai lungime spunem c fiierul are articole de lungime fix, altfel
fiierul este cu articole de lungime variabil.
Implementarea fizic difer de la un limbaj de programare la altul. De
asemenea difer i subprogramele care permit realizarea operaiilor asupra
fiierelor. Limbajele Pascal i C permit definirea i prelucrarea att a fiierelor cu
articole de lungime fix ct i a celor ce conin articole de lungime variabil. Pe
suportul extern, datele stocate sunt secvene de octei. Numai n momentul
prelucrrii, aceste succesiuni se interpreteaz adecvat, fiind posibil prelucrarea
octet cu octet sau prelucrarea blocurilor de octei.
Pentru organizarea extern, pe suport de date, sunt posibile mai multe
metode: organizarea secvenial (singura permis de limbajele Pascal i C),
organizarea relativ i cea indexat (permise de limbaje specializate, de exemplu
COBOL).
Poziia din care se citete, respectiv n care se scrie, este dat de un
indicator de articol (notat, n continuare, prin IA).
Accesul pentru scrierea datelor sau pentru citirea datelor stocate depinde de
modul de organizare ales. Accesul secvenial este posibil pentru orice mod de
organizare, el presupune nregistrarea articolelor n ordinea n care devin
disponibile i citirea articolelor n ordinea n care au fost nscrise pe suport.

195
Pentru citirea n acces secvenial, este foarte important controlul
identificrii sfritului fiierului. Dup citirea ultimului articol (a ultimei linii sau a
ultimului octet) indicatorul este poziionat pe marcatorul de sfrit de fiier (EOF -
End Of File). Sesizarea sfritului de fiier se face diferit n funcie de limbajul de
programare:
la citirea articolului (FORTRAN, COBOL); adic dup citirea ultimului
articol, mai este necesar o citire pentru a vedea dac s-a ajuns la sfrit.
independent de operaia de citire (Pascal, C, etc.), adic dac indicatorul IA
este dup ultimul articol, automat se consider sfrit de fiier; urmtoarea citire va
produce eroare de intrare/ieire.
n consecin, algoritmii de prelucrare depind de modul de sesizare a
marcajului EOF. De regul, ncercarea de citire din fiier dup ce s-a atins marcajul
EOF este urmat de apariia unei erori.
Accesul direct este permis numai pentru fiierele cu o anumit organizare,
entitatea de citire este articolul sau blocul i sunt memorate pe discuri magnetice,
CD sau VideoDisk (suporturi adresabile). Valoarea IA, nu se calculeaz n funcie
de valoarea sa anterioar (ca n cazul accesului secvenial) ci direct cu ajutorul unei
funcii f cunoscute de sistem IA(k)=f(k). Sunt posibile dou moduri de acces direct:
acces dup cheie i acces dup numrul articolului. n cazul accesului dup cheie
(implementat de exemplu n COBOL), se presupune c fiecare articol are un cmp,
numit cheie, care este folosit la nregistrare/citire pentru identificarea articolului.
Pentru accesul relativ, implementat n limbajele Pascal i C, articolul este localizat
prin numrul su relativ. Articolul k are numrul relativ k-1.
Asupra fiierelor se pot executa operaii de gestiune divizate pe dou
niveluri: operaii globale (nscrierea fiierului ntr-un folder (catalog), deschiderea
pentru consultare/actualizare a unui fiier, nchiderea unui fiier, redenumirea,
tergerea, copierea fiierelor, etc.) i operaii la nivel de articol (scriere sau citire de
articole).
n programele Pascal, C, Java, .a., operaiile de intrare-ieire sunt realizate
prin intermediul unor subprograme (proceduri i funcii n Pascal, funcii n C,
metode n Java). Pentru unele operaii este necesar utilizarea mai multor
subprograme (de exemplu, n Pascal, pentru operaia de deschidere sunt necesare
fie apelurile Assign+Reset, fie apelurile Assign+Rewrite.)

II.1. Fiiere n Pascal

II.1.1. Lucrul cu fiiere n Pascal

Utilizarea fiierelor n programe Pascal implic necesitatea declarrii
acestora i specificarea acelor apeluri de subprograme necesare algoritmilor de
prelucrare implementai.
Urmtoarele fapte stau la baza lucrului cu fiiere n Pascal:
1. n limbajul Pascal, un fiiere este definit ca un tip structurat de date.
Referirea la un fiier, n corpul unui subprogram sau a programului principal, impune
declararea unor variabile fiier. Sunt trei posibiliti: TEXT - tip predefinit, FILE OF

196
<tip> - pentru fiiere ce conin date de tipul <tip>, i FILE - pentru fiiere fr tip.
Identificatorul variabilei fiier este intern programului i este o resurs logic. Toate
subprogramele ce se refer la fiiere utilizeaz identificatorul intern. Acesta este un
parametru din categoria VAR (referin).
2. Pentru a face legtura ctre un obiect de tip fiier al sistemului de operare,
variabila fiier trebuie asociat unui fiier extern. Pentru aceasta se utilizeaz procedura
Assign.
3. Operaia care autorizeaz accesul la date se numete deschidere. Dup
operaia Assign se utilizeaz unul dintre subprogramele: Reset - deschiderea unui
fiier existent, Rewrite - deschiderea unui fiier nou, Append - deschiderea unui fiier
TEXT pentru extinderea prin scriere la sfritul coleciei existente. Dac fiierul este de
tip TEXT atunci deschiderea prin Rewrite permite numai scriere, iar deschiderea prin
Reset permite numai citire. La fiierele cu tip i fr tip, deschiderile Rewrite i
Reset permit att operaii de scriere ct i operaii de citire.
4. Accesul la datele stocate (pentru citire, modificare sau extindere) sau
pentru scriere de date este posibil numai pentru fiiere deschise prin intermediul
procedurilor de citire (Read, ReadLn (numai TEXT), BlockRead), scriere (Write,
WriteLn (numai TEXT), BlockWrite) i de cutare (Seek). Prin citire se transfer date
din fiier (nregistrarea curent) n memoria volatil, transferul invers fiind caracteristic
operaiei de scriere.
5. Atunci cnd se ncheie prelucrrile asupra nregistrrilor fiierelor,
identificatorul logic al fiecrui fiier trebuie transmis procedurii Close pentru a se anula
asocierea (realizat prin Assign) i a se elibera resursele necesare desfurrii operaiilor de
intrare-ieire. Apelul procedurii de nchidere este: Close(f); unde f este identificatorul
asociat fiierului supus prelucrrii. Pentru operaia de nchidere, nu conteaz tipul fiierului.
6. Unele implementri ale limbajului Pascal, de exemplu implementarea
Borland, ofer o modalitate prin care se poate verifica, prin program, modul de terminare a
execuiei unei operaii de intrare-ieire.

II.1.2. Tipuri de fiiere i declararea identificatorilor

Dup modul de stocare i prelucrare a datelor, se disting trei tipuri de fiiere:
fiiere TEXT - cu prelucrare la nivel de linie, fiiere cu tip - cu prelucrare la nivel de
articol i fiiere fr tip - cu prelucrare la nivel de bloc.

Fiierul TEXT este o succesiune de caractere Unicode (subsetul ASCII -
pentru anumite implementri), ce se ncheie cu un caracter special ce indic sfritul
fiierului (EOF - End Of File). Accesul la date este secvenial, datele fiind stocate n
format extern (direct afiabile). Unele fiiere TEXT pot fi constituite din linii separate
prin caracterul CR (codul ASCII 13) urmat, eventual, de caracterul LF (codul ASCII
10). Cnd indicatorul curent este poziionat pe CR atunci se spune c este indicat
sfritul liniei - End Of LiNe, iar dac poziia indicatorului este pe EOF atunci este atins
sfritul fiierului. ntr-un fiier TEXT exist o singur dat caracterul sau combinaia
de caractere EOF.

197
Declararea unui fiier TEXT necesit precizarea identificatorului intern i a
tipului TEXT, ca n exemplul:
Type Fis_Text = TEXT; Var f:Fis_Text; g,h:TEXT;
Exist doi identificatori standard de tip TEXT: input (asociat automat
tastaturii) i output (asociat automat ferestrei curente de pe suprafaa de lucru).
Fiierele asociate acestor identificatori se deschid i se nchid automat. Subprogramele
pentru lucru cu fiiere (Read, Readln, Write, Writeln, Eof, Eoln etc.) care nu
specific o variabil de tip fiier se refer la fiierele standard input i output.
Asocierea acestor identificatori la fiiere TEXT externe permite redirectarea, prin
program, a operaiilor de intrare-ieire.
Exemple
1. Secvena
Assign(Input,CON); Reset(Input); ReadLn(Input,a,b,c);
Read(Input,x,y);
este e echivalent cu:
Read(a,b,c); ReadLn(x,y);
2. Secvena
Assign(output,CON); Rewrite(Output);Writeln(Output,Exemplu);
Write(Output, de utilizare a identificatorului Output.);
este echivalent cu:
Writeln(Exemplu);
Write( de utilizare a identificatorului Output.);
3. Secvena
Assign(Output,FDAT.TMP); for i:=1 to 10 do
begin for j:=1 to i do write(*); writeln; end;
conduce la stocarea rezultatelor ieirii n fiierul FDAT.TMP din catalogul curent.

Fiierele cu tip sunt constituite, din punct de vedere logic, din articole de
lungime fix, crora li se asociaz numere de ordine, ncepnd cu valoarea zero pentru
primul articol i terminnd cu filesize()-1 pentru ultimul articol.
Lungimea unui articol este stabilit la definirea tipului de date folosind
cuvntul record. Dac <tip> este introdus folosind cuvintele TYPE i record atunci
un fiier cu tip se declar prin:
VAR <identificator> : FILE OF <tip>
Exemplu
TYPE student = record
nr_matricol: byte; nume: string[ 15] ;
prenume:string[ 20] ; sex:(feminin,masculin);
anul:byte;
grupa:string[ 5] ;
end;
VAR f: FILE OF student; s:student;
Transferul datelor este de tip binar (fr conversie), iar poziionarea pe un
anumit articol se face folosind procedura Seek.

198

Fiierele fr tip sunt constituite din blocuri de lungime fix. Unitatea de
transfer este blocul, dar structura blocului nu este specificat prin declararea unui tip.
Lungimea unui bloc este indicat, implicit sau explicit, la deschiderea fiierului.
Poziionarea pe un bloc specificat se face folosind procedura Seek. Transferul de date,
ntre memoria volatil i suportul extern, este realizat fr conversie.
Declararea unui fiier fr tip presupune utilizarea cuvntului rezervat FILE.
Exemplu
Var f,g,h:FILE;

II.1.3. Utilizarea procedurii Assign

Prototipul procedurii Assign este:
Assign (VAR id_fis; nume_fi~ier_extern: STRING)
unde:
id_fis este identificatorul intern al fiierului;
nume_fiier_extern este un ir de caractere care specific catalogul (dosarul) i
numele fiierului extern aa cum este el cunoscut prin intermediul sistemului
de operare sau numele dispozitivelor nemagnetice: CON - tastatura sau
ecranul, PRN - imprimanta, LPTi (i=1,2,3) - imprimanta ataat liniei paralele
(LPT1 i PRN se refer la acelai dispozitiv fizic), COM1, COM2 -
dispozitive ataate liniei seriale (AUX i COM1 se refer la acelai dispozitiv
fizic), NULL (dispozitiv care la intrare genereaz EOF, iar la ieire primete
oricte date, dar nu sunt stocate - dispozitivul nul).
Exemplu
Var f:FILE;
begin
assign(f,Bloc.TMP);
...
end.

II.1.4. Deschiderea fiierelor

a) Deschiderea fiierelor TEXT. Pentru deschiderea unui fiier TEXT se
utilizeaz unul dintre subprogramele: ReWrite, Reset, Append.
Procedura Rewrite deschide un fiier nou pentru creare. Prototipul ei este:
Rewrite(Var f). Dac fiierul extern asociat identificatorului corespunztor
parametrului f exist deja, acesta va fi ters i se va crea un nou fiier n locul celui
existent. Dac fiierul este deschis deja, apelul procedurii conduce la nchiderea,
tergerea i apoi la crearea unui fiier vid. Dup executarea apelului Rewrite,
funcia Eof(f) devine TRUE, iar indicatorul de articol se plaseaz la nceput.
ntr-un fiier deschis prin Rewrite este permis numai operaia de scriere.
Procedura Reset deschide un fiier existent pentru citire (consultare).
Prototipul subprogramului este:
procedure Reset(var f);

199
Dac fiierul extern asociat variabilei interne corespunztoare parametrului f nu
exist atunci se genereaz un mesaj de eroare.
Procedura Append deschide un fiier TEXT existent pentru scriere la
sfritul acestuia. Aceast procedur se apeleaz prin:
Append (f);
unde f a fost declarat anterior prin: VAR f:TEXT;
Dac fiierul nu exist, se genereaz eroare. Dac fiierul este deschis, l
nchide i apoi este redeschis cu poziionare la sfrit. Dup deschidere, indicatorul
de articol este poziionat imediat naintea combinaiei EOF, funcia EOF avnd
valoarea TRUE.
b) Deschiderea fiierelor cu tip. Pentru deschiderea fiierelor cu tip se
folosesc procedurile: Rewrite (la crearea unui fiier nou) i Reset (pentru
consultare). n cazul apelului Rewrite(f); cu f declarat prin:
Var f: File of <Tip_Articol>;
sunt valabile urmtoarele fapte:
dac fiierul extern asociat variabilei f exist, acesta va fi ters i se va crea
noul fiier; dac fiierul extern asociat variabilei f este deja deschis (de
programul Pascal) , procedura l nchide , l terge i recreeaz noul fiier.
dup terminarea executrii procedurii, indicatorul de articol este poziionat pe
nceputul fiierului, naintea combinaiei EOF, funcia EOF(f) furniznd
valoarea TRUE.
pentru un fiier cu tip, deschis folosind apelul Rewrite, se admite att scrierea
ct i citirea datelor.
Procedura Reset deschide un fiier extern existent asociat unei variabile f:
Reset(f);
Dac fiierul este deschis, procedura l nchide i apoi l redeschide. La
terminarea executrii procedurii, indicatorul de articol este poziionat pe primul
articol. Dac fiierul este vid atunci EOF(f)=TRUE, n caz contrar EOF(f)=FALSE.
Pentru fiierul cu tip, deschis folosind Reset, i admite att citirea ct i scrierea
datelor.
c) Deschiderea fiierelor fr tip. Pentru deschiderea unui fiier fr tip,
procedurile Rewrite i Reset au urmtoarea form:
procedure Rewrite(VAR f:FILE [ ; Lbloc:WORD] );
procedure Reset(VAR f:FILE [ ;Lbloc:WORD] );
unde:
f este identificatorul intern asociat unui fiier extern prin procedura Assign;
Lbloc reprezint mrimea, n octei, a blocului care va fi scris folosind
procedura Blocwrite, respectiv citit folosind procedura Blocread.
Dac parametrul Lbloc lipsete, lungimea blocului este, implicit, de 128 octei.
Lungimea maxim a blocului este 65535 octei.
n urma apelului Rewrite(f,lb); dac fiierul extern exist deja, acesta va fi
ters i va fi creat unul nou pe acelai disc, n acelai catalog. Pentru un fiier
deschis, printr-un apel anterior, se urmeaz secvena: nchidere, tergere, recreare.

200
Dup terminarea executrii procedurii Rewrite, indicatorul de bloc este plasat la
nceput (EOF(f) = TRUE), iar operaiile permise sunt att scriere ct i citire.
Apelul Reset(f,lb); declaneaz aciunea de deschidere a fiierului extern
asociat identificatorului f. Dac fiierul nu exist se genereaz eroare, dac este
deschis deja, atunci l nchide i apoi l redeschide. La terminarea executrii
procedurii indicatorul de bloc este poziionat la nceputul fiierului (EOF(f) =
TRUE cnd fiierul este vid; EOF(f) = FALSE, n caz contrar), iar operaiile
permise sunt att citire ct i scriere.

II.1.5. Proceduri pentru citire

a) Citirea datelor din fiierele TEXT. Citirea datelor din fiiere TEXT se
poate realiza folosind procedurile Read i ReadLn. Acestea pot transfera numai
date de tip numeric (numere ntregi sau raionale reprezentabile), CHAR i
STRING. Datele de tip numeric se convertesc din reprezentarea extern ASCII n
reprezentarea intern cu virgul fix sau mobil.
Procedurile Read i ReadLn sunt definite astfel:
Read([ Var f;] x
1[
,x
2
, ..., x
n]
);
respectiv,
ReadLn([ Var f;] [ x
1
,x
2
, ..., x
n]
);
unde f este identificatorul intern al fiierului extern asociat prin intermediul
procedurii Assign, iar x
1
, x
2
, ..., x
n
sunt variabile avnd tipul de date corespunztor
(nu neaprat toate cu acelai tip). Cnd identificatorul f este omis se utilizeaz
implicit fiierul standard input. Procedura ReadLn citete din fiier una sau mai
multe valori, pe care le atribuie variabilelor din list, dup care avanseaz
indicatorul curent dup EOLN sau nainte de EOF. Dac lista de variabile a
procedurii ReadLn este vid atunci are loc doar avansul indicatorului dup EOLN
sau nainte de EOF.
n cazul variabilelor de tip numeric, se identific, n fiierul specificat, irul
de caractere (cuprins ntre delimitatori) i are loc transferul cu conversie. Este
considerat delimitator orice secven cu cel puin unul din elementele: spaiu (cod =
32), tab (cod = 9), CR (cod=13), LF (cod =10), FF (cod = 12), BS (cod = 8) i
BELL (cod=7). irul luat n considerare, pentru conversie, ncepe cu primul
caracter diferit de delimitator i se termin imediat naintea primului caracter cu rol
de delimitator sau EOF.
Variabilelor de tip CHAR i STRING trebuie s li se acorde o atenie
deosebit. n cazul unei variabile de tip CHAR, se citete din fiierul extern un
caracter care este atribuit variabilei. Dac nainte de apelul READ, EOF(f) =
TRUE atunci variabila va primi valoarea EOF; n toate celelalte cazuri, variabila va
primi urmtorul caracter, indiferent de valoarea acestuia. Cnd variabila din lista de
apel este de tip STRING atunci se citesc toate caracterele pn la EOLN sau EOF,
exclusiv acestea. n cazul n care lungimea irului identificat n fiierul extern este
mai mare dect spaiul alocat atunci irul transferat este trunchiat la dreapta. Citirea
urmtoare transfer irul pn la EOLN sau EOF, exclusiv acestea. Deci, citirea
ntr-o variabil de tip STRING ce urmeaz unui apel READ pentru o alt variabil

201
de tip STRING, va transfera irul vid. De aceea, pentru citirea unor iruri succesive
se va utiliza apelul ReadLn n locul apelului Read. Dac citirea se face de la
tastatur, atunci o linie a fiierului extern este reprezentat de coninutul zonei
tampon de intrare (input buffer) care va conine caracterele CR/LF introduse la
apsarea tastei Enter, indiferent de tipul apelului: Read sau ReadLn. Pentru
testarea sfritului de linie se poate utiliza funcia eoln definit astfel:
Eoln[ (VAR f:TEXT)] :boolean
care returneaz valoarea TRUE dac indicatorul poziiei curente indic sfrit de
linie (CR/LF) sau sfrit de fiier (EOF). n caz contrar, apelul Eoln(f) returneaz
valoarea FALSE. Pentru salt la EOLN prin avans peste spatii sau tab, se utilizeaz
funcia
SeekEoln[ (VAR f:TEXT)] :boolean
care, dup avans, returneaz TRUE dac este sfrit de linie sau sfrit de fiier,
respectiv FALSE n caz contrar.
b) Citirea articolelor din fiierele cu tip. Pentru citirea articolelor din fiiere
cu tip se utilizeaz procedura Read definit astfel:
Read(Var f, x
1[
,x
2
, ..., x
n]
);
unde f este variabila asociat unui fiier cu tip, iar x
1
, x
2
, ..., x
n
sunt variabile
asociate articolelor de acelai tip cu componentele fiierului. n urma apelului, se
citesc unul sau mai multe articole, ncepnd cu cel pe care este plasat indicatorul de
articol, acest indicator fiind avansat dup ultimul articol transferat.
Dac un fiier conine i articole cu parte variabil, este sarcina
programatorului privind diferenierea dintre un tip de articol i un altul.
Numrul de articole stocate ntr-un fiier cu tip este obinut prin intermediul
funciei FileSize(f) definit prin function FileSize(VAR f):LongInt. Plasarea
indicatorului de articol pe o anumit poziie se realizeaz prin apelul procedurii Seek
definit astfel:
procedure Seek(VAR f, n:longint);
Efectul apelului const n plasarea IA pe articolul cu numrul n (numerotarea
articolelor ncepnd cu 0).
Dac, la un moment dat, intereseaz valoarea curent a IA atunci se poate
utiliza funcia FilePos definit prin
function FilePos(VAR f):LongInt;
Dac EOF(f)=TRUE atunci FilePos(f) = FileSize(f).
c) Citirea blocurilor fiierelor fr tip. Pentru citirea blocurilor unui fiier
fr tip se utilizeaz procedura BlocRead al crei format este:
procedure BlockRead(VAR f:FILE;
Var Receptor; NrBlocuri:Word[ ;Rez:Word] );
unde: f este identificatorul intern al fiierului, Receptor reprezint zona de
memorie unde se depun datele citite, NrBlocuri este o expresie ce specific numrul
maxim de blocuri de citit, iar Rez (atunci cnd este utilizat) furnizeaz numrul efectiv
de blocuri citite. Dup citire indicatorul de bloc este poziionat dup ultimul bloc
transferat.


202
II.1.6. Proceduri pentru scriere

a) Scrierea datelor n fiierele TEXT. Datele ce pot fi transferate din
memoria intern ntr-un fiier TEXT sunt de oricare dintre tipurile de date: numeric
(ntreg sau raional), Char, String i Boolean. Formatul extern al datelor, nscrise
ca iruri de caractere, poate fi precizat implicit sau explicit. Scrierea datelor este
realizat cu ajutorul subprogramelor Write i WriteLn.
Procedura Write scrie una sau mai multe valori n fiierul de ieire, lsnd
indicatorul de poziie dup ultima dat extern scris. Apelul procedurii urmeaz
formatul:
Write([ f,] x
1[
,x
2
, ..., x
n]
);
unde: f este identificatorul intern (declarat n seciunea Var) al fiierului TEXT, iar
x
i
(i=1, 2,..., n) reprezint expresii urmate sau nu de formatul de afiare.
Dac parametrul f este omis, se presupune c scrierea se face la mediul
standard de ieire (fiierul Output: fereastra curent dac nu s-a efectuat asocierea
cu un alt fiier extern). La apel, parametrii x
i
au urmtoarele forme:
<exp> - pentru scriere cu format implicit (vezi tabelul de mai jos);
<exp>:m - pentru scriere folosind cel puin m poziii pentru cmpul extern;
<exp>:m:n - pentru scrierea prii fracionare a unui numr raional (notaia
matematic)
unde <exp> reprezint o expresie de tip ntreg, raional, Char, String sau
Boolean.
Nr.
crt.
Tipul datei
care se scrie
Modul de
scriere
Valoarea implicit a
parametrului m (lungimea
extern implicit)
1 Numere
ntregi
(oricare)
ntreg
zecimal
Egal cu numrul de cifre
semnificative necesare pentru
reprezentarea extern a valorii
de scris, la care se adaug,
eventual, semnul - (minus)
2 Numere
raional
(oricare)
Notaia
tiinific
17
3 Char Caracter 1
4 String ir de
caractere
Egal{ cu ORD[ ir[ 0] ] .
5 Boolean Constantele 4 pentru TRUE, 5 pentru
FALSE
Procedura WriteLn scrie una sau mai multe valori n fiierul de ieire i
apoi combinaia EOLN - sfrit de linie. Subprogramul poate fi apelat astfel:
WriteLn [ ( [ f,] [ x
1
, x
2
, ..., x
n]
)] ;
unde argumentele au aceeai semnificaie ca la procedura Write. Dac f este omis
atunci se consider fiierul standard output. Dac lista parametrilor lipsete, f fiind

203
prezent atunci se scrie sfritul de linie. Ct timp fie f este prezent, fie lista
parametrilor pentru scriere conine cel puin un element, parantezele sunt
obligatorii. Dac lipsesc att f ct i parametrii pentru scriere atunci se scrie EOLN
n fiierul standard Output.
b) Scrierea articolelor n fiierele cu tip. Procedura Write (singura
disponibil, n acest context) trebuie apelat astfel:
Write(f, x
1[
,x
2
, ..., x
n]
);
unde argumentele au aceeai semnificaie ca la apelul Read pentru fiiere cu tip.
Se pot scrie unul sau mai multe articole ncepnd cu poziia curent a indicatorului
de articol. Scrierea n fiierul extern se face cu pstrarea reprezentrii interne a
datelor.
c) Scrierea blocurilor n fiierele fr tip. Pentru scriere n fiiere fr tip se
utilizeaz procedura BlockWrite definit astfel:
procedure BlockWrite(VAR f:FILE; VAR Sursa; NrBloc:Word[ ;VAR
Rez:Word] );
unde: f este identificatorul intern al unui fiier fr tip, Sursa este zona de
memorie din care se preiau datele care vor fi scrise n fiier, NrBloc reprezint o
expresie a crei valoare specific numrul maxim de blocuri contigue ce vor fi
scrise, iar Rez este o variabil n care se va obine, dup scriere, numrul de
blocuri efectiv transferate.
La apelul acestei proceduri se scriu unul sau mai multe blocuri, ncepnd
cu poziia n care se afl indicatorul de bloc plasndu-l, n final, dup ultimul bloc
scris. Scrierea n fiierul extern se face cu pstrarea reprezentrii datelor.

II.2. Fiiere n C

Bibliotecile standard C ofer o gam larg de funcii care implementeaz
operaiile de intrare-ieire orientate pe fiiere. Dispozitivele periferice, ale
sistemului de calcul, sunt vzute tot ca fiiere, dar cu identificatori predefinii.
Prototipurile funciilor de bibliotec privind lucrul cu fiiere sunt cuprinse n
fiierul antet stdio.h. Se pot distinge 3 categorii: sistemul de intrare-ieire standard
ANSI C; sistemul de intrare-ieire compatibil UNIX i, funcii specifice
implementrii mediului de dezvoltare, neprevzute de standardul limbajului. n
cele ce urmeaz ne vom ocupa de prima categorie. Celelalte categorii se pot studia
folosind manualul on-line sau manualul firmei productoare a mediului de
dezvoltare.
Conceptul de baz relativ la operaiile de intrare-ieire standard este cel de
pointer la fiier. Mai precis, n fiierul stdio.h este definit un tip de structur,
numite FILE. Din punct de vedere intern, fiierele prezente n funciile de intrare-
ieire sunt specificate prin variabile de tip FILE *.
Declararea unui pointer la fiier se realizeaz prin scrierea
FILE * <identificator>;
Prin operaia de deschidere, se aloc o zon de memorie care va conine:
numele extern al fiierului, adresa unei zone tampon util n realizarea
transferurilor i informaii utile privind starea operaiilor de intrare-ieire. Aceast

204
conexiune logic rezultat n urma deschiderii unui fiier se numete stream (sau
flux de date). Eliberarea zonelor alocate se realizeaz n urma operaiei de
nchidere.
Dispozitivele de intrare-ieire standard au asociate permanent cte un
asemenea pointer al crui nume este predefinit: stdin (consola pentru intrare),
stdout (consola pentru ieire), stderr (consola pentru ieire), stdaux (pentru primul
port al interfeei seriale ), stdprn (pentru primul port al interfeei paralele); ultimii
doi identificatori fiind caracteristici implementrii BORLAND pentru calculatoare
compatibile IBM - Microsoft.
De asemenea, n fiierul stdio.h, mai sus definite constantele
FILENAME_MAX (pentru a indica lungimea maxim a numelui unui fiier, din
punct de vedere extern) i FOPEN_MAX (care precizeaz numrul maxim de
fiiere ce pot fi deschise simultan).
Se disting dou categorii de tipuri de transfer:
un stream de tip text care transfer secvene de caractere organizate n linii; n
C separarea liniilor se face prin caracterul LF. Pentru adaptarea la dispozitivul
fizic poate fi necesar nlocuirea caracterului LF cu secventa CR-LF.
un stream binar care transfer o secven de octei fr alte prelucrri.
Distingerea ntre cele dou categorii nu este obligatorie; programatorul este
cel care trebuie s rezolve eventualele probleme de conversie a datelor.
Deschiderea fiierelor se realizeaz folosind funcia fopen care returneaz,
cnd toate condiiile de prelucrare sunt ndeplinite, un pointer ctre structura FILE.
Este unica modalitate prin care se atribuie corect o valoare unui pointer la fiier.
Prototipul funciei fopen este:
FILE * fopen(const char * nume_fis, const char * mod_acces);
unde nume_fis este un ir de caractere (constant sau obinut prin atribuire) care
specifica numele extern al fiierului, iar mod_acces este un ir de caracter
(constituit similar) care descrie modul de acces. n cazul unei operaii de
deschidere corecte, pointerul returnat de apel este diferit de NULL, n caz contrar
rezultatul apelului este NULL.
Modurile posibile de acces sunt:
deschidere flux de tip text (,,r sau ,,rt), respectiv flux binar (,,rb) pentru
citire (mod reset);
deschidere flux de tip text (,,w sau ,,wt), respectiv flux binar (,,wb) pentru
scriere (cu distrugerea fiierului anterior, dac acesta exist- mod rewrite);
deschidere flux de tip text (,,a sau ,,at), respectiv flux binar (,,ab) pentru
adugare la sfrit (mod append);
deschidere flux de tip text (,,r+ sau ,,r+t), respectiv flux binar (,,r+b) pentru
actualizare (citire i scriere folosind acelai pointer la fiier);
deschidere flux de tip text (,,w+ sau ,,w+t), respectiv flux binar (,,w+b)
pentru actualizare (dac fiierul exista anterior, coninutul su se pierde);
deschidere flux de tip text (,,a+ sau ,,a+t), respectiv flux binar (,,a+b) pentru
actualizare cu scriere la sfritul fiierului.


205
nchiderea fiierelor se realizeaz apelnd funcia fclose definit astfel:
int fclose(FILE * <identificator>);
care ntoarce EOF n caz de eroare sau 0 n caz normal. Prin nchidere nceteaz
conexiunea logic dintre pointer i fiier cu scrierea datelor din zona tampon de
ieire (n cazul deschiderii pentru scriere/actualizare), respectiv cu pierderea datelor
din zona tampon de intrare (n cazul deschiderii pentru citire/actualizare).
Detectarea sfritului de fiier se realizeaz prin utilizarea macrodefiniiei
feof cu prototipul:
int feof(FILE * <identificator>);
al crei rezultat este nenul (s-a detectat EOF) respectiv zero (nu s-a detectat EOF).
Exemplu (Copierea unui fiier de tip text f1.txt n fiierul text f2.txt).
#include <stdio.h>
int main(void) {
FILE *sursa, *dest;
if ((sursa=fopen(,,f1.txt, ,,rt)) == NULL) {
fprintf(stderr,Nu se poate deschide f1.txt !);
return 1;
}
if ((dest=fopen(,,f2.txt,wt)) == NULL) {
fprintf(stderr, ,,Nu se poate deschide f2.txt!);
return 2;
}
while (!feof(sursa)) fputc(fgetc(sursa),dest);
fclose(sursa);
fclose(dest);
return 0;
}
Asocierea unui nou fiier la un flux deschis deja se realizeaz folosind
funcia freopen cu prototipul:
FILE * freopen(const char * <id_fis_extern>, const char * <mod_acces>, FILE
* p_fis);
unde p_fis este identificatorul fluxului existent care se va nchide n urma apelului
i se va deschide fiierul cu numele <id_fis_extern> n modul de prelucrare
<mod_acces> atribuind pointerul la structura creat variabilei p_fis. Funcia
returneaz valoarea atribuit lui p_fis.
Forarea scrierii zonelor tampon asociate fiierelor deschise pentru scriere
se realizeaz folosind funcia fflush cu prototipul:
int fflush(FILE * <id_fis>);
care returneaz EOF n caz de eroare, respectiv 0 n cazul normal.
Multe aplicaii necesit lucrul cu fiiere temporare care s fie terse
automat la nchidere sau la terminarea normal a programului. n sprijinul
programatorului, pentru a nlesni astfel de activiti, biblioteca C ofer o funcie cu
prototipul: FILE *tmpfile(void); care la apel creeaz un fiier temporar n modul

206
,,wb+. Funcia ntoarce un pointer la acel fiier. Apeluri succesive vor deschide
fiiere distincte.
Alte operaii la nivel de fiier sunt:
tergerea unui fiier - folosind funcia
int remove(const char * nume_fis);
schimbarea numelui - folosind funcia
int rename(const char *f_nou, const char *f_vechi);
Ambele funcii ntorc o valoare nenul n caz de eroare i zero n cazul
normal.
Operaiile de transfer se realizeaz folosind urmtoarele funcii clasificate
n funcie de tipul fluxului (text, respectiv binar) i de tipul operaiei (scriere,
respectiv citire).
I. Flux de tip text
a) Scriere cu format. Se pot folosi urmtoarele funcii: fprintf, printf, sprintf,
vfprintf, vprintf, vsprinf. Ne vom referi numai la funciile fprintf i printf.
Funcia fprintf este o funcie cu numr variabil de parametrii avnd
prototipul:
int fprintf(FILE *fp, const char *format, ...);
unde fp se refer la fluxul de date deschis n vederea realizrii transferului, iar
format respect specificaiile descrise n seciunea 4.4.2.
Funcia printf a fost descris n seciunea amintit anterior i este
echivalent cu fprintf(stdout,format, ...).
b) Citire cu format. Se pot folosi urmtoarele funcii: fscanf, scanf, sscanf. Vom
utiliza numai funciile fscanf i scanf. Funcia fscanf este o funcie cu numr
variabil de argumente i are prototipul:
int fscanf(FILE *fp, const char *format, ...);
Parametrii apelului au aceleai semnificaii ca mai sus, iar funcia scanf este
echivalent cu scanf(stdin, format, list{_adrese).
c) Citire de caractere din fiiere text. Se pot utiliza funcia fgetc i macrodefiniia
getc. Funcia cu prototipul int fgetc(FILE *fp); ntoarce urmtorul caracter din fp
ca un ntreg fr semn, convertit la int sau EOF dac s-a detectat sfritul de fiier
sau a aprut o eroare. Macrodefiniia cu prototipul int getc(FILE *fp); este
echivalent cu funcia fgetc. Reamintim posibilitatea utilizrii apelului getchar()
echivalent cu getc(stdin).
d) Scriere de caractere n fiiere text. Scrierea unui caracter c ntr-un fiier text cu
identificatorul intern fp se realizeaz folosind funcia cu prototipul:
int fputc(int c, FILE *fp);
care returneaz c n cazul succesului, respectiv EOF n caz de eec. Se poate utiliza
i macroinstruciunea cu prototipul int putc(int c, FILE *fp); similar cu fputc, iar
apelul putchar(c); este echivalent cu putc(c, stdout);.
e) Citirea unui ir de caractere din fiiere text se realizeaz folosind funcia cu
prototipul:
char *fgets(char *s, int n, FILE *fp);

207
la al crei apel se citesc, n s, cel mult n-1 caractere din fiierul fp la care se adaug
caracterul \0 i se returneaz s sau NULL n caz unei erori sau la ntlnirea
codului EOF.
Reamintim utilizarea funciei cu prototipul:
char *gets(char *s);
care citete urmtoarea linie de la consol i o depune n s.
f) Scrierea unui ir de caractere ntr-un fiier text se realizeaz n urma apelului
funciei cu prototipul:
int fputs(const char *s, FILE *fp);
care ntoarce EOF n caz de eroare, respectiv numrul de caractere transferate n
caz de succes. Pentru scriere la consol se utilizeaz funcia:
int puts(const char *s);
II. Flux binar
n aceast categorie intr funciile de intrare/ieire n acces direct care
citesc/scriu din/n fiiere fr nici o conversie i fr a se face vreo interpretare a
datelor. Noiunea fundamental este cea de zon compact de octei (nregistrare)
care se citete sau se scrie. Citirea/scrierea se face de la / la poziia curent din
fiier, care poate fi modificat cu funcii speciale dup cum vom vedea mai jos.
Dup executarea operaiei, poziia indicatorului (de octet n cazul limbajului C)
este actualizat automat, pentru a indica urmtoarea nregistrare. Citirea a nrec
nregistrri din fiierul cu identificatorul fp, fiecare avnd lungimea L, cu stocare n
tabloul ptr se realizeaz folosind apelul:
n = fread(ptr, L, nrec, fp);
care ntoarce un ntreg n ce furnizeaz numrul de nregistrri citite. Dac s-a
ntlnit EOF sau eroare atunci n va fi 0.
Pentru scrierea a nrec nregistrri de lungime L fiecare, din zona cu adresa
ptr n fiierul cu identificatorul intern fp se folosete apelul:
m = fwrite(ptr, L, nrec, fp);
unde m va reprezenta numrul de nregistrri scrise, cu m < nrec numai n caz de
eroare.
Pentru a avea acces la orice zon a fiierului, biblioteca C ofer un set de
funcii care permit:
citirea valorii indicatorului de poziie. Funcia fgetpos nscrie valoarea
indicatorului n variabila poz i ntoarce 0 n caz de succes. Prototipul funciei
este:
int fgetpos(FILE *fp, long int *poz);
Funcia ftell ntoarce poziia curent n fiier n caz de succes i -1 n caz de eec.
Aceasta are prototipul:
long int ftell(FILE * fp);
modificarea valorii indicatorului de poziie. Sunt disponibile funciile: fsetpos,
fseek i rewind. Funcia fsetpos are prototipul:
int fsetpos(FILE *fp, const long int *poz);
i atribuie indicatorului valoarea variabilei poz i ntoarce 0 n caz de succes.

208
Funcia fseek face o deplasare a indicatorului de poziie cu nr_octei relativ la o
poziie de referin specificat prin constanta ntreag origine. Se pot utiliza
urmtoarele valori: 0 = SEEK_SET (nceput de fiier), 1=SEEK_CUR (poziie
curent), 2 = SEEK_END (sfrit de fiier). Valoarea ntoars de fseek este 0
pentru succes i nenul n caz de eec. Prototipul funciei fseek este:
int fseek(FILE *fp, long nr_octei, int origine);
Folosind funcia rewind are loc poziionarea la nceputul fiierului.
Prototipul funciei rewind este:
void rewind(FILE *fp);
Pentru a obine informaii despre un fiier se pot utiliza funciile stat i
fstat cu prototipul declarat n fiierul stat.h din catalogul sys. Ne vom referi la
funcia stat. Aceasta are prototipul:
int stat (char *cale, struct stat * statzona);
unde: cale reprezint numele fiierului sau catalogului, iar statzona este adresa
unei structuri de tip stat ale crei cmpuri descriu starea entitii n discuie. De
exemplu, cmpul st_size furnizeaz dimensiunea unui fiier, n octei.

III. ELABORAREA ALGORITMILOR

III.1. Liste nlnuite

Structura de date array permite rezolvarea unei clase foarte largi de
probleme. Totui, nlnuirea informaiilor faciliteaz elaborarea multor algoritmi,
cei mai muli cu aplicabilitate direct n implementarea sistemelor de operare si a
diferitelor programe de dezvoltare a software-ului.
O list nlnuit este o mulime de elemente, numite noduri, organizat
secvenial, putnd fi dispersate n memorie; fiecare element al listei conine dou
pri: o parte descrie informaia stocat de element, cealalt parte reprezint o
legtur (un pointer) ctre urmtorul element.
Observm c alocarea nlnuit necesit mai mult memorie dect alocare
static, dar foarte multe operaii (insert, delete, extract) sunt foarte rapide deoarece
nu necesit deplasri ale elementelor.
Pentru ca operaiile de adugare (insert) si tergere (delete) s se fac uor
pentru orice element din list, se pot introduce dou elemente fictive (numite baz
si vrf) astfel c toate elementele listei au succesor si predecesor. Listele pot fi
simplu nlnuite sau dublu nlnuite. n cazul nlnuirii duble, partea de legtur
are dou componente: una indic elementul succesor, iar cealalt indic
predecesorul acestuia.
Limbajul Pascal pune la dispoziia programatorului acele elemente
necesare implementrii listelor nlnuite. Specificarea unei liste simplu nlnuite
se realizeaz prin :
type S_AdNod = ^S_Nod;
S_Nod = record info : tip_informatie; succesor : S_AdNod end;



209
iar o list dublu nlnuit se introduce astfel:
type D_AdNod = ^<D_NOD;< P>
D_Nod =record
info : tip_informatie;
succesor, anterior : D_AdNod
end;
Pentru o list simplu nlnuit, notm prin S_baza, S_varf, S_p, elemente
precum: baza, vrful, respectiv un nod oarecare, iar prin D_baza, D_varf, D_p
elementele similare n cazul listei dublu nlnuite.
Iniializarea structurii de date S_AdNod (respectiv D_AdNod) se poate
realiza prin procedura Pascal S_initializare (respectiv D_Initializare):
procedure S_initializare;
begin
new(S_baza);
new(S_varf);
S_baza^.succesor :=S_varf;
S_varf^.succesor := S_varf
end;
procedureD_initializare;
begin
new(D_baza); new(D_varf);
D_baza^.succesor := D_varf;
D_baza^.anterior := D_baza;
D_varf^.anterior := D_baza;
D_varf^.succesor := D_varf
end;
Algoritmii ce descriu operaiile insert/extract sunt:
procedureS_insert(v:tip_informatie; S_p:S_AdNod);
{ -------------- introducere dup elementul S_p -------------- }
varx : S_AdNod;
begin
new(x);
x^.info:=v;
x^.succesor := S_p^.succesor;
S_p^.succesor :=x
end;
procedure D_insert(v:tip_informatie;D_p:D_AdNod);
{ -------------- introducere dup elementul D_p -------------- }
var x: D_AdNod;
begin
new(x); x^.info:= v;
x^.succesor := D_p^.succesor;
x^.anterior := D_p;
D_p^.succesor := x;
x^.succesor^.anterior := x

210
end;
procedure S_extract(var v:tip_informatie; S_p :S_AdNod);
{ ------------- extragere din elementul urmtor nodului S_p ----- }
begin
if S_p^.succesor <> S_varf
thenv:=S_p^.succesor^.info
else write('Lista e vida')
end;
procedure D_extract(var v:tip_informatie; D_p:D_AdNod);
{ -------------- extragere din elementul anterior lui D_p --------- }
begin
if D_p^.anterior <> D_baza
then v:= D_p^.anterior^.info
else write('Lista e vida')
end;

tergerea unui nod se face simplu pentru liste dublu nlnuite, iar pentru
liste simplu nlnuite trebuie cunoscut adresa elementului anterior. Procedura
S_delete (S_p: S_Adnod) terge, dac exist, elementul ce urmeaz nodului S_p,
iar procedura D_delete(D_p:D_AdNod) terge, dac exist, elementul anterior
nodului D_p.
procedure S_delete(S_p: S_AdNod);
{ ------------- terge succesorul, daca exista, lui S_p --------- }
varx: S_AdNod;
begin
if S_p^.succesor <> S_varf then
begin
x := S_p^.succesor;
S_p^.succesor := x^.succesor;
dispose(x)
end
else write('Lista vida')
end;
procedure D_delete(D_p:D_AdNod);
var x:D_AdNod;
begin
if D_p^.anterior <> D_baza then
begin
x := D_p^.anterior;
D_p^.anterior := x^.anterior;
x^.anterior^.succesor := D_p;
dispose(x)
end
else write('Lista vida')
end;

211
Structura de date de tip stack poate fi uor implementat folosind listele
simplu nlnuite, cu legtura dinspre vrf spre baz. Procedurile insert si extract
sunt similare procedurile S_insert respectiv S_extract:
type stack = ^Nod;
Nod = record
info:tip_informatie;
succesor:stack
end;
var baza, varf:stack;
procedure initializare;
begin
new(baza); new(varf);
varf^.succesor := baza;
baza^.succesor := baza
end;

procedure insert(v:tip_informatie; varf:stack);
var x:stack;
begin
new(x);
x^.info:=v;
x^.succesor :=varf^.succesor;
varf^.succesor :=x
end;
procedure extract(var v:tip_informatie; varf:stack);
var x:stack;
begin
if varf^.succesor = baza then write('Stiva vida')
else begin
x:=varf^.succesor;
v:=x^.info;
varf^.succesor := x^.succesor;
dispose(x)
end
end;
Implementarea structurii de date queue folosind liste nlnuite este un
exerciiu simplu ce rmne cititorului.
Utilizarea nlnuirii permite o uoara manipulare a listelor circulare.
Este suficient s considerm un singur nod fictiv, numit baz. Operaiile de
inserare/extragere sunt similare celor de mai sus si nu necesit discuii
suplimentare.





212
III.2. Arbori

III.2.1. Teorema de caracterizare a arborilor.
Proprietari ale arborilor binari

Definiie. Un arbore este un graf neorientat, conex si fr cicluri.
Definiie. Fie G = (V, E) un graf neorientat. Un vrf x care este
extremitatea unei singure muchii e din mulimea E se numete vrf terminal.
Observaie. ntr-un arbore G = (V, E) pentru care |V| >= 2, exist cel puin
dou vrfuri terminale.
Teorema 1. (Teorema de caracterizare). Fie G = (V, E) un graf
neorientat cu n vrfuri si m muchii. Urmtoarele afirmaii sunt echivalente:
1. G este arbore.
2. Oricare dou vrfuri din G sunt unite printr-un lan (elementar) unic.
3. G este conex minimal (prin suprimarea unei muchii se obine un graf
neconex).
4. G este conex si m = n-1.
5. G este aciclic (nu are cicluri) si m = n-1.
6. G este aciclic maximal (prin adugarea unei muchii, graful obinut va
conine cicluri).
Arborele nu are o orientare. Totui, de multe ori, se poate pune n evident
un vrf - numit rdcina - si se poate introduce o ordine pe arbore, definind un
numr de nivele pe care sunt amplasate vrfurile arborelui:
pe nivelul 1 se plaseaz rdcina;
pe fiecare nivel i se plaseaz acele vrfuri pentru care lungimea lanurilor ce le
leag de rdcina este i-1.
Ordinea pe arbore este definit astfel: primul vrf este rdcina,
urmtoarele vrfuri sunt cele plasate pe nivelele 1, 2, ...etc. Aceast ordonare
transform arborele ntr-un graf orientat, pentru fiecare muchie sensul de
parcurgere fiind de la nivelul superior (nivel mai mic) spre nivelul imediat inferior
(cu numr de nivel mai mare cu o unitate).
Vrfurile de pe nivelul i conectate cu acelai vrf x situat pe nivelul i-1 se
numesc descendenii (fii) lui x, iar vrful x se numete printele (tatl) vrfurilor
de pe nivelul i. Dac un vrf nu are descendeni, atunci se numete vrf terminal
sau frunz. Dou noduri care au acelai printe se numesc frai.
Arborii n care vrfurile pot avea un numr arbitrar de fii se numesc arbori
oarecare. O clas important de arbori este clasa arborilor binari n care fiecare
vrf are cel mult doi descendeni.
O alt definiie (conform D. Knuth - Tratat de programarea
calculatoarelor: Algoritmi fundamentali, Ed. Tehnic, 1974) introduce noiunea de
arbore cu rdcina n manier recursiv.
Definiie. Un arbore cu rdcina este o mulime finit de vrfuri care fie
este vid, fie exist un vrf cu destinaie special, numit rdcina arborelui, iar
celelalte noduri sunt repartizate n m >= 0 mulimi disjuncte A
1
, A
2
, ..., A
m
, fiecare
mulime A
i
fiind la rndul su un arbore.

213
Elementele arborelui sunt vrfurile si legturile dintre ele. Vrful rdcina
este situat pe nivelul 0, rdcinile arborilor A
1
, A
2
, ..., A
m
formeaz nivelul 1 al
arborelui. Continund acest procedeu, se obin nivelele 2, 3, ..., ale arborelui. Dac
numrul nivelurilor este finit atunci arborele este finit, n caz contrar arborele este
unul infinit. Pentru un arbore finit, numrul nivelului maxim din arbore se numete
nlimea (sau adncimea, depinde cum privim reprezentarea grafic) arborelui.
Un arbore binar se compune din rdcina si din doi subarbori denumii
subarborele stng, respectiv drept. Exist o deosebire ntre arborii binari si arborii
oarecare avnd vrfuri cu cel mult doi descendeni. La un arbore oarecare, este
suficient dac se tie c Y este fiul lui A, pe cnd la un arbore binar trebuie s se
tie, n plus, dac Y este descendent stng sau descendent drept al vrfului X. Se
pot evidenia mai multe clase de arbori binari:
1. Arbori binari strici - sunt arbori binari n care oricare vrf este fie
terminal, fie are exact doi descendeni.
2. Arbori binari plini - sunt arborii binari care au 2
k
-1 vrfuri aezate pe
nivelele 0, 1, ..., k-1, astfel nct pe fiecare nivel i se afl 2
i
vrfuri.
3. Arbori binari complei - sunt arborii binari care se obin dintr-un arbore
binar plin prin eliminarea din dreapta ctre stnga a unor vrfuri de pe
ultimul nivel. Deci, pentru a construi un arbore binar complet cu n vrfuri,
se determin k astfel nct 2
k
<= n < 2
k+1
echivalent cu k = [log
2
n]. Se
construiete arborele binar plin cu 2
k+1
-1 vrfuri si se elimin de pe ultimul
nivel vrfurile 2
k+1
-1, 2
k+1
-2, ..., n+1.
4. Arbori binari degenerai - sunt arbori binari cu n vrfuri dispuse pe n
nivele.
5. Arbori binari echilibrai - sunt arbori binari n care, pentru orice vrf,
numrul vrfurilor din subarborele drept si numrul vrfurilor din
subarborele stng difer cu cel mult o unitate.
Propoziia 1. Numrul maxim de vrfuri de pe nivelul i al unui arbore
binar este 2
i
.
Propoziia 2. Numrul maxim de vrfuri ntr-un arbore binar cu nlimea
h este 2
h+1
-1.
Propoziia 3. Considerm un arbore binar cu n vrfuri neterminale
(interne). Definim lungimea drumurilor interne, L
i
(n), ca fiind suma lungimilor
drumurilor de la rdcina la vrfurile neterminale si lungimea drumurilor externe,
L
e
(n), ca fiind suma lungimilor drumurilor de la rdcina la vrfurile terminale.
ntr-un arbore binar cu n vrfuri interne, L
e
(n) = L
i
(n)+2n.

III.2.2. Reprezentarea arborilor oarecare

n multe aplicaii, fiecrui vrf k al unui arbore i se poate ataa o etichet (o
informaie) notat, de obicei, prin info(k). n cel mai simplu caz, info(k) conine
numele (numrul de ordine) vrfului k.




214
1. Reprezentarea cu referine descendente
O prim posibilitate (R1) de reprezentare folosete informaia asociat
vrfului si referinele ctre descendenii si. Presupunnd c numrul
descendenilor oricrui vrf este cel mult MaxFii, declararea unei structuri de date
arborescente n seciunea type - n limbajul Pascal - este descris prin:
ArboreR1 = ^Varf;
Varf = record
info: Tip_Informatie;
Descendent:array[1..MaxFii] of ArboreR1;
end;
Reprezentarea R1 utilizeaz o mare cantitate de memorie deoarece pentru
fiecare vrf se aloc memorie pentru numrul maxim de descendeni. O
reprezentare convenabil (R2) utilizeaz, n locul tabloului, o list simplu nlnuit
n care se stocheaz toi descendenii unui vrf. Declararea acestei structuri este:
ListaFii = ^Fiu;
Fiu = record
ref: ArboreR2;
succesor: ListaFii;
end;
ArboreR2 = ^ Varf;
Varf = record
info: Tip_informatie;
descendent: ListaFii;
end;
2. Reprezentarea cu referine ascendente
Reprezentarea R3 retine pe lng informaia aferent unui vrf si o legtura
ctre vrful printe:
ArboreR3 = ^Varf;
Varf =record
info: Tip_informatie;
tata: ArboreR3;
end;
3. Reprezentarea Fiu-Frate
Aceast reprezentare (R4) utilizeaz descendentul cel mai din stnga si
fratele lui din dreapta cel mai apropiat. Trebuie s considerm o ordine pe
mulimea descendenilor.
Declararea n limbajul Pascal este:
ArboreR4 = ^ Varf;
Varf = record
info: Tip_informatie;
FiuSt, FrateDr: ArboreR4;
end;
Se observ c aceast reprezentare, transform arborele oarecare ntr-un
arbore binar. ntre cele dou grafuri exist o corespondent biunivoc.


215
4. Reprezentarea Fiu-Frate-Tata
Aceast reprezentare (R5) utilizeaz modelul R4 si o legtura ascendent
(tata) ca n reprezentarea R3.

III.2.3. Reprezentarea arborilor binari

Arborii binari admit reprezentrile arborilor oarecare, totui dou dintre
reprezentri se utilizeaz cu preponderent: reprezentarea nlnuit si
reprezentarea secveniala pentru arbori binari complei.
Reprezentarea nlnuit
n reprezentarea nlnuit, pentru fiecare vrf se indic: informaia
asociat vrfului, rdcina subarborelui stng, rdcina subarborelui drept si dac
este necesar, tatl vrfului respectiv:
ArboreBinar =^Varf;
Varf = record
info: Tip_informatie;
Rad_fiu_s: ArboreBinar;
Rad_fiu_d: ArboreBinar;
Tata: ArboreBinar;
end;
Orice arbore binar este referit prin intermediul vrfului rdcina.

III.2.4. Parcurgerea arborilor binari

A parcurge un arbore nseamn a vizita fiecare vrf al arborelui, o singur
dat, pentru prelucrarea informaiei asociate vrfului. Parcurgerilor DF si BF
(utilizate n cadrul grafurilor) devin parcurgeri n adncime (preordine, inordine,
postordine) respectiv parcurgere pe nivele. n toate cazurile, arborele si subarborii
sunt vizitai n acelai mod. Pentru parcurgerile n adncime se viziteaz
subarborele stng (S) si subarborele drept (D) n aceast ordine. Ceea ce difer
ntre parcurgeri este dat de pozitia rdcinii (R) fat de subarborii S si D.
Parcurgerea n preordine presupune vizitarea rdcinii si apoi parcurgerea n
preordine a celor doi subarbori (RSD).
Procedure Preordine(R:ArborBinar);
begin
if R<>NILthen
begin
{R} vizitare(R^.info);
{S} Preordine(R^.Rad_Fiu_s);
{D} Preordine(R^.Rad_Fiu_d);
end;
end;
Parcurgerea n inordine presupune parcurgerea n inordine a subarborelui
stng, vizitarea rdcinii si apoi parcurgerea n inordine a subarborelui drept
(SRD).

216
Procedure Inordine(R:ArborBinar);
begin
if R<>NILthen
begin
{S}Inordine(R^.Rad_Fiu_s);
{R} vizitare(R^.info);
{D} Inordine(R^.Rad_Fiu_d);
end;
end;
Pentru a parcurge n postordine un arbore binar, se utilizeaz secvena de
operaii SDR. Mai precis, procedura Postordine are urmtorul cod Pascal:
Procedure Postordine(R:ArborBinar);
begin
if R<>NIL then
begin
{S} Postordine(R^.Rad_Fiu_s);
{D} Postordine(R^.Rad_Fiu_d);
{R} vizitare(R^.info);
end;
end;
Folosind reprezentarea Fiu-Frate a arborilor oarecare remarcm
posibilitatea extinderii modurilor de parcurgere a arborilor binari la parcurgerea
tuturor arborilor cu rdcina. Astfel, un arbore oarecare poate fi parcurs n
urmtoarele moduri:
A-preordine: Se viziteaz rdcina arborelui, apoi se parcurg n modul A-
preordine subarborii rdcinii;
A-postordine: Se parcurg n modul A-postordine subarborii vrfului rdcina,
apoi se viziteaz rdcina.
Se poate observa c parcurgerea n preordine a arborelui binar ataat
arborelui oarecare este identic cu parcurgerea n A-preordine. De asemenea,
parcurgerea n A-postordine este echivalent cu parcurgerea n inordine a arborelui
binar ataat. Parcurgerea n A-inordine are sens numai pentru arbori binari si este
identic cu parcurgerea n inordine.

III.3. Cozi cu prioritate

O coad cu prioritate este o structur de date abstract, format din
elemente care au asociat o valoare numit cheie sau prioritate, ce suport
urmtoarele operaii:
insert(Q, x) - se insereaz elementul x in coada Q;
extractMax(Q) - furnizeaz elementul de valoare maxim din Q.
Implementarea cozilor cu prioritate se poate realiza in mai multe moduri:
vector, list nlnuit etc. O structur de date care conduce la realizarea operaiilor
Insert si ExtractMax in timp logaritmic este ansamblul (structura heap).
Operaia Insert este implementat de procedura InserareAnsamblu.

217
Extragerea elementului de prioritate maxim presupune tergerea din
ansamblu a valorii din rdcina. Pentru aceasta se plaseaz in rdcina (prima
poziie din ansamblu) ultimul element al ansamblului. Dimensiunea ansamblului
scade, iar aceasta trebuie restaurat, operaie care se realizeaz prin combinarea noii
rdcini cu subansamblurile fii. Se obine funcia:
function extractMax(var Q:Ansamblu; var n:integer):TipElement;
begin
extractMax := Q[1];
Q[1] := Q[n];
n:=n - 1;
CombinaAnsamblu(Q,1,n)
end;
a crei complexitate este identic cu cea a procedurii CombinAnsamblu, adic
O(log
2
n).
n anumite aplicaii este necesar obinerea att a valorilor minime ct si a
valorilor maxime. Pentru aceasta sunt utile cozile cu dubl prioritate. O coad cu
dubl prioritate este o structur de date abstract format din elemente caracterizate
de o valoare numit cheie sau prioritate, care suport urmtoarele operaii:
Insert(Q,x) - inserarea elementului x in coada cu prioritate Q;
extractMax(Q) - extrage din coada Q elementul de valoare maxim
extractMin(Q) - extrage din coada Q elementul de valoare minim.
Pentru implementarea eficient a acestei structuri de date se folosesc
ansambluri generalizate: min-max-ansambluri sau ansambluri dublu corelate.

IV. GRAFURI. REPREZENTARE I ALGORITMI

IV.1. Reprezentarea grafurilor oarecare

Fie G = (X,E) un graf oarecare. Presupunem c X are n elemente (n>0) si
deci elementele mulimii X pot fi redenumite folosind numerele 1, 2, ..., n. Pentru
reprezentarea grafului G se pot utiliza diverse structuri de date. Tipul structurii de
date selectat depinde de problema pentru a crei rezolvare s-a recurs la modelare
folosind grafuri.
1. Matricea de adiacent. Pentru a indica elementele mulimii E, se
definete un tablou bidimensional cu elemente ale unei mulimi cu 2 elemente,
codificate prin false si true (respectiv 0 si 1). Matricea format se numete matrice
de adiacent. Elementele matricei sunt definite prin regula:
Dac [i,j] este o muchie din E atunci E[i,j] = 1 altfel E[i,j] = 0.
Dac G este graf neorientat atunci matricea E este simetric. O modalitate
de stocare eficient a matricei E const in memorarea prii superior triunghiulare.
Totui, acest mod de stocare nu permite o evaluare rapid a propoziiei "[i,j] este
muchie din E". Dac G este digraf atunci matricea E este ptratica oarecare:




218
const max_x=255;
type Matrice_de_adiacent = array[1..max_x, 1..max_x] of 0..1;
Graf = record n:1..max_x; E: Matrice_de_adiacent end;
G: Graf;
2. Liste de adiacent. Pentru fiecare vrf i se memoreaz L
i
- lista vecinilor
vrfului i, adic a vrfurilor j pentru care [i,j] este o muchie din E. Acest mod de
reprezentare poate utiliza scheme de alocare dinamic a memoriei precum si
tablouri.
const max_x=255;
typelista_de_adiacent = ^celul;
celul = record
vrf: byte;
next: list_de_adiacent
end;
Graf = record
dim: 1..max_x;
E: array[1..max_x] of lista_de_adiacent;
end;
var G:Graf;
3. Lista muchiilor sau a arcelor. Fiecare muchie (respectiv arc) este
specificat (respectiv specificat) prin extremitile sale. Deci, se poate defini un tip
de date numit "muchie_sau_arc" utiliznd conceptul de nregistrare (implementat
prin record):
type muchie_sau_arc = record
init, fin:byte;
end;
Atunci mulimea E poate fi specificat prin:
Var E: array[1..n] of muchie_sau_arc;
Muchia (sau arcul) cu indicele i are extremitile: E[i].init, respectiv E[i].fin.
Exemplificm utilizarea listelor de adiacent pentru rezolvarea problemei
Sortrii topologice: Dac G = (X,E) este un digraf, s se determine o numerotare
aciclic a vrfurilor sale, adic s se determine vectorul ord[v], v vrf al grafului
G, astfel nct: (v,w) arc din E => ord [v] < ord [w]. Prin ord [v] nelegem
numrul de ordine al vrfului v.
Fie X = {x
1
, x
2
, ..., x
n
} si E = | m |. Pentru rezolvarea problemei vom folosi
noiunea de grad. Numim grad exterior al unui vrf x, notat d
+
(x), numrul arcelor
de forma (x,y) din E. Numim grad interior al vrfului x, notat prin d
-
(x), numrul
arcelor de forma (y,x) din E.
Rezolvarea problemei se bazeaz pe urmtoarea proprietate: Graful G admite o
numerotare aciclic dac si numai dac nu are circuite.
ntr-adevr, dac G admite o numerotare aciclic atunci G nu are circuite
(dac x
i1
, x
i2
, ..., x
is
, x
i1
sunt vrfurile unui circuit, cum G are o numerotare aciclic,
obinem ord[x
i1
] < ord[x
i2
] < ... < ord[x
is
] < ord[x
i1
], contradicie). Reciproc, dac G
nu are circuite atunci exist un vrf x
i0
X astfel nct d
-
(x
i0
) = 0 (altfel, datorit
caracterului finit al digrafului, se poate construi un circuit); punem ord[x
i0
]:=1,

219
considerm G subgraful obinut prin eliminarea vrfului x
i0
si a arcelor incidente, si
repetm raionamentul.
Prezentm un algoritm care s rezolve problema in timp O(n+m). Ideea
algoritmului este urmtoarea: Determinm gradele interioare ale vrfurilor.
Vrfurile de grad interior zero le memorm intr-o stiv S. Ct timp stiva este
nevid parcurgem urmtorii pai:
considerm elementul din vrful stivei S si-l numerotm;
modificm gradele interioare ale vrfurilor din lista de adiacent a vrfului
tocmai numerotat;
In modificarea anterioar, obinerea unui vrf cu gradul interior 0 va conduce
la introducerea lui in stiva S.
Dac nu s-au numerotat toate vrfurile atunci digraful conine circuite.
Considerm declaraiile de mai sus mpreuna cu:
var g_aciclic:boolean;
type permutare = array[1..max_x] of byte; (* numerotarea *)
Procedura care realizeaz sortarea topologic si poziioneaz semaforul
g_aciclic este:
procedure sortare_topologic(G:Graf;var ord:permutare);
Var d: array [1..max_x] of integer;(* gradele interioare *)
S, p, q: list_de_adiacent; (* S - vrful stivei *)
n,i,j: integer; (* n - numrul vrfurilor numerotate *)
begin
for i:=1 to G.dim do d[i]:=0;
for i:=1 to G.dim do (* determinare grade interioare *)
begin
p:=G.E[i];
while p<>NIL do begin j:=p^.vrf; d[j]:=d[j]+1; p:=p^.next end;
end;
S:=NIL; (* iniializare stiv vid *)
for i:=1 to G.dim do (* creare stiv *)
if d[i] = 0 then begin new(p); p^.vrf:=i; p^.next:=S; S:=p end;
while S <> NIL do begin
i:=S^.vrf; p:=S; S:=S^.next;
n:= n+1; ord[i]:=n; dispose(p);
p:=G.E[i];
while p<>Nil do begin
j:=p^.vrf; d[j]:=d[j]-1;
if d[j] = 0 then begin new(q); q^.vrf:=j; q^.next:=S; S:=q end;
p:=p^.next
end
end;
if n<G.dim then g_aciclic:=false else g_aciclic:=true
end;

220
Dac toate vrfurile au fost numerotate si digraful este utilizat in alte
probleme, trebuie s sortm listele de adiacent astfel ca ele s fie ordonate
cresctor in noua numerotare. n final se inverseaz permutarea ord. Lsm ca
exerciiu obinerea noilor liste de adiacent.

IV.2. Matrice asociate digrafurilor

Fie G=(X, E) un digraf cu X= {x
1
, x
2
, ..., x
n
} si E = {e
1
, e
2
, ..., e
m
}. Se pot
defini mai multe tipuri de matrice:
matricea de adiacent - A=(a
ij
) cu a
ij
= 1 dac (x
i
,x
j
) aparine mulimii E si a
ij
= 0 in caz contrar - se mai numete si matricea boolean a tranziiilor
digrafului G. Semnificaiile vectorilor linii si vectorilor coloane, in limbajul
grafurilor, sunt:
1. in linia i sunt marcate cu 1 arcele incidente spre exterior in vrful x
i
;
2. in coloana j sunt marcate cu 1 arcele incidente spre interior in vrful x
j
;
3. pe linia i sunt marcate cu 1 drumurile de lungime 1 care pornesc din x
i
;
pe coloana j sunt marcate cu 1 drumurile de lungime 1 care ajung in x
j
.
Urmtoarele afirmaii sunt evidente:
a) Dac G este digraf antisimetric (relaia binar dat de E este antisimetric)
atunci aij+aji le; 1 pentru oricare i si j, i diferit de j.
b) Dac G este un digraf complet (dac (x
i
, x
j
) este in mulimea E atunci (x
j
, x
i
)
aparine mulimii E) atunci pentru oricare i si j (i diferit de j) are loc
inegalitatea a
ij
+a
ji
1.
c) d
+
(x
i
) = + {a
ij
: j=1, 2, ..., n} pentru fiecare i, reprezint gradul exterior.
d) d
-
(x
j
) = + {a
ij
: i=1, 2, ..., n} pentru fiecare j, reprezint gradul interior.
matricea drumurilor: Se numete matrice a drumurilor asociat digrafului G
matricea M =(m
ij
) cu elemente definite prin: m
ij
= 1 dac exist drum in G de la
x
i
la x
j
, si m
ij
= 0 in caz contrar.
Observaii:
1. Dac m
ii
= 1 atunci exist un circuit care trece prin x
i
.
2. Dac linia i si coloana i cuprind numai elemente zero atunci x
i
este
inaccesibil (este vrf izolat).
Pentru determinarea matricei drumurilor unui graf se poate utiliza
algoritmul Roy-Warshall (vezi materialul tiprit).
matricea ponderilor (arcelor unui digraf): este matricea (w
ij
) prin care arcului
(x
i
, x
j
) i se asociaz numrul nenegativ w
ij
(numit si valoarea arcului). Rezult
c fiecrui drum simplu i se va ataa o valoare unic si bine determinat, egal
cu suma valorilor arcelor sale. Dac se lucreaz numai cu drumuri elementare
(deci si simple) atunci o problem important este cea a determinrii
drumurilor de lungime minim. Acest aspect va fi tratat intr-o seciune viitoare






221
IV.3. Algoritmi elementari fundamentali

n aceast seciune vor fi abordate cteva probleme decidabile formulate in
termeni de grafuri:
(P1): Fie G un graf (neorientat). Este G un graf conex ?
(P2): Fie G un digraf. Este G tare conex?
(P3): Fie G un graf conex ponderat si x
0
un vrf. Pentru fiecare vrf y, s se
determine un cel mai scurt (de cost minim) x
0
-y drum.
(P4): Fie G un graf conex ponderat. S se calculeze matricea drumurilor de cost
minim: D=(d
ij
) unde d
ij
este lungimea celui mai scurt (de cost minim) x
i
-x
j
drum.
(P5): Fie G = (X, E) un graf conex si w o funcie pondere (cu valori nenegative)
definit pe mulimea E. Fie H = (X, V) un graf parial al lui G. Costul grafului H
reprezint suma costurilor muchiilor sale. S se determine un graf parial H al lui
G care s fie conex si s aib costul minim.
Conexitate (Metode pentru rezolvarea problemei P1). Fie G = (X, E) un
graf. Un subgraf conex maximal H = (X
1
, E
1
), X
1
submulime a mulimii X si E
1

submulime pentru mulimea E, se numete component conex (nu exist nici un
lan in G s lege un vrf din X
1
cu un vrf din X-X
1
.
Pentru a verifica algoritmic dac un graf este conex, exist mai multe
soluii. O prim abordare se bazeaz pe utilizarea metodei de parcurgere BF (in
lime). Prin parcurgerea BF se vor determina componentele conexe ale grafului G.
Paii algoritmului sunt:
1. Se alege un vrf (de exemplu cel numerotat prin x=1). Se iniializeaz
numrul k al componentelor conexe cu 0 (k := 0);
2. Se incrementeaz k cu 1 (k++). Se determin si se retine mulimea
vrfurilor legate de x prin lanuri, utiliznd parcurgerea BF, pentru x vrf
de pornire. Aceast mulime reprezint componenta conex k. Dac toate
vrfurile au fost vizitate, se trece la pasul 3, altfel se alege un vrf nc
nevizitat (care se atribuie variabilei x) si se reia pasul 2.
3. Se verific valoarea contorului k. Dac k = 1 atunci graful este conex,
altfel k furnizeaz numrul componentelor conexe.
Implementarea n Pascal a algoritmului de mai sus este artat n procedura
Conex1, unde graful G este specificat folosind matricea de adiacent.
function conex1(G: graf):byte;
var k,i,n,x: 1..max_x;
viz:array[1..max_x] of boolean;
procedure BF(x: integer);
var coada: array[1..max_x] of byte;
prim, ultim: byte;
i,v: byte;
begin
prim:=1; ultim:=1;
viz[x]:=true; coada[1]:=x;
retine(k, x); (* se retine vf. x in componenta k
*)

222
while prim <= ultim do
begin
v:=coada[prim];
for i:=1 to n do
if(G.E[i,v]=1) and (not viz[i]) then
begin
ultim:=ultim+1;
coada[ultim]:=i;
viz[i]:=true;
retine(k, i)
end;
prim:=prim+1
end
end; (* end BF *)
function exista_nevizitat: boolean;
var i:1..x_max; oprire: boolean;
begin
oprire:=false; i:=1;
while ( i <= n) and not oprire do
if not viz[i] then
begin x:=i; oprire:=true end
else i:=i+1;
exista_nevizitat:=oprire
end;
begin (* start Conex1 *)
n:=G.n;
k:=0;
for i:=1 to n do viz[i]:=false;
while exista_nevizitat do begin k:=k+1; BF(x) end;
Conex1:=k (* funcia returneaza numrul
componentelor conexe *)
end;
Pentru determinarea componentei conexe a unui graf care conine un nod
dat x
0
, se poate folosi urmtorul algoritm:
Pasul 0: Se consider G = (X,E) unde X si E sunt ca mai sus.
Intrare: x
0
aparine mulimii X.
Iniializare: i := 0; E
i
:= Mulimea vida; X
i
:= {x
0
}; R
i
:=X-X
i
;
Pasul 1: Repet etapele (in ordinea specificat):
alege v aparine mulimii R
i
astfel nct exist u aparine mulimii X
i
cu
proprietatea c e=[u,v] aparine mulimii E;
i:=i+1; X
i
:=X
i-1
U {v}; E
i
:=E
i-1
U {e};
pn cnd X
i
= X
i-1
si E
i
= E
i-1
.
Pasul 2: Dac X = X
i
atunci graful este conex altfel graful nu este conex. Stop.
Justificarea faptului c procedura descris este un algoritm si c determin
componenta conex ce conine vrful x
0
, este propus ca exerciiu cititorului.

223
Tare conexitate (Rezolvarea problemei P2). Reamintim c un digraf G =
(X, E) este tare conex dac fie |X|=1, fie pentru oricare dou vrfuri x, y aparinnd
mulimii X exist un drum de la x la y si un drum de la y la x. O component tare
conex a digrafului G este un subgraf G
1
=(X
1
, E
1
) al lui G care este tare conex si
este maximal in raport cu aceast proprietate.
Fie x
0
aparinnd mulimii X. Componenta tare conex care conine vrful
x
0
este mulimea S(x
0
) U P(x
0
) U {x
0
}, unde:
S(t) este mulimea vrfurilor care sunt extremiti finale ale unor drumuri ce
pleac din t;
P(t) este mulimea vrfurilor care sunt extremiti iniiale ale unor drumuri ce
se termin cu t.
Dac M este matricea drumurilor asociat digrafului G, atunci S(t) este
mulimea vrfurilor corespunztoare coloanelor la a cror intersecie cu linia
corespunztoare vrfului x
0
este o valoare nenul. Similar, P(t) este format din
acele vrfuri ce corespund liniilor la a cror intersecie cu coloana vrfului x
0
se
afl o valoare nenul.
Determinarea drumurilor de cost minim (Problema P3). Fie G = (X, E, w)
un graf ponderat. Pentru un drum elementar d: x
1
, x
2
, ..., x
k
, lungimea drumului
notat dL( ).
Pentru oricare x, y dou vrfuri conectate in G, x diferit de y, se definete
w-distanta intre x si y (costul tranziiei ntre vrfurile x si y) notat D(x,y) prin:
D(x, y) = min ( L(d), x-y drum elementar}
Pentru un nod x
0
fixat, determinarea att a distantei D(x
0
, y) ct si a unui
x
0
-y drum de cost minim pentru orice y diferit de x
0
vrf al grafului (problema P3)
se poate realiza folosind procedura propus de E.W. Dijkstra.
Fie S submulime a mulimii X astfel nct x
0
aparine mulimii S, C
S
:= X-
S si D(x
0
, C
S
) = min {D(x
0
,u), u aparine mulimii C
S
}. Fie y aparine mulimii C
S

astfel nct D(x
0
,y) = D(x
0
, C
S
) si d: x
0
, x
1
, x
2
, ..., x
n
, y un x
0
-y drum de cost minim.
Evident, pentru oricare i = 1, 2, ..., n, x
i
aparine mulimii S si d: x
0
, x
1
, x
2
, ..., x
n

este un x
0
-x
n
drum de cost minim. De asemenea, D(x
0
, C
S
) = min D(x
0
,u) + w(uy),
u aparine mulimii S, y aparine mulimii C
S
, uy aparine mulimii E}.
Dac u aparine mulimii S si y aparine mulimii C
S
sunt astfel nct D(x
0
,
C
S
) = D(x
0
,u) + w(uy) atunci D(x
0
,y) = D(x
0
,u) + w(uy). Pentru a obine un x
0
-y
drum pentru fiecare y din X, y x
0
, trebuie s asociem fiecrui vrf y o etichet de
forma (L(y), u) unde u este ca mai sus, adic predecesorul lui y pe cel mai scurt x
0
-
y drum, iar L(y) este costul minim al drumului de la x
0
la y.
Convenim ca pentru un nod y pentru care nc nu s-a determinat un x
0
-y
drum s punem L(y) = Inf, unde Inf este o cantitate care se comport astfel: Inf +
Inf = Inf, Inf + r = Inf si r < Inf pentru orice numr real r.
Procedura Dijkstra accept la intrare graful conex, ponderat G = (X, E, w)
si vrful de start x
0
. Rezultatul prelucrrilor const din mulimea etichetelor
asociate vrfurilor y aparine mulimii X, y x
0
. Paii procedurii sunt:



224
1. i:= 0; S
0
:= {x
0
}, L(x
0
) = 0, L(y) = Inf pentru fiecare y aparine mulimii X,
y diferit de x
0
. Dac |X|=1 atunci STOP.
2. Pentru fiecare y aparine mulimii C
Si
pentru care exist x
i
aparine
mulimii S
i
astfel nct L(y)>L(x
i
)+w(x
i
y) punem L(y) := L(x
i
)+w(x
i
y) si
etichetm vrful y cu (L(y), x
i
).
3. Fie d:= min {L(y), y aparine mulimii C
Si
} si x
i+1;
aparine mulimii C
Si

astfel nct L(x
i+1
)=d.
4. S
i+1
:= S
i
U {x
i+1
}.
5. i:=i+1. Dac i=|x|-1 atunci stop, altfel mergi la pasul 2.
Deoarece are loc relaia S
0
S
1
... X (graful fiind presupus conex), procedura
de mai sus este un algoritm. Demonstrm, prin inducie, c mulimea etichetelor
asociate vrfurilor, determinat de algoritm, are urmtoarele proprieti:
i. L(y) = D(x
0
,y) pentru orice y aparine mulimii X.
ii. Pentru oricare y aparine mulimii X, y diferit de x
0
, : x
0
= u
0
, u
1
..., u
n
= y,
este un x
0
-y drum de cost minim, iar pentru toi 1 i n, eticheta calculat pentru
vrful u
i
este (L(u
i
), u
i-1
).
Pentru i = 0 nu avem nimic de demonstrat. Presupunem c pentru oricare y
aparinnd mulimii S
i
, L(y) = D(x
0
,y) dup etapa 4. Deoarece S
i+1
:= S
i
x
i+1
}, este
suficient s justificm c L(x
i+1
) D(x
0
,x
i+1
). Deoarece L(x
i+1
) = min L(u)+w(uy), u
aparine mulimii S
i
, y aparine mulimii C
Si
}= min D(x
0
,u) + w(uy), u aparine
mulimii S
i
, y aparine mulimii C
Si
}. Minimul in relaia de mai sus este atins
pentru y=u
i+1
, deci L(u
i+1
) = D(x
0
, x
i+1
), adic prima proprietate.
Pentru obinerea proprietii ii) presupunem c la terminarea algoritmului,
eticheta vrfului y aparine mulimii X, y diferit de x
0
, este (L(y), y
1
). Deoarece
L(y) = L(y
1
) + w( y
1
y), rezult c y
1
este predecesor al vrfului y pe un x
0
-y drum
de cost minim. Continund raionamentul se obine un x
0
-y drum de cost minim cu
nodurile x
0
=y
n
, y
n-1
, ..., y
1
, y, unde pentru 1 i n-1, eticheta furnizat de algoritm
pentru vrful y
i
fiind (L(y
i
), y
i+1
).
Determinarea distantelor ponderate minime (Problema P4 - determinarea
drumurilor de cost minim). Utiliznd acelai raionament ca mai sus si pornind de
la matricea ponderilor, folosind algoritmul Roy-Floyd se poate determina matricea
distantelor minime: d
ij
= D(x
i
, x
j
), pentru fiecare 1 i,j n unde n:=|X|, elementele
mulimii X fiind notate ca la nceputul seciunii. Etapele algoritmului Roy-Floyd
sunt:
Intrare: matricea w a ponderilor, in care pentru [ x
i
, x
j
] ce nu aparine mulimii
E considerm w[i,j] = Inf, unde Inf este definit ca mai sus.
Iniializare: d := w (for i:=1 to n do for j:=1 to n do d[i,j]:=w[i,j];)
Actualizarea distantelor minime:
for j:=1 to n do for i:=1 to n do
If d[i,j] <> Inf then for k:=1 to n do
d[i,k]:=min(d[i,k], d[i,j]+d[j,k])
Ieire: Matricea d a distantelor minime.



225
Este evident c procedura descris este un algoritm, iar matricea d calculat
este matricea distantelor in graful ponderat dat:
Dac x
i
si x
j
sunt conectate atunci d[i,j] D(x
i
, x
j
) altfel d[i,j] = Inf.
Determinarea unui subgraf parial de cost minim (Problema P5). Fie G =
(X, E, w) un graf ponderat, X= {x
1
, x
2
, ..., x
n
}, iar pentru e aparinnd mulimii E,
w(e) este un numr real pozitiv care se mai numete si costul muchiei e. Pentru un
graf parial H = (X, U) al grafului G, costul su reprezint suma costurilor
muchiilor sale, adic: w(H) = .
Propoziia 1. Pentru graful conex G, cu funcia de cost w, exist un graf
parial H conex si de cost minim, care, in plus, este arbore.
Pentru determinarea unui arbore parial de cost minim (APM) exist mai
muli algoritmi. Urmtorul algoritm, datorat lui Kruskal (1956), determin H un
APM pentru un graf ponderat conex dat.
k := 0; E
0
:= mulimea vida;
Se determin T:= {e | e aparine mulimii E-E
k
astfel nct graful (X, E
k
e) este
aciclic}. Dac T = ? atunci H = (X, E
k
). Dac T ? atunci se alege din T muchia
e
k+1
astfel nct w(e
k+1
) = min w(e), e aparine mulimii T}; E
k+1
:=E
k
{e
k+1
}.
k:= k+1. Se continu cu pasul 2.
Pentru implementare, se pornete de la n arbori disjunci H
1
, H
2
, ..., H
n
, H
i

= ({i},), i= 1, 2, ..., n. La pasul k (k = 0, 1, ..., n-2) al algoritmului avem n-k arbori
disjunci, fie acetia H
1
, H
2
, ..., H
n-k
, H
i
= (X
i
, M
i
) astfel nct X= X
1
X
2
... X
n-k
, X
i

X
j
= pentru oricare i, j. Dintre muchiile nealese nc, se selecteaz muchia u de cost
minim care are cele dou extremiti in dou mulimi diferite X
i
i X
j
(n felul
acesta suntem siguri c noul subgraf, obinut prin adugarea muchiei selectate, este
aciclic). Prin adugarea muchiei u, din arborii H
i
si H
j
se va forma un nou arbore
H=(X, E) unde X=Xi ; Xj, E=U
i
U
j
{u}. Astfel, prin unificare am obinut n-k-1
arbori disjunci. Repetnd, dup n-2 etape, obinem un singur arbore - arborele
parial de cost minim.
Observm c se poate utiliza reprezentarea grafurilor prin list de muchii si
pentru micorarea timpului de prelucrare se poate efectua o ordonare cresctoare a
muchiilor dup costul asociat. Se obine astfel urmtorul rezultat:
Propoziia 2. Fie G un graf ponderat. Folosind algoritmul lui Kruskal,
arborele parial de cost minim se poate determina in O(mlog
2
m) pai, unde m este
numrul de muchii al grafului G.

BIBLIOGRAFIE

1. Albeanu G., Algoritmi si limbaje de programare, Editura Fundaiei
Romnia de Mine, Bucureti, 2000.
2. Albeanu G., Luminita Radu, Algoritmica i programare n Pascal, Editura
Fundaiei Romnia de Mine, Bucureti, 2001.
3. Knuth D., Arta programrii calculatoarelor, vol. I, Algoritmi
fundamentali, Editura Teora, 2000.

226
4. Livovschi L., Georgescu H., Analiza i sinteza algoritmilor, Editura
tiinific i Enciclopedic, 1974.
5. G. Albeanu, Tehnici de programare, Lucrri practice de programarea
calculatoarelor, Editura Fundaia Romnia de Mine, 2003.
6. S. Brz, Culegere de probleme de algoritmic i programare, vol I,
Programare static, Editura Universitii Bucureti, 2001.
7. S. Brz, Algoritmic i programare. Note de curs, vol. I, Programare
static, Editura Universitii Bucureti, 2001.
272

STRUCTURI DE DATE

Lector univ. drd. Silviu Brz


I. ALOCAREA STATIC I DINAMIC A MEMORIEI

n realizarea programelor de prelucrare, spaiul ocupat de programul n
format executabil se mparte n zone specifice, zona de cod sau de instruciuni, n
care se descriu procedurile de prelucrare ale programului, i zona de date care
conine informaiile care urmeaz a fi prelucrate.
n acest mod se formeaz un ansamblu de o dimensiune (n numr de
octei) care este strict necesar la alocarea spaiului de memorie atunci cnd
programul este lansat n execuie.
Zona de date cuprins n acest ansamblu de dimensiune fix poart numele
de zona de date alocat static sau pe scurt datele statice ale programului.
Zona de instruciuni poate fi mprit prin utilizarea subprogramelor n
mai multe zone care poart numele de segmente de instruciuni, n timp ce zona de
date statice nu poate fi divizat, formndu-se un singur segment de date.
n realizarea programelor, indiferent de limbajul de programare folosit
pentru descrierea algoritmilor, s-a impus de la nceput i se menine nc o restricie
limitativ privind dimensiunea maxim a unui segment, indiferent c acesta este
unul de instruciuni sau de date. Orice segment nu poate avea o dimensiune mai
mare de 64 kilobytes. Restricia este dat de posibilitile de adresare relativ,
adresare care s-a realizat, i continu s se realizeze, pe doi bytes de memorie
indiferent de evoluia dimensiunilor memoriei interne.
Extinderea dimensiunilor memoriei interne a fcut posibil ca la asamblarea
segmentelor pentru obinerea programelor executabile s ajung la dimensiuni
superioare valorii de 64 kilobytes, adresarea memoriei utilizate de un program fiind
realizat prin dou informaii de adres, cu memorarea fiecrei componente pe cte
doi octei.
Ansamblul de memorare a adreselor este format din adresa (numrul)
segmentului de memorie utilizat i adresa relativ a locaiei n cadrul acestui
segment. Pentru segmentele statice ambele valori sunt valori relative.
Adresarea se realizeaz la nivelul programului executabil n mod relativ
din calcularea sumei dintre adresa relativ a locaiei i nmulirea numrului de
segment cu 64x2
10
. n timpul execuiei adresarea se face prin adresele absolute
reprezentate conform construciei procesorului (32 sau 64 bits), adrese care se
determin ca sum ntre adresa din programul executabil i adresa de nceput a
ncrcrii programului lansat n execuie.
Datorit limitelor fizice ale adresrii absolute a memoriei, n special pentru
sistemele de operare de tip batch, sau pentru programele generate iniial pentru
aceste sisteme de operare, pot aprea limitri suplimentare pentru totalul memoriei
necesare static, deoarece n astfel de cazuri programele lansate n execuie tebuie
273
ncrcate i sau cuprinse integral n spaiul primilor 640 kilobytes ai memoriei
interne (memoria de baz disponibil ntr-un sistem de calcul).
Limbajele de programare dispun de sisteme de memorare specifice reinerii
adreselor de memorie, numite pointer, adic punctri relative de memorie.
Memorarea de tip adres de memorie se realizeaz, indiferent de limbaj, pe exact 4
bytes de memorie, primii doi reprezentnd adresa de segment, ultimii doi fiind
pentru adresa n cadrul segmentului.
Datele memorate ca adrese de memorie au un regim special de utilizare,
ele putnd fi specificate ca atare, doar n operaii de transfer, sau pot indica
informaiile memorate efectiv la adresa obinut din ele. n acest caz variabila care
numete data de tip adres este urmat de un caracter special "^". Specificaia este
repetabil.
Limbajele de programare permit i determinarea adresei pentru o dat
de tip static, prin specificarea numelui variabilei asociate date, precedat de
caracterul "@".
Exemplificare:
Considerm definirea unei variabile v care conine informaie util i a
variabilelor av, aav, aaav definite ca variabile de tip adres de memorie. Putem face
atribuirile:
aaav @aav (aaav conine adresa variabilei aav);
aav @av (aav conine adresa variabile av);
av @v (av conine adresa variabile v).
Dup aplicarea acestor atribuiri informaia din v (data util) poate fi
accesat fie direct prin utilizarea identificrii v, fie prin oricare din urmtoarele
specificaii:
av^ - informaia de la adresa memorat n av;
aav^ - informaia de la adresa memorat la adresa memorat n aav;
aaav^ - informaia de la adresa memorat la adresa memorat la adresa
memorat n aaav.
Am vzut n cele de mai sus c datele unui program pot forma un segement
de date separat i c acesta nu poate depi ca volum un spaiu de 64 kilobytes de
memorie. Aceast limitare face imposibil memorarea intern static, chiar i a
unui masiv bidimensional de forma unei matrici ptrate de ordin 100. Astfel este
imposibil a se realiza aplicaii importante, n special n domeniul economic, n care
se folosesc informaii cu dimensiuni superioare masivelor bidimensionale de ordin
100, i nu trebuie uitat c pe lng aceste masive sunt n general necesare i alte
informaii care s fie reinute pentru i pe parcursul prelucrrilor.
Pentru depirea acestui impediment, nc de la nceputurile utilizrii
calculatoarelor s-au utilizat memorii externe n care datele sunt memorate n fiiere.
Acest mod de lucru nu este foarte avantajos deoarece viteza de acces, chiar i la
cele mai performante echipamente externe, este foarte redus comparativ cu viteza
de acces la memorie i cu viteza procesorului i astfel se crete foarte mult timpul
de prelucrare a datelor.
O alt rezolvare posibil a fost dat de introducerea n limbajele de
programare a conceptului de date dinamice, concept permis datorit creterii
274
semnificative a memoriei interne din care din utilizarea curent rmn disponibile
spaii de dimensiuni considerabile.
Conform acestui concept, n zona static a unui program se reine doar o
informaie de adres pentru o zon de date urmnd ca alocarea acesteia s se fac
doar atunci cnd spaiul este necesar, n timpul execuiei efective a programului.
Atunci cnd spaiul nu mai este necesar, poate fi eliberat astfel c el ar putea fi
reutilizat ntr-o nou alocare, chiar i pentru un scop cu totul diferit.
Zona din care se obin spaiile alocate dinamic poart numele de HEAP i
este zona de memorie care este complet liber aa cum reiese din tabelul de alocare
a memoriei cu care este nzestrat sistemul de calcul.
Rolul structurilor de date este acela de mprire a spaiului utilizat pentru
date pentru a corespunde att cerinelor utilizatorului, ct i adaptrii lui
necesitilor de prelucrare a datelor.
Structurile de date pot fi realizate att pentru datele statice, ct i n
sistemul datelor dinamice. Diferena de realizare ntre cele dou tipuri de date este
modul eventual de regsire a informaiilor utile: indicierea pentru lucrul n zona
static i adrese de memorie pentru lucrul n zona dinamic.
Pentru a putea realiza alocarea dinamic a memoriei limbajul de
programare ales pentru realizarea aplicaiilor trebuie s dispun de instrumente
specifice care s fac apel la funcia de gestiune a memoriei prin care, pentru
programul n execuie s realizeze ocuparea i/sau eliberarea de memorie. Astfel de
instrumente sunt disponibile n majoritatea limbajelor de programare moderne, n
plus, multe din limbajele de ultim generaie lucreaz intern cu date reinute n
domeniul dinamic (i n unele cazuri chiar cu proceduri - segmente de instruciuni -
care se apeleaz dup alocarea lor dinamic).
Procesele relative la datele dinamice formeaz perechi de procese de tip
alocare - eliberare memorie i se difereniaz dou modaliti de alocare dinamic a
datelor.
Un prim mod de alocare a memoriei este de ocupare a unei zone de
memorie de o lungime specificat fr a indica pentru aceasta o structur de date
(sau un mod practic de utilizare), urmnd ca zona s fie ulterior structurat sau s
fie folosit aa cum este livrat de componenta de gestiune a memoriei (spunem c
se realizeaz o alocare dinamic de tip buffer).
Un al doilea mod de alocare este cel cu asociere a unei structuri de date,
dimensiunea memoriei care se ocup n urma cererii de alocare fiind calculat
specific modului de definire a structurii asociate.
O cerere de alocare este limitat la ocuparea a cel mult unui segment de
memorie, astfel c cererea nu poate avea o dimensiune mai mare de 64 kilobytes.
Solicitarea de memorie dinamic se face prin zone continue de memorie, n
limita memoriei libere, absena unei zone neocupate de dimensiune cel puin egal
cu cea solicitat provocnd o eroare de acces la memorie care face ca programul
care a solicitat alocarea s se termine imediat cu semnalarea unei erori
corespunztoare.
Pentru evitarea erorilor de alocare din domeniul dinamic, limbajele de
programare conin apeluri la sistemul de gestiune a memoriei prin care se poate
275
obine dimensiunea celei mai mari zone continue care se poate solicita la un
moment dat.
Pentru eliberarea memoriei exist trei variante, dou legate de apeluri
explicite ale funciilor de gestiune a memoriei i o eliberare implicit.
Eliberarea implicit pentru memoria dinamic se realizeaz la momentul
terminrii programului care a produs alocarea i se realizeaz odat cu eliberarea
memoriei ocupate static de program.
Cele dou eliberri explicite de memorie din spaiul dinamic sunt legate de
modul de alocare, procedurile utilizate n limbajele de programare fiind pereche
celor de alocare: eliberare zon dinamic cu asociere de tip de dat, respectiv
eliberare zon de tip buffer.

II. STRUCTURI DE DATE CU ALOCARE COMPACTA

Structurile de date compacte reprezint o structurare a unei zone de
memorie pentru care recunoaterea se realizeaz prin intermediul unei adrese de
nceput (adresa primului byte al zonei).
Structurile compacte pot fi definite att static, ct i dinamic iar n funcie
de modalitatea de organizare sunt de tip omogen i de tip neomogen. Aceast
clasificare ine cont de elementul considerat celul de informaie util. ntr-o astfel
de organizare putem lucra cu structuri suprapuse n care, de exemplu, structura
general s fie o structur omogen n cadrul ei, ns, elementul de lucru s fie la
rndul su structurat printr-o organizare neomogen.
La tipurile de structuri omogene i neomogene se adaug, doar pentru
alocrile dinamice, i structura buffer care pentru unele limbaje de programare are
utilizri deosebite.
Structurile compacte omogene sunt repetarea succesiv a elementului de
definire a structurii. Aceast repetare poate fi indicat printr-o specificare a
numrului de ordine al fiecrui element, deci a rangului elementului.
Acest mod de indicare a elementelor duce cu gndul la noiunea de ir de
valori (ceea ce n informatic se asimileaz noiunii de vector) i astfel indicarea
unui element spunem c se realizeaz prin indiciere.
Aa cum am vzut mai sus, elementele unei structuri pot fi la rndul lor
structurate, cu o modalitate similar, n cazul nostru tot omogen, sau folosind
structuri de factur diferit.
Structurarea omogen plasat pe o structur omogen produce un complex
de structurare de tip ir de iruri (sau vector de vectori) ceea ce se poate pune n
coresponden cu noiunea matematic de matrice (sau masiv bidimensional),
procesul putndu-se generaliza la matrici (masive) multidimensionale.
Accesarea unui element de date dintr-o structur de tip masiv
bidimensional se va face practic, la nivelul limbajelor de programare, printr-o
indiciere dubl. Acest lucru nu este ns valabil i la nivelul accesului efectiv la
memorie unde indexarea se realizeaz doar prin rangul elementului, indiferent de
numrul de dimensiuni ale unui masiv.
276
Datorit modului diferit de lucru ntre specificarea elementelor din masive
n limbajele de programare i cea la nivelul memoriei, limbajele de programare
conin funcii speciale de coresponden, numit funcie de rang. Aceast funcie
conduce imediat la obinerea adresei valorii la nivelul memoriei interne.
Pentru numrul de dimensiuni egal cu 2, dac dimensiunile date la nivelul
masivului sunt
1
m i
2
m , iar n specificarea matematic un element este dat de o
pereche de indici ( )
2 1
, i i , atunci valoarea relativ a numrului elementelor dintr-un
vector de acoperire a masivului este dat de valoarea indicat prin:
( ) ( ) ( ) 1 1 , ; ,
2 2 1 2 1 2 1
+ = i m i m m i i f
formul pe care o putem scrie i sub forma:
( ) ( ) ( )

= + =
+ =
1
1 1
2 2 1 2 1
1 1 , ; ,
k
n
k j
j k
m i i m m i i f .
Dm aceast form pentru a putea vedea similitudinea cu formula general.
Pentru numrul de dimensiuni egal cu n, dac
n
m m m ,..., ,
2 1
este irul
dimensiunilor iar specificarea matematic a elementului de masiv se face prin
vectorul de indici ( )
n
i i i ,..., ,
2 1
, atunci funcia de rang este:
( ) ( ) ( )

= + =
+ =
1
1 1
2 1 2 1
1 1 ,..., , ; ,... ,
n
k
n
k j
j k n n n
m i i m m m i i i f .
Aa cum am vzut, structurile pot fi alocate att static, ct i dinamic. Dac
o structur omogen este definit static pentru o dat cu identificarea A, atunci
pentru specificarea unui anumit element al structurii se folosete o indiciere care
urmeaz imediat A.
Modul de indiciere pentru masivele multidimensionale depinde i de
modul de definire efectiv a masivului. Dac definirea se face printr-o exprimare
global similar celei matematice, atunci pentru indicarea unui element se folosete
o specificaie de indiciere care urmeaz imediat A.
De exemplu, la dimensionarea unei matrici bidimensionale A(n,m),
specificarea unui element dat de perechea de indici (i,j) se face printr-o form
A(i,j).
Dac definirea unui masiv multidimesional se face n trepte, atunci pentru
indicarea unui element se folosesc indicieri succesive, de la definirea exterioar
spre cea interioar, prima urmnd A, cea de-a doua urmnd construciei obinute
pentru primul indice etc.
De exemplu, la dimensionarea unui vector de vectori, de vectori printr-o
construcie ((A(n))(m))(p), deci structura are p componente care sunt m vectori n
care fiecare element este un vector de dimensiune n, definire echivalent cu
indicaia global A(p,m,n), accesul la un element dat de sistemul matematic de
indici (i,j,k) se face prin construcia ( )( )( ) k j i A corespunztor poziionrii din
aproape n aproape pe componentele masivului.
Dac o structur omogen este definit dinamic, indicierea se realizeaz la
accesul la elemente dup aplicarea caracterului de trecere la date. Deci,
277
construciile de indici pentru un masiv memorat dinamic cu adresa masivului n A
urmeaz specificaiei A^.
Structurile de date neomogene sunt structuri n care datele cuprinse sunt de
factur diferit att ca tip de informaie, ct i din punctul de vedere al lungimii n
bytes necesare pentru memorarea unei date elementare.
Modul de definire a datelor neomogene (articole i obiecte) face imposibil
indexarea pentru a se ajunge la informaia efectiv. De aceast dat, n cadrul
tipologiei de dat neomogen, fiecare parte elementar a informaiei va primi o
identificare simbolic prin nume.
Din cauza posibilei apariii a datelor de lungime diferit, pentru realizarea
accesului la o anumit informaie, fiecrei identificri i se asociaz o adres
relativ la nceputul (primul byte) datei. Lungimea total necesar memorrii unei
date este egal cu suma lungimilor datelor componente.
Pentru acccesul la informaia coninut elementar de o dat neomogen se
folosete aa-numita calificare a datelor, adic, numele variabilei este urmat de
caracterul punct i de identificarea simbolic a componentei dorite.
O combinare posibil este ca o component a unei date neomogene s fie
tot o dat neomogen. n acest caz poate interveni dubla calificare. De exemplu,
pentru o variabil cu identificarea A se consider o structur neomogen cu
identificrile NUME, PRENUME, DATAN. n definirea componentei DATAN se
folosete o structur neomogen avnd componentele cu identificrile ZI, LUNA i
AN. La aceast definiie are sens componenta elementar LUNA. Pentru a face
acces la aceast informaie avem formularea A.DATAN.LUNA.
Dup cum se vede din exemplu, calificarea datorat zonei de profunzime
mai mare se adaug construciei anterioare de acces la informaie.
Acelai lucru intervine i dac component a unei date neomogene este o
structur omogen. n acest context indicierea specific structurii omogene
urmeaz construciei de calificare.
Ultima combinaie posibil este ca elementele unei structuri omogene s
fie structurate ca o dat neomogen. n aceast situaie calificarea urmeaz
specificaiei de indiciere care precizeaz elementul de masiv la care se face
referire.
De exemplu, considerm c odat cu identificarea A este un vector n care
fiecare component are o structur neomogen de componente NUME i VENIT.
Atunci, pentru accesul zonei de venit pentru componenta n a datei omogene vom
avea construcia A(n).VENIT.
n general, n realizarea aplicaiilor nu se prea folosesc combinaii de date
de structuri diferite cu alocare static deoarece printr-o astfel de definire nu se fac
reduceri de spaiu, ci doar complicarea algoritmilor de prelucrare. De asemenea, i
la alocarea dinamic a datelor se prefer lucrul cu date structurate elementar, n
general datorit restriciei de limitare a dimensiunii regmentelor de ocupare a
memoriei.


278
III. STRUCTURI DE DATE CU ALOCARE DIVIZATA.
GENERALITATI

Structurile de date cu alocare divizat sunt structuri de date alocate
dinamic i formate din componente omogene i relativ independente. Un avantaj al
acestor structuri este c pentru o component este nevoie de un spaiu de memorie
relativ foarte mic i spaiul total de memorie utilizat la un moment dat este ocupat
n mod strict doar de componentele utile efectiv.
Un dezavantaj al acestor structuri este c pentru pstrarea independenei
relative, informaia este conectat prin subcomponente de adres care se adaug
componentelor utile. Un alt dezavantaj intervine cnd n exploatare apar numeroase
eliminri de componente, prin operaia respectiv intervenind o divizare exagerat
a memoriei interne utilizate curent.
Structurile din aceast categorie au aprut i s-au dezvoltat nc de la
nceputurile evoluiei tehnicilor de programare i o parte a lor a fost preluat ca
instrumente curente de lucru n activitile sistemelor de calcul.
Un prim exemplu este noiunea de stiv care a fost introdus ca instrument
curent de lucru n timpul execuiei programelor (stiva program).
Un al doilea exemplu este cel al listelor care au fost introduse ca
instrumente curente de lucru n majoritatea limbajelor de programare de ultim
generaie.
Structurile de date cu alocare divizat pot fi clasificate n funcie de modul
de trecere de la o component la alte:
- structuri de date liniare;
- structuri de date reea;
- structuri de date arborescente.
O structur de date liniar este o structur n care se asigur un acces
secvenial de la un element la altul. Acest tip de structur este similar cu noiunea
de fiier sevenial. Structurile pot dispune de una sau de dou informaii de
legtur, ceea ce permite deplasarea pe o singur direcie sau ntr-un singur sens,
respectiv n ambele sensuri posibile ale direciei date.
Structurile de date liniare sunt reprezentate de stive, liste, cozi i cozi cu
prioriti, pentru unele din aceste structuri, liste i cozi, putnd exista i memorri
prin care se asigur o circularitate a informaiei accesate (liste i cozi circulare).
Structurile liniare au n general aplicaii n aceleai domenii cu utilizrile
pentru vectori.
O structur de tip reea este o structur n care deplasarea se poate face
dup mai multe direcii. Structura poate fi bi- sau tri-dimensional i ea se folosete
pentru modelarea unor fenomene din viaa real, cum ar fi, de exemplu, reelele
electrice.
O aplicaie important pentru structurile de date de tip reea este
memorarea matricilor rare (matricile n care numrul de elemente diferite de zero
reprezint o valoare foarte mic n comparaie cu numrul total de componente ale
matricii, s spunem maxim 10 % din numrul total de componente).
279
Structurile de date arborescente sunt structurile n care ntre informaiile
memorate se pot considera relaii care duc la o posibil organizare a datelor sub
forma unui arbore (noiune din teoria grafurilor). Conectarea informaiilor se face
pe baza unor legturi duble cu semnificaii deosebite n funcie de tipul de
construcie arborscent.

IV. STRUCTURI DE DATE LINIARE - LISTE, STIVE, COZI

Structurile de date liniare sunt cele mai simple structuri de date alocate
divizat i, generic, pot purta numele de liste. n funcie de modul de legare a
informaiilor, ele pot fi clasificate n liste simplu sau dublu nlnuite, deci avnd la
baz o singur informaie de legtur (ceea ce permite doar un singur sens de acces
la componente) sau dou informaii de conectare (ceea ce permite parcurgerea n
ambele sensuri a listelor).
Indiferent de tipul de list, trecerea de la o component informaional la
alta nu se poate face dect secvenial, plecnd de la unul din capetele listei, capt
ce trebuie la rndul su conectat la aplicaia ce utilizeaz lista.
Utilizarea listelor este n general similar cu utilizarea vectorilor doar c,
prin utilizarea alocrii dinamice, au sens i operaii care la vectorii statici nu se pot
executa, n special operaia de tergere fizic a componentelor.
Din punctul de vedere al utilizrii sunt difereniate unele liste de
construcie i folosire special care modeleaz fenomene reale tratate de teoria
proceselor de ateptare. Este vorba de listele de tip stiv care modeleaz procesele
LIFO (Last In First Out - ultimul care intr este primul care iese) i cozile prin care
se modeleaz procesele FIFO (First In First Out - primul care intr este i primul
care iese).
Pentru cozi se modeleaz i sistemul de lucru cu prioriti prin ceea ce se
numete coad cu prioriti.
Pentru structurile liniare, exist aplicaii n care modul de lucru a impus
construcia unei nlnuiri circulare, aceasta ducnd la realizarea unor algoritmi cu
performane mai bune dect pentru cazul structurilor liniare. S-a demonstrat ns c
rezultatele cele mai bune n cazul listelor (cozilor) circulare se obin doar atunci
cnd baza de conectare este asigurat prin legarea dubl a nodurilor.

IV.1. Lista simplu nlnuit

Structura are fiecare component de date format din zona util i dintr-o
singur informaie de legtur, cu sens de adresa urmtoarei componente (nod).
Pentru a indica terminarea structurii se folosete marcajul de "legtur vid".
Pentru accesul la prima component de date este necesar un cmp suplimentar
reinut static care s indice adresa primei componente alocate sau s conin
marcajul "legtur vid" dac lista este vid. Aceast component este numit
"capul listei".
La nceputul unei aplicaii, lista este considerat vid.
280
Operaiile care se pot realiza asupra listelor sunt de introducere nod nou,
eliminare nod existent, parcurgere, ultimele dou avnd sens doar atunci cnd lista
nu este vid.
Introducerea unui nod cuprinde dou faze, prima fiind de obinere a
spaiului necesar nodului i completarea zonei de date utile din nodul nou. A doua
faz este legat de asigurarea informaiilor de legtur. n aceast faz se ine cont
de starea listei i de locul n care se face depunerea:
a) lista este vid; atunci zona adres din noul nod conine "legtur vid" iar
adresa nodului se depune n capul listei;
b) list nevid i depunerea se face la nceputul listei; atunci zona de adres din
nodul nou va fi completat cu adresa din capul listei dup care n capul listei se
reine adresa nodului nou;
c) list nevid i depunerea se face n interiorul listei dup un nod cu adresa p;
atunci n zona de adres din noul nod se depune adresa memorat n zona de
legtur a lui p; apoi n zona de legtur a lui p se depune adresa nodului nou.
Parcurgerea unei liste simplu nlnuite se poate face doar n sensul de la
primul ctre ultimul nod al listei i este o parcurgere de factur secvenial (pentru
a ajunge la un nod trebuie parcurse toate nodurile anterioare).
Parcurgerea poate fi realizat ncepnd cu primul nod sau se poate realiza
n continuare, cu nodurile care urmeaz celui de la o adres memorat auxiliar
dintr-o parcurgere anterioar ntrerupt.
Pentru parcurgere este necesar o locaie static unde s se memoreze
adresa nodului parcurs curent sau a nodului urmtor din parcurgere.
Trecerea de la un nod la succesorul su are loc prin modificarea informaiei
curente cu adresa din zona de conectare a nodului deja inspectat.
Oprirea parcurgerii se face atunci cnd s-a ajuns la nodul care are n zona
de conectare informaia "legtur vid" sau poate fi ntrerupt condiionat atunci
cnd datele efective produc ndeplinirea unei condiii date.
Eliminarea unui nod dintr-o list, operaie care are sens doar cnd lista nu
este vid, depinde de locul n care se gsete nodul de eliminat. Eliminarea impune
scoaterea nodului de exclus din list cu actualizarea adreselor de legtur pentru
nodurile existente n lista rmas i apoi eliberarea spaiului asociat nodului care se
elimin.
Pentru extragerea i separarea nodului de exclus din list vom ine cont de
poziia iniial a acestuia:
a) se exclude primul nod al listei; atunci rein adresa nodului n q, informaia de
legtur din nodul q se depune n capul de list; apoi se elibereaz memoria
utilizat de nodul q;
b) se exclude nodul care urmeaz celui cu adresa reinut n p; atunci rein n q
adresa din zona de legtur a lui p (adresa nodului de exclus), se nlocuiete
adresa din zona de legtur a lui p cu adresa din zona de legtur a lui q; apoi
se realizeaz eliberarea spaiului ocupat de nodul cu adresa memorat n q;
operaia are sens doar dac zona de legtur a lui p nu este "legtur vid".


281
IV.2. Lista dublu nlnuit

Lista liniar dublu nlnuit se difereniaz de cea simplu nlnuit prin
prezena n nod a dou informaii de adrese, una ca n cazul listei simplu nlnuite,
cu sensul de nod urmtor, i a doua, suplimentar cu sensul de nod anterior.
Avantajul acestui mod de memorare este c d posibilitatea de parcurgere n
ambele sensuri ale listei, n special pentru cazul de continuare a parcurgerii.
Operaiile permise asupra listelor dublu nlnuite sunt identice celor
pentru liste simplu nlnuite, diferenele intervenind datorit conectrii duble.
Pentru parcurgere, n special pentru parcurgerea n continuare, are sens i
realizarea trecerii de la nodul curent la cel anterior folosind cea de-a doua legtur.
Pentru operaia de introducere a unui nod n structur avem urmtoarele
situaii:
a) lista este vid; atunci ambele informaii de conectare din nodul nou se
completeaz cu "legtur vid", apoi adresa nodului nou se depune n capul de
list;
b) list nevid i se face introducerea nodului nou ca prim nod; atunci pentru
informaiile de conectare din nodul nou se completeaz anteriorul cu "legtur
vid" i urmtorul cu informaia din capul de list. Apoi, n nodul indicat de
capul de list, informaia de conectare anterior se completeaz cu adresa noului
nod; apoi adresa nodului nou se depune n capul de list;
c) list nevid cu introducerea nodului nou dup nodul cu adresa p, nod
neterminal; atunci se completeaz adresele de conectare din nodul nou astfel:
adresa anterior se completeaz cu p i adresa urmtor cu adresa urmtor din
nodul p; apoi se completeaz adresa anterior din nodul aflat la adresa urmtor
memorat n p cu adresa nodului nou; n final adresa urmtor din p se
nlocuiete cu adresa nodului nou;
d) list nevid cu introducerea nodului nou dup nodul cu adresa p, nod terminal
(adresa memorat n zona urmtor din p este "legtur vid"); atunci se
completeaz adresa urmtor din noul nod cu "legtur vid" i adresa anterior
din nodul nou cu p; apoi se nlocuiete cu adresa nodului nou adresa urmtor
din p.

S considerm acum operaia de eliminare a unui nod cu adresa p. Modul
de eliminare depinde de poziia lui p n list i avem:
a) ambele adrese din zona de legtur a lui p sunt "legtur vid"; atunci se
depune "legtur vid" n capul de list;
b) doar conectarea anterior pentru p este "legtur vid"; atunci se depune
coinutul zonei urmtor din p n capul de list; apoi n zona anterior a nodului
indicat de capul de list modificat se depune "legtur vid";
c) doar conectarea urmtor pentru p este "legtur vid"; atunci n nodul indicat
de anterior din p, n zona de urmtor se depune "legtur vid";



282
d) ambele conectri din p sunt diferite de "legtur vid"; atunci n zona urmtor
aflat n nodul dat de adresa din anterior din p se depune coninutul zonei
urmtor din p; n zona anterior aflat n nodul dat de adresa din urmtor din p
se depune coninutul zonei anterior din p.
n final se asigur eliberarea spaiului alocat anterior pentru nodul p.

IV.3. Stiva

Stiva este o structur de tip list simplu nlnuit cu semnificaie special
i care este adaptat nct s modeleze comportamentul unui sistem de ateptare de
tip LIFO (Last In First Out - ultimul intrat sau venit este primul plecat sau servit).
Noiunea de cap de list poart numele de vrful stivei. Datorit modului
special de lucru asupra acestei structuri, singurele operaii sunt cele de depunere ca
prim nod al listei (depunerea se face doar la vrful stivei) i eliminarea primului
nod al listei dup consultare (consultare cu eliminarea la vrful stivei). A doua
operaie are sens doar dac stiva nu este vid.
Depunerea unei informaii A se realizeaz conform procesului:
1. obine spaiu nod p i depune A n zona de date utile;
2. zona de legtur din p se completeaz cu adresa din vrful stivei;
3. n vrful stivei se depune adresa lui p.
Consultarea cu eliminarea la vrful stivei se face prin urmtorul proces
(presupunnd c stiva nu este vid):
1. se reine n p adresa din vrful stivei;
2. se fructific informaia util din p;
3. coninutul vrfului stivei se nlocuiete cu adresa din zona de legtur a lui p;
4. se elibereaz nodul de la adresa p.

IV.4. Coada

Coada este o structur de tip list simplu sau dublu nlnuit cu
semnificaie special i care este adaptat nct s modeleze comportamentul unui
sistem de ateptare detip FIFO (First In First Out - primul intrat (sosit) este i
primul ieit (servit)). Pentru lucru se prefer lista simplu nlnuit.
Accesul se face ntotdeauna la capetele listei, operaia de depunere
realizndu-se la un capt numit sfritul cozii (last) iar extragerea (folosirea
informaiei urmat de eliminare) realizndu-se la cellalt capt (first).
Datorit particularitilor de depunere i extragere se consider dou
informaii statice, una care s puncteze nodul last i a doua care s marcheze nodul
first (aici corespunztor capului de list din cazul general). Aceast convenie se
aplic n special cozilor simplu nlnuite din motive de procesare simpl a
operaiei de depunere.



283
Cele dou operaii posibile sunt depunerea dup ultimul nod realizat prin
procesul:
1. obine un nod cu adresa p; se completeaz zona de date utile a lui p; zona de
legtur din p se completeaz cu "legtur vid";
2. dac last nu coine "legtur vid", zona de conectare din nodul indicat de
adresa din last se completeaz cu adresa p;
3. n last se depune adresa lui p;
4. dac first conine "legtur vid", adresa lui p se depune n first;
i operaia de utilizare nod cu eliminare, care are sens doar dac first nu conine
"legtur vid" i se face prin procesul:
1. se reine n p adresa memorat n first; se folosete informaia util memorat
n p;
2. se depune n first coninutul zonei de legtur din p;
3. dac first conine "legtur vid", se depune "legtur vid" i n last;
4. se elibereaz spaiul ocupat de nodul p.
Procesele pentru cazul utilizrii ca baz pentru coad a listelor dublu
nlnuite sunt similare. O diferen important este datorat modului specific de
inserare - eliminare pentru listele dublu nlnuite i care ofer libertate mai mare
utilizatorului n sensul c nu se mai impun restricii n ceea ce privete modul de a
considera nodurile first i last.
O versiune a structurii coad, util n special pentru cazul n care se ia ca
baz de lucru listele dublu nlnuite, este coada circular.
Pentru aceast utilizare, deoarece se poate face acces direct att la nodul
urmtor, ct i la nodul anterior unui nod curent, pentru accesul la primul i la
ultimul nod este suficient o singur informaie static auxiliar. Se presupune c
aceasta este first i c nodul last este nodul punctat ca anterior de nodul first.
Operaia de depunere se realizeaz prin procesul de depunere ntr-o list
dublu nlnuit dup nodul p care este cu adresa memorat i n first, avnd
ambele legturi diferite de "legtur vid"; n final, adresa nodului nou se depune
n first.
Operaia de utilizare a informaiei utile cu eliberare se realizeaz prin
procesul de eliminare dintr-o list dublu nlnuit a unui nod p cu adresa dat de
adresa din zona anterior a nodului cu adresa memorat n first.
n cele dou operaii apar tratate la un punct 1' cazurile extreme ale cozilor
circulare. Pentru depunere cazul cozii vide:
1'. dac first este "legtur vid", atunci adresa p se depune n urmtoarele zone de
adres: anterior din p, urmtor din p i first.
Pentru extragere, cazul cozii cu un singur nod:
1'. dac informaia anterior i urmtor din p sunt identice, atunci se depune
"legtur vid" n first i ne oprim.




284
V. MATRICI ALOCATE DINAMIC

Aa cum am vzut, pentru definirea matricilor ca masive compacte apare o
limitare destul de strict pentru dimensionare, i anume spaiul maximal
corespunztor unei matrici ptrate de numere reale de rang 100.
Alocarea dinamic a spaiului permite ca la fiecare cerere de ocupare de
spaiu, componenta de gestiune a memoriei din sistemul de operare s asigure un
spaiu maxim echivalent cu 10.000 de componente reale, 16.000 componente
ntregi cu precizie dubl sau echivalente sau 32.000 componente ntregi.
Definirea alocrii dinamice pentru o matrice trebuie s in seama de
raportul posibil ntre numrul elementelor care pot fi memorate efectiv i numrul
elementelor care se pot ocupa pe zona de memorie pe care se reine matricea.
Dorina programatorilor este de a avea un acces ct mai apropiat de cel uzual i n
acelai timp raportul dintre spaiul strict necesar i cel ocupat efectiv s fie ct mai
apropiat de valoarea 1.
O variant este de a folosi memorarea similar celor pentru vectori adic
prin utlizarea listelor. Dezavantajul major este viteza de accces foarte redus la
elemente datorit trecerii secveniale prin liste, la care se adaug faptul c raportul
de memorie util comparativ cu cea efectiv este deficitar, att datorit necesitii
reinerii adreselor de legtur, ct i a memorrii indicilor fiecrei valori efective.
Alternative ale acestui mod de memorare produc un acces mai rapid, ns
cu creterea dezechilibrului ntre memoria util i cea efectiv pentru fiecare nod.
Dac n prima variant se asigur printr-o singur informaie de legtur trecerea
de la un element la altul pe liniarizarea matricii, o alternativ este de a folosi dou
informaii de conectare, una cu trecerea n aceeai linie i alte de conectare n
aceeai coloan. Acest mod de memorare face ca pentru o matrice efectiv cu n
linii i m coloane se trece de la parcurgerea a (i-1)m+j-1 noduri pentru a ajunge la
valoarea din poziia i+j la parcurgerea a doar i+j noduri.
O vitez de acces i mai mare se obine pentru utilizarea a trei informaii de
adres, la cele dou anterioare adugndu-se i o conectare diagonal, unde sunt
necesare max(i,j) noduri de parcurs.
Pentru matrici de dimensiuni mari trebuie s inem cont c la spaiul util, n
spaiul efectiv, se adaug 4 sau 8 bytes pentru reinerea indicilor i n plus se
adaug cte 4 bytes pentru fiecare cmp de conectare.
Un mod diferit de acces la o matrice este de memorare direct pe coloane.
O astfel de memorare impune alocarea dinamic a dou structuri diferite, un vector
de elemente de adrese de memorie, n poziia i a vectorului urmnd a se memora
adresa de nceput a vectorului coloan i. Astfel, dac pentru accesul la acest vector
se definete o locaie A, atunci n urma alocrii vectorului de acces la coloane, se
va ajunge imediat la adresa primei valori din coloan prin construcia A^(i).
Fiecare coloan strict necesar se va obine tot dinamic sub forma unui
vector compact, ceea ce face ca n final pentru accesul la un element (i,j) s avem o
construcie A^(i)^(j).
285
Avantajul unei astfel de memorri este acela de a utiliza strict numrul de
coloane efective. Dimensionarea maximal pentru o astfel de matrice poate
cuprinde cel mult 16.000 coloane.
Prima dintre modalitile de acces, cu dou zone pentru conectare, este i
cea care se utilizeaz pentru memorarea matricilor rare, una din aplicaiile
importante relative la memorarea dinamic a matricilor, ca subcapitol n
memorarea de tip reea.

VI. STRUCTURI ARBORESCENTE

Pe lng utilizarea structurilor liniare i a celor reea, dezvoltarea
algoritmilor a dus la apariia celui de-al treilea mod de memorare dinamic,
structurile arborescente.
Aceste structuri sunt utile atunci cnd ntre elementele memorate exist
proprieti speciale care stau la baza accesului la valori i care confer mulimilor
posibile de valori o structur arborescent.
Avnd la baz teoria grafurilor prin care sunt definite noiunile utilizate,
structurile din gama pe care o studiem aici pot fi clasificate n arbori binari, arbori
oarecare i structuri de tip pdure.
Una dintre cele mai importante aplicaii relative la structurile arborescente
este definirea unui algoritm de ordonare cu cel mai redus numr de comparaii ntre
valorile efective din irul de valori i care are la baz structura de arbore binar.
Structurile de tipul arborescenelor ofer unul din cele mai rapide moduri
de regsire a informaiilor pe baza proprietilor sau legturilor dintre valori.
n sfrit, structurile speciale de tipul pdure modeleaz ct se poate de
fidel definirea global a datelor specificate n limbajele de progamare,
cuprinzndu-le pe cele de tipuri neomogene. Un rezultat important pentru aceste
structuri va fi dat n finalul acestui subcapitol.

VI.1. Structura de arbore binar

Structura de arbore binar este o structur de alocare dinamic divizat care
are la baz noduri definite de trei elemente, o zon de date utile, organizat
conform cerinelor utilizator, i dou zone de conectare cu semnificaie special.
Pentru o imagine ct mai sugestiv a nodurilor acestei structuri, zona de
informaii este plasat central, zona de conectare din stnga fiind notat llink
(legtura la subarborele stng), iar cea din dreapta avnd notaia rlink (conectarea
la subarborele drept).
Dac un subarbore al unui nod este vid, atunci legtura va conine
"legtur vid". Vom spune c ntr-un arbore binar un nod este frunz dac ambele
informaii de conectare ale nodului conin "legtur vid".
ntr-o structur de arbore binar se evideniaz un nod special care poart
numele de rdcin. Pentru accesul la acest nod este necesar prezena unei locaii
statice n care s se depun adresa nodului obinut pentru rdcin.
286
Vom spune c o structur de arbore binar este echilibrat dac n structur
nu exist noduri care s aib o legtur efectiv i una "legtur vid".
Nodurile unui arbore binar se pot mpri n nivele, un nivel fiind format
din toate nodurile aflate la aceeai distan fa de nodul rdcin, distana de la un
nod la rdcin fiind dat de numrul de legturi care trebuiesc parcurse pentru a
ajunge de la rdcin la un nod. Rdcina are prin definiie nivelul 0.
nlimea unui arbore binar este dat de distana maxim care apare ntre
nodurile frunze i rdcina arborelui.

VI.2. Structura de arbore oarecare

Structura de arbore oarecare este similar construciei structurii de arbore
binar, diferena constnd n semnificaia asociat fiecrui cmp de legtur.
Prin convenie se consider c legtura din stnga reprezint trecerea de la
un nod la cel mai din stnga descendent (notat mls - Most Left Son - fiul cel mai
din stnga), n timp ce legtura din dreapta reprezint trecerea la cel mai din stnga
frate (nmlb - Next Most Left Brother - fratele urmtor cel mai din stnga).
Pentru un arbore oarecare un nod este o frunz doar dac legtura mls
conine "legtur vid", care are sensul c nodul respectiv nu are nici un fiu.
Prin similitudine cu structurile prezentate mai sus putem spune, fr a
grei, c prin modul de realizare al structurii de arbore oarecare, toi fiii unui nod
formeaz a list simplu nlnuit, capul de list fiind reprezentat de nodul tat, cu
legtura asigurat n list de legturile nmlb din definiia nodurilor.

VI.3. Structuri de tip pdure

Acest tip de structuri reprezint gruparea printr-un mod specific a dou sau
mai multe structuri arborescente cu aceeai definire intern.
Gruparea structurilor arborescente se face la nivelul rdcinilor fie prin
structur compact, fie printr-o structur de tip list. n aceste structuri informaia
util este adresa de conectare la rdcina structurilor arborescente.
Pentru uniformitatea definirii nodurilor structurii se pot folosi nodurile
arborilor din pdure, urmnd ca n aceste noduri zona de informaie util s fie
vid.
Dac arborii care formeaz pdurea sunt binari, vom considera c legtura
stng va avea sensul de legtur la rdcina unui arbore iar cea dreapt va fi
conectarea la urmtorul element al listei.
Dac arborii utilizai sunt oarecare, atunci vom asimila conectarea de
profunzime ca legtur la rdcina arborilor componeni i conectarea n nivel ca
urmtorul element al listei.





287
VI.4. Parcurgerea structurilor arborescente

Indiferent de structura utilizat, o aplicaie care utilizeaz arborescene
trebuie s asigure i parcurgerea structurii. O clasificare a parcurgerilor se face
dup locul n care este plasat fructificarea informaiei n raport cu accesul la
substructurile nodului vizitat. Din acest punct de vedere avem:
- preordine = informaia util dintr-un nod este fructificat nainte de a accesa
substructurile la care se face conectarea prin zonele de adres
ale nodului;
- inordine = utilizarea informaiei dintr-un nod se plaseaz ntre cele dou
parcurgeri ale substructurilor conectate nodului;
- postordine = la plasarea pe un nod nti sunt accesate substructurile conectate
la el i apoi se fructific informaia util din nod.
Din punctul de vedere al parcurgerii arborescenelor, cazul cel mai des
utilizat este al parcurgerii inordine pentru care putem da i un rezultat de
echivalen ntre aprcurgerile pdurilor (arborilor oarecare) i parcurgerea arborilor
binari.
Propoziia 1. Dac ntre un arbore oarecare i un arbore binar legtura
stng este asimilat conectrii n profunzime iar cea dreapt conectrii n nivel,
atunci parcurgerile inordine a celor dou structuri sunt echivalente.
Corolar 1. Propoziia 1 se generalizeaz la structurile de tip pdure cu
conectarea arborilor componeni prin noduri similare.
Un rezultat important pentru definirea i accesul la datele unui program
este legat de rezultatele de mai sus.
Teorema 1. Dac definirea datelor dintr-un program este univoc i
respect tipologia de definire prin calificare specific limbajelor evoluate
(mulimea datelor definete o structur pdure univoc calificat i fr
circulariti), atunci exist i este unic o structur binar calificat echivalent
ca acces structurii de date a programului.
Datorit echivalenelor de mai sus putem prezenta parcurgerile doar n
cazul binar. Ele pot date sub o form clasic sau prin intermediul unor procese
recursive.
Din motive strict legate de uurina prezentrii ncepem cu formele
recursive. Vom prezenta parcurgerea inordine, restul tipurilor definindu-se n mod
similar.
Parcurgerein(rdcin) se definete prin procesul:
- parcurgerein(rdcin^.llink),
- utilizare informaie nod rdcin,
- parcurgerein(rdcin^.rlink).
Formatul clasic al parcurgerii arborilor binari este cel n care recursivitatea
ne este permis. Cu toate acestea, i n aceast form a parcurgerii este necesar
utilizarea unei stive, de aceast dat gestionat utilizator (procesul simuleaz
rezolvarea recursiv).


288
Procesul nerecursiv de parcurgere inordine este prezentat prin:

Pas 0. p rdcin;
Pas 1. p^.llink este nevid, atunci p stiv i p p^.llink i se reia pasul1, altfel
se trece la pasul 2;
Pas 2. se folosete informaia util din nodul p; dac p^.rlink este nevid, atunci
p p^.rlink i se trece la pasul 1 altfel se trece la pasul 3;
Pas 3. dac stiva este vid, atunci ne oprim (parcurgerea a fost realizat) altfel se
trece la pasul 4;
Pas 4. Stiv p i se trece la pasul 2.

VI.5. Sortarea prin arbori binari

Una dintre cele mai importante aplicaii ale arborilor binari este
reprezentat de operaia de sortare a unui ir dat de valori. Importana aplicaiei
este dat de generarea unuia dintre cei mai performani algoritmi care privesc acest
subiect, n ceea ce privete timpul de execuie. Acest lucru intervine ns n
contextul utilizrii unui spaiu suplimentar de memorie necesar formrii cu valorile
date a unui arbore binar.
Principiul care st la baza procesului de ordonare este formarea unui arbore
binar care parcurs apoi n inordine s livreze valorile irului dat ordonate cresctor.
Acest principiu face ca procedeul s se desfoare n dou faze distincte, una n
care s se genereze arborele i a doua de parcurgere, deci un proces de forma:
Faza 1. Pentru fiecare i de la 1 la n valoarea de rang i din vector se depune ntr-un
arbore binar de sortare.
Faza 2. Se parcurge arborele binar de sortare, fructificarea valorilor din noduri
fiind de fapt depunerea valorilor n vectorul v. La finalul parcurgerii inordine noul
vector v rezultat are valorile n ordine cresctoare.
Faza a doua se detaliaz printr-o iniializare i 0 urmat de inserarea
procesului de parcurgere inordine n care fructificarea informaiei este descris
practic prin i i+1; v
i
informaie util din nod.
Faza nti este o faz de generare a arborelui binar de sortare i se
desfoar pe principiul comparaiei valorii curente de depus cu nodul accesat la un
moment dat. Dac valoarea de depus este mai mic se trece la subarborele stng,
altfel se trece la cel drept. La nceputul fazei se creaz rdcina arborelui de sortare
cu valoarea v
1
.









289
Faza se expliciteaz prin procesul:
Pas 1. Obine nod cu adresa n rdcin pentru care informaie util primete v
1
i
llink i rlink devin "legtur vid". I 2.
Pas 2. Dac i este mai mare dect n, atunci ne oprim (arborele binar de ordonare a
fost generat) altfel obin nod n q, informaie util se completeaz cu v
i
, i i+1,
llink i rlink din q se completeaz cu "legtur vid", p rdcin;
Pas 3. Dac informaie din q este mai mic dect informaia din p, atunci mergem
la pasul 4 altfel mergen la pasul 5.
Pas 4. Dac p^.llink este "legtur vid", atunci p^.llink q i se merge la pasul 2,
altfel pp^.llink i se merge la pasul 3.
Pas 5. Dac p^.rlink este "legtur vid", atunci p^.rlink q i se merge la pasul 2,
altfel p p^.rlink i se merge la pasul 3.

BIBLIOGRAFIE

1. D. E. Knuth, Tratat de programarea calculatoarelor, Vol. I, II i III,
Editura Tehnic, 1972, 1974, 1976 sau Editura Teora, 2000.
2. O. Bsc, M. Popa, Culegere de probleme de structuri de date i sisteme
de operare, Editura Universitii Bucureti, 1976.
3. E. Horowitz .a., Fundamentals of Data Structures, n Computer Science
Press, 1993.

331

TEORIA INFORMAIEI

Prof. univ. dr. Luminia State


1. INTRODUCERE

Teoria informaiei stabilete rspunsuri la dou ntrebri fundamentale n
teoria comunicaiilor, i anume, relativ la limitele compresiei de date (entropia H)
i respectiv ratei de transmisie ntr-un sistem de comunicaie (capacitatea C a
canalului). n acelai timp ins, teoria informaiei aduce contribuii substaniale
unei serii largi de domenii ale tiinei, cum sunt fizic statistic (termodinamic),
tiina calculului (complexitatea Kolmogorov sau complexitatea algoritmic),
inferena statistic, teoria probabilitilor i statistic (rate ale erorilor n verificarea
optimala a ipotezelor i estimare).
n anul 1948, Claude Shannon formula n introducerea lucrrii
A Mathematical Theory of Communication: The fundamental problem of
communication is that of reproducing at one point either exactly or approximately a
message selected at another point , dezvoltrile efectuate de autor din cadrul
lucrrii constituind fundamentarea unui nou domeniu al matematicii aplicate,
teoria informaiei i/sau teoria codurilor.
Modelul teoretic considerat de Shannon pentru un sistem de comunicaie
are urmtoarele componente:
(i) Sursa de informaie S (emisie)
(ii) Utilizator U
(iii) Canal (modelul fizic prin care se propag informaia)
(iv) Sursa de perturbaie (zgomot) P
(v) Emitor E
(vi) Receptor R
Informaia emis de S se propag prin canalul C, este afectat de
perturbaia generat de P, astfel nct utilizatorul primete o variant distorsionat
a informaiei emise. Emisia este reprezentat de cuvinte care sunt secvene finite de
simboluri din alfabetul surs. Simbolurile care pot fi transmise prin intermediul
canalului pot s difere de simbolurile din alfabetul surs i, de asemenea, pot diferi
de simbolurile n care utilizatorul poate s neleag mesajul transmis. n scopul
transformrii emisiei n secvene de simboluri care pot fi transmise prin canal, ntre
surs i canal este interpus emitorul E, respectiv ntre canal i utilizator este
interpus receptorul R, care transform secvena de simboluri transmis prin canal n
cuvinte din limbajul utilizatorului.
Codoarele (1) i (2) efectueaz transformri informaionale asupra datelor.



332

Componentele emitorului sunt :
1. Un codor de surs, care realizeaz codarea sursei prin transformarea
cuvintelor emise de surs n cuvinte cod ale sursei. Codarea sursei este
realizat prin utilizarea unor coduri de compactare a datelor care permite
obinerea unor reprezentri mai restranse a datelor surs i a unor coduri de
compresie a datelor pentru optimizarea lungimii medii a cuvintelor emise
de surs de informaie.
2. Un codor de canal, care realizeaz codarea canalului prin transformarea
fiecrui cuvnt de cod al sursei ntr-o secven de simboluri numit cuvnt
cod al canalului. Codorul de canal opereaz prin utilizarea unor coduri de
transmisiune a datelor (sau coduri cu control al erorilor) pentru
ameliorarea efectelor perturbaiilor i coduri de translaie a datelor (sau
coduri pentru canale cu constrangeri) pentru pregtirea secvenei de
simboluri care urmeaz s fie transmis astfel nct s devin compatibil
cu constrngerile canalului.
3. Un modulator, care genereaz cte o reprezentare pentru fiecare simbol al
cuvntului cod al canalului prin simboluri analogice dintr-un alfabet finit
de simboluri analogice prestabilite. Secvena de simboluri analogice
generat se numete form de und i reprezint semnalul transmis prin
canal. Semnalul codat modulat reprezentat ca form de und este dotat cu
aptitudinile energetice necesare transmiterii pe canal i este o manifestare
fizic, de exemplu o unda electromagnetic, sonor, care se poate propag
printr-un mediu dat.
Mesajul emis de surs la un moment dat t, notat x(t), este un semnal care
corespunde unei realizri particulare a sursei, este purttorul de informaie i este
modelat ca realizare a unei variabile (vector) aleatoare. Mesajul codat rezultat este
notat
c
m , respectiv semnalul modulat transmis este notat ( ) ,
c
s t m .
Receptorul conine blocurile care realizeaz operaiile inverse realizate de
emiator, i anume:
1. demodulatorul, care primete de la canal semnalul recepionat i furnizeaz
echivalentul demodulat al cuvntului recepionat,
2. decodorul de canal, care furnizeaz cuvntul de cod estimat al sursei
3. decodorul de surs, care furnizeaz mesajul decodat estimat.
Arhitectura stratificat a unui sistem de transmitere a informaiei poate fi
reprezentat sintetic prin diagrama
S CS CC M C DM DCC DCS U
unde
- CS este componenta care genereaz codul surs corespunztor mesajului
emis de sursa S,
- CC este componenta care genereaz codul canal corespunztor codului
surs generat de CS,
- M este componenta care genereaz semnalul transmis prin canal
corespunztor codului canal rezultat,
333
- DM este componenta care efectueaz demodularea semnalului recepionat,
- DCC este componenta care genereaz codul surs estimat pe baza
semnalului demodulat,
- DCS este componenta care genereaz mesajul estimat transmis
utilizatorului U pe baza codului surs estimat.
Transmisia mesajului prin canal este afectat de perturbaii (zgomot) care
altereaz semnalul util i diminueaz capacitatea de transmisie a canalului.
Perturbaiile sunt distorsiuni de natur determinist sau aleatoare. Distorsiunile de
natur determinist conduc ntotdeauna la aceleai alterri ale semnalului transmis,
eliminarea efectelor acestora fiind realizat pe baza unor filtre de corecie care sunt
plasate la intrarea receptorului. Perturbaiile aleatoare afecteaz semnalul transmis,
astfel nct unui acelai semnal transmis s s-i corespunda o clas de mesaje
recepionate r. Prezena zgomotelor impune necesitatea prelucrrii semnalului
recepionat pentru identificarea semnalului din care provine observaia.
Exemplul 1. Fie sursa S care emite simbolurile 0,1, mesajul transmis prin
canalul C fiind un cuvnt din { } 0,1
+
. Notm cu X simbolul emis de S, respectiv
cu Y simbolul recepionat. Pentru simplificare, convenim s notm
0 1 1,1 1 0 = = .
Presupunem c perturbaia indus de canal distorsioneaz mesajul transmis
prin afectarea fiecrui simbol al mesajului, astfel nct probabilitatea ca simbolul
recepionat s fie Y=1 dac a fost emis X= , este
1
4
;
( )
3
4
P Y X = = = ,
( )
1
1
4
P Y X = = = , { } 0,1
Cu alte cuvinte, perturbaia indus de canal afecteaz n mod identic i
independent simbolurile mesajului i este caracterizat de matricea de probabiliati
de tranziie
3 1
4 4
1 3
4 4
M
| |
|
= |
|
|
\ .

Presupunem c emisia este caracterizat de distribuia de probabilitate
( 0) , ( 1) P X q P X p = = = = , 1 p q + =
Notnd cu E variabila aleatoare, reprezentnd eroarea n transmiterea unui
simbol,
1,
0,
X Y
E
X Y

=

=

rezult,
334
( )
( ) ( )
( ) ( ) ( ) ( )
0, 1 1, 0
1
1 0 0 0 1 1
1 1 1
4 4 4
P X Y P X Y
P E
P Y X P X P Y X P X
q p
= = = + = = =
=
= = = = + = = = =
= + =

deci rata erorii este de 25%.
Un mod simplu de reducere a ratei erorii const n transmiterea fiecrui
simbol al mesajului de n ori, unde n este un numr natural fixat i de identificare a
simbolului emis dup criteriul majoritar.
Astfel, dac simbolul emis este X= , { } 0,1 , atunci se va transmite
secvena , la recepie rezultnd una din cele
3
2 combinaii posibile.
Decodificarea secvenei recepionate pentru identificarea simbolului emis
conform criteriului majoritar va fi
000
001
0
010
100
Y

=
`

)
,
111
110
1
011
101
Y

=
`

)

n acest caz, dac secvena rezultat prin transmisie este
1 2 3
Z Z Z , obinem
( ) ( ) 1 0, 1 ( 1, 0) P E P X Y P X Y = = = = + = = =
( ) ( ) ( ) 1 0 0 ( 0 1) 1 P Y X P X P Y X P X = = = + = = = =
( ) 1 p [
( )
1 2 3
0, 1, 1 0 P Z Z Z X = = = = +
( )
1 2 3
1, 0, 1 0 P Z Z Z X = = = = +
( )
1 2 3
1, 1, 0 0 P Z Z Z X = = = = +
( )
1 2 3
1, 1, 1 0 P Z Z Z X = = = = ] +
p [
( )
1 2 3
0, 0, 1 1 P Z Z Z X = = = = +
( )
1 2 3
0, 1, 0 1 P Z Z Z X = = = = +
( )
1 2 3
1, 0, 0 1 P Z Z Z X = = = = +
( )
1 2 3
0, 0, 0 1 P Z Z Z X = = = = ] =
( ) 1 p
3 2
1 9 1
4 4 4
(
| | | |
+
(
| |
\ . \ .
(

+ p
3 2
1 9 1
4 4 4
(
| | | |
+
(
| |
\ . \ .
(

=
10 1
64 4
<
Pe baza schemei considerate, rata erorii este diminuat, dar timpul de
transmisie este triplat. n plus, dac rata de transmisie prin canal este de 1
simbol/secund, pentru sincronizarea sursei cu canalul este necesar reducerea de 3
ori a ratei de emisie.
Schema considerat poate fi generalizat n modul urmtor. Fie n numr
natural fixat; dac simbolul emis este { } 0,1 , atunci se va transmite prin canal
335
secvena
( )

2 1
....
n

+
, la recepie rezultnd una dintre cele 2
n
secvene de 0 i 1
posibile.
Notm cu N numrul simbolurilor egale cu( ) 1 din mesajul recepionat.
Presupunem c perturbaia care afecteaz simbolurile transmise este caracterizat
de matricea probabilitilor de tranziie
1
1
M


| |
=
|

\ .
,
1
0,
2

| |

|
\ .
.
Pentru canalul n care perturbaia afecteaz identic i independent
simbolurile mesajului transmis, rezult c variabila aleatoare N este distribuit
binomial ( ) 2 1, B n + ,
( ) ( )
2 1
2 1
1
n k
k k
n
P N k C
+
+
= = , 0,1,..., 2 1 k n = +
n acest caz ,
( ) ( ) ( ) ( )
1 1 1 0 1 1 P E p P N n X pP N n X = = + = + + = =
( ) ( ) ( )
2 1 2 1
1 1
1 0 1
n n
k n k n
p P N k X p P N k X
+ +
= + = +
= = + = = =


( ) ( ) ( )
2 1 2 1
2 1 2 1
2 1 2 1
1 1
1 1 1
n n
n k n k
k k k k
n n
k n k n
p C p C
+ +
+ +
+ +
= + = +
+ =


( )
2 1
2 1
2 1
1
1
n
n k
k k
n
k n
C
+
+
+
= +


Pentru 1 2 1 n k n + + ,
2 1 2 1
k n
n n
C C
+ +
, deci obinem:
( ) ( )
2 1
2 1
2 1
1
1 1
1
k
n
n
n
n
k n
P E C

+
+
+
= +
| |
= <
|

\ .

=
( )
1 1
1
2 1
1
1
1 2 1
n n
n
n
n
C



+ +
+
+
(
| |
(
|

\ . (


Deoarece
1
2
< , 0 1
1

< <

, deci lim 0
1
n
n

| |
=
|

\ .
.
Notnd ( )
1
2 1
1
n
n
n n
a C
+
+
= (

, obinem,
( )
1
1 2 3
2 1
1
n
n n
n
n n
a C
a C

+
+ +
+
= = ( )
2 3
2 1
2
n
n

+

+
,
din care rezult ( )
1
lim 4 1
n
n
n
a
a

+

= <1.
336
n concluzie, lim 0
n
n
a

= , ceea ce evident implic ( ) lim 1 0


n
P E

= = .
Cu alte cuvinte, probabilitatea erorii rezult orict de mic dac rata de
emisie descrete suficient de mult. Unul din rezultatele fundamentale ale teoriei
informaiei stabilete faptul c minimizarea probabilitii erorii necesit
descreterea ratei de emisie la un numr pozitiv numit capacitatea canalului.
Modalitatea curent de minimizare a probabilitii erorii de transmisie este bazat
pe codificare.
Codorul de surs este inserat ntre surs i canal i asociaz fiecrei
secvene de simboluri emise de surs (mesaj) cte o secven de simboluri (cuvnt
cod) care poate fi transmis prin canal. La recepie, decodorul inserat ntre canal i
utilizator efectueaz tentativa de restaurare a mesajului iniial pe baza secvenei de
simboluri recepionate.

2. SISTEME DE TRANSMITERE A INFORMAIEI;
CODURI PENTRU SURSE I CANALE

Teoria informaiei ofer rspunsuri la o serie de ntrebri, cum sunt:
1. Ce este informaia i cum poate fi msurat ?
2. Care sunt limitele fundamentale n transmiterea informaiei ?
3. Care sunt limitele n extragerea informaiei din mediul ambiant ?
4. Care sunt limitele fundamentale n compresia i rafinarea informaiei ?
5. Cum pot fi proiectate sisteme cu funcionare apropiat de aceste limite ?
6. Ct sunt de apropiate sistemele existente de aceste limite ?
Prin cod se nelege o reprezentare convenional a unei secvene de date.
Fie H o mulime nevid finit sau infinit numrabil i D o mulime nevid
i finit. Notm cu
*
D mulimea secvenelor de lungimi finite compuse din
simboluri din mulimea D. Din punct de vedere practic, un cod asociaz fiecrei
secvene de simboluri (bloc), considerat ca un simbol al alfabetului H, cte o
secven de simboluri din alfabetul D, numit cuvnt cod pentru secvena
considerat. Dup lungimile blocurilor, respectiv lungimile cuvintelor cod, codurile
se clasific n coduri variabil-fix, fix-fix i fix-variabil. Pentru asigurarea
decodificrii unice, n cazul codurilor fix-variabil, mulimea cuvintelor cod trebuie
s fie liber de prefixe, adic nici un cuvnt cod s nu fie prefix al unui alt cuvnt
cod.
Definiie. Se numeste cod o funcie
*
: C H D . Codul C este
nesingular, dac C este funcie injectiv.
Extensia codului C, notat
* * *
: C H D , este definit prin, pentru
orice
1
...
n
x x x = , ,1 ,
i
x H i n , ( ) ( ) ( )
*
1
...
n
C x C x C x = . Extensia codului C
este, de asemenea, un cod definit pe alfabetul
*
H .
Evident, dac
*
C este nesingular atunci i C este cod nesingular. Afirmaia
reciproc nu este n general adevrat.
Definiie. Codul C este unic decodificabil dac
*
C este cod nesingular.
337
Pe baza observaiei precedente rezult c mulimea codurilor unic
decodificabile este inclus n mulimea codurilor nesingulare.
Definiie. Codul C este cod prefix sau cod instantaneu dac nici un
cuvnt cod nu este prefixul unui alt cuvnt cod.
Propoziia 1. Dac C este cod prefix nesingular, atunci C este cod unic
decodificabil.
Teorema 1 (Kraft). Fie H, D mulimi finite, H n = . Dac
*
: C H D
este cod prefix i
1
,...,
n
l l sunt lungimile cuvintelor cod, atunci
1
1
i
l
n
i
D

=

.
Reciproc, dac
1
,...,
n
l l sunt numere naturale pozitive, astfel nct
1
1
i
l
n
i
D

=

,
atunci exist C cod prefix avnd lungimile cuvintelor cod
1
,...,
n
l l .
Teorema 2 (McMillan). Fie H mulime numrabil infinit, D mulime
finit. Dac
*
: C H D este unic decodificabil i
1
,...,
n
l l ... sunt lungimile
cuvintelor cod, atunci
1
1
i
l
i
D

. Reciproc, dac ( )
n
l este un ir de numere
naturale pozitive, astfel nct
1
1
i
l
i
D

, atunci exist un cod unic


decodificabil
*
: C H D , astfel nct termenii irului ( )
n
l

sunt lungimile
cuvintelor cod.
Fie H mulime finit, { }
1
,...,
n
H x x = , i S o surs care emite simbolurile
din mulimea H, emisia fiind caracterizat de distribuia de probabilitate
( )
1
,...,
n
p p p = ; ( ), 1
i i
p P X x i n = = .
Lungimea medie a codului C cod, avnd
1
,...,
n
l l lungimile cuvintelor cod,
este definit prin ( )
1
n
i i
i
L C l p
=
=

. Codul prefix
min
C este de lungime medie
minim dac ( ) ( )
min
inf
C
L C L C

= , unde este mulimea codurilor prefix.


Problema determinrii codurilor prefix de lungime medie minim revine la
rezolvarea problemei variaionale cu restricii,
(*)
1
,...,
1
1
inf
1
n
i
n
i i
l l
i
n
l
i
l p
D
=


338
Soluia problemei (*) este log , 1,...,
i i D
l p i n = = , respectiv lungimea
medie minim a codurilor prefix este
min
1
log
i i D
i
L p p
=
=

. Valoarea
min
L se
numete entropia Shannon corespunztoare sursei S i se noteaz cu ( )
D
H p .
Deoarece lungimile cuvintelor cod trebuie s fie numere naturale, numai
pentru anumite distribuii de probabilitate particulare
log , 1,...,
i i D
l p i n = =
Cele mai frecvent utilizate coduri prefix aproape optimale sunt codul
Huffman i codul Shannon.
Lungimile cuvintelor cod n cazul codului Shannon sunt
log , 1,...,
i i D
l p i n
(
= =
(
, unde x (
(
este funcia partea ntreag superioar a
numrului x., 1 x x x < + (
(
.
ntr-adevr, pentru aceast alegere inegalitatea Kraft este satisfacut,
deoarece
log log
1 1 1
1
i i D D
n n n
p p
i
i i i
D D p
(

(
= = =
= =

, pentru lungimea medie a
codului Shannon
S
C , rezultnd ( ) ( ) ( ) 1
S D D
H p L C H p < +
Codul prefix de lungime medie minim pentru o distribuie de probabilitate
p dat poate fi construit pe baza unui algoritm simplu propus de ctre Huffman.
Ideea construciei propuse de ctre Huffman este aceea de a ataa cuvinte
cod mai scurte simbolurilor care sunt emise mai frecvent i, respectiv, cuvinte cod
mai lungi simbolurilor care sunt emise cu frecvena mai mic. Construcia Huffman
este ilustrat n urmtorul exemplu.
Exemplul 1. Presupunem { } 1, 2, 3, 4, 5 H = , { } 0,1 D = i probabilitile
de emisie sunt
1 2 3 4 5
0.25, 0.25, 0.2, 0.15, 0.15 p p p p p = = = = = .
Este normal ca pentru simbolurile 4 i 5 cuvintele cod s aib lungimile
maxime i cuvintele cod s aib aceeai lungime, deoarece altfel se poate elimina
un bit din cel mai lung cuvnt cod, rezultnd un cod prefix de lungime medie strict
mai mic.
n general, putem construi un cod pentru care dou dintre cele mai lungi
cuvinte cod difer numai n ultimul bit. Pentru aceasta, simbolurile 4 i 5 pot fi
combinate ntr-un singur simbol surs avnd probabilitatea de emisie rezultat prin
nsumarea probabilitilor simbolurilor 4 i 5 , deci 0.30. Procednd n mod similar,
prin combinarea succesiv a dou dintre cele mai puin probabile simboluri ntr-un
nou simbol, se ajunge la un singur simbol, cruia i este ataat probabilitatea 1.
Pentru exemplul considerat obinem:



339
P1. Mulimea simbolurilor surs { } 1, 2, 3, 4, 5 H = , distribuia de probabilitate
( ) 0.25, 0.25, 0.2, 015, 015 p =
P2. Mulimea simbolurilor surs | | { }
1
1, 2, 3, 4, 5 H = , distribuia de probabilitate
( )
1
0.25, 0.25, 0.2, 0.30 p =
P3. Mulimea simbolurilor surs | | | | { }
2
1, 2, 3 , 4, 5 H = , distribuia de probabilitate
( )
2
0.25, 0.45, 0.30 p =
P4. Mulimea simbolurilor surs | | | | { }
3
1, 4, 5 , 2, 3 H ( =

, distribuia de
probabilitate ( )
3
0.55, 0.45 p =
P5. Mulimea simbolurilor surs
| | | |
{ } 4
1, 4, 5 , 2, 3 H ( ( =

, distribuia de
probabilitate ( )
4
1 p =
Obinem arborele de codificare,

| | | | 1, 4, 5 , 2, 3
( (




0.550.45


| | 1, 4, 5 (




| |
2, 3


0.250.30

0.250.2


1
| |
4, 5
2 3

0.150.15

4 5
Codurile Huffman rezultate pe baza acestei construcii rezult prin
etichetarea muchiilor divergente din acelai vrf respectiv cu simbolurile 0,1,
pentru fiecare simbol din mulimea H, cuvntul cod fiind dat de secvena de
etichete corespunztoare drumului de la rdacin la vrful terminal corespunztor
acelui simbol.
Un exemplu de cod Huffman este
H
C (1)=00
H
C (2)=10
H
C (3)=11
H
C (4)=010
H
C (5)=011
340
Lungimea medie a codului rezultat este
( ) 2 0.25 2 0.25 2 0.2 3 0.15 3 0.15 2.3
H
L C = + + + + = bii
Teorema 3. Dac
H
C este un cod rezultat prin construcia Huffman, atunci
(i)
H
C este cod prefix,
(ii) ( ) ( ) ( ) 1
H D D
H p L C H p < +
(iii) dac 2 D = , atunci pentru orice cod prefix C, ( ) ( )
H
L C L C .

3. ENTROPIA SHANNON; MSURI INFORMAIONALE
DERIVATE

Entropia Shannon a rezultat ca valoare a lungimii medii minime pentru
codificarea unei surse printr-un cod prefix. Entropia Shannon are ns i
semnificaia de msur a cantitii de informaie, respectiv a cantitii de
incertitudine relativ la un fenomen aleator, a crui evoluie este guvernat de o lege
probabilist.
Modelarea unei fenomenologii n termeni stochastici este justificat n
general n dou situaii, i anume:
(i) Fenomenul este prin natura lui nedeterminist. n acest caz, este necesar
evaluarea msurii incertitudinii existente relativ la posibilitile de
realizare ale diferitelor evenimente i, respectiv, a cantitii de informaie
dobndit prin observarea n continuare a evoluiei.
(ii) Fenomenul este de natur determinist, dar cunoasterea lui de ctre
observator este incomplet. n acest caz, devine necesar evaluarea
cantitii de incertitudine existente relativ la posibilitile de realizare
corespunztoare diferitelor evenimente, aceasta exprimnd o msur a
gradului de cunoastere de ctre experimentator a fenomenologiei de
interes i, implicit, a capacitii de efectuare a unor predicii relativ la
evoluia ulterioar. n egal msur, este necesar evaluarea cantitii de
informaie dobndit prin observaia direct a evoluiei fenomenului.
n condiiile n care este justificat opiunea pentru un model stochastic
relativ la o fenomonologie de interes, cantitatea de incertitudine existent naintea
realizrii unui experiment este egal cu cantitatea de informaie dobndit prin
efectuarea acelui experiment.
Presupunem c fenomenul de interes este reprezentat de variabila aleatoare
discret X, care poate lua valorile { }
1
,...,
n
x x cu probabilitile ( )
i i
p P X x = = ,
i=1,...,n, 0, 1
i
p i n ,
1
1
n
i
i
p
=
=

.




341
Msura cantitii de incertitudine relativ la fenomenul modelat prin
variabila X a priori realizrii lui este
( ) ( ) ( )
1
1
,..., log
n
not not
n n i i
i
H X H p H p p p p
=
= = =

. n urma observaiei efectuate


asupra fenomenului de interes, este cunoscut valoarea rezultat pentru X, deci a
fost dobndit o cantitate de informaie egal cu cantitatea de incertitudine a
priori existent, deci msura acestei cantiti de informaie este egal cu ( ) H p .
Convenim s adoptm regula de calcul 0log0 1 = justificat de
proprietatea lim log 0
x o
x x =


Teorema 1. Fie
n
S = ( ) ( )
1 1
1
,..., ,..., , 0, 0 , 1
n
n
n n i i
i
p p p p p i n p
=

=
`
)

.
(i) Pentru orice 1 n i orice ( )
1
,...,
n n
p p S , ( )
1
,..., 0
n n
H p p
(ii) Pentru orice 1 n ,
n
H este continu pe
n
S
(iii) Pentru orice 1 n orice ( )
1
,...,
n n
p p S i orice permutare a
mulimii { } 1, 2,..., n ,
( ) ( )
( )
( )
1 1
,..., ,...,
n n n n
H p p H p p

=
(iv) Pentru orice 1 n i orice ( )
1
,...,
n n
p p S ,
( )
1
1 1
,..., ,..., log
n n n
H p p H n
n n
| |
=
|
\ .

(v) Pentru orice 1 n i orice ( )
1
,...,
n n
p p S ,
( ) ( )
1 1 1
,..., , 0 ,...,
n n n n
H p p H p p
+
=
(vi) Pentru orice , 1 n m i orice ( )
11
,...,
nm n m
S

, dac
1
, 1,...,
m
i ij
j
p i n
=
= =

, atunci ( )
1
,...,
n n
p p S i
1
,...,
i im
m
i i
S
p p
| |

|
\ .

pentru orice 1,..., i n = .
n plus,
( ) ( )
1
11 1
1
,..., ,..., ,...,
n
i im
n m nm n n i m
i
i i
H H p p p H
p p

=
| |
= +
|
\ .

.
Lema 1. Fie X variabil aleatoare discret i g funcie definit pe
domeniul de valori ale variabilei X. n aceste condiii, ( ) ( ) ( ) H g X H X .
Dac g este funcie injectiv, atunci ( ) ( ) ( ) H g X H X = .
342
Teorema 2 (Hincin). Dac( )
1
n
n
H

este un ir de funcii,
| ) : 0,
n n
H S , 1, 2,... n = , astfel nct sunt ndeplinite proprietile (i)-(vi)
din enunul Teoremei 3.1., atunci exist 0 > , astfel nct pentru orice 1 n i
orice ( )
1
,...,
n n
p p S ,
( )
1
,...,
n n
H p p =
1
log
n
i i
i
p p
=


.
Fie X,Y variabile aleatoare discrete, mulimile de valori fiind { }
1
,...,
n
x x ,
respectiv { }
1
,...,
m
y y ; notm cu distribuia de probabilitate a vectorului
( ) , Z X Y = ,
( )
,
ij i j
P X x Y y = = = , 1 ,1 i n j m .
Distribuiile de probabilitate marginale corespunztoare variabilelor X,Y
sunt ( ) ( )
1 1
,..., , ,...,
n m
p p p q q q = = , unde
( ) ( )
1 1
, , 1,...,
m m
i i i j ij
j j
p P X x P X x Y y i n
= =
= = = = = = =


( ) ( )
1 1
, , 1,...,
n n
j j i j ij
i i
q P Y y P X x Y y j m
= =
= = = = = = =


Evident, , ,
n m n m
p S q S S

.
Far restrngerea generalitii se poate presupune c 0, 0
i j
p q > > pentru
toi 1 ,1 i n j m .
Pentru fiecare i,j, 1 ,1 i n j m , definim
ij
i j
j
p
q

= ,
ij
j i
i
q
p

=
Evident, pentru fiecare j fixat,
( )
. 1
,...,
n j j n j
p p p S = , respectiv pentru
fiecare i fixat
( )
. 1
,...,
m i i mi
q q q S = .
Distribuia de probabilitate
j
p

este distribuia de probabilitate a variabilei


X condiionat de evenimentul
{ }
j
Y y = , respectiv
. i
q este distribuia de
probabilitate a variabilei Y condiionat de evenimentul { }
i
X x = .






343
Definiie. Entropia variabilei X condiionat de evenimentul
{ }
j
Y y = este
definit prin
( ) ( )
1
1
,..., log
n
n j n j n j i j i j
i
H X Y y H p p p p
=
= = =

, respectiv
entropia variabilei condiionat de evenimentul { }
i
X x = este definit prin
( )
( )
1
1
,..., log
m
m i m i mi j i j i
j
H Y X x H q q q q
=
= = =

.
Definiie. Entropia variabilei X condiionat de variabila Y este definit
prin
( ) ( )
m m
H Y X H Y .
Rezult
( )
1 1
log
m n
ij
n ij
j i
j
H X Y
q

= =
=

.
Similar, entropia variabilei Y condiionat de variabila X este definit prin

( ) ( )
1 1 1
log
n m n
m i m i i j i j i
i j i
H Y X p H Y X x p q q
= = =
= = =


din care rezult
( )
1 1
log
m n
ij
m ij
j i
i
H Y X
p

= =
=

.
Teorema 3. n condiiile de mai sus, au loc relaiile:
(i)
( )
n
H X Y ( )
n
H X ,
( ) ( )
m m
H Y X H Y , relaiile fiind verificate cu
egalitate dac i numai dac X,Y sunt independente
(ii) ( ) ( ) ( ) ( ) ( ) ( )
,
nm nm n m m n
H Z H X Y H X H Y X H Y H X Y = = + = +
(iii) ( ) ( ) ( ) ( )
n n m m
H X H X Y H Y H Y X = 0
(iv) ( ) ( ) ( ) ,
nm n m
H X Y H X H Y + , relaia este verificat cu egalitate dac i
numai dac X,Y sunt independente.
(v)
( )
0
n
H X Y i
( )
0
n
H X Y = dac i numai dac X este funcie de Y.
Semnificaia entropiei condiionate
( )
n
H X Y este de msur a cantitii
de incertitudine care mai rmne relativ la variabila X dac este cunoscut
realizarea variabilei Y, deci diferena ( ) ( )
n n
H X H X Y este o msur a
cantitii de informaie pe care o deine Y relativ la X. Din (i) rezult
( ) ( )
n n
H X H X Y 0 i ( ) ( )
n n
H X H X Y = , dac i numai dac X,Y sunt
independente.
344
Egalitatea ( ) ( ) ( ) ( )
n n m m
H X H X Y H Y H Y X = este referit sub
numele de balana informaional i reprezint o lege conservativ din punct de
vedere informaional; egalitatea exprim faptul c msura cantitii de informaie
deinut de variabila X relativ la variabila Y este egal cu msura cantitii de
informaie deinut de Y relativ la X.
Definiie. Informaia reciproc dintre X i Y, notat I(X;Y), este definit
prin ( ) ( ) ( ) ( ) ( )
;
n n m m
I X Y H X H X Y H Y H Y X = =
Din relaiile din Teorema 3., rezult:
( ) ( ) ( ) ( )
1 1
; , log
m
ij
n m nm ij
i j
i j
I X Y H X H Y H X Y
p q

= =
= + =


Se observ c n general
( ) ( )
H X Y H Y X , dar ( ) ( ) ; ; I X Y I Y X = .
Definiie. Fie X,Y,Z variabile aleatoare discrete. Informaia reciproc
dintre X i Y condiionat de Z este definit prin
( ) ( ) ( )
; , I X Y Z H X Z H X Y Z =
Se observ c
( ) ( ) ( )
; , I X Y Z H Y Z H Y X Z =
Teorema 4. Fie X,Y,Z variabile aleatoare discrete; fie ( ) , , p x y z
distribuia de probabilitate comun,
( )
, p x y z distribuia de probabilitate a
vectorului ( ) , X Y condiionat de Z,
( ) ( )
, p x z p y z distribuiile de
probabilitate ale variabilei X, respectiv Y, condiionate de Z.
(i)
( )
; 0 I X Y Z ,
(ii)
( )
; 0 I X Y Z = dac i numai dac
( ) ( ) ( )
, p x y z p x z p y z = , , x y z din
domeniile de valori corespunztoare variabilelor.
Definiie. Spunem c variabilele aleatoare discrete , , X Y Z sunt n
dependen Markov dac, pentru orice , , x y z din domeniile de valori
corespunztoare variabilelor,
( ) ( )
, p x y z p x y = , unde
( ) ( )
, , p x y z p x y
sunt distribuiile de probabilitate ale variabilei X condiionate de (Y,Z) respectiv
de Y.
Lema 2. Variabilele aleatoare discrete , , X Y Z sunt n dependen
Markov dac i numai dac Z,Y,X sunt n dependen Markov .
Definiie. Fie , , X Y Z variabilele aleatoare discrete. Spunem c X,Y sunt
Z-condiionat independente dac
( ) ( ) ( )
, p x y z p x z p y z = pentru orice
, , x y z din domeniile de valori corespunztoare variabilelor.
345
Lema 3. Variabilele aleatoare discrete , , X Y Z sunt n dependen
Markov dac i numai dac X,Z sunt Y-condiionat independente.
Obinem astfel c
( )
; 0 I X Y Z = dac i numai dac X,Y sunt Z-
condiionat independente, deci dac i numai dac X,Z,Y sunt n dependen
Markov.
Lema 4. Dac X,Y,Z sunt n dependen Markov atunci
( ) ( ) ; ; I X Y Z I X Y .
Lema 5. Fie X, Y variabile aleatoare discrete i g funcie definit pe
domeniul valorilor lui Y. n aceste condiii, X,Y,g(Y) sunt n dependen Markov i
( ) ( ) ( ) ; ; I X g Y I X Y .
Rezultatul urmtor este cunoscut sub numele de teorema prelucrrii
datelor i exprim n termeni informaionali faptul c orice prelucrare a datelor
implic pierdere de informaie, sau echivalent, c nu exist prelucrri care s
determine obinerea de informaie suplimentar.
Lema 6 (Teorema prelucrrii datelor). Dac X,Y,Z sunt n dependen
Markov, atunci ( ) ( ) ; ; I X Z I X Y .
Teorema 5. Fie
1
,...,
n
X X Y variabile aleatoare discrete. Atunci au loc
relaiile,
(i) ( ) ( ) ( )
1 1 1 1
2
,..., ,...,
n
n i i
i
H X X H X H X X X

=
= +

(schema de nlnuire a
entropiei)
(ii) ( ) ( ) ( ) ( )
1 1 1 1
2
,..., ; ; ; ,...,
n
n i i
i
I X X Y I X Y I X Y X X

=
= +

(schema de
nlnuire a informaiei reciproce)
Teorema 6. Fie
1
,...,
n
X X ,
1
,...,
n
Y Y variabile aleatoare discrete. Dac
1
,...,
n
X X sunt independente, atunci
( ) ( ) ( ) ( )
1 1
1
,..., ; ,..., ;
n
n n i i
i
I X X Y Y I X Y
=

.
Fie X,Y variabile aleatoare discrete. Presupunem c Y este o variabil
observabil, X nu este observabil i se dorete efectuarea de inferene asupra
posibilitilor de realizare ale lui X pe baza observaiilor efectuate asupra lui Y.
Fie ( )

X g Y = o estimaie pentru X construit pe baza variabilei Y i a funciei g,


deci ( )

, , X Y X g Y = sunt n dependen Markov.





346
Deoarece
( )
0 H X Y i
( )
0 H X Y = dac i numai dac X este
funcie de Y (Teorema 3) rezult c
( )
H X Y este o msur a capacitii lui Y ca
baza pentru efectuarea de inferene asupra variabilei Y. Rezultatul urmtor
stabilete o relaie ntre probabilitatea erorii n estimarea variabilei X pe baza
variabilei Y i
( )
H X Y
Teorema 7 (Inegalitatea Fano). Fie X,Y variabile aleatoare discrete, g
funcie definit pe domeniul valorilor variabilei Y, ( )

X g Y = .
Fie E eroarea corepunztoare estimaiei ( )

X g Y = ,

1,

0,
X X
E
X X

=

=

i
( ) 1
e
p P E = = probabilitatea de eroare. n aceste condiii,
( ) ( ) ,1 log( 1)
e e e
H X Y H p p p n +
unde n este numrul valorilor pe care le poate lua X.
Utiliznd ( ) ,1 log 2 1
e e
H p p < , rezult o form mai slab a acestei
relaii, dat de expresia
( )
1
log
e
H X Y
p
n

>
n anumite situaii, este necesar efectuarea/postularea distribuiei de
probabilitate, corespunztoare variabilei aleatoare prin care este modelat o
fenomenologie de interes. Distribuia de probabilitate estimat sau postulat poate
ns s difere de distribuia de probabilitate adevrat dar necunoscut. Entropia
relativ sau entropia Kullback-Leibler este o msur informaional a ineficienei
postulrii unei distribuii q n condiiile n care distribuia adevrat este p .
Definiie. Fie ( ) ( )
1 1
,..., , ,...,
n n
p p p q q q = = distribuii de probabilitate.
Spunem c p este absolut continu n raport cu q , notat p q , dac
0 0
i i
q p = = pentru orice i=1,...,n.
n continuare, adoptm convenia de calcul
0
0log 0
0
def
= .
Definiie. Fie ( ) ( )
1 1
,..., , ,...,
n n
p p p q q q = = distribuii de probabilitate
astfel nct p q . Entropia relativ a distribuiei q n raport cu p , notat
( )
D p q , este definit prin,
( )
D p q =
1
log
n
i
i
i
i
p
p
q
=

.
Evident,
( )
D p q = ( ) ( ) ( ) log
x
H X p x q x

.
Lema 7.
( )
D p q 0 ,
( )
D p q 0 = dac i numai dac p
=
q
347
Definiie. Fie X,Y variabile aleatoare discrete. Entropia relativ
condiionat
( ) ( )
( )
D p y x q y x este media entropiilor relative ale distribuiilor
lui Y condiionate de X, n ipoteza c distribuia condiionat a lui Y de X este
( )
q y x , dac distribuia condiionat adevrat a lui Y de X este
( )
p y x ,
( ) ( )
( )
D p y x q y x = ( ) ( )
( )
( )
log
x y
p y x
p x p y x
q y x

.
Lema 8 (Schema de nlnuire pentru entropia condiionat).
( ) ( ) ( )
, , D p x y q x y =
( )
D p q +
( ) ( )
( )
D p y x q y x
Teorema 8. Entropia relativ este funcie convex pe
n n
S S , adic,
pentru orice i pentru orice
| |
0,1 ,
( )
( )
( ) ( )
( )
( )
( )
( ) ( )
( )
( )
( ) ( )
( )
1 2 1 2 1 1 2 2
1 1 1 D p p q q D p q D p q + + + .
Teorema 9. Entropia este funcie concav pe
n
S , adic pentru orice
( )
, 1, 2
i
n
p S i = i pentru orice
| |
0,1 ,
( )
( )
( )
( )
( )
( )
( )
( )
( )
1 2 1 2
1 1 H p p H p H p + + .
Teorema 10. Pentru distribuia marginal ( ) p x fixat, informaia
reciproc este funcie convex pe
n n
S S , respectiv pentru distribuia
condiionat
( )
p y x fixat, informaia reciproc este funcie convex pe
n n
S S .
Cu alte cuvinte, pentru orice
( ) ( ) 1 2
, p p din
n n
S S
( )
, 1, 2
i
n
p S i = , i
pentru orice
| |
0,1 , dac
( )
( )
( )
( ) ( )
1 2
, , ,
y y
p x y p x y p x x = =

, atunci
pentru orice
| |
0,1 ,
(i)
( )
( )
( )
( )
( )
( )
( )
( )
( )
1 2 1 2
1 1 I p p I p I p + +
(ii) dac
( )
( )
( )
( ) ( )
1 2
, , p y x p y x p y x x y = = , atunci ,
( )
( ) ( )
( )
( ) , , , , 1, 2
i i
p x y p y x p x x y i = = i rezult

( )
( )
( )
( )
( )
( )
( )
( )
( )
1 2 1 2
1 1 I p p I p I p + +





348
4. MODELUL DE SURS CU EMISII INDEPENDENTE
I IDENTIC REPARTIZATE

Considerm modelul de surs care emite simboluri din alfabetul finit
={ }
1
,...,
n
x x . Evoluia sursei este de tip i.i.d., adic la fiecare moment de timp
emisia este caracterizat de variabila aleatoare X cu valori n avnd distribuia
de probabilitate ( )
1
,...,
n
p p p = , ( ) , 1,...,
i i
P X x p i n = = = . n cazul codificrii
binare, ( )
2
1
log
n
i i
i
H X p p
=
=

reprezint lungimea medie minim pentru


codificarea simbolurilor din printr-un cod prefix. Emisia la momentul t
corespunde unei realizri a variabilei aleatoare
t
X distribuite ( )
1
,...,
n
p p p = ; deci
emisia la momentele de timp t =1,...,n este o realizare a vectorului aleator
( )
1
,...,
n
X X , unde , 1,...,
i
X i n = sunt independente i identic distribuite
( )
1
,...,
n
p p p = .
Deoarece simbolurile din alfabetul sunt emise cu probabiliti diferite,
secvenele de simboluri rezultate ca realizri ale vectorului aleator ( )
1
,...,
n
X X
vor fi generate de asemenea cu probabiliti diferite. Problema de interes este de a
identific cele mai probabile secvene de lungime n , deoarece acestor secvene le
vor fi asociate cele mai scurte cuvinte cod. n continuare, vom considera cazul
emisiilor de lungime n fixat.
Pentru fiecare
n
, notm cu ( )
i
f numrul de apariii ale simbolului
i
x n secvena , 1,..., i = . Rezult c pentru fiecare 1,..., i = ,
i
f
( )
1
,...,
n
X X este o variabil aleatoare distribuit binomial ( ) ,
i
B n p ,
( ) ( ) ( )
1
,..., 1
n k
k k
i n n i i
P f X X k C p p

= = , 0,..., k n = .
Lema 1. Dac ( ) , X B n p , atunci media este ( ) E X np = i dispersia
este ( ) ( ) var 1 X np p = .
Definiie. Fie 0 > i k , astfel nct
2
1
k

<

. Spunem c secvena
n
este k , -tipic, dac
( )
( )
, 1,...,
1
i i
i i
f np
k i
np p

< =


349
Pentru 0 > i k , astfel nct
2
1
k

<

, notm cu
( ) , A k mulimea secvenelor k , -tipice.
Teorema 1. Considerm modelul de surs i.i.d. Pentru orice 0 > i
k , astfel nct
2
1
k

<

, rezult
(i) ( ) ( ) ( )
1
,..., ,
n
P X X A k <
(ii) exist 0 A > astfel nct pentru orice ( ) , A k ,
( )
( ) ( )
( )
1
2 ,..., 2
nH X A n nH X A n
n
P X X
+
< = < ,
(iii) ( )
( ) ( )
, 2
n
n H X
A k

+
= , unde ( )
n
este un ir de numere reale pozitive,
astfel nct lim 0
n
n

= .
Urmtorul rezultat este similar legii numerelor mari din teoria clasic a
probabilitilor i este referit ca proprietatea de echipartiie asimptotic
(proprietatea AEP)
Teorema 2 (Proprietatea AEP, Shannon, 1948). Dac ( ) ,
n
X n este
un ir de variabile aleatoare discrete i.i.d. X , atunci
irul ( )
1
1
log ,...,
n
p X X
n
| |

|
\ .
converge n probabilitate la ( ) H X ,
( )
1
1
log ,...,
n
p X X
n
| |

|
\ .
n
p

( ) H X
Definiie. Fie 0 > , n numr natural fixat. Mulimea secvenelor -
tipice, notat
( ) n
A

, este definit prin,


( ) n
A

= ( ) ( )
( ) ( )
( )
( ) ( )
{ } 1 1 1
,..., ,..., , 2 ,..., 2
n H X n H X
n
n n n
x x x x p x x
+
< < .
Teorema 3.
(i) Pentru orice ( )
( )
1
,...,
n
n
x x A

,
( ) ( ) ( )
1
1
log ,...,
n
H X p x x H X
n
+
(ii) Pentru n suficient de mare,
( )
( )
1
n
P A

>
(iii)
( ) ( ) ( )
2
n H X n
A

+

(iv) Pentru n suficient de mare,
( )
( )
( ) ( )
1 2
n H X n
A




350
n concluzie, mulimea secvenelor -tipice este de probabilitate
aproximativ egal cu 1 (deci, sursa genereaz aproape sigur secvene -tipice ),
numrul secvenelor -tipice este aproximativ
( )
2
nH X
, iar secvenele -tipice sunt
generate cu aceeai probabilitate. Rezult c pentru surse i.i.d, pentru orice 0 > ,
pentru n suficient de mare, exist un cod unic decodificabil C, astfel nct
( ) ( )
1
L C H X
n
+ . Cu alte cuvinte, blocurile de lungime n pot fi reprezentate
prin coduri binare de ( ) nH X bii.
Definiie. Rata entropic a sursei S este definit prin
( ) ( )
1
1
lim ,...,
n
n
H S H X X
n

= , atunci cnd aceast limit exist.


Pentru o surs S, definim ( ) ( )
1 1
lim ,...,
n n
n
H S H X X X

=
Teorema 4. Dac ( ) , 1, 2,...
n
X n = este un proces staionar, atunci
( ) ( )
1 1
,...,
n n
H X X X

este ir descresctor de numere reale nenegative, deci
( ) H S exist. n aceste condiii, ( ) ( )
1
1
lim ,...,
n
n
H S H X X
n

= = ( ) H S .

BIBLIOGRAFIE

1. Murgan, A.T. Principiile teoriei informaiei n ingineria informaiei i a
comunicaiilor, Editura Academiei Romne, Bucureti, 1998.
2. Cover, T., Thomas, J. Elements of Information Theory, John Wiley&Sons,
New York, 1991.
3. Gray, R. Entropy and Information Theory, Springer Verlag,1990.
4. MacKay, D. Information Theory, Inference and Learning Algorithms,
Cambridge University Press,2003 .

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