You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Grafs i Complexitat<br />
Curs 2010-11
1. Introducció i fonaments
Un graf és un conjunt de vèrtex i un conjunt<br />
de línies de manera que cada línia uneix dos<br />
vèrtex.
Història<br />
<br />
1736: Solució del problema dels ponts Königsberg per Euler.<br />
Primer teorema de la teoria de grafs.
Història<br />
1936: König escriu el primer llibre sobre teoria<br />
de grafs (en alemany).<br />
1962: Oystein Ore escriu el primer llibre en<br />
anglès sobre la teoria de grafs:”Theory of<br />
Graphs”.També escriu: Graphs and Their Uses<br />
(1963) y The Four-Color Problem (1967).<br />
2007: Múltiples aplicacions degut a la relació<br />
amb les ciencies de la computació: optimizació<br />
de xarxes o clasificació de dades.
Motivació<br />
Problemes molt diversos es poden modelitzar<br />
matemàticament, mitjançant grafs:<br />
<br />
Com distribuir 4 cases unides entre elles per<br />
camins, sense que hi hagi cruïlles?<br />
Graf pla
Motivació<br />
<br />
Dibuixar una figura sense repetir línies i sense<br />
aixecar el llapis.<br />
SÍ<br />
NO
Exemples històrics
Problema del cavall<br />
Es modelitza com un graf i s’ha de trobar un camí<br />
Solució d’Euler: és un quadrat màgic<br />
que passi per tots els vértex un i només un cop<br />
en el que totes les files i columnes<br />
sumen 260
Problema del viatjant<br />
Un viatjant comercial amb seu a la ciutat A,<br />
ha de visitar una serie de clients en diverses<br />
ciutats de manera que la ruta comenci i acabi<br />
en la ciutat A. Quina ruta ha de seguir per tal<br />
de minimitzar el cost?<br />
Es modelitza amb un graf complet i ponderat<br />
(costos) i cal trobar un circuit hamiltonià de<br />
cost mínim.
El problema dels quatre colors<br />
(Appel i Haken 1976)<br />
Conjectura (Francis Guthrie, 1852): Tot mapa<br />
es pot pintar utilitzant només cuatre colors de<br />
manera que les zones amb frontera comuna<br />
tinguin colors diferents
El problema del camí mínim<br />
(Dijkstra 1959)<br />
Donada una xarxa de transport (metro per<br />
exemple) trobar la ruta òptima entre cada<br />
punt de la xarxa (estacions).
Més exemples
Modelització de la World-Wide<br />
Web<br />
Estudi de la topologia de la xarxa.<br />
(Organització dels nodes de comunicacions i<br />
cablejats. Punts febles)<br />
Formulació d’algorismes de valoració de les<br />
pàginas web (p.e. algorisme PageRank de<br />
Google).
Problemes en teoria de grafs<br />
<br />
La major part dels problemes en la teoria de grafs<br />
es poden classificar com:<br />
1) Problemes d’existència: ponts de Königsberg,<br />
salt del cavall, coloració d’un mapa, …<br />
2) Problemes de construcció: construir un camí<br />
eulerià, …<br />
3) Problemes d’enumeració: etiquetatge de grafs,<br />
…<br />
4) Problemes d’optimització: problema del viatjant,<br />
problema del carter xinès, …
1.Definicions bàsiques
Graf<br />
Un graf G(V,A) està format per un conjunt de<br />
vèrtex V={v 1 , v 2 , .., v n } i un conjunt de línies<br />
A={a 1 , a 2 , …, a m } de manera que cada línia<br />
uneix dos punts.<br />
S’anomena regió l’espai<br />
contigu limitat per un<br />
conjunt de línies<br />
R={r 1 , r 2 , …, r r }<br />
v 1<br />
v 3<br />
r 1<br />
v 2<br />
v 6<br />
r 2<br />
v 4<br />
v 5
Graf dirigit i graf simètric<br />
Graf dirigit: les línies tenen sentit i reben el nom<br />
d’arcs.<br />
Graf simètric: les línies no tenen sentit i reben el<br />
nom d’arestes.
L’ordre d’un graf és el<br />
nombre de vértex que<br />
el formen.<br />
La mida és el nombre<br />
d’arestes<br />
v 1<br />
v 3<br />
v 2<br />
r 1<br />
v 6<br />
r 2<br />
v 4<br />
v 5
Graf ponderat<br />
En un graf ponderat cada aresta (arc) porta<br />
associat un cost.<br />
3<br />
5<br />
3<br />
1<br />
2
Veinatge<br />
Els successors (v i ) d’un vèrtex v i en un graf<br />
dirigit, és el conjunt de vèrtex a què es pot<br />
arribar usant només un arc.<br />
antecessor<br />
successor<br />
v i<br />
Els antecessors -1 (v i ) d’un vèrtex v i en un<br />
graf dirigit, és el conjunt de vèrtex des dels<br />
què es pot arribar a v i usant només un arc.
Veinatge<br />
En un graf simètric són veïns de v i ((v i ) ) tots<br />
els vèrtex a què s’arriba amb una sola aresta<br />
v i<br />
Llaç és una aresta (arc) que surt i va a parar<br />
al mateix vèrtex
Camí<br />
Un camí P entre dos nodes, és una<br />
seqüència ordenada d’arestes (arcs) on el<br />
vèrtex final d’un és l’original de la següent.
Distància<br />
La distància entre dos vèrtex v i i v j és el nombre<br />
d’arestes que conté el camí més curt entre v i i v j .<br />
<br />
<br />
Camí simple: que no repeteix cap aresta<br />
Camí elemental: que no repeteix cap node<br />
2<br />
4 5 6<br />
1<br />
7<br />
8<br />
3<br />
9 10
Circuït<br />
Un circuït C és una camí que comença i<br />
acaba en el mateix vèrtex.
Teorema<br />
<br />
Sigui G(V,A) un graf simètric. Tot camí P entre dos<br />
nodes u, v, conté un camí elemental entre u i v.<br />
Dem. Sigui P{u=x 1 , x 2 , …, x k =v} la seqüència de vèrtex<br />
del camí. Si no hi ha cap vèrtex repetit, P és un camí<br />
elmental. Sino, existeix x i i x j que representen el mateix<br />
vèrtex i aleshores podem treure x i , x i+1 , x i+2 , … x j-1 del<br />
camí i el P* que obtenim serà també un camí entre u i v.<br />
Si P* no repeteix cap vèrtexja és elemental, sinó, podem<br />
tornar a repetir el procés tants de cops com sigui<br />
necessari.
1.2 Existència de grafs amb<br />
una seqüència de graus<br />
fixada<br />
Teorema dels graus i conseqüència<br />
Teorema de Havel i Hakimi
Grau<br />
Grau exterior d’un vèrtex v i és |(v i )|<br />
Grau interior d’un vèrtex v i és | -1 (v i )|<br />
Grau d’un vèrtex v i és |(v i )| + | -1 (v i )|<br />
Si el graf és simètric es parla només de grau<br />
G o grau màxim d’un graf és max(grau(v i ))<br />
G o grau mínim d’un graf és min(grau(v i ))
Teorema dels graus<br />
Si G(V,A) és dirigit<br />
n<br />
<br />
i=<br />
1<br />
−1<br />
(vi ) (v ) =<br />
Si G(V,A) és simètric<br />
n<br />
<br />
i=<br />
1<br />
n<br />
+<br />
grau<br />
i=<br />
1<br />
( v ) 2A<br />
i<br />
=<br />
2A<br />
Corol·lari: El nombre de vèrtex de grau senar<br />
d’un gran és sempre parell<br />
i
Seqüència gràfica<br />
Una seqüència gràfica és una seqüència<br />
numèrica que representa la llista de graus<br />
d’un graf.<br />
S = {1, 3, 2, 2, 2}<br />
No totes les seqüències són<br />
seqüències gràfiques
Teorema de Havel i Hakimi<br />
La seqüència d'enters<br />
d 1 ,d 2 , …,d n amb d 1 d 2 … d n 0<br />
és gràfica si i només si<br />
d 2 - 1, d 3 - 1, …, d d1+1 - 1, d d1+2 , …, d n<br />
és gràfica
Algorisme<br />
Formulació de l’algorisme de Havel-Hakimi<br />
Entrada: una seqüència de nombres enters s : d1 , d2 , . . . , dn<br />
Sortida: diu si la seqüència és, o no, gràfica.<br />
Algorisme:<br />
• Si existeix di > n 1, aleshores la seqüència no és gràfica, fi.<br />
• mentre no hi hagi cap di < 0 i s no sigui idènticament 0.<br />
Classificar s en ordre decreixent.<br />
Eliminar d1 de s i restar 1 unitat als d1 elements següents.<br />
• fimentre<br />
• Si existeix di < 0, aleshores la seqüència no és gràfica, fi.<br />
• Si la seqüència resultant és la seqüència idènticament 0,<br />
aleshores s és una seqüència gràfica.
Exemple<br />
Seqüència s : 2, 2, 4, 3, 3, 2, 3, 5<br />
5,4,3,3,3,2,2, Classificació<br />
2<br />
3,2,2,2,1,2,2 Primera subseqüència<br />
3,2,2,2,2,2,1 Classificació<br />
1,1,1,2,2,1 Segona subseqüència<br />
2,2,1,1,1,1 Classificació<br />
1,0,1,1,1 Tercera subseqüència<br />
1,1,1,1,0 Classificació<br />
0,1,1,0 Quarta subseqüència<br />
1,1,0,0 Classificació<br />
0,0,0 Cinquena subseqüència<br />
Per tant, la seqüència és gràfica. Un graf que té aquesta seqüència de<br />
graus podria ser,
…<br />
Seqüència s : 2, 2, 4, 3, 3, 2, 3, 5
Exemple<br />
No és seqüència gràfica perquè apareix -1
Més Exemples<br />
1) s : 5, 5, 7, 6, 4, 2, 4, 5<br />
2) s : 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8<br />
3) s : 2, 3, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9<br />
No és gràfica. Observeu que el<br />
nombre de vèrtexs amb grau senar,<br />
no és parell.
Construir el graf de seqüencia:<br />
S=5,5,7,6,4,2,4,5<br />
7 6 5 5 5 4 4 2<br />
5 4 4 4 3 3 1<br />
3 3 3 2 2 1<br />
2 2 1 2 1<br />
2 2 2 1 1<br />
1 1 1 1<br />
0 1 1<br />
1 1 0<br />
0 0
S: 0,0<br />
0<br />
0
S: 1,1,0<br />
0<br />
1 1
S: 1,1,1,1<br />
1<br />
1<br />
1 1
S: 2,2,2,1,1<br />
2<br />
2<br />
1<br />
2 1
S: 3,3,3,2,2,1<br />
3<br />
3<br />
3<br />
1<br />
2 2
S: 5,4,4,4,3,3,1<br />
4<br />
4<br />
4<br />
1<br />
3 3<br />
5
S: 7,6,5,5,5,4,4,2<br />
5<br />
5<br />
5<br />
2<br />
4 4<br />
6<br />
7
2a sessió
1.3 Subgrafs, tipus de<br />
grafs, i propietats
Graf trivial<br />
Un graf és trivial si només conté un únic<br />
vèrtex i cap aresta.
Graf subjacent<br />
El graf subjacent d’un graf dirigit G(V,A) és<br />
el graf que s’obté si es prescindeix de<br />
l’orientació dels seus arcs.
Subgraf<br />
Un subgraf G S (V S ,A S ) d’un graf simètric G(V,A)<br />
és un graf tal que V S ⊆ V i ∀ v i ∈ V S Γ S (v i ) =<br />
Γ(v i ) ∩ V S .<br />
G<br />
G s<br />
Es defineix de forma anàloga per un graf dirigit.
Subgraf parcial induït<br />
Un graf G P (V P ,A P ) és un subgraf parcial induït<br />
per la propietat p V P ⊆ V de G(V,A) si A P conté<br />
totes les arestes o arcs d’A que tenen els dos<br />
extrems dins del conjunt de vèrtexs V P .<br />
p<br />
G<br />
G P
Subgraf maximal (minimal)<br />
<br />
Donada una propietat p aplicable a G, es defineix<br />
un subgraf maximal (minimal) de G respecte p, ( s<br />
)<br />
com un subgraf de G que verifica p de manera que<br />
no existeix un altre G s<br />
amb més (menys) nodes que<br />
també verifiquin p<br />
p<br />
G<br />
^<br />
G s
Graf parcial<br />
Un graf G P (V P ,A P ) és un graf parcial de<br />
G(V,A) si A P ⊆ A i V P ⊆ V.<br />
A diferència del subgraf<br />
no cal mantenir totes<br />
les arestes<br />
G<br />
G P
Multigraf<br />
Un multigraf és un graf on hi pot haver<br />
arestes (arcs) repetides.<br />
Si no hi ha arestes repetides és un graf<br />
simple
Graf connex<br />
Un graf es diu connex si entre cada parella<br />
de vèrtexs existeix almenys un camí que els<br />
uneix.<br />
Graf connex<br />
Graf no connex
Graf connex<br />
Tot graf G(V,A) de n vèrtexs i connex ha de<br />
tenir com a mínim n-1 arestes.<br />
Dem. Inducció sobre n. Per n=1 és evident. Suposem<br />
ara que es compleix per un graf G n-1<br />
amb n-1<br />
vèrtexs i verifiquem si es compleix per n vèrtexs.<br />
Si a G n-1<br />
s’afegeix un vèrtex i es connecta, s’ha<br />
d’afegir un mínim d’una aresta, per tant l’increment<br />
del nombre d’arestes serà igual o superior al de<br />
nombre de vertex es manté la propietat.
A partir d’ara, mentre no es digui el<br />
contrari, ens referirem a grafs<br />
simètrics,simples i sense llaços
Component d’un graf simètric<br />
Cada subgraf maximal connex en un graf<br />
simètric G s’anomena component de G.
Pont<br />
Un pont en un graf simètric G és tota aresta<br />
a j tal que G(V,A−{a j }) té més components que<br />
G.
Articulació<br />
Una articulació en un graf G és un vèrtex v i<br />
tal que G(V−{v i },A−A i ) té més components<br />
que G. [A i ⊆ A és el conjunt d’arestes que tenen v i com<br />
a vèrtex terminal]<br />
|
Separador<br />
Un conjunt U de vèrtexs (o arestes) d’un graf<br />
G(V,A) s’anomena separador per a G si<br />
G−U té més components que G.
Tall<br />
En un graf connex i simètric G(V,A), un tall<br />
és tot conjunt minimal d’arestes A’ ⊂ A tal<br />
que G(V, A−A’) resulta disconnex.
Teorema<br />
Tot graf simètric G(V,A) amb |V|>1 conté,<br />
com a mínim, dos vèrtexs que no són<br />
articulacions.
Teorema<br />
Una aresta a i d’un graf simètric G és un pont<br />
⇔ a i no es troba en cap circuit de G.
Contracció<br />
Representem mitjançant G || a j la contracció<br />
de G a través de a j obtinguda quan s’elimina<br />
l’aresta a j = (v i , v j ) de G i es transforma v i i v j<br />
en un vèrtex v q que tingui totes les<br />
adjacències (arestes) de v i i v j .
Graf t-connex<br />
Un graf G(V,A) connex i simètric és t-connex<br />
(t ≥1) si tot conjunt W ⊆V, tal que G −W o bé<br />
dóna un graf disconnex o bé dóna el graf<br />
trivial, verifica |W| ≥ t.<br />
És a dir, G(V,A) és t-connex si eliminant fins<br />
a t-1 vèrtexs G segueix essent connex i no<br />
trivial.<br />
Per exemple si G és 2-connex no pot tenir<br />
cap articulació.
Graf 2-connex<br />
Els grafs 2-connexos són força importants en<br />
l’estudi de xarxes per la seva redundància.<br />
Eliminar un node d’una xarxa biconnexa no<br />
aïlla cap element de la xarxa, ni divideix la<br />
xarxa ja que no perd connectivitat.
Graf parcialment connex<br />
Un graf dirigit G(V,A) es diu parcialment<br />
connex si entre cada parella de vèrtexs v i ,v j<br />
hi ha un camí de v i a v j o de v j a v i .<br />
no
Graf fortament connex<br />
Un graf dirigit G(V,A) es diu fortament<br />
connex si entre cada parella de vèrtexs hi ha<br />
camí en tots dos sentits.
Grafs isomorfs<br />
Dos grafs, G i G’, són isomorfs si existeix<br />
una bijecció entre els seus vèrtexs que<br />
preserva les distàncies.<br />
Equivalentment, existeix una bijecció<br />
f: V V’ tal que uv ∈ A ⇔ f(u)f(v) ∈ A’<br />
u f(u)
Grafs isomorfs<br />
v 1<br />
v 2<br />
u 1<br />
v 5 u 5<br />
u 2<br />
v 4<br />
v 3<br />
u 4<br />
u 3<br />
f(v 1 )=u 1 f(v 2 )=u 3 f(v 3 )=u 5 f(v 4 )=u 2 f(v 5 )=u 4
Subdivisió<br />
Un graf G’ s’anomena subdivisió d’un graf G<br />
si G’ s’obté a partir de G mitjançant el procés<br />
repetit de substituir una aresta a i de G per un<br />
camí on el únics vèrtexs comuns amb G són<br />
els vèrtexs terminals de a i , que són terminals<br />
en el camí.<br />
G i G’ també s’anomenen homeomorfs.
Grafs homeomorfs<br />
v 1<br />
v 3<br />
v 2<br />
v 4<br />
v 1<br />
v 3<br />
v 2<br />
G G’
Graf complet K t<br />
Un graf amb t vèrtexs és diu complet, K t , si<br />
hi ha una aresta entre cada parella de<br />
vèrtexs.<br />
Un graf complet té el major nombre possible<br />
d’arestes.<br />
En un graf K t tots el vèrtexs tenen grau t-1.
Exemples de grafs complets
Graf d-regular<br />
Un graf es diu d-regular, o regular de grau d,<br />
si tots els seus vèrtexs tenen grau d.<br />
Observen que un graf complet de grau t, K t ,<br />
sempre és t-regular.
Exemples de grafs regulars
Graf bipartit<br />
Un graf G(V,A) es diu bipartit si és un graf<br />
amb els seus vèrtexs separables en dos<br />
conjunts de manera que no hi hagi arestes<br />
entre vèrtexs del mateix conjunt.<br />
V = V 1<br />
∪ V 2<br />
V 1<br />
∩ V 2<br />
= ∅<br />
∀ x 1<br />
,x 2<br />
∈ V 1<br />
no existeix cap aresta (x 1<br />
,x 2<br />
)<br />
∀ y 1<br />
,y 2<br />
∈ V 2<br />
no existeix cap aresta (y 1<br />
,y 2<br />
)
Exemples de grafs bipartits<br />
• Un graf en forma d’arbre sempre és bipartit<br />
• Un graf complet mai és bipartit
Graf bipartit
Graf bipartit?<br />
?<br />
No, si pertany al conjunt<br />
vermell no pot unir-se<br />
directament al vermell.<br />
Igual raonament per<br />
conjunt blau no és<br />
bipartit
Graf bipartit complet, K s,t<br />
Un graf bipartit complet, K s,t , és un graf<br />
format per s+t vértex, bipartit amb totes les<br />
arestes possibles entre els vèrtexs del primer<br />
conjunt i els vèrtex del segon.
Graf bipartit complet<br />
K 2,4
Teorema<br />
G(V,A) és bipartit ⇔ tots els seus circuits<br />
tenen un número parell d’arestes.
Demostració<br />
Suposem V = V 1<br />
∪ V 2<br />
. Un camí que comenci i<br />
acabi a V 1<br />
(o V 2<br />
) ha de tenir un número parell<br />
d’arestes.<br />
⇐ Podem suposar sense falta de generalitat que G<br />
és connex. Sigui v V i definim V 1<br />
com el conjunt<br />
de vèrtexs a distància parell de v i V 2<br />
= V -V 1<br />
. Si<br />
existeix una aresta que connecti dos vèrtexs de V 1<br />
aleshores existirà un circuit que passa per aquests<br />
dos vèrtexs i per v, que tindrà grau senar.
Arbre simètric
Arbre simètric<br />
Antecedents<br />
I. Tot graf simètric té almenys un vèrtex que<br />
no és cap articulació.<br />
II.<br />
Tot graf G(V,A) de n vèrtexs i connex ha<br />
de tenir com a mínim n-1 arestes.
Arbre simètric<br />
Lema<br />
I. Tot graf sense circuits on no tots els<br />
vèrtexs siguin aïllats té com a mínim dos<br />
vèrtex terminals.<br />
II.<br />
Tot graf G(V,A) amb n vèrtexs i sense<br />
circuits ha de tenir com a molt n-1 arestes.
Arbre simètric<br />
Teorema<br />
Sigui G(V,A) un graf simètric, aleshores<br />
I. G és connex i sense circuits,<br />
II. G conté un únic camí entre cada parella de<br />
vèrtexs,<br />
III. G és connex i |A| = |V|-1,<br />
IV. G no té circuits i |A| = |V|-1,<br />
V. G és connex i totes les arestes són ponts,<br />
VI. G no té circuits i no se li pot afegir cap aresta<br />
sense que es formi un circuit,<br />
són propietats equivalents
Arbre simètric<br />
Un graf simètric G(V,A) és un arbre simètric<br />
si compleix qualsevol de les condicions<br />
anteriors.
Arbre dirigit
Arbre dirigit<br />
Teorema<br />
Sigui G(V,A) un graf dirigit, aleshores<br />
I. G és connex i tots els seus vèrtexs tenen<br />
grau interior 1 excepte un que té grau<br />
interior 0,<br />
II. G no té circuits i tots els seus vèrtexs<br />
tenen grau interior 1 excepte un que té<br />
grau interior 0,<br />
són propietats equivalents
Arbre dirigit<br />
Un graf dirigit G(V,A) és un arbre dirigit si<br />
compleix qualsevol de les condicions del<br />
teorema anterior.<br />
L’únic vèrtex amb grau interior 0 s’anomena<br />
arrel.
Bosc<br />
Un graf G(V,A) s’anomena bosc si és un graf<br />
no connex en el tots els seus components<br />
són arbres.<br />
No és un bosc,<br />
hi ha un circuit<br />
És un bosc,<br />
ambdós<br />
components són<br />
arbres
1.4 Representació de grafs<br />
Matriu d’adjacència<br />
Llistes d’adjacència<br />
Accessibilitat
Matriu d’adjacència A<br />
Definició: Donat un graf G amb V(G)={v 1<br />
, v 2<br />
, …, v n<br />
} definim la matriu<br />
d’adjacència A=(a ij<br />
) de G com la matriu quadrada d’ordre n definida per:<br />
a ij<br />
= 1 si existeix l’aresta (arc) (v i<br />
,v j<br />
)<br />
a ij<br />
=0 si no existeix l’aresta (arc) (v i<br />
,v j<br />
)<br />
v 1<br />
v 3<br />
v 4<br />
v 6<br />
v 5<br />
v 2<br />
v 1 v 2 v 3 v 4 v 5 v 6<br />
v 1 0 1 1 0 0 0<br />
v 2 1 0 1 0 0 0<br />
v 3 1 1 0 1 1 0<br />
v 4 0 0 1 0 0 0<br />
v 5 0 0 1 0 0 0<br />
v 6 0 0 0 0 0 0<br />
Una matriu d’adjacència necessita n 2 posicions de memòria. Si un graf té poques<br />
arestas i molts vèrtexs això suposa una mala utilització de la memòria.
Llista d’adjacència<br />
v 1<br />
v 1 2<br />
3 0<br />
2<br />
2 1<br />
3 0<br />
v v<br />
3<br />
6<br />
3 1 2<br />
4<br />
5<br />
v 4<br />
v 5 4 3 0<br />
0<br />
5<br />
3<br />
0<br />
6<br />
0 0<br />
Una llista d’adjacència necessita (n+m)*2 posicions de memòria
Matriu d’adjacència A 2<br />
Definició: Donat un graf G amb V(G)={v 1<br />
, v 2<br />
, …, v n<br />
} definim la matriu<br />
d’adjacència A 2 de G com la matriu quadrada d’ordre n definida per:<br />
a ij<br />
= 1 si existeixen les arestes (arcs) (v i<br />
,v k<br />
) i (v k<br />
,v j<br />
)<br />
a ij<br />
=0 si no existeix cap camí de dues arestes (arcs) entre v i<br />
i v j<br />
v 1<br />
v 2<br />
v 1<br />
v 2<br />
v 3<br />
v 4<br />
v 5<br />
v 6<br />
v 1<br />
2 1 1 1 1 0<br />
v<br />
v v 2<br />
1 2 1 1 1 0<br />
3<br />
6<br />
v 3<br />
1 1 4 0 0 0<br />
v 4<br />
1 1 0 1 1 0<br />
v 4<br />
v 5<br />
v 5<br />
1 1 0 1 1 0<br />
v 6<br />
0 0 0 0 0 0
Matriu d’adjacència A k<br />
És fàcil demostrar per inducció que<br />
A k = A k-1 A per k = 2, 3, …., essent A 1 = A.<br />
La matriu A k ij indica el nombre de camins de<br />
k arestes (arcs) que hi ha entre V i i V j .
Matriu d’incidència<br />
<br />
Definició: Donat un graf G (V,A) definim la matriu d’incidència B=b ij<br />
de G com la matriu de n files i m columnes definida per:<br />
b ij = 1 si v i és el vèrtex inicial de l’aresta a j<br />
b ij = -1 si v i és el vèrtex final de l’aresta a j<br />
b ij = 0 si v i no és extrem de l’aresta a j<br />
a<br />
v 1<br />
v 1<br />
a 2<br />
a 3<br />
a 4<br />
a 5<br />
a 2<br />
1 v 1<br />
1 0 1 0 0<br />
a 3<br />
v 2<br />
-1 1 0 0 0<br />
a<br />
v 2 v<br />
3<br />
6<br />
v 3<br />
0 -1 -1 -1 1<br />
a a<br />
4<br />
5<br />
v 4<br />
0 0 0 1 0<br />
v<br />
v 4<br />
v 5<br />
0 0 0 0 -1<br />
5<br />
v 6<br />
0 0 0 0 0
Matriu d’accés R<br />
Definició: Donat un graf G amb V(G)={v 1<br />
, v 2<br />
, …, v n<br />
} definim la matriu d’accés<br />
R=(r ij<br />
) de G com la matriu quadrada d’ordre n definida per:<br />
r ij<br />
= 1 si v j<br />
és accessible des de v i<br />
r ij<br />
=0 si no existeix el camí.<br />
v 1<br />
v 2<br />
v 1 v 2 v 3 v 4 v 5 v 6<br />
v 1 1 1 1 1 0 1<br />
v<br />
v v 2 1 1 1 1 0 1<br />
3<br />
6<br />
v 3 1 1 1 1 0 1<br />
v 4 0 0 0 1 0 0<br />
v 4<br />
v v<br />
5<br />
5 1 1 1 1 1 1<br />
v 6 0 0 0 0 0 1
Matriu d’accés R<br />
La matriu R es pot obtenir calculant A n-1 , fent<br />
prèviament que A tingui uns a la diagonal<br />
(per mantenir els camins detectats en cada<br />
producte precedent), i usant la suma lògica<br />
OR.
Matriu d’accés Q<br />
Definició: Donat un graf G amb V(G)={v 1<br />
, v 2<br />
, …, v n<br />
} definim la matriu d’accés<br />
Q=(q ij<br />
) de G com la matriu quadrada d’ordre n definida per:<br />
q ij<br />
= 1 si v i<br />
és accessible des de v j<br />
q ij<br />
=0 si no existeix el camí.<br />
v 1<br />
v 2<br />
v 1 v 2 v 3 v 4 v 5 v 6<br />
v 1 1 1 1 0 1 0<br />
v<br />
v v 2 1 1 1 0 1 0<br />
3<br />
6<br />
v 3 1 1 1 0 1 0<br />
v 4 1 1 1 1 1 0<br />
v 4<br />
v v<br />
5<br />
5 0 0 0 0 1 0<br />
v 6 1 1 1 0 1 1<br />
Observació: és fàcil veure que Q és la transposada de R
Component fort<br />
Donat un graf dirigit G(V,A) un component<br />
fort de G consisteix en un subgraf maximal<br />
de G fortament connex.<br />
Pel fet de ser un subgraf maximal cada<br />
vèrtex de G només apareix en un component<br />
fort.<br />
Per calcular els components de G calcularem<br />
la matriu R ⊗ Q (el producte de matrius<br />
element a element)
Component fort (R ⊗ Q )<br />
v 1<br />
v 2<br />
v 1 v 2 v 3 v 4 v 5 v 6<br />
v 1 1 1 1 0 0 0<br />
v<br />
v v 2 1 1 1 0 0 0<br />
3<br />
6<br />
v 3 1 1 1 0 0 0<br />
v 4 0 0 0 1 0 0<br />
v 4<br />
v v<br />
5<br />
5 0 0 0 0 1 0<br />
v 6 0 0 0 0 0 1<br />
Components forts: {v 1<br />
,v 2<br />
,v 3<br />
}, {v 4<br />
}, {v 5<br />
}, {v 6<br />
}
Base, contrabase i base de<br />
poder<br />
Donat un graf dirigit G(V,A):<br />
Una base de G és tot conjunt minimal de vèrtexs<br />
des del qual es pot accedir a tots els vèrtexs. Si dos<br />
vèrtexs pertanyen a la mateixa base no poden estar<br />
en el mateix component fort.<br />
Una contrabase de G és tot conjunt minimal de<br />
vèrtexs al qual es pot accedir des de qualsevol<br />
vèrtex de G.<br />
Una base de poder de G és el conjunt minimal de<br />
vèrtexs des del qual es pot accedir a tots els vèrtexs<br />
de G i al qual no es pot arribar des de cap vèrtex.
1.5 Existència de grafs<br />
plans<br />
Fórmula de Euler i conseqüències<br />
Caracterització de Kuratowski
Graf pla<br />
<br />
<br />
<br />
<br />
<br />
<br />
Un graf pla és un graf (simètric) que es pot<br />
representar en el pla sense creuament d’arestes.<br />
Si existeix aquesta representació en diem<br />
realització plana del graf.<br />
Les parts en les que queda dividit el pla<br />
s’anomenen regions.<br />
La regió que no queda limitada s’anomena regió<br />
exterior.<br />
Un bloc de G és un subgraf maximal 2-connex.<br />
Per estudiar la planaritat d’un graf n’hi ha prou de<br />
considerar els seus blocs.
Exemple
Problema<br />
Considerem tres companyies de serveis:<br />
Aigua, Gas i Electricitat; i tres cases situades<br />
en la mateixa zona. Suposant que totes les<br />
conduccions es troben al mateix nivell, és<br />
possible servir els tres serveis sense que hi<br />
hagi creuament entre les diverses<br />
conduccions?
Possible graf (no planar)
Possible graf (no planar)<br />
• Graf bipartit complet: K 3,3<br />
• Veurem que aquest graf no és pla
Dual geomètric<br />
El dual geomètric de la representació<br />
gráfica plana d’un graf G(V,A) amb r regions,<br />
és un (multi)graf G’(V’,A’) amb r vèrtexs,<br />
corresponents a les r regions de G, de forma<br />
que per cada aresta que separen dues<br />
regions a G, existeix una aresta que uneix els<br />
seus vèrtexs representants a G’.
Exemple<br />
r 1<br />
r 4<br />
r 2<br />
r 3<br />
r 5
Exemple<br />
r 1<br />
r 4<br />
r 2<br />
r 3<br />
r 5
Fórmula d’Euler<br />
En tot graf G(A,V) connex i pla , amb |R|<br />
regions es verifica que:<br />
|V| - |A| + |R| = 2<br />
o<br />
|V| + |R| = |A| + 2
Graf maximalment pla<br />
Un graf maximalment pla és un graf al que<br />
no podem afegir cap aresta sense que deixi<br />
de ser pla
Fer que un graf sigui<br />
maximalment pla
Fer que un graf sigui<br />
maximalment pla
Fer que un graf sigui<br />
maximalment pla
Teorema<br />
Sigui G(V,A) un graf maximalment pla amb<br />
|V| vèrtexs i |A| arestes. Aleshores,<br />
|A| = 3 |V| - 6<br />
Demostració:<br />
El nombre d’arestes i regions serà màxim quan cada regió<br />
està limitada per 3 arestes. A més, cadascuna<br />
d’aquestes arestes limita amb dues regions. Llavors<br />
2|A| = 3|R|.<br />
Substituint en la fómula d’Euler obtenim que:<br />
|V|+|R|-|A|=2, 3|V|-3|A|+3|R|=6, 3|V|-|A|=6, |A|= 3|V|-6
Exemple<br />
r 2<br />
|A| = m = 12<br />
|V| = n = 6<br />
r 3 |R| = r =8<br />
r 7<br />
r 8<br />
r 4<br />
r 5<br />
r 6<br />
r 1<br />
3|R| = 24 = 2|A|<br />
12 = |A| = 3|V|-6 = 12
Corol·lari 1:<br />
Sigui G(V,A) un graf sense pla amb |V| 3<br />
vèrtexs i |A| arestes. Aleshores,<br />
|A| 3|V| - 6<br />
Demostració:<br />
S’obtenia, |A|= 3|V|-6 quan el nombre d’arestes<br />
era màxim. El cas general ve indicat pel<br />
corol·lari 1
Corol·lari 2:<br />
En tot graf G(V,A), pla, bipartit i connex on<br />
|A| 3 es verifica que:<br />
Demostració:<br />
|A| 2|V| - 4<br />
De igual mode que el teorema però ara sabem<br />
que cada regió vindrà limitada com a mínim<br />
per 4 arestes i per tant 4|R| = 2|A|.
Corol·lari 3:<br />
Tot graf pla conté, com a mínim, un vèrtex<br />
amb grau 5<br />
Demostració:<br />
Siguin |V| el nombre de vèrtexs i |A| el nombre<br />
d’arestes del graf. Si tots els vèrtexs<br />
tinguessin grau 6, pel Teorema de Graus,<br />
2|A| 6|V| i en conseqüència |A| 3|V|, cosa<br />
que contradiu el Corol·lari 1 (|A| 3|V|-6).
Conseqüències dels corol·laris<br />
És fàcil comprovar que els grafs K 5 i K 3,3 , no<br />
són plans.<br />
K 5 no verifica el corol·lari 1.<br />
K 3,3 falla en el corol·lari 2.<br />
Aquests dos grafs són importants perquè ens<br />
permetran caracteritzar el grafs plans.
Exemple<br />
Sigui G un graf pla, connex, amb 16 arestes i<br />
tal que el grau de cada vèrtex és 4. Quantes<br />
regions tindrà una representació plana de G?<br />
1<br />
|V|+|R|-|A|=2 (Euler)<br />
4|V|=2|A| |V|=8<br />
|R|=16-8+2=10<br />
7<br />
4<br />
9<br />
2<br />
3<br />
5 6<br />
8<br />
10
Caracterització de la<br />
planaritat<br />
Teorema de Kuratowski
Lema<br />
Si G(V,A) és un graf 3-connex amb |V| > 4,<br />
llavors G conté una aresta a ∈ A, tal que<br />
G || a és 3-connex.<br />
a
Lema<br />
Donat G(V,A) i a ∈ A. Si G || a conté una<br />
subdivisió de K 5 o de K 3,3 , llavors G també<br />
conté una subdivisió de K 5 o de K 3,3 .<br />
a
Lema<br />
Si G pla i 2-connex és una subdivisió d’un<br />
graf 3-connex, llavors la representació pla és<br />
única.<br />
G<br />
G’<br />
G és 2-connex i és una subdivisió de G’ que<br />
és 3-connex.
Representació plana del graf<br />
2-connex G<br />
G
Teorema de Kuratowski<br />
G(V,A) és pla ⇔ no conté cap subdivisió de<br />
K 5 ni de K 3,3 .<br />
G(V,A) és pla ⇔ cap subgraf parcial de G és<br />
una subdivisió de K 5 ni de K 3,3 .
Exemple<br />
El graf de Petersen no és pla.<br />
K 5