Teoria Dei Grafi PDF
Teoria Dei Grafi PDF
Teoria Dei Grafi PDF
I vertici x, y sono detti adiacenti tra di loro e incidenti al lato {x,y} (risp. all’
arco(x,y)).
Nel caso che x=y, cioè il lato {x,x} viene detto cappio.
Se gli elementi di E sono tutti distinti e non ci sono cappi, il grafo viene detto
semplice, in caso contrario si parla di multigrafo.
1
Una rappresentazione “suggestiva” di un grafo è quella geometrica, in cui i vertici sono
rappresentati da punti (di un piano) ed i lati da archi (o segmenti) che congiungono i
vertici adiacenti.
ESEMPIO 1
V = {a,b,c}
E1 = {{a,b}{a,c}} E2 = {{a,a}{a,b}{a,c}{b,a}}
2
G: V = {a,b,c} E1 = {{a,b}{a,c}}
b
b c
a oppure a
c
b oppure
a
b a c
c
3
I grafi sono utili per modellizzare problemi che si presentano nelle aree più
svariate: informatica, chimica, fisica, ecc…
ESEMPIO 2
Torneo di calcio tra 5 squadre V = {A, B, C, D, E} ed alla fine della seconda giornata la
situazione è la seguente:
-A ha vinto con C e perso con D
-B ha perso con E e pareggiato con C
-C ha perso con A e pareggiato con B
-D ha vinto con A e con E
-E ha vinto con B e perso con D
4
La situazione può essere rappresentata o tramite il seguente grafo, che indica quali
squadre si sono incontrate
-A ha vinto con C e perso con D
A
-B ha perso con E e pareggiato con C
E B
-C ha perso con A e pareggiato con B
G1 -D ha vinto con A e con E
-E ha vinto con B e perso con D
D C 5
Alla fine del torneo ogni squadra ha giocato con tutte le altre, quindi la
situazione è rappresentata da
E B
D C
6
Un grafo G’=(V’,E’) si dice sottografo di G=(V,E) se V’ V e E’ E. Nell’esempio
precedente G1 è un sottografo di K5.
Un sottografo G’=(V’,E’) si chiama sottografo indotto su V’ se E’ contiene tutti gli spigoli
di E incidenti a due vertici di V’.
Nell’esempio precedente G1 non è un sottografo indotto di K5, mentre il seguente
grafo G’1 = (V’1,E’1) con V’1={A,B,C} e E’1={AB,AC,BC} é un sottografo indotto di K5.
C B
7
Un altro modo di rappresentare i grafi è quello matriciale,
anzi possiamo associare ad ogni grafo due diverse matrici.
Matrice di incidenza
8
Ad esempio, disegnare il grafo G la cui matrice di incidenza è:
e1 e2 e3 e4 e5 e6
1 1 0 1 0 0 0
2
1 1 0 1 0 0
3
0 0 0 1 1 0
4 0 0 0 0 1 1
5
0 1 1 0 0 1
9
Matrice di adiacenza o tabella di connessione
10
1
1 2 3 4 5
1 0 1 0 0 1
5 2
2 1 0 1 0 1
3 0 1 0 1 0
4 4 3
0 0 1 0 1
5
1 1 0 1 0
11
Matrice di incidenza di un grafo orientato é una matrice di tipo n (= | V(G) |) ,
m (=|R|) il cui generico elemento
• bij = 1 se lo spigolo (vi, vj) R ,
• bij = -1, se lo spigolo (vj , vi) R
• bij = 0 in caso contrario.
e1 e2 e3 e4 e5
A 0 1 1 0 0
B -1 0 0 -1 1
C 0 0 -1 1 -1
D 0 -1 0 0 0
E 1 0 0 0 0
12
Matrice di adiacenza o tabella di connessione di un grafo orientato é una matrice
quadrata di ordine n il cui generico elemento :
bij = 1 se lo spigolo (vi, vj) R bij = 0 in caso contrario.
Ad esempio la matrice associata al grafo pag.14
A B C D E
A 0 0 1 0 0
B 0 0 1 0 0
C 0 1 0 0 0
D 1 0 0 0 0
E 0 1 0 0 0
13
A
e1
E B
e2 e4
e3 e5
C
D
14
Chiamiamo grado o valenza di un vertice v il numero degli spigoli incidenti v
(= numero dei vertici adiacenti a v, nel caso dei grafi semplici). Tale numero
viene indicato con d(v). Il minimo grado, al variare di v in V(G), viene
indicato con (G). Il grado massimo viene indicato con Δ (G).
15
Nel caso dei digrafi, ogni vertice può essere il primo estremo o il secondo estremo di
un arco. Diamo allora le seguenti definizioni:
- grado o valenza di ingresso di un vertice v (indegree) il numero degli spigoli che
hanno v come secondo estremo. Tale numero viene indicato con di(v).
- grado o valenza di uscita di un vertice v (outdegree) il numero degli spigoli che hanno
v come primo estremo. Tale numero viene indicato con du(v)=do(v).
16
CAMMINI E CONNESSIONI
17
Se tutti gli spigoli sono distinti si parlerà di cammino semplice (trail), se tutti i vertici
(e quindi tutti i lati) sono distinti si parlerà di cammino elementare (path) o catena.
C3
C4
C6
18
Due vertici vi e vj si dicono congiungibili o raggiungibili se esiste un cammino che
inizia da vi e finisce con vj .
Si definisce distanza tra due vertici, d(vi , vj ), la lunghezza del cammino più breve.
19
Un vertice di un grafo G è un punto di taglio o di articolazione se la sua rimozione
aumenta il numero delle componenti di G
Uno spigolo è detto spigolo di taglio o ponte se la sua rimozione aumenta il numero
delle componenti di G
20
Non esistono condizioni necessarie e sufficienti per stabilire se
un grafo è connesso. Ma esistono alcune condizioni necessarie
e altre sufficienti.
21
TEOREMA Un grafo (semplice) connesso con n vertici ha almeno n-1 lati
22
≥ = -
|E(G-v)|=
= (n-1)-h
Da cui
c.v.d.
23
.
DIM. Procediamo per assurdo. Se un grafo non è connesso, esso è formato da almeno due
componenti G1 ,G2 . Per un qualsiasi v V(G1) si ha
d(v) ≥ δ ≥
24
Questa condizione è sufficiente, ma non necessaria come si vede facilmente
con il seguente grafo connesso
25
In un grafo orientato due vertici vi e vj si dicono congiungibili o raggiungibili se
esiste un cammino orientato che inizia da vi e finisce con vj .
26
PROBLEMI RELATIVI A CAMMINI
27
Eulero modellizzò il problema con il seguente multigrafo
A
D
28
DEFINIZIONE Un cammino euleriano è un cammino che contiene ciascun lato una ed
una sola volta. Se il cammino è chiuso si chiama ciclo di Eulero.
Eulero dimostrò che il problema precedente non ha soluzione perché non tutti i vertici
hanno grado pari.
29
COROLLARIO Un grafo connesso contiene un cammino di Eulero se
e solo se ha esattamente due vertici di grado dispari.
30
Un altro problema collegato a cammini è quello di passare per tutti i vertici una ed una sola
volta.
Non esiste nessuna caratterizzazione dei grafi hamiltoniani, tranne che per alcune
particolari classi di grafi (cicli, grafi completi).
31
TEOREMA (di ORE) Sia G un grafo semplice con n>2 vertici. Se comunque si
scelgono due vertici, u e v, non adiacenti, si ha che d(u)+d(v)≥ n, allora G è
hamiltoniano.
TEOREMA (di DIRAC) Sia G un grafo semplice con n>2 vertici. Se ogni vertice ha
grado ≥ n/2 allora G è hamiltoniano.
32
Queste sono condizioni sufficienti, ma non necessarie come si vede
facilmente con il seguente grafo
5 2
4 3
33
Problema del commesso viaggiatore : il commesso viaggiatore deve visitare alcune città e vuole
organizzare il giro in modo da percorrere il minor numero di strade (chilometri).
Rappresentando le città con i vertici di un grafo e le strade che le collegano con gli archi
(eventualmente indicizzate dalla loro lunghezza), si tratta di determinare un ciclo hamiltoniano
di tale grafo.
34
ALBERI
35
Gli alberi sono caratterizzati dal seguente
TEOREMA
1. G è un albero non singolare
2. Ogni coppia di vertici è collegato da una sola catena (o cammino
elementare)
3. G è connesso, ma l’eliminazione di un lato rende il grafo non
connesso
4. G è privo di cicli, ma con l’aggiunta di un lato si ottiene uno ed un
solo ciclo.
Dim. 1 2
Poiché G è connesso, due vertici u e v sono sempre raggiungibili. Se esistessero due cammini
distinti la loro unione darebbe luogo ad un ciclo.
2 3
G è connesso perché esiste sempre un unico cammino che li connette; d’altra parte se si elimina
uno spigolo i due vertici ad esso incidente non sono più raggiungibili, quindi il grafo é non
connesso.
36
3 4
Se G contenesse un ciclo, l’eliminazione di uno spigolo da tale ciclo non renderebbe il grafo non connesso;
pertanto esso è privo di cicli. Siano u e v due vertici non adiacenti. Poiché G è connesso esiste un cammino
che collega u e v. Aggiungendo lo spigolo vu si ha un ciclo. Se tale ciclo non fosse unico, significa che esistono
due cammini distinti che collegano u e v, la cui unione dà luogo ad un ciclo, assurdo.
4 1
Per ipotesi G è privo di cicli, dobbiamo dimostrare che è connesso. Siano u e v due vertici non adiacenti;
aggiungendo lo spigolo vu si ottiene un ciclo u= v0, v1, … , vk-1, vk = v, u cioè esiste un cammino tra u e v.
COROLLARIO Un albero finito non singolare possiede almeno due vertici di grado 1
Dim. Sia k la lunghezza massima dei cammini di G e sia u = v0, v1, … , vk-1, vk = v un cammino di
lunghezza massima. Se u non avesse grado 1, esisterebbe un vertice u’ distinto dai precedenti e
adiacente a u; e ciò è assurdo perché il cammino (che è unico) u’ u, v1, … , vk-1, vk = v avrebbe
lunghezza k+1. Analogamente il vertice v ha grado 1.
37
Un albero finito ha un’ulteriore caratterizzazione.
Dim. 1 2
Essendo G un grafo connesso |E(G)| ≥ n-1. Dimostriamo che vale l’uguaglianza per induzione su n.
Per n=2 il teorema è vero. Per n qualsiasi, essendo G un albero, esso possiede almeno due vertici di grado 1.
Eliminando uno di tali vertici si ha un albero con n-1 vertici e, per l’ipotesi induttiva, n-2 lati; da cui la tesi.
2 3
Bisogna dimostrare solo che G è connesso. Indichiamo con k il numero delle componenti connesse:
T1, T2, …, Tk
Ogni Ti è un albero che ha ni vertici e ni - 1 spigoli. Pertanto
|E(G)| = )| = -1) = – k = n – k = n – 1.
Da cui la tesi.
38
3 1
Supponiamo che G contenga almeno un ciclo. Eliminando uno spigolo da un ciclo, il grafo è ancora
connesso ed ha n-2 spigoli, il che è assurdo.
1 0 1 0 0 1
2 1 0 1 0 1
3 0 1 0 1 0
4
0 0 1 0 1
5
1 1 0 1 0
39
DEFINIZIONE Un albero ricoprente (o supporto) di un grafo G è un albero sottografo parziale di
G (che contiene tutti i vertici).
Dalla dimostrazione precedente si evince che esistono vari alberi ricoprenti di uno
stesso grafo.
40
VISITA IN PROFONDITA’
41
ESEMPIO
Applichiamo l’algoritmo precedente al seguente grafo
x2
x4
x3
x1 x7
x5 x6 x8
•V(T1) = x1
•V(T2) = {x1, x2}
•V(T3) ={x1, x2, x3} (la scelta è obbligata)
•scegliamo x4
• poiché non ci sono vertici distinti dai precedenti adiacenti ad x4, torniamo al
vertice x3 e scegliamo il vertice x5
•V(T6) = {x1, x2, x3,x4, x5, x6}
•V(T7) = {x1, x2, x3,x4, x5, x6 , x7}
•poiché non ci sono vertici distinti dai precedenti adiacenti ad x7, torniamo al
vertice x6 e scegliamo il vertice x8
42
VISITA IN AMPIEZZA
x2
x4
x3
x1 x7
x5
x6 x8
Sappiamo che in un albero esiste un unico cammino tra due vertici; definiamo livello del vertice
xi la lunghezza del cammino che unisce x1 a xi. Il vertice x1 è detto radice.
43
GRAFI PLANARI
Uno dei problemi più noti della teoria dei grafi è il cosiddetto “teorema dei 4 colori”:
Data una carta geografica, disegnata su un piano o su una sfera, è possibile colorarla con 4
colori in modo che due nazioni confinanti abbiano colori diversi.
La congettura venne presentata da F. Gutrie nel 1852 quando si accorse che per colorare una
mappa delle contee britanniche erano sufficienti quattro colori.
Negli anni successivi molti matematici tentarono invano di dimostrare il teorema e ci furono
alcune dimostrazioni che poi si rivelarono errate.
La dimostrazione definitiva che ci vogliono al più quattro colori per colorare una mappa è stata
data nel 1976 K. Appel e W. Haken basata su un complesso algoritmo, con l’ ausilio di un
calcolatore.
44
Un grafo planare è un grafo che è possibile disegnare nel piano in modo che i
lati si intersecano solo nei vertici
K4
K4
Un grafo planare divide il piano in regioni, dette facce. Nell’esempio
precedente si hanno 4 facce.
Dim. Poiché ogni faccia di G ha almeno 3 lati, se indichiamo con m(f) il numero dei lati di
ogni faccia si ha
∑ m(f) ≥ 3f
D’ altra parte ogni lato appartiene a due facce, quindi
∑ m(f) = 2 m
Sostituendo nella formula di Eulero f ≤ 2 m / 3, si ha la a.
- Se G è privo di triangoli, ogni faccia ha almeno 4 lati se indichiamo con m(f) il numero dei lati
di
ogni faccia si ha
∑ m(f) ≥ 4f
D’ altra parte ogni lato appartiene a due facce, quindi
∑ m(f) = 2 m
Sostituendo nella formula di Eulero f ≤ 2 m / 4, si ha la c. 46
COLORAZIONI
47
Il problema della colorazione di una mappa possiamo ora esprimerlo sfruttando la teoria
dei grafi.
Se rappresentiamo i singoli stati con un vertice e due vertici sono adiacenti se e solo se gli
stati hanno un confine in comune, otteniamo un grafo planare.
Allora il problema precedente afferma che è possibile colorare i vertici di un grafo planare
con al massimo quattro colori.
48
Chiamiamo numero cromatico di G il minimo intero k tale che G ha una
k-colorazione; esso viene denotato con χ(G).
49
Brooks ha dimostrato che i cicli di lunghezza dispari ed i grafi completi sono gli unici grafi
per cui Χ (G) =Δ(G) + 1.
50
Una colorazione degli spigoli di un grafo G = (V, E) è l’assegnazione ai lati di G di un
colore tale che due spigoli con un vertice in comune hanno colore diverso.
Dato un grafo G con m spigoli si può assegnare ad ogni spigolo un colore diverso.
51
GRAFI BIPARTITI
Un grafo bipartito completo (cioè con tutti i possibili spigoli) viene indicato
con Km,n.
52
Viceversa Sia v un vertice di G, sia
•V1 l’insieme formato da v e dai vertici di G che hanno distanza pari da v
•V2 = V – V1 , cioè l’insieme dei vertici che hanno distanza dispari da v.
Due vertici di V2 non possono essere tra loro adiacenti.
Per assurdo, siano u1 e u2 due vertici di V2 tra di loro adiacenti e poniamo
d(v,u1) = 2h+1 , d(v,u2) = 2k+1.
Se i due cammini :
v, w1, … , w2h+1 = u1 v, w’1, … , w’2k+1 = u2
non hanno vertici in comune la loro unione con lo spigolo u1u2 è un ciclo di lunghezza
(2h+1)+1+(2k+1) dispari, assurdo.
Se hanno qualche vertice in comune, sia w quello più distante da v (l’ultimo della
sequenza). Si ha allora che:
d(v,u1) = 2h+1 = d(v,w) + d(w, u1) e d(v,u2) = 2k+1 = d(v, w) + d(w, u2)
quindi il ciclo w,….., u1, u2, …., w ha lunghezza d(w, u1) + 1 + d(u2, w), dispari, assurdo.
Analogamente se esistesse uno spigolo uw che unisce due punti di V1 , l’unione del
cammino da v ad u (lunghezza pari), da v a w (lunghezza pari) insieme con lo spigolo uw
dà luogo ad un ciclo di lunghezza dispari.
Quindi ogni spigolo di G unisce un punto di V1 con un punto di V2.
53
I grafi bipartiti costituiscono un modello per i problemi di accoppiamento (matching)
Un matching è un sottoinsieme X di E(G) in modo che mai due lati hanno un vertice
in comune.
Un matching si dice completo se |X| = min {|V1|, |V2|}.
54
Il problema precedente si risolve determinando un matching completo che copre tutti i
vertici.
Il primo passo nello studio dei matchings è decidere quando un matching completo è
possibile.
Sia |V1|≤ |V2|. Se A è un sottoinsieme di V1 , indichiamo con
|J(A)| ≥ |A|
Per ogni A ⊆ V1.
55
Esercizio - Dimostrare :
1. Che Kn,n possiede un matching completo che copre tutti vertici.
2. Il grafo Km,n è hamiltoniano se e solo se m = n.
3. Quali sono le condizioni affinché Km,n sia euleriano
4. Se G è un grafo planare privo di triangoli allora m ≤ 2n - 4
5. K3,3 è un grafo planare?
6. Determinare un albero ricoprente di Km,n.
56
GRAFI E RELAZIONI
.
Data una relazione binaria (simmetrica e non riflessiva) α su un insieme A, questa è
rappresentata tramite un grafo G i cui vertici sono gli elementi di A e due vertici
distinti sono adiacenti se sono in relazione tra di loro. La rappresentazione
matriciale di α è la matrice di adiacenza del grafo.
57
GRAFI E RELAZIONI
.
Data una relazione binaria (simmetrica e non riflessiva) α su un insieme A, questa è
rappresentata tramite un grafo G i cui vertici sono gli elementi di A e due vertici
distinti sono adiacenti se sono in relazione tra di loro. La rappresentazione
matriciale di α è la matrice di adiacenza del grafo.
58
LEMMA Data una relazione α su un insieme V, vale l’identità
α k α = α αk.
Dim. Si procede per induzione su k.
COROLLARIO Mk α = M αk
Dim. Si procede per induzione su k.
TEOREMA Sia G =(V, α). Esiste un cammino di ordine k tra un vertice u e un vertice v se e solo se
u αk v.
59
Viceversa u αk v = u αk-1 α v da cui applicando l’ipotesi induttiva esiste il cammino u =
v0, v1, … , vk-1 e vk-1 α vk = v, da cui la tesi.
60
Verificare se i grafi G e G’ aventi le seguente matrici di adiacenza
sono connessi o meno
1 2 3 4 5
1 0 1 0 0 1
2 1 0 1 0 1
Mα = 3 0 1 0 1 0
4 0 0 1 0 1
5 1 1 0 1 0
Determinare M α2
61
Verificare se i grafi G e G’ aventi le seguente matrici di adiacenza
sono connessi o meno
1 2 3 4 5
1 0 1 0 0 1
2 1 0 1 0 1
Mα = 3 0 1 0 1 0
4 0 0 1 0 1
5 1 1 0 1 0
Determinare M α2
62