You are on page 1of 21

C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.

Croitoru - Graph Algorithms


* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Algoritmica Grafurilor - Cursul 13
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
17 ianuarie 2020
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 1 / 21


Cuprins
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
1 Tree decomposition
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Tree width
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Small
- Graph tree decompositions
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
Proprietăţi ale tree descompunerilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru
Tree - Graph Algorithmscu
descompuneri * C.rădăcină
Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Aplicaţii
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 2 / 21


Tree decomposition - Definiţie
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Definiţie
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
O tree - Graph Algorithms * C. a
Croitorudecomposition unui- Graph
Croitoru G = (V
grafAlgorithms * C.; E ) este
Croitoru o pereche
- Graph T
Algorithms * =
f
(T ; Vt : t
C. Croitoru -2 g
Graph Algorithms * C. Croitoru - Graph Algorithms
T ), unde T este un arbore iar Vt : t V (T f * C. 2
Croitoru - Graph g
Algorithms
) este o
de submulţimi de noduri ale lui G,
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - GraphV  8 2
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
familie t Algorithms * C. Croitoru - ca:
V , t T astfel
- - Graph
(Acoperirea V =
S
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Algorithms *nodurilor)
C. Croitoru - Graph Algorithms )V
t 2V (*TC. t;
Croitoru - Graph Algorithms * C.
- C.(Acoperirea muchiilor) Pentru orice muchie e E , ambele capete 2
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* ale
C. Croitoru
lui e- Graph
suntAlgorithms
conţinute * C. Croitoru
într-o- Graph Algorithms
mulţime Vt ,* C. Croitoru un
pentru - Graph
anumit t 2
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
V (T ) .
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- -Croitoru
Graph Algorithms Fie
(Coerenţa) * C. Croitoru
t ; t2 ;-Croitoru
- Graph Algorithms1 * C.
tGraph
3 trei
Algorithms
noduri * C.din
Croitoru
T - Graph
astfelAlgorithms
ca t2 *se C. află pe
- Graph Algorithms * C. Croitoru - Graph Algorithms *
C.drumul dintre
Croitoru - Graph t1 şi *t3C. in
Algorithms T . - Atunci,
Croitoru dacă* C.
Graph Algorithms 2
v Croitoru
V se aflăAlgorithms
- Graph în Vt1 şi
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Vt3 , v *seC.află
Algorithms
şi în V 2 .
Croitoru - GraphtAlgorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 3 / 21


Tree-width - Definiţie
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Remarci
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms
Proprietatea de *coerenţă
C. Croitoru - poate
Graph Algorithms * C. Croitoruastfel:
fi reformulată - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
- Croitoru
(Coerenţa’) Fie t1*;C.
- Graph Algorithms 2
; t3 - Graph
t2Croitoru V (TAlgorithms
) aşa încât* C. Croitoru - Graph Algorithms
t2 aparţine *
drumului
t şi t în T . Atunci V\ V
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
dintre
* C. Croitoru1- Graph2 Algorithms * C. Croitorut-1Graph Algorithms
t3 V .
t2* C. Croitoru - Graph
(Coerenţa”) Pentru orice x 2
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
- Graph V , subgraful lui T indus de t f 2
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
V (TAlgorithms
- Graph ) : x *V 2 g este- Graph
C. tCroitoru (un Algorithms
subarbore * C. al lui T
Croitoru ) conex.
- Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Mulţimile Vt- Graph
* C. Croitoru ale descompunerii
Algorithms * C. Croitoru sunt numite
- Graph bags.
Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Definiţie
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
T
Fie Croitoru f
Graph 2 g
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
= (-T ; VAlgorithms
t : t *T ) o tree-descompunere
C. Croitoru a lui- G,
- Graph Algorithms * C. Croitoru Graphlăţimea
Algorithms *
C. Croitoru
(width) lui este -TGraph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph

width
Graph Algorithms * C. Croitoru T
- Graph j j
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
( )Algorithms
= max* C.(Croitoru
Vt - Graph1): Algorithms * C. Croitoru
t 2V (T*) C. Croitoru - Graph Algorithms *
- Graph Algorithms * C. Croitoru - Graph Algorithms

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 4 / 21


Tree-width - Definiţie
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Definiţie
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Tree-width a unui
Graph Algorithms graf -G,
* C. Croitoru este
Graph cea mai
Algorithms mică lăţime
* C. Croitoru a unei * C. Croitoru
- Graph Algorithms
- Graph Algorithms *
tree-descompuneri a luiG:C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

* C. tw
Croitoru f width
Algorithms T T
( Croitoru
* C. ) : - Graphtree-descompunere
Algorithms * C. Croitorua- lui g
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
(G )- Graph
= min GraphG :
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 5 / 21


Tree-width
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Remarcă
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph

* C.?
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
tw (G )=
Graph 0 dacă* şi
Algorithms numai- Graph
C. Croitoru E (G ) =
dacăAlgorithms .
Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
Propoziţie
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C.G
Dacă Croitoru
este -oGraph Algorithms
pădure cu *EC.(G 6 ?
Croitoru
) = - Graph Algorithms
, atunci tw (*G C.)Croitoru
= 1. - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -

- Graph Algorithms *Din


Demonstraţie. observaţia
C. Croitoru de mai*sus
- Graph Algorithms C. Croitoru >
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
tw (G- Graph
) 1. Dacă *G
Algorithms C. este un
Croitoru
arbore, - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
atunci
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* fie
C. Croitoru - Graph Algorithms
T obţinut din G prin * C. Croitoru - Graph Algorithms
redenumirea * C. Croitoru
fiecărui 2
nod v- Graph V (G ) prin
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
tv , Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Graph
inserează
Croitoru - Graphpe fiecare
Algorithms * C.muchie
Croitoru - tGraph 2
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
(uv E*(C.
u tv Algorithms )) un -vârf
GCroitoru Graphnou tuv , *
Algorithms

* C. Croitoru - Graph
f g
u pentru orice tu asociat
* C. Croitoru - Graph
2
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
setează Vtu =Algorithms lui u V (G ) şi Vtuv =
Algorithms * C. Croitoru - Graph
f
Algorithmsg
u ; v *pentru
C. Croitoru - Graph
orice 2 V (T
Algorithms
tuv ) Croitoru
* C. asociat - Graph 2
uv E (*G
lui Algorithms C.)Croitoru
. -

f 2 g
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
(T ; Algorithms
- Graph Vt : t * C.VCroitoru
(T ) -)Graph
esteAlgorithms
o tree-descompunere a lui G *cu lăţimea
* C. Croitoru - Graph Algorithms
1.
Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 6 / 21
Tree-width
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Demonstraţie (continuare). O tree-descompunere a unei păduri cu
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru
p componente - Graph
se poate Algorithms
obţine * C. Croitoruarbitrar
adăugând - Graph Algorithms
p 1* muchii
C. Croitorula
- tree-
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
descompunerile componentelor (fără a crea circuite).
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms 
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 7 / 21


Small tree decompositions
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Definiţie
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
O tree-descompunere, T =Algorithms
Algorithms * C. Croitoru - Graph (T ; fV * C. : t 2- V
t Croitoru Graph )g); este
(TAlgorithms * C.mică
Croitoru(small)
-
t1 ; t2 2 *VC.(Croitoru Vt1  *VC.t2 .
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
dacă- Graph
nu există
Algorithmsnoduri distincte
* C. Croitoru - Graph Algorithms T ) astfel
- Graphca
Algorithms
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Propoziţie
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Dată Algorithms * C. Croitoru - Graph Algorithms
o tree-descompunere a lui G, * C.oCroitoru - Graph Algorithms * C.small
tree-descompunere Croitorua- lui G
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
de aceeaşi lăţime* poate
- Graph Algorithms fi -construitıa
C. Croitoru Graph Algorithms în* C.
timp polinomial.
Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - GraphFie
Demonstraţie. T = *(T
Algorithms f
C. ;Croitoru 2
Vt :- Graph g
V (T ) )* oC. tree-descompunere
t Algorithms Croitoru - Graph a
lui G cu V t1
Graph Algorithms V pentru t
t2 Croitoru - Graph
* C. ; 2
t
1 Algorithms
2 V (T ) , 6
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
t 1 =
* C. Croitoru t2 .
- GraphPutem presupune
Algorithms * C. Croitoru că
2
t1 t2 - GraphE (Algorithms
T ) (altfel,* C. Croitoru
putem- Graph Algorithmsdouă
determina * C. Croitoru
noduri- Graph Algorithms *cu
adiacente C. această
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
proprietate
C. Croitoru -considerând
Graph Algorithms drumul
* C. Croitorude la t1Algorithms
- Graph la t2 ). * C. Croitoru - Graph Algorithms
* C. Croitoru - tGraph
Contractând t
1 2 Algorithms
într-un * C.
nod Croitoru
nou -tGraph
12 cuAlgorithms
Vt12 =* C.VCroitoru
t2 , se - obţine
Graph o tree-
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
descompunere
Graph Algorithmsa* lui G mai
C. Croitoru mică
- Graph (conţine
Algorithms mai puţine
* C. Croitoru perechi* C.deCroitoru
- Graph Algorithms noduri
(t10 ; -t2Graph Vt10 
0 ) cuAlgorithms * C.0 Croitoru
V t2 ). - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 8 / 21


Small tree decompositions
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Demonstraţie (continuare). Repetăm această reducere până se
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms
obţine * C. Croitoru - Graph Algorithms
o tree-descompunere small.* C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Propoziţie
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Dacă T
Algorithms
= (*T f 2
C.; Croitoru
Vt :- Graph
t Algorithms
V (T ) )* C.g Croitoru
este - Graph Algorithms * C. Croitoru
o tree-descompunere small - a lui

G, atunci j j6j j
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
T
- Graph Algorithms *G .
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms
Demonstraţie. * C. Croitorudupă
Prin inducţie - Graph n j j
Algorithms
= G* .C. Croitoru
Dacă - n Graph
=Algorithms
1, atunci
j j * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
= 1.
T Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms
În pasul inductiv, * C. Croitoru
pentru - Graph >
n Algorithms * C. Croitoru - o
2, considerăm Graph Algorithms
frunză t1 *aC.lui
Croitoru
T cu
vecinul t2-. Graph
Croitoru f 2
t1 ; V*tC. Croitoru
(T Algorithms : t -V Graph g
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
(TAlgorithms
t1 ) )* C.
este o tree-descompunere
Croitoru - Graph Algorithms *
C. Croitoru
small a lui G - Graph n
0 = Algorithms
G (Vt1* C. V n Croitoru
t2 ) .
* C. Croitoru - Graph Algorithms * C. Croitoru
- Graphipoteza
Din Algorithmsinductivă j
* C. Croitoru - T j6j j
Graph Algorithms
- Graph Algorithms * C. Croitoru - Graph
t1 G0 ,
astfel
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C.Tj j j
Croitoru
= T j
- GraphtAlgorithms
1 +1 6j j* C. 0
GCroitoru 6j j
+ 1 - Graph
GAlgorithms
:
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
* C. Croitoru

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020



9 / 21
Minori
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Remarci
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
dacă graful
Algorithms H se- Graph
* C. Croitoru obţine din G
Algorithms * C.prin contractarea
Croitoru unei
- Graph Algorithms * C. muchii
Croitoru - uv în
6
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
z , atunci tw (H ) tw (G ): într-o tree-descompunere a lui G,
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
inserăm
Croitoru z Algorithms
- Graph în fiecare * C.bag care
Croitoru conţine
- Graph pe *uC.sau
Algorithms v şi- Graph
Croitoru ştergem apoi
Algorithms * pe
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
u şi v din orice bag pentru a obţine o tree-descompunere
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
a lui H.
Algorithms
dacă H* C. Croitoru
este un -subgraf
Graph Algorithms
al lui* G,C. Croitoru
atunci - Graph 6
tw (Algorithms
H ) tw * C.
(GCroitoru
). -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Definiţie
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
H este un minor al unui graf G dacă se poate obţine din G prin şterg-
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
ereaAlgorithms * C. Croitoru succesivă
si contractarea - Graph Algorithms
a unor* C. Croitoru
muchii - Graph
din Algorithms
G. * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Corolar
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
Dacă H este- Graph
C. Croitoru un minor
Algorithmsal* grafului
C. Croitoru - G, atunci
Graph Algorithms 6
tw*(C.HCroitoru
) (G ).Algorithms
tw- Graph
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Demonstraţie. Folosind
Graph Algorithms * C. observaţiile
Croitoru - Graph Algorithms *de mai sus.
C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 10 / 21
Tree-width
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Fie Graph
TWAlgorithms f 6 g
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
= G : tw (G ) k .
- GraphkAlgorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
TW* C.(Tree-Width - versiunea
Croitoru - Graph Algorithms de decizie)
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru
Instanţă: G un graf şi k - 2N
Graph Algorithms
. * C. Croitoru - Graph Algorithms * C. Croitoru -

Întrebare: G TW
- Graph Algorithms2
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
k?
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Teoremă
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Problema Tree-Width
Graph Algorithms * C. Croitoru( - Graph
versiunea
Algorithmsde* C.decizie) esteAlgorithms
Croitoru - Graph o problemă NP-
* C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
completă.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - GraphOmisă.
Demonstraţie. Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 11 / 21


Tree-width este FPT (fixed-parameter tractable)
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
LemăGraph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Pentru orice
Croitoru - Graph 2N
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
k Algorithms
, TW este -oGraph
* C. kCroitoru familie închisă
Algorithms la minori.
* C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Teoremă
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
(Bodlaender) Pentru orice k fixat, problema determinării dacă G este
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
în TW k sau
Croitoru nuAlgorithms
- Graph poate fi* C.rezolvată în timpul
Croitoru - Graph O
Algorithms * C. 
(f Croitoru
(k ) n- )Graph
. Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Proofs. Omisă.
Algorithms (f (k- Graph
* C. Croitoru ) este o funcţie
Algorithms exponenţială
* C. Croitoru în k .)* C. Croitoru -
- Graph Algorithms
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Notaţie:
Croitoru Fie T = (T ;* C.
- Graph Algorithms fVCroitoru 2
t : t - Graph g
(T ) ) o* C.
VAlgorithms tree-descompunere
Croitoru - Graph Algorithmsof* G.
C. Croitoru
0 - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Dacă [
T este un subgraf al lui T , GT Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph
0 este subgraful lui G indus de
* C. Croitoru - Graph
Algorithms
mulţimea de* C.noduri
Croitoru - Graph Algorithms
Vt . * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph
t 2V (T 0
)
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 12 / 21


Proprietăţi ale tree descompunerilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Teoremă
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms
(Proprietatea * C. Croitorunodurilor.)
separării - Graph Algorithms * C. Croitoru - Graph
Presupunem că Algorithms
T t *are C. Croitoru
compo-
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
nentele conexe T1 ; T2 ;*:C.: :Croitoru
Croitoru - Graph Algorithms
; Tp . - Graph
Atunci subgrafurile GT1 Algorithms
Algorithms * C. Croitoru - Graph
Vt ; GT* 2
Vt ; C.
: : Croitoru
: ; GTp- Graph
VtAlgorithms
nu au *noduriC. Croitoru
în- Graph
comun Algorithms
şi nici* C.muchii
Croitoru -între
Graph Algorithms
ele.
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 13 / 21


Proprietăţi ale tree descompunerilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Teoremă
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
(Proprietatea
Algorithms * C. separării muchiilor.)
Croitoru - Graph Fie X- Graph
Algorithms * C. Croitoru şi YAlgorithms
componentele
* C. Croitoru -conexe
ale Graph
lui T după ştergerea unei muchii xy 2
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
E (T ). Atunci, ştergerea
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru -din
nodurilor GraphV x \ Vy *deconectează
Algorithms C. Croitoru - Graph G
Algorithms
în două * C. Croitoru - Graph H
subgrafuri X = G*X
Algorithms
Vx \* C. \
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
VyCroitoru =G
şi HY- Graph Y V
Algorithms V . Cu
x* C. Croitoru
y - Graph Algorithms * C.XCroitoruY- Graphau noduri
alte cuvinte H şi H nu
Algorithms
în comun şi* nici
C. Croitoru
muchii- Graph Algorithms
între ele. * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 14 / 21


Proprietăţi ale tree descompunerilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
AlteC.proprietăţi:
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms
Fie G un * C. Croitoru - Graph cu
graf conex Algorithms
tw (G* )C.=Croitoru j j
- Graph Algorithms
k , atunci sau G *=C. kCroitoru
+ 1 -sau G
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
are oAlgorithms
- Graph mulţime * C.separatoare de noduri
Croitoru - Graph Algorithms * C. de cardinal
Croitoru k.
- Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C.dacă
Croitoru (G ) Algorithms
tw- Graph = 1, atunci G este
* C. Croitoru o pădure.
- Graph Algorithms * C. Croitoru - Graph Algorithms
* tw (Pr
Algorithms

C. Croitoru - Graph f g
Algorithms
Ps ) = min r ; s .
* C. Croitoru
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph
tw (Algorithms
Kn ) = n* C. Croitoru
1. - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 15 / 21


Tree descompuneri cu rădăcină
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Definiţie
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
O tree-descompunere
Croitoru - Graph Algorithms * C.cu rădăcină
Croitoru a lui G* C.este
- Graph Algorithms o tree-descompunere
Croitoru - Graph Algorithms *
T f 2 g
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
= (T ; Vt : t V (T ) ) a lui G, în care un anumit nod r al lui T
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
esteAlgorithms
declarat * C.rădăcină.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Notaţii:
Croitoru -Fie
GraphtAlgorithms
un nod * C.dintr-o tree-descompunere
Croitoru - Graph Algorithms * C. Croitorucu rădăcină
- Graph T
Algorithms * =
f
(T ; Vt : t 2 V g
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
(T ) ).
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Tt este subarborele
* C. Croitoru -lui T Algorithms
cu rădăcina în t -. Graph Algorithms * C. Croitoru
Graph Algorithms Graph * C. Croitoru
[
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
G [t ] este subgraful lui G indus de nodurile din
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Vx (i.* e.,
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru x 2- V
Graph
(Tt )Algorithms
*GC. [Croitoru
t] = G - Graph
Tt ). Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 16 / 21


Aplicaţii - Colorarea nodurilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* Reamintim:
C. Croitoru - GraphoAlgorithms
p-colorare * C. Croitoru - Graph Algorithms
a nodurilor unui graf* C. Croitoru V ; E ) este o
G =- (Graph
: !f : : ; g ( )6
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
; ; : =
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithmspentru
funcţie c V 1 2 p astfel ca c u c (v ) orice
* C. Croitoru
- Graph
uv E . 2
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
* C.

C.Fie H 0 - Graph
Croitoru 00 două *subgrafuri
şi HAlgorithms C. Croitoru - Graph aleAlgorithms
lui G, *cu C. Croitoru c 0 şi c 00 ,
- Graph Algorithms
p-colorările
* C. Croitoru - Graph00Algorithms0 * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
respectiv.
Algorithms c este
* C. Croitoru c -compatibilă
- Graph Algorithms * C. Croitoru dacă- Graph
pentru 2 V -(H 0 )
orice* C.vCroitoru
Algorithms \
Graph
V (H 00
Algorithms
) avem 0
* C.cCroitoru
(v ) = 00
- Graph
c (vAlgorithms
). * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru T
Fie - Graph= (T f
Algorithms 2
; Vt *: C.tCroitoru V (- T g
) )Algorithms
Graph tree-descompunere cuAlgorithms
* C. Croitoru - Graph rădăcină * a
lui G. Pentru orice t 2
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
T şi orice p-colorare c a lui
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
G t , definim
(
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru 1; dacă
- Graph G [t ] are* o
Algorithms C. p-colorare ; c-compatibilă
Croitoru - GraphcAlgorithms * C. Croitoru
Prev
- Graph t (c ) =* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Algorithms
Croitoru - Graph Algorithms 0;* C.altfel.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Propoziţie
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
orice -copil
Graph Algorithms
v al lui *u, C. Croitoru
Prev u (c )Algorithms
- Graph
= 1 dacă şi numai dacă pentru
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
există o
colorare c a lui Gv , c-compatibilă cu Prevv (c ) = 1
Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 17 / 21
Aplicaţii - Colorarea nodurilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru
Demonstraţie. )
“ = - Graph
” dacă este
Algorithms * C. colorare
Croitoru - Graph Algorithms
a lui G [u ],* C. Croitoru -
c-compatibilă,
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
cum- Graph
Gv Algorithms
este un *aC.subgraf al lui
Croitoru - Graph G [u ],* atunci
Algorithms C. Croitorurestricţia lui * C.la Gv ne
- Graph Algorithms
Croitoru
oferă - Graph Algorithms
colorarea dorită, *c.C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
( C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
“ =* ”C. Presupunem că u *are
Croitoru - Graph Algorithms exact- Graph
C. Croitoru doi Algorithms
copii v *şiC. Croitoru
w , şi -că Graphavem două
colorări c 0 *şiC.cCroitoru
Algorithms 00 , c-compatibile,
- Graph Algorithms *respectiv
C. Croitoru - Graph Algorithms * C. este
(demonstraţia Croitorusimilară
-
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
pentru mai
- Graph mulţi* copii).
Algorithms C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Graph f
Deoarece (T ; Vt : t * C.VCroitoru
Croitoru - Algorithms 2 g
(T ) -)Graph
esteAlgorithms * C. Croitoru - Graph Algorithms
o tree-descompunere, \
V (G [v* ])
V (G* C. 
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
[wCroitoru
]) V u , urmează
- Graph Algorithms *că C. c
0 00
este- Graph
Croitoru c -compatibilă.
Algorithms * C. Croitoru - Graph
0 00
Combinând c şi c obţinem c : Croitoru
Algorithms * C. Croitoru - Graph Algorithms * C. V (G [-uGraph ! f
]) Algorithms g
1; 2;* :C.: :Croitoru
; p . - Cum
f 2 g
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
(T ;- Graph : t
Vt Algorithms *VC. (Croitoru
T ) ) - este o tree-descompunere,
Graph Algorithms nu există
* C. Croitoru - Graph Algorithms * C. muchii
2 E (G )- cu
xy C. Croitoru 2 2
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
x V (G [v ]) V şi y V (G [w ]) V , deci c este o
Graph Algorithms * C. Croitoru u- Graph Algorithms * C. Croitoru -uGraph Algorithms
p-colorare a lui
* C. Croitoru [u ].
G Algorithms
- Graph * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 18 / 21
Aplicaţii - Colorarea nodurilor
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
Teoremă
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
; fVt :
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Dacă G,Algorithms
Graph un graf* C.deCroitoru
ordin n, are
- Graph o tree-descompunere
Algorithms small* C.
* C. Croitoru - Graph Algorithms (TCroitoru
t 2 V (T )g) cu lăţimea w , atunci putem decide dacă G este p-colorabil
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
în timpul O-(Graph
C. Croitoru
1  n O*(1C.
Croitoru - GraphwAlgorithms
p +Algorithms ) Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
*)C.
. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph

Graph Algorithms * C.Transformăm


Demonstraţie. Croitoru - Graph Algorithmsf
(T ; V * C.
t Croitoru2
: t - Graph V (T g
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
) ) într-o
Algorithms a tree-
* C. Croitoru
- Graph Algorithms * C. Croitoru - Graph
descompunere cu rădăcină (r ). Pentru orice v Algorithms * C. Croitoru - 2
Graph Algorithms * C.
V (T ) şi orice p-
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
colorare c a- Graph
C. Croitoru lui G v , determinăm
Algorithms * C. Croitoru Prev (c ): plecând
- GraphvAlgorithms din- Graph
* C. Croitoru frunzele lui T ,
Algorithms
* C. Croitoru
şi apoi folosind- Graph Algorithms * C. Croitoru
proprietatea de mai - Graph
susAlgorithms
pentru* celelalte
C. Croitoru - noduri,
Graph într-o
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
ordine
Graphcorespunzătoare.
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
G = - Graph
G [rAlgorithms * C. Croitoru - Graph
] este p-colorabil dacăAlgorithms * C. Croitoru
dacă -Prev Graph Algorithms * C.
şi numai v (c ) = 1 pentru o
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
colorare c. Testarea
C. Croitoru dacăc
- Graph Algorithms * C.este Gv- Graph
Croitoru colorare şi determinarea
Algorithms Prevv (c )
luiAlgorithms
* C. Croitoru - Graph
* C. Croitoru - Graph
pot fi făcute în timpul (nAlgorithms O* O
C. Croitoru
(1) - Graph Algorithms * C. Croitoru
), astfel complexitatea timp totală este- Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
datăGraph
în principal de numărul de candidaţi
Algorithms * C. Croitoru - Graph Algorithms pentru
* C. Croitoru adică p *jVC.v jCroitoru
c, Algorithms
- Graph .
Complexitate: V (T ) pj j
- Graph Algorithms * C. Croitoru w- Graph
n O
+1 Algorithms
(1)
O
* C. Croitoru
= (p w  O
+1 - Graph
n (1Algorithms
)
). *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 19 / 21


Alte aplicaţii - Abordări similare (programare dinamică mai avansată)
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Teoremă
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
Dacă- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
G, un graf de ordin n, are o tree-descompunere small (T ; V : f
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * t
2
t C. VCroitorug
(T ) )- Graph
cu lăţimea
Algorithmsw * ,C.cardinalul
Croitoru - Graphminim
Algorithmsal*unei acoperiri
C. Croitoru cu noduri
- Graph Algorithms
a luiAlgorithms
G poate fi determinată în timpul (2 O
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
w 
+1 * C.OCroitoru
n (1)
).
- Graph
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Teoremă
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
DacăGraphG,Algorithms * C. Croitoru
un grafde - Graph n
ordin Algorithms * C. Croitorupe
cu ponderi - Graph Algorithmsare
noduri, * C. Croitoru
o tree-
descompunere small (T
Croitoru - Graph Algorithms f
; Croitoru
* C. t2
Vt : - Graph g
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
V (T ) )* C.
Algorithms cuCroitoru
lăţimea wAlgorithms
- Graph , o mulţime *
C. Croitoru
stabila - Graph Algorithms
de pondere maximă * C. Croitoru
a lui- Graph
G Algorithms
poate fi* C.determinată
Croitoru - Graph Algorithms
în timpul
O  
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
w +1 w n ).
(4Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 20 / 21


Sfârşit
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -

Sfârşit!
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C.
Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *
C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms
* C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph
Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru -
Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru
- Graph Algorithms * C. Croitoru - Graph Algorithms * C. Croitoru - Graph Algorithms *

Algoritmica Grafurilor - Cursul 13 17 ianuarie 2020 21 / 21

You might also like