Sunteți pe pagina 1din 12

Cercetari operationale

B
arb
acioru Iuliana Carmen
CURSUL 4

Cursul 4

Cuprins
1 Elemente de teoria grafurilor
1.1 Obiectul teoriei grafurilor. Notiuni generale . . . . . .
1.2 Concepte neorientate . . . . . . . . . . . . . . . . . . .
1.3 Determinarea drumului de valoare optim
a . . . . . . .
1.4 Retele de transport . . . . . . . . . . . . . . . . . . . .
1.5 Arbori. Algoritmi pentru optimizarea arborilor partiali
1.5.1 Algoritmul lui Kruskal . . . . . . . . . . . . . .
1.5.2 Algoritmul lui Sollin . . . . . . . . . . . . . . .
1.5.3 Algoritmul lui Prim . . . . . . . . . . . . . . .
Index

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

5
. 5
. 5
. 5
. 5
. 5
. 9
. 10
. 10
11

Cursul 4

Capitolul 1

Elemente de teoria grafurilor


1.1

Obiectul teoriei grafurilor. No


tiuni generale

1.2

Concepte neorientate

1.3

Determinarea drumului de valoare optim


a

1.4

Re
tele de transport

1.5

Arbori. Algoritmi pentru optimizarea arborilor


par
tiali

Deni
tia 1.5.1 Un graf G (X; U ) este conex daca ntre doua vrfuri distincte,
oricare ar ele, exista un lant.
Deni
tia 1.5.2 Un graf neorientat nit se nume
ste arbore daca:
a) Este conex;
b) Nu are cicluri;
Un arbore are cel putin doua vrfuri terminale numite frunze.
Num
arul muchiilor unui arbore este cu o unitate mai mic dect num
arul
vrfurilor.
Astfel, dac
a X = fx1 ; :::; xm g, num
arul m al muchiilor este: m = n 1.
Dac
a ntr-un arbore se suprim
a o muchie oarecare, graful nceteaz
a s
a mai e
conex.
5

Cursul 4
Exemplul 1.5.3

Figura 5.1
Daca suprimam muchia (x5 ; x4 ) din arborele din gura 5.1. arborele
si pierde
calitatea de a conex.
Deni
tia 1.5.4 Orice vrf ales ca punct de pornire ntr-un arbore se nume
ste
radacina. Daca din ecare vrf al unui arbore pleaca numai doua muchii, arboarele se numer
ste bifurcat.
Exemplul 1.5.5 n gura 5.2 sunt prezentate exemple de arbori, din care se pot
recunoa
ste proprietatile acestui tip de graf particular.

Figura 5.2
Daca doua vrfuri oarecare ale unui arbore se unesc print-o noua muchie se
creeaza un ciclu si numai unul. Daca de exemplu n arborele din gura 5.1 se
6

Cercet
ari Opera
tionale B
arb
acioru Iuliana Carmen
introduce o noua muchie (x4 ; x10 ) trasata punctat pe desen, se formeaza ciclul
(x4 ; x5 ; x6 ; x9 ; x10 ; x4 ).
Orice drum ntr-un graf reprezint
a un arbore. Dou
a vrfuri ale unui arbore
sunt legate numai printr-un singur lant.
Cele spuse mai nainte se pot sintetiza sub forma urm
atoarei propozitii:
Propozi
tia 1.5.6 Un arbore G are urmatoarele proprietati:
i) ntre orice doua vrfuri exista un singur lant;
ii) Graful obtinut din G prin suprimarea oricarei muchii este neconex;
iii) Graful obtinut din G prin adaugarea unei muchii ntre doua vrfuri oarecare
contine cel putin un ciclu;
iv) Un arbore avnd n vrfuri, contine cel putin doua destinatii daca n 2;
v) Un arbore avnd n vrfuri are n 1 muchii.
Demonstra
tie: i) S
a presupunem prin absurd c
a ntre dou
a vrfuri oarecare
xi si xj nu exist
a nici un lant. Atunci graful respectiv nu mai este conex contradictie cu denitia arborelui. deci exist
a cel putin un lant ntre xi si xj .
Vom demonstra n continuare c
a el este unic. S
a presupunem c
a ar exista
dou
a lanturi. Atunci reunind cele dou
a lanturi obtinem un ciclu ceea ce contrazice
denitia arborelui.
ii) S
a presupunem prin absurd c
a suprimnd o muchie [xi ; xj ] graful partial
G1 rezultat din G ar conex. Atunci conform denitiei de graf conex ntre xi si
xj ar exista un lant l n G1 . Dar prin completarea lantului l cu muchia [xi ; xj ]
s-ar obtine un ciclu n graful G - ceea ce contrazice denitia arborelui.
iii) Fie G = (X; M ) un arbore pentru care [xi ; xj ] 2
= M . S
a not
am cu G2
graful obtinut prin p
astrarea lui X si ad
augarea muchiei [xi ; xj ] la multimea M .
Presupunem prin absurd c
a G2 nu contine cicluri. Dar n G exist
a deja un lant
l ntre xi si xj . Reunind lantul l cu muchia [xi ; xj ] se obtine un ciclu n G2 ;
iv) S
a presupunem c
a ar exista un arbore G = (X; M ) cu n vrfuri (n 2)
care ar avea cel mult o destinatie. Fie d = (x1 ; x2 ; :::; xn ) un lant elementar
maxim n G. Atunci num
arul de muchii cu o extremitate n vrful x1 este cel
putin 2, deci este adiacent cu alt vrf din d, cea ce face s
a apar
a n G un ciclu.
v) Demonstr
am prin inductie dup
a n; n 2.
Pentru n = 2 arborele este format dintr-o singur
a muchie care uneste cele
dou
a vrfuri, deci armatia este adev
arat
a. Presupunem c
a orice arbore cu \m"
vrfuri are m 1 muchii. Pentru un arbore G1 cu m + 1 vrfuri, exist
a cel putin
un vrf terminal x0 . Suprimndu-l pe x0 mpreun
a cu muchia incident
a lui se
obtine G1 un graf cu \m" vrfuri care nu contine cicluri.
7

Cursul 4
Vom ar
ata c
a G astfel obtinut este si el conex. Fie pentru aceasta dou
a vrfuri
oarecare din G, diferite de x0 : x1si x2 .
Atunci n G1 exist
a un lant l, cu extremit
atile x1si x2 , lant care nu trece prin
x0 si care este lant si n graful G. Deci G1 este conex, adic
a este arbore.
Deni
tia 1.5.7 Un graf partial G1 al grafului G, cu proprietatea ca G1 este
arbore se nume
ste arbore par
tial al grafului G.
Propozi
tia 1.5.8 Un graf este conex daca si numai daca admite un arbore
partial.
Demonstra
tie: ) rezult
a din denitia (1.5.2)
( Dac
a graful G nu constituie un arbore, atunci exist
a n G cel putin o
muchie [xi ; xj ] pe care dac
a o suprim
am obtinem un graf partial G1 care este
conex. Dac
a G1 devine un arbore atunci demonstratia se termin
a.
Dac
a G1 nu este arbore atunci din el suprim
am o muchie obtinnd un graf
G2 conex, s.a.m.d.
ntr-un graf conex neorientat GN = (X; U ) se pot construi mai multi arbori,
num
arul maxim al acestora ind dat de valoarea oric
arui minor de ordinul 1 al
determinantului = (bij ) denit prin:
8
>
>
< j (xi )j ; i = j
bij =
1; (xi ; xj ) 2 U
>
>
: 0; (x ; x ) 2
=U
i

ntruct toti acesti minori au aceeasi valoare.


Fie G1 = (X; V ) un arbore unde ec
arei muchii v i se asociaz
a o valoare l (v)
numit
a lungimea
generalizat
a
a
muchiei.
P
Atunci
l (v) va reprezenta lungimea arborelui G1 .
S
a not
am cu G multimea arborilor care se pot forma dintr-un graf GN .
Problema P
care se pune este de a determina din multimea arborilor G pe acela
pentru care
l (v) este minim
a.
G1 2G

Acest arbore poart


a numele de arbore par
tial minim.
Algoritmii pentru determinarea arborilor partiali minimi se bazeaz
a pe urm
atoarele teoreme:

Teorema 1.5.9 Daca ntr-un graf neorientat GN = X; V n care muchiile U


au fost ordonate, G1 este un arbore partial minim atunci el va contine prima sau
ultima muchie n ecare ciclu al lui GN .
8

Cercet
ari Opera
tionale B
arb
acioru Iuliana Carmen
Teorema 1.5.10 Se considera graful redus GT = XT ; UT obtinut prin atroerea
ecarei componente simplu conexe a grafului denit prin muchiile T ce apartin
unui graf partial simplu conex al lui G = X; U . Daca graful GT este un arbore
partial minim atunci muchiile u = UT unite cu cele ale lui T denesc un graf
partial simplu conex care este minim.
Teorema 1.5.11 Fie G1 = X; V un arbore partial extrem al unui graf G =
X; U unde muchiile u au fost dotate cu o ordine completa. Oricare multime
de vrfuri A X astfel nct subgraful GA = A; UA sa e conex formeaza un
arbore partial extrem GA = A; VA care verica relatia:
V \ UA

1.5.1

VA

Algoritmul lui Kruskal

n algoritmul lui Kruskal se opereaz


a pe etape, alegnd la ecare etap
a muchia
de valoare cea mai mic
a care nu formeaz
a cicluri cu muchiile g
asite n etapele
anterioare.
Algoritmul ncepe prin ordonarea muchiilor dup
a valoarea lor cresc
atoare
v1 < v2 < ::: < vn , construindu-se de ecare dat
a arborele corespunz
ator.
Astfel, dac
a cea mai mic
a valoare corespunde muchiei u1 se va forma un prim
arbore U1 = fu1 g.
Apoi se caut
a muchia u2 cu valoarea corespunz
atoare v2 6= v1 astfel nct
arborele U2 = fu1 ; u2 g s
a nu contin
a cicluri.
Se continu
a algoritmul pn
a se obtine arborele Un 1 = fu1 ; u2 ; :::; un 1 g de
lungime minim
a.
Observa
tia 1.5.12 Cu ajutorul algoritmului lui Kruskal se pot obtine si arbori
de valoare maxima. Pentru obtinerea lor se aleg muchiile care au valoare maxima si care nu formeaza cicluri cu muchiile deja eliminate. Se va avea grija ca
muchiile care nu exista sa e considerate de valoare zero.
Observa
tia 1.5.13 Un procedeu de obtinere a arborelui minim, numit procedeul
dual, consta n eliminarea muchiilor de valoare maxima care nu deconexeaza graful. Se va obtine arborele dual al arborelui minim. Complementarul acestuia va
arborele minim.
Ambele procedee ale algoritmului Kruskal pot operate pe matricea de valori
a grafului. se va tine cont c
a aceast
a matrice este simetric
a: V = vij cu
9

Cursul 4

vij =

1.5.2

vij

dac
a muchia [xi ; xj ] 2 U

dac
a muchia [xi ; xj ] 2
=U

Algoritmul lui Sollin

Acest algoritm pentru determinarea arborelui minim foloseste notiunea de dep


artare de la un punct la un drum.
Denim ca dep
artare de la un punct la un drum minimul dintre distantele de la acel punct la punctele prin care trece drumul.
De exemplu distanta de la punctul xi la drumul [xj ; xj1 ; :::; xjk ] este :
min f(xi ; xj1 ) ; (xi ; xj2 ) ; :::; (xi ; xjk )g
Prin intermediul distantei de la un punct la un drum se stabileste vrful cel
mai apropiat de punctul dat, ca ind vrful care se g
aseste fata de punct la o
distanta nu mai mare dect cel
alalt vrf.
Cel mai apropiat punct de un drum este oricare dintre punctele cele mai
apropiate de acel drum.
Algoritmul lui Sollin const
a n formarea unor subarbori prin unirea a cte
unui vrf al grafului cu vrful fata de care muchia are valoarea cea mai mic
a.
Primul subarbore elimin
a dou
a din vrfurile grafului.
Apoi se alege un alt vrf (care nu face parte din subarborele precedent) si se
uneste de asemenea cu vrful cel mai apropiat (n sensul mentionat). Se obtine
un alt subarbore.
Operatiunea continu
a pn
a la determinarea tuturor subarborilor din graf,
mentionnd c
a nu exist
a o ordine de preferinta n alegerea vrfurilor.
Subarborii astfel obtinuti se consider
a ca vrfuri si li se aplic
a algoritmul pn
a
cnd ultima pereche de subarbori conduce la un arbore care reprezint
a arborele
minim al grafului.

1.5.3

Algoritmul lui Prim

Algoritmul lui Prim const


a n alegerea muchiei care leag
a un vrf arbitrar ales de
cel mai apropiat vrf.
Se repet
a aceste selection
ari e pornind de la un vrf izolat din graful partial
format de muchiile deja selectionate e pornind de la componentele simplu conexe
ale acestui graf partial.
Cnd ultimul graf partial este simplu conex s-a obtinut arborele minim.
10

Cercet
ari Opera
tionale B
arb
acioru Iuliana Carmen
O variant
a a algoritmului Prim este urm
atoarea:
Se alege muchia care leag
a un vrf cu cel mai apropiat vecin. Aceast
a muchie,
mpreun
a cu cele dou
a vrfuri formeaz
a o component
a conex
a a grafului.
Se caut
a apoi cel mai apropiat vecin al vrfurilor componentei g
asite si i se
adaug
a de asemenea muchia care a servit la g
asirea vecinului.
Procednd n acest fel componenta conex
a g
asit
a se extinde progresiv pn
a
cnd se obtine componenta care cuprinde toate vrfurile grafului si care va constitui arborele minim c
autat.

11

Index
Algoritmul
Kruskal, 9
Prim, 10
Sollin, 10
Arbore, 5
bifurcat, 6
partial, 8
partial minim, 8
Departare
de la un punct
la un drum, 10
Frunze, 5
Lungime
generalizata a unei muchii, 8
Radacina, 6

12

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