Sei sulla pagina 1di 62

CONCETTI FONDAMENTALI

Un grafo è formato da un insieme (finito) V, i cui elementi sono detti vertici,


e da una collezione E di coppie non ordinate di elementi di V, che sono dette
lati o spigoli. Un grafo si denota con G=(V,E).
Il lato {x,y} viene indicato con [x,y] o più semplicemente con xy.

Un grafo orientato o digrafo è formato da un insieme (finito) V, i cui elementi


sono detti vertici, e da un sottoinsieme R di VxV di coppie ordinate di
elementi di V, che sono dette archi o spigoli. Un digrafo si denota con G=(V,R).
Quindi, a differenza di un grafo semplice, gli spigoli di un digrafo sono delle
coppie ordinate (x,y).

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.

Nella rappresentazione geometrica di un digrafo i vertici sono rappresentati da punti (di


un piano) e i lati da archi (o segmenti) orientati che congiungono i vertici.

ESEMPIO 1

V = {a,b,c}
E1 = {{a,b}{a,c}} E2 = {{a,a}{a,b}{a,c}{b,a}}

G = (V,E1) è un grafo semplice, G’ = (V,E2) è un multigrafo.

I grafi precedenti sono rappresentati:

2
G: V = {a,b,c} E1 = {{a,b}{a,c}}

b
b c
a oppure a
c

G’: V = {a,b,c} E2 = {{a,a}{a,b}{a,c}{b,a}}

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

O tramite il seguente grafo orientato, e il verso indica quale squadra ha vinto:

D C 5
Alla fine del torneo ogni squadra ha giocato con tutte le altre, quindi la
situazione è rappresentata da

E B

D C

Grafo completo con 5 vertici che viene indicato con K5.


In generale un grafo completo con n vertici viene indicato con Kn.

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.

Diamo le definizioni prima nel caso di un grafo semplice G =


(V,E), con V = {v1,v2,...,vn} e E = {e1,e2,…,em}

Matrice di incidenza

È una matrice di tipo [n,m] il cui generico elemento aij = 1 se


il vertice vi è incidente lo spigolo ej , aij = 0 in caso contrario.

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

E’ una matrice quadrata di ordine n il cui generico


elemento bij = 1 se il vertice vi è adiacente al vertice
vj, bij = 0 in caso contrario.

Ad esempio la matrice associata al grafo precedente


è:

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

Chiaramente tale matrice é simmetrica ed ha tutti 0 sulla diagonale principale.

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.

Ad esempio la matrice associata al grafo pag.14 è:

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).

Proposizione 1 - v Vd(v) = 2 |E(G)|


- il numero dei vertici di grado dispari è un
numero pari.
Dim. – Ogni vertice è incidente con d(v) lati; d’altra parte ogni lato è incidente
con 2 vertici, da cui la tesi.
-Partizionando l’ insieme V(G) nei due sottoinsiemi:
V1 = {vertici di grado pari} e V2 ={vertici di grado dispari} si ha la tesi.

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).

Si dimostra facilmente che:

Proposizione v V di(v) = v V du(v) = |R|.

16
CAMMINI E CONNESSIONI

Si definisce cammino (walk) di un grafo una sequenza alternata


di vertici e lati
v0 e1 v1 e2 … eh vh
in cui ogni lato è incidente con il vertice che lo precede e con il
vertice che lo segue, inoltre inizia e finisce con un vertice.

Questo cammino può anche essere indicato con


v0, v1, … , vh

essendo gli spigoli evidenti dal contesto; h è detto lunghezza del


cammino.

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.

Un cammino chiuso (cioè v0 = vh) viene detto circuito, un cammino elementare


di lunghezza h > 3 viene detto ciclo.

Un grafo formato da un solo ciclo può essere rappresentato geometricamente


come un poligono e viene indicato con Ch:

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.

Un grafo si dice connesso se due vertici qualsiasi sono sempre congiungibili. Da


un punto di vista intuitivo un grafo è connesso se nella sua rappresentazione
geometrica non compaiono “parti” separate. Ad esempio il grafo G precedente è
l’ unione di tre “parti”, dette componenti connesse :
C3 C4 C6

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

Esercizio: determinare i punti e gli spigoli di taglio del seguente grafo

20
Non esistono condizioni necessarie e sufficienti per stabilire se
un grafo è connesso. Ma esistono alcune condizioni necessarie
e altre sufficienti.

Osservazione Sia G un grafo connesso. Il grafo G - v ottenuto


da G cancellando un vertice v e gli m spigoli ad esso incidenti
avrà h componenti connesse, con 1≤h≤m.

21
TEOREMA Un grafo (semplice) connesso con n vertici ha almeno n-1 lati

DIM. Procediamo per induzione su n.


Se n=2, il grafo per essere connesso deve possedere almeno uno spigolo.
Supponiamo il teorema vero per k≤n-1 e dimostriamolo per k=n.

Sia v V(G) un vertice di grado m. Il grafo G-v sarà un grafo formato da h

componenti connesse, G1 G2 … Gh , ognuna delle quali ha ni≤ n-1 vertici. Per


ipotesi induttiva si ha |E(Gi)|≥ni-1.

22
≥ = -
|E(G-v)|=

= (n-1)-h

Da cui

|E(G)|≥ (n-1)-h+m =(n-1)+(m-h)≥ (n-1).

c.v.d.

23
.

TEOREMA Un grafo (semplice) con n vertici e grado minimo δ ≥ è un grafo connesso.

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) ≥ δ ≥

e quindi | V(G1)| ≥ d(v)+1 ≥ +1 =

Analogamente si ha: | V(G2)| ≥

Da | V(G)| = | V(G1)|+ | V(G2)|≥ n+1, assurdo.

24
Questa condizione è sufficiente, ma non necessaria come si vede facilmente
con il seguente grafo connesso

In cui il grado minimo è 1 < (n-1)/2

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 .

Un digrafo si dice fortemente connesso se due vertici qualsiasi sono sempre


congiungibili.

Ad ogni digrafo G = (V,R) si può associare un grafo semplice G*=(V,E) avente lo


stesso insieme di vertici e lo spigolo [vi,vj] E se l’ arco (vi,vj) R e/o (vj,vi) R .

Un digrafo si dice (debolmente) connesso se G* è connesso.

26
PROBLEMI RELATIVI A CAMMINI

Poche discipline possono datare la loro nascita con la precisione della


teoria dei grafi, che è nata nel 1736 per opera del famoso matematico
svizzero, noto in Italia con il nome di Eulero.

La città di Konisberg è attraversata dal fiume Pregel, che la divide in


quattro parti; queste sono collegate tra di loro da sette ponti.

E’ possibile fare una passeggiata per la città partendo da un punto


qualsiasi, percorrendo ogni parte una sola volta e tornando al punto di
partenza?

27
Eulero modellizzò il problema con il seguente multigrafo

A
D

e dimostrò che il problema non aveva soluzioni.

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.

In seguito è stato dimostrato che:

TEOREMA Un grafo connesso contiene un ciclo di Eulero se e solo se ogni vertice ha


grado pari.

29
COROLLARIO Un grafo connesso contiene un cammino di Eulero se
e solo se ha esattamente due vertici di grado dispari.

Ad esempio per disegnare la figura precedente senza alzare la penna


dal foglio basta partire da uno dei vertici di grado dispari!!!

30
Un altro problema collegato a cammini è quello di passare per tutti i vertici una ed una sola
volta.

DEFINIZIONE Un ciclo hamiltoniano (di Hamilton) è un ciclo che contiene tutti i


vertici una ed una sola volta. Un grafo è detto hamiltoniano se possiede un ciclo
hamiltoniano.

Non esiste nessuna caratterizzazione dei grafi hamiltoniani, tranne che per alcune
particolari classi di grafi (cicli, grafi completi).

In generale si hanno solo delle condizioni sufficienti , di cui omettiamo la dimostrazione

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

In cui d(1)+d(4)= 4 < 5, d(1) =2 < n/2

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

• Problema del collegamento minimo: si vuole collegare un certo numero di città


tramite linee di comunicazione, in modo tale che la lunghezza (il costo) totale sia
minima. Questo significa che ogni città deve essere raggiungibile da tutte le altre e
non ci devono essere ripetizioni.

• Rappresentando le città con i vertici di un grafo e le linee di comunicazioni con gli


archi, il problema è rappresentato da un grafo connesso privo di cicli, cioè da un
albero.

• Definizione Un albero è un grafo connesso privo di cicli. Un albero con un solo


vertice e privo di spigoli è detto singolare.

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.

TEOREMA Sia G un grafo finito con n vertici


1. G è un albero
2. G è privo di cicli e |E(G)| = n-1
3. G è connesso e |E(G)| = n-1.

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.

Esercizio: verificare se il seguente grafo è connesso; in caso di risposta positiva, dire se è


un albero.
1 2 3 4 5

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).

TEOREMA Ogni grafo connesso finito G ammette almeno un albero ricoprente.

Dim. Sia |V(G)| = n e |E(G)| = m ≥ n-1. Procediamo per induzione su m.


Se m = n-1, G è un albero. Se m > n-1, G ha almeno un ciclo. Eliminando un lato da tale ciclo si ha
un grafo che ha n vertici e m-1 spigoli; quindi per l‘ipotesi induttiva, tale sottografo ammette un
albero ricoprente che è anche sottografo di G.

Dalla dimostrazione precedente si evince che esistono vari alberi ricoprenti di uno
stesso grafo.

Illustriamo alcuni algoritmi per costruire un albero ricoprente.

40
VISITA IN PROFONDITA’

Sia G=(V,E) un grafo connesso

•Si sceglie un vertice x1 e si ha l’albero T1 = x1, Ø


•Si sceglie un vertice x2 adiacente x1 e si considera l’albero T2 avente V(T2) = x1,x2
e E(T2)= x1x2
•Se esiste un vertice x3≠ x1 adiacente x2, si considera l’albero T3 avente V(T3) =
x1,x2 , x3 e E(T3)= x1x2, x2x3 ; in caso contrario si sceglie un vertice x3≠ x2
adiacente x1, si considera l’albero T3 avente V(T3) = x1,x2 , x3 e E(T3)= x1x2, x1x3
•In generale, se esiste un vertice xi+1 distinto dai precedenti e adiacente xi, si
considera l’albero Ti+1 avente V(Ti+1) = x1,x2 ,…, xi, xi+1 e E(Ti+1)= x1x2, …, xixi+1 ; in
caso contrario si sceglie un vertice xi+1, distinto dai precedenti e adiacente xj con
1≤ j ≤ i-1, e si considera l’albero Ti+1 avente V(Ti+1) = x1,x2 , …, xj, …, xi, xi+1 e
E(Ti+1)= x1x2, …,xi-1xi,…, xjxi+1
•Il procedimento ha fine quando si sono visitati tutti vertici

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

•si sceglie un vertice x1, radice dell’albero


•si considerano tutti vertici adiacenti a x1 e gli spigoli che li collegano a x1
•si considerano i vertici adiacenti ai vertici precedenti, distinti da essi e da x1
•si procede finché non sono stati toccati tutti vertici e stando attenti che non ci siano cicli.

Applicando tale algoritmo al grafo precedente otteniamo

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.

TEOREMA (Formula di Eulero) Se G è un grafo planare con n vertici, m spigoli e


f facce si ha:
n–m+f=2.
45
TEOREMA Sia G un grafo planare (semplice)
a. se G ha almeno 3 vertici allora m ≤ 3n – 6
b. esiste almeno un vertice v tale che d(v) ≤ 5
c. se G è privo di triangoli m ≤ 2n – 4

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 m ≤ 2, la b. è vera. Sia m ≥ 3, essendo δ(G) ≤ d(v), si ha:


δ(G) n ≤ ∑d(v) = 2 m ≤ 6 n – 12
da cui δ(G) < 6.

- 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

Una colorazione dei vertici di un grafo G = (V, E) è l’assegnazione ai


vertici di G di un colore tale che due vertici adiacenti hanno colore
diverso.

L’ insieme dei vertici con lo stesso colore è chiamato classe.

Se |V| = n, possiamo colorare i vertici di G con n colori utilizzando un


colore per ogni vertice.

Una colorazione che utilizza k colori è detta k-colorazione. Una


definizione alternativa di una k-colorazione è la seguente:

Una k-colorazione è una funzione f di V sull’insieme {1,2,…,k} tale che


se due vertici u e v sono adiacenti f(u) ≠ f(v)

Chiaramente ogni grafo G ha differenti k-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.

TEOREMA Ogni grafo planare è 4-colorabile

48
Chiamiamo numero cromatico di G il minimo intero k tale che G ha una
k-colorazione; esso viene denotato con χ(G).

Determinare il numero cromatico di un grafo è un problema difficile.


Comunque è possibile dare delle limitazioni

Teorema Per ogni grafo G di grado massimo Δ(G) si ha


Χ (G) < Δ(G) + 1.

Dim. Sia f : V(G) → {1, 2,…, Δ(G)+1} tale :


-ad un arbitrario vertice v associamo 1
- per ogni vertice u ≠ v, poniamo f(u) uguale al minimo intero positivo tale
f(u)≠f(u’) per ogni u’ adiacente ad u per cui f è già stata definita.
Poiché ogni vertice è adiacente al più a Δ(G) vertici, si ha la tesi.

Esercizio: Dimostrare che il numero cromatico di un ciclo Cn è 2 o 3 secondo


che n è pari o dispari.
Dimostrare che il numero cromatico di un grafo completo Kn è n (=Δ(G)+1).

49
Brooks ha dimostrato che i cicli di lunghezza dispari ed i grafi completi sono gli unici grafi
per cui Χ (G) =Δ(G) + 1.

TEOREMA Un grafo ha numero cromatico uguale a 2 se e solo se non contiene cicli di


lunghezza dispari.

Dim. Se un grafo G è 2-colorabile, anche un qualsiasi ciclo contenuto in G è 2-colorabile, cioè


lungo il ciclo i due colori si alternano, quindi il numero dei vertici è pari.
Viceversa: Ad un vertice arbitrario v assegniamo il colore 1.
Coloriamo tutti gli altri vertici di G con la seguente regola:
Se per qualche vertice u, f(u) = 1 ad un vertice w ad esso adiacente assegniamo il colore 2; se
f(u)=2, al vertice w assegniamo il colore 1.
Non può verificarsi che ad uno stesso vertice w sono stati assegnati due colori diversi, perché
ciò comporterebbe che w appartiene ad un ciclo di lunghezza dispari.

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.

Chiamiamo indice cromatico di G il minimo intero h tale che G ha una colorazione


degli spigoli con h colori; esso viene denotato con χ’(G).

Vizing nel 1964 dimostrò il seguente

TEOREMA Se G è un grafo semplice allora χ’(G) = Δ oppure χ’(G) = Δ +1.

Esercizio: Dimostrare che l’indice cromatico di un ciclo Cn è 2 o 3 secondo che n è


pari o dispari.

Dimostrare che l’indice cromatico di un grafo completo Kn è n o n-1 secondo che n


è dispari o pari.

51
GRAFI BIPARTITI

DEFINIZIONE Un grafo bipartito è un grafo connesso tale che V(G)=V1 V2


e gli spigoli collegano solo vertici di V1 con vertici di V2.

Un grafo bipartito completo (cioè con tutti i possibili spigoli) viene indicato
con Km,n.

TEOREMA Un grafo G è bipartito se e soltanto se non contiene cicli di


lunghezza dispari.

Dim. Se G è bipartito, allora V(G)= V1 U V2 e ogni spigolo è del tipo x y,


con x ∊ V1 e y∊ V2. Pertanto un ciclo di G, se esiste, è formato da vertici
che appartengono alternativamente a V1 e a V2 ; quindi ha un numero
dispari di vertici e un numero pari di spigoli.

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 esempio è fornito dal problema di assegnazione di mansioni:

Supponiamo di avere un insieme P di persone e un insieme M di mansioni ; ogni persona


è in grado di svolgere solo alcune delle mansioni. E’ possibile assegnare le mansioni in
modo che il massimo numero di persone svolga una mansione che sa fare?
Tale situazione si può rappresentare tramite un grafo bipartito V(G) = P ∪ M e con
gli spigoli {p,m} relativi a tutte le mansioni che p può svolgere.

Sia G = (V1 ∪ V2, E) un grafo bipartito.

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) ={u∊ V2 / uv∊E(G), v∊A}.

Philip Hall nel 1935 dimostrò che


TEOREMA Un grafo bipartito G = (V1 ∪ V2, E) ha un matching completo se e solo se

|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.

Viceversa, dato un grafo semplice G = (V,E) si può definire una relazione α


nell’insieme V dicendo che due vertici sono in relazione se e solo se sono
adiacenti.

DEFINIZIONE La (k+1)-esima potenza di una relazione α su un insieme A è la


relazione composta ααk (k≥1)
αk+1 = ααk.
Analogamente
Mα k+1 = Mα Mα k

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.

Viceversa, dato un grafo semplice G = (V,E) si può definire una relazione α


nell’insieme V dicendo che due vertici sono in relazione se e solo se sono
adiacenti.

DEFINIZIONE La (k+1)-esima potenza di una relazione α su un insieme A è la


relazione composta ααk (k≥1)
αk+1 = ααk.
Analogamente
Mα k+1 = Mα Mα k

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.

Dim. Si procede per induzione: k=1, u α v se e solo se u e v sono adiacenti.


Sia u = v0, v1, … , vk-1 , vk = v un cammino tra u e v; applicando l’ipotesi induttiva si ha:

u αk-1 vk-1 e vk-1 α v


da cui u αk-1 α v = 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.

COROLLARIO Dato un grafo G =(V, α) la matrice Mk α descrive la relazione su V


“Esiste un cammino di lunghezza k”.
ciò significa che la ricerca dell’ esistenza di un cammino tra due vertici v i e v j equivale
alla ricerca di un eventuale potenza k di Mα tale che l’elemento di posto i j vale 1 e che un
grafo è connesso se per ogni coppia di vertici, u e v esiste un k tale che u αk v.

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