NARDOZZA (dispense) - I grafi

Transcript

NARDOZZA (dispense) - I grafi
ELEMENTI DI TEORIA DEI GRAFI
VINCENZO C. NARDOZZA
La Teoria dei Grafi è uno dei pochi settori della Matematica che abbia una
data di nascita precisa: il primo lavoro sui Grafi fu scritto dal matematico svizzero
Leonardo Eulero, ed apparve nel 1736. Il lavoro di Eulero cominciò con la soluzione
del cosiddetto Problema dei ponti di Königsberg, che esamineremo nel corso delle
note.
1. Concetti di base
Definizione 1.1. Siano V 6= ∅, E insiemi e sia I ⊆ V × E. La terna ordinata
(V, E, I ) si dice un grafo se
(
vI e
∀ e ∈ E ∃!{v, w} ∈ P2 (V ) tale che
.
wI e
In tal caso, gli elementi di V si dicono vertici, gli elementi di E si dicono spigoli e
la relazione I si dice relazione di incidenza vertice-spigolo.
Osservazione 1.2. Ricordiamo che P2 (V ) = {A ⊆ V | |A| = 2}. Quindi
• non consideriamo grafi le strutture in cui siano presenti self-loops;
• non escludiamo che più spigoli possano essere incidenti con la stessa coppia
di vertici.
I grafi che considereremo saranno solo finiti, cioè |V | , |E| < ∞.
E’ possibile raffigurare graficamente un grafo in modo naturale: ogni vertice è
rappresentato da un punto in un piano, e uno spigolo da una linea che congiunge i
vertici ad esso incidenti.
Esempio 1.3. Sia V = {1, 2, 3, 4}, E = {e1 , e2 , e3 , e4 , e5 , e6 } e sia assegnate le
incidenze
e1
e1
e3
e
e
1I e2 , 2I 2 , 3I e5 , 4I 4
e3
e5
e6
e6
e4
Allora possiamo rappresentare la situazione con il disegno seguente:
e1
1
e6
3
e2
e3
e5
2
e4
4
Definizione 1.4. Sia G = (V, E, I ) un grafo. Il grafo si dice semplice se ogni
coppia di vertici individua al più uno spigolo.
1
2
VINCENZO C. NARDOZZA
Definizione 1.5. Un grafo G = (V, E, I ) si dice diretto se è assegnata una funzione
f : E → V × V tale che


u 6= v
∀ e ∈ E, f (e) = (u, v) ⇒ uI e
.


vI e
Il vertice u si dice il vertice iniziale di e, il vertice v quello finale.
Definizione 1.6. Un grafo G = (V, E, I ) si dice pesato se è assegnata una funzione
w : E → R. In tal caso, w(e) si dice il peso dello spigolo e, e la funzione w è detta
la funzione peso del grafo.
Definizione 1.7. Sia G = (V, E, I ).
• Il numero |V | si dice l’ordine del grafo;
• il numero |E| si dice la taglia del grafo;
• se v ∈ V , il numero d(v) := |{e ∈ E | vI e}| si dice il grado del vertice v;
• un vertice v si dice pari se d(v) è pari; altrimenti si dice dispari;
• un vertice di grado 0 si dice un vertice isolato;
• i vertici u, v ∈ V si dicono adiacenti se esiste e ∈ E avente u, v come vertici;
• gli spigoli e1 , e2 ∈ E si dicono adiacenti se esiste un vertice v ∈ V incidente
con entrambi.
Esempio 1.8. Il grafo
•
•
•
•
è semplice, i vertici sono tutti a due a due adiacenti, gli spigoli non sono tutti
adiacenti, i vertici del grafo hanno tutti ordine 3.
Esempio 1.9. Il grafo
•
•
•
è non semplice, ha due vertici di grado 3 e uno di grado 2.
Esempio 1.10. Assegnando f : E → V × V si può rendere il grafo precedente un
grafo diretto:
•
•
•
Esempio 1.11. Possiamo rendere il grafo pesato, assegnando in qualche modo un
peso a ognuno dei suoi spigoli. Per esempio
•
1
2
4
•
7
•
Ciò equivale a scrivere esplicitamente la funzione w : E → R.
ELEMENTI DI TEORIA DEI GRAFI
3
Teorema 1.12. (Primo Teorema della Teoria dei Grafi)
La somma dei gradi dei vertici di un grafo è il doppio della sua taglia; in altri
termini
1X
|E| =
d(v).
2
v∈V
Dimostrazione. Nella somma dei gradi dei vertici, ogni spigolo contribuisce una
volta per ciascuno dei suoi due estremi, quindi due volte in tutto.
Corollario 1.13. In ogni grafo c’è un numero pari di vertici dispari.
Esempio 1.14. Non ci può essere alcun grafo di 7 vertici in cui cinque abbiano
grado 1 e due abbiano grado 2.
Definizione 1.15. Un grafo si dice regolare di grado d se tutti i suoi vertici hanno
grado d.
Esempio 1.16. Il grafo
•
•
•
•
è un grafo regolare di grado 1 di ordine 4. Il grafo
•
•
•
•
è un grafo regolare di grado 2 di ordine 4.
Definizione 1.17. Sia G = (V, E, I ) un grafo di ordine n. Si dice che G è il grafo
vuoto di ordine n (e lo indicheremo con En ) se |E| = 0; si dice che G è il grafo
completo di ordine n (e lo indicheremo con Kn ) se
(1) G è semplice;
(2) i vertici di G sono tutti a due a due adiacenti.
Esempio 1.18. Di seguito ci sono i grafi completi di ordine 6 6:
•
•
•
K1
•
•
•
•
K4
•
•
K2
•
K3
•
•
•
•
•
K5
•
•
•
•
•
•
K6
Lemma 1.19. Per ogni n > 1 il grafo Kn è regolare di grado n − 1 e di taglia
n
2
.
Definizione 1.20. Un grafo G = (V, E, I ) si dice bipartito se esistono V1 , V2 ⊆ V
tali che
4
VINCENZO C. NARDOZZA
(1) V1 , V2 6= ∅;
(2) V1 ∪ V2 = V e V1 ∩ V2 = ∅;
(3) i vertici di V1 sono a due a due NON adiacenti, e così pure i vertici di V2 .
In tal caso gli insiemi V1 , V2 si dicono i partiti del grafo.
Esempio 1.21. Il grafo
•
•
•
•
non è bipartito. I grafi
•
•
•
•
•
•
•
,
•
•
sono bipartito.
Definizione 1.22. Si dice che un grafo è bipartito completo se
(1) G è semplice;
(2) G è bipartito;
(3) ogni vertice di un partito è adiacente a ogni vertice dell’altro partito di G.
In tal caso, se |V1 | = m e |V2 | = n allora indichiamo il grafo con Km,n .
Esempio 1.23. I grafi bipartito dell’esempio precedente sono completi, e precisamente sono i grafi K2,3 e K2,2 , rispettivamente.
Definizione 1.24. Sia G = (V, E, I ) un grafo, e siano u, v ∈ V . Si dice percorso
da u a v in G ogni sequenza (finita)
u = v0 , e1 , v1 , e2 , v2 , . . . , vk−1 , ek , vk = v
tale che
(1) v1 , . . . , vk−1 ∈ V ;
(2) e1 , . . . , ek ∈ E;
v
(3) i−1 I ei per ogni i = 1, . . . , k.
vi
In tal caso il numero k si dice la lunghezza del percorso. Il percorso si dice chiuso
se u = v.
Definizione 1.25. Sia u = v0 , e1 , v1 , e2 , v2 , . . . , vk−1 , ek , vk = v un percorso nel
grafo.
• Il percorso si dice un cammino se gli spigoli e1 , . . . , ek sono a due a due
distinti;
• un cammino chiuso si dice un ciclo (o anche un circuito);
• il percorso si dice un arco se i vertici v0 , . . . , vk−1 , vk sono a due a due
distinti, a parte eventualmente v0 = vk , nel qual caso si dice un arco chiuso.
Teorema 1.26. Un grafo G di ordine > 2 è bipartito se e solo se non contiene
cicli di lunghezza dispari.
ELEMENTI DI TEORIA DEI GRAFI
5
Osservazione 1.27. Se G è bipartito, è ovvio che non contiene cicli di lunghezza
dispari: se u, e1 , v1 , e2 , v2 , . . . , ek , vk = u è un ciclo e, diciamo, u ∈ V2 , allora
v1 , v3 , v5 , . . . sono tutti in V1 . Ma se k fosse dispari, allora u = vk ∈ V1 , assurdo.
L’altra implicazione è il vero contenuto del Teorema, ma omettiamo la sua
dimostrazione in questa sede.
Definizione 1.28. Un grafo G = (V, E, I ) si dice connesso se
∀ {u, v} ∈ P2 (V ) esiste un percorso da u a v.
Osservazione 1.29. E’ facile vedere che in realtà G è connesso se due qualunque
vertici di G sono collegati da un cammino.
Definizione 1.30. Sia G = (V, E, I ) un grafo, e sia u ∈ V un suo vertice.
Poniamo:
• Vu := {v ∈ V | esiste in G un percorso da u a v};
• Eu := {e ∈ E | i vertici di e sono entrambi in Vu };
• Iu = (Vu × Eu ) ∩ I .
La terna Gu = (Vu , Eu , Iu ) è un grafo connesso che include il vertice u, ed è detto
la componente connessa di u in G.
Teorema 1.31. Ogni grafo è unione di componenti connesse. In particolare il
grafo è connesso se ha un’unica componente connessa.
In termini molto informali, un grafo è connesso se “tirando via” uno dei suoi
vertici, viene via l’intero grafo.
2. Grafi Euleriani e Hamiltoniani
Nel seguito, riteniamo fissato un grafo G = (V, E, I ).
Definizione 2.1. Un cammino in G si dice euleriano se esso include tutti gli spigoli
di G. Un ciclo euleriano si dice anche una linea di Eulero del grafo.
Definizione 2.2. Diciamo che G è Euleriano se è un grafo connesso che ammette
una linea di Eulero.
Ai fini dell’eulerianità, la connessione può essere sostituita da una condizione più
semplice:
Lemma 2.3. Sia G un grafo di ordine > 2 avente un cammino euleriano. Allora
G è connesso ⇐⇒ G è privo di vertici isolati.
Dimostrazione. E’ ovvio che se G è connesso allora non può avere vertici isolati.
Viceversa, ogni componente connessa di G non può essere ridotta a un solo punto
(non ci sono punti isolati) e quindi deve contenere almeno uno spigolo. Tale spigolo
deve comparire tra gli spigoli del cammino euleriano, e quindi i suoi vertici devono
essere collegati ai vertici di tutte le altre componenti connesse. In definitiva, ci può
essere una sola componente connessa.
Osservazione 2.4. Dobbiamo notare che il grafo E1 = K1 è connesso, ma è fatto
da un vertice isolato.
D’altra parte, l’esistenza di un cammino euleriano non garantisce la connessione:
il grafo •
•
• di ordine 3 ha un cammino euleriano, ma non è connesso. Tuttavia se il grafo ammette un cammino euleriano, allora le sue componenti
6
VINCENZO C. NARDOZZA
connesse saranno costituite da al più un grafo connesso non banale mentre le altre
saranno costituite ciascuna da un singolo vertice isolato.
2
Osservazione 2.5. Se G è privo di vertici isolati e ammette una linea di Eulero,
allora necessariamente tutti i suoi vertici sono pari. Infatti, essendo la linea di
Eulero un ciclo, allora tutti i vertici di G sono toccati almeno una volta dalla linea,
e ogni volta che si tocca uno dei vertici vi si entra e vi si esce da spigoli diversi.
Questa considerazione in realtà può essere invertita, anche se la cosa non è affatto
banale:
Teorema 2.6. (di Eulero, 1736)
Se G è privo di vertici isolati e di ordine > 2, allora
G è Euleriano ⇐⇒ G è connesso e tutti i vertici di G sono pari.
Corollario 2.7. Siano u e v vertici distinti di un grafo G privo di vertici isolati.
Allora
il grafo ammette un cammino
u e v sono gli unici vertici dispari
⇐⇒
euleriano da u a v
di G e G è connesso.
Possiamo tornare a parlare del problema dei ponti di Königsberg: la città è
attraversata da un fiume tra le cui sponde si forma un’isoletta. Le sponde e l’isoletta
sono collegate da sette ponti in tutto, come nella figura seguente:
Il problema è: esiste un punto della città dal quale partire per una passeggiata che
passi per ciascuno dei sette ponti esattamente una volta e che termini nel punto
iniziale? Più in generale, è possibile effettuare una passeggiata che permetta di
passare su ciascuno dei sette ponti esattamente una volta?
Entrambi i problemi possono essere riformulati schematizzando la situazione con
il grafo sovrimposto alla figura. Una soluzione al primo problema corrisponde allora
all’esistenza di una linea di Eulero nel grafo. Dato che ciascuno dei vertici ha grado
dispari, tale problema non ha soluzione.
Il secondo problema chiede se il grafo ammette un cammino euleriano, ma l’esito
è esattamente lo stesso a causa del corollario al Teorema di Eulero.
In maniera illusoriamente simile al concetto di grafo euleriano possiamo introdurre la seguente definizione:
Definizione 2.8. Un cammino in un grafo si dice hamiltoniano se tocca tutti i
vertici del grafo, ciascuno esattamente una volta. Un cammino hamiltoniano chiuso
si dice una linea di Hamilton. Un grafo si dice hamiltoniano se ammette una linea
di Hamilton.
Naturalmente, un grafo hamiltoniano è connesso. In particolare, un grafo hamiltoniano non può avere vertici isolati.
Esempio 2.9. Il grafo K4 è hamiltoniano, e così sono tutti i grafi completi Kn per
n > 2. Si noti che K4 , invece, non è euleriano. Invece, il grafo
ELEMENTI DI TEORIA DEI GRAFI
•
•
•
•
7
•
•
è un grafo connesso, ammette un cammino euleriano ma non uno hamiltoniano.
Se cancelliamo il vertice di grado 1 e il relativo spigolo otteniamo un grafo che è
euleriano, non hamiltoniano, ma che ammette un cammino hamiltoniano.
Osservazione 2.10. Le definizioni di grafo euleriano e grafo hamiltoniano sono
solo apparentemente molto simili. E’ degno di menzione il fatto che invece non
esiste un risultato simile al teorema di Eulero che caratterizzi i grafi hamiltoniani.
3. Rappresentazioni e sottografi
Benchè sia abbastanza naturale rappresentare un grafo tramite un disegno, va
tenuto in mente che un grafo è un insieme di dati strutturato, e il disegno che facciamo per rappresentare le informazioni contenute nel grafo non è necessariamente
unico. In genere, anzi, più disegni possono essere associati allo stesso grafo.
Esempio 3.1. Il grafo K3,3 può essere rappresentato con i seguenti due disegni:
3
v1
v2
v3
v4
v5
v6
2
4
1
5
6
Con ciò si intende dire che le informazioni contenute nel primo disegno sono esattamente le stesse contenute nel secondo, pur essendo i disegni nettamente diversi.
La seguente definizione precisa meglio cosa dobbiamo intendere quando diciamo
che due disegni sono rappresentazioni dello stesso grafo.
Definizione 3.2. Siano G = (U, E, I ) e H = (V, F, J ) grafi. I grafi G e H si
dicono isomorfi se esiste una funzione ϕ : U ∪ E → V ∪ F tale che
(1) ϕ è bigettiva;
(2) ϕ(U ) = V , ϕ(E) = F ;
(3) ∀ u ∈ U, ∀ e ∈ E risulta
uI e
⇐⇒
ϕ(u)J ϕ(e).
Osservazione 3.3. Se G e H sono isomorfi, allora in particolare si ha che
• G e H hanno lo stesso ordine;
• G e H hanno la stessa taglia;
• per ogni v ∈ U si ha d(v) = d(ϕ(u));
• per ogni n ∈ N ci sono in G e H lo stesso numero di vertici di grado n;
• per ogni n ∈ N, G e H hanno lo stesso numero di cammini di lunghezza n.
Tuttavia, nessuna di queste richieste è sufficiente a garantire che due grafi siano
isomorfi.
Osservazione 3.4. In termini informali, possiamo pensare che due disegni rappresentino lo stesso grafo (ovvero, grafi isomorfi) se è possibile modificare uno dei due
allungando o muovendo gli spigoli o i vertici, senza però effettuare tagli o cambi
delle incidenze, fino a ottenere il secondo disegno:
8
VINCENZO C. NARDOZZA
Va pertanto tenuta bene in mente la distinzione tra i concetti di grafo (struttura)
e rappresentazione del grafo (disegno).
Un altro modo di rappresentare un grafo è il seguente:
Definizione 3.5. Sia G = (V, E, I ) un grafo di ordine n, e fissiamo un ordine
totale su V ; diciamo, V = {v1 , . . . , vn }.
Si dice matrice di adiacenza del grafo la matrice
v
A = (aij ) ∈ Mn (N) ove aij = e ∈ E i I e ,
vj
cioè aij è il numero di spigoli che hanno come vertici vi e vj .
Osservazione 3.6. Possiamo registrare le seguenti proprietà della matrice di adiacenza di un grafo:
• è una matrice quadrata avente 0 come entrate della diagonale principale;
• è una matrice simmetrica (cioè AT = A);
• il grafo che rappresenta è semplice ⇐⇒ A è una matrice a entrate in
{0, 1};
• la somma delle entrate della riga i è il grado d(vi ).
Teorema 3.7. Siano G = (V, E, I ) e G0 = (V 0 , E 0 , I 0 ) grafi rappresentati dalle
matrici di adiacenza A = (aij ) e A0 = (a0ij ) rispettivamente.
I grafi sono isomorfi se e solo se |V | = |V 0 | = n ed esiste una permutazione
σ ∈ Sn tale che a0ij = aσ(i) σ(j) per ogni 1 6 i 6 j 6 n.
Osservazione 3.8. In altri termini, due grafi sono isomorfi se e solo se la matrice
di adiacenza di uno dei due può essere ottenuta dall’altra con scambi simultanei di
righe e colonne.
Molte altre proprietà di un grafo possono essere dedotte a partire da una sua matrice di adiacenza, ma ciò esula dai nostri scopi. Alcune di tali proprietà, comunque,
saranno esaminate tra gli esercizi.
Un ulteriore rappresentazione di un grafo può essere ottenuta tramite un’altra
matrice:
Definizione 3.9. Sia G = (V, E, I ) un grafo di ordine m e taglia n, in cui sia
stato fissato un ordine totale sia in V che in E. Si dice matrice di incidenza del
grafo la matrice I = (bij ) ∈ Mm×n (N) definita da
(
1 se vi I ej
bij =
.
0 altrimenti
A parte gli isomorfismi della struttura algebrica grafo, è bene chiarire quali sono
le sottostrutture:
Definizione 3.10. Sia G = (V, E, I ) un grafo. Un sottografo di G è un grafo
G0 = (V 0 , E 0 , I 0 ) tale che
ELEMENTI DI TEORIA DEI GRAFI
9
(1) V 0 ⊆ V , E 0 ⊆ E, I 0 ⊆ I ;
(2) ogni spigolo e ∈ E 0 ha i suoi vertici in V 0 .
In pratica G0 viene ottenuto da G cancellando alcuni vertici e alcuni spigoli, ma
stando attenti a che gli spigoli rimanenti abbiano ancora entrambi i vertici in V 0 .
4. Alberi
La seguente definizione isola una categoria molto importante di grafi:
Definizione 4.1. Si dice albero ogni grafo semplice, connesso e privo di cicli.
Sono molte le qualità che caratterizzano un albero, e ciascuna di esse sottolinea
uno tra gli aspetti peculiari di un grafo di questo tipo:
Teorema 4.2. Sia G = (V, E, I ) un grafo semplice. Sono equivalenti:
(1) G è un albero;
(2) G è privo di cicli, ma aggiungendo un qualunque spigolo il grafo risultante
ha un ciclo;
(3) comunque scelti due vertici u, v del grafo, esiste un unico cammino da u a
v;
(4) G è connesso, ma cancellando un qualunque spigolo il grafo risultante non
è più connesso;
(5) G è privo di cicli e la sua taglia è |V | − 1;
(6) G è connesso e la sua taglia è |V | − 1.
Esempio 4.3. Vediamo i possibili alberi distinti di ordine “piccolo” (n 6 5):
n=1
n=2
n=3
•
• •
• • •
•
, • • •
n=4
• • • •
n=5
• • • • • , • • •
•
•
,
•
•
•
•
•
Nell’elenco qui sopra, su ciascuna riga gli alberi rappresentati sono a due a due non
isomorfi, e quelli elencati esauriscono tutte le classi di isomorfismo degli alberi di
dato ordine.
Definizione 4.4. Sia G = (V, E, I ); un sottografo T di G si dice un albero
generatore di G se
(1) T è un albero;
(2) V (T ) = V (G).
Osservazione 4.5. Naturalmente un grafo G possiede un albero generatore ⇐⇒
G è connesso. In realtà G possiede esattamente un albero generatore ⇐⇒ G è
esso stesso un albero.
Definizione 4.6. Sia G un grafo pesato connesso, w la sua funzione peso, e T un
suo albero generatore. T si dice di peso minimale se per ogni altro albero generatore
10
VINCENZO C. NARDOZZA
S di G risulta
X
w(e) 6
e∈E(T )
X
w(e).
e∈E(S)
Teorema 4.7. (Algoritmo di Kruskal)
Sia G un grafo pesato connesso; si costruisca un sottografo T di G nel modo
seguente:
(1) tra gli spigoli non marcati di G e che non formano un ciclo con quelli già
marcati, si marchi uno di peso minimo;
(2) se gli spigoli già marcati toccano tutti i vertici di G, il grafo T è costituito dai
vertici di G e dagli spigoli marcati. Altrimenti, si torna al punto precedente.
Il grafo T ottenuto al termine della procedura è un albero generatore di peso minimale di G.
5. Grafi Planari
In questa sezione, i grafi considerati saranno solo semplici e connessi.
Esempio 5.1. (Problema dei servizi)
Tre famiglie, i Verdi, i Bianchi e i Rossi, hanno pari diritto di accesso a tre servizi
fondamentali: la Farmacia, il Pozzo d’acqua potabile, e la Macelleria. A causa
di dissapori precedenti, ciascuna famiglia vuole evitare di incontrare un membro
delle altre mentre si reca presso tali servizi. E’ possibile tracciare degli itinerari
per ciascuna famiglia che consenta di usufruire dei servizi senza che si incroci il
percorso di un’altra famiglia?
Rappresentiamo ogni famiglia e ogni servizio con un punto:
V
P
M
F
B
R
vogliamo collegare ognuno dei vertici V, B, R con ciascuno dei vertici P , M , F , e
quindi ottenere un grafo. Sappiamo anche già che il grafo ottenuto sarà isomorfo al
grafo bipartito completo K3,3 . Tuttavia se procedessimo direttamente otterremmo
una rappresentazione del grafo che presenta degli incroci tra gli spigoli, situazione
che vogliamo evitare se cerchiamo una risposta al problema dei servizi:
V
P
M
B
F
R
Perciò, se vogliamo rispondere al problema, la cosa che dobbiamo chiederci è: esiste
una rappresentazione di K3,3 in cui gli spigoli si intersechino esclusivamente nei
vertici del grafo?
Il problema dei servizi è un esempio di una intera classe di problemi sui grafi,
che ruotano tutti attorno alla seguente
ELEMENTI DI TEORIA DEI GRAFI
11
Definizione 5.2. Un grafo si dice planare se fra le sue rappresentazioni grafiche
ve ne è almeno una in cui gli spigoli si intersecano esclusivamente nei vertici.
Esempio 5.3. Il grafo K4 è planare perchè dalla rappresentazione solita si può
ottenere una planare come segue:
•
•
•
•
•
•
•
•
In realtà, se un grafo è planare, non c’è bisogno di avere forme strane per gli
spigoli:
Teorema 5.4. Ogni grafo planare ammette una rappresentazione grafica poligonale, cioè una rappresentazione planare in cui gli spigoli sono segmenti.
Esempio 5.5. Avevamo già visto che il grafo (planare) K4 ha anche la seguente
rappresentazione poligonale
•
•
•
•
Quando si ha un grafo planare, di cui scegliamo una rappresentazione poligonale,
il piano in cui è rappresentato viene suddiviso in regioni i cui bordi sono poligoni,
costituiti dagli spigoli del grafo. Tali regioni hanno un nome particolare:
Definizione 5.6. Sia G un grafo planare e sia D una sua rappresentazione grafica
poligonale. Diciamo faccia del grafo ogni regione del piano massimale rispetto alla
proprietà che due suoi punti qualunque possono essere collegati tramite una linea
(una curva) che NON attraversi alcuno spigolo del grafo.
Esempio 5.7. Il grafo
•
•
•
•
individua 4 facce. Il grafo
•
•
•
•
•
•
•
individua invece 7 facce.
Osservazione 5.8. E’ importante includere la regione “esterna” F∞ al grafo tra
le facce, essenzialmente per due motivi: perchè le formule diventano più semplici
(primo motivo) e perchè tra le rappresentazioni poligonali del grafo ne esistono
sempre alcune in cui la faccia esterna diventa interna, e viene sostituita da una
faccia che, precedentemente, era interna (secondo motivo).
12
VINCENZO C. NARDOZZA
Esempio 5.9. Le seguenti sono due rappresentazioni isomorfe dello stesso grafo:
3
•
4
5
2
3
•
1
7
6
7
6
5
4
1
2
Il punto • marcato è interno alla faccia individuata dai vertici 1, 2, 3. Solo che nel
primo caso essa è una faccia interna, nel secondo la faccia esterna.
Osservazione 5.10. La causa di ciò è che un grafo è planare se e solo se ammette una rappresentazione data da una sequenza di regioni confinanti su una sfera:
tramite la rappresentazione stereografica si passa da un grafo planare a una mappa
sferica e viceversa.
Più esplicitamente, c’è una corrispondenza biunivoca tra i punti del piano e i
punti della superficie di una sfera privata del polo Nord N e poggiante sul piano
stesso. La rappresentazione stereografica è la funzione che a un punto del piano associa il punto sulla superficie sferica ottenuto intersecando la stessa con il segmento
di estremi il punto dato ed N .
Per esempio, nella figura al punto P del piano corrisponde il punto R sulla
superficie sferica e, viceversa, al punto Q sulla superficie sferica corrisponde il punto
P 0 sul piano.
In questa maniera, le regioni individuate dalle facce del grafo diventano regioni
confinanti sulla superficie sferica e, tra esse, è inclusa anche quella che, nel piano,
è la faccia F∞ .
2
Teorema 5.11. (Formula di Eulero)
Sia G un grafo planare, D una sua rappresentazione poligonale e sia F l’insieme
delle facce del grafo. Allora
|F | + |V (G)| = |E(G)| + 2.
Corollario 5.12. Il numero delle facce di un grafo planare è indipendente dalla
particolare rappresentazione poligonale.
Definizione 5.13. Sia G un grafo planare e D una sua rappresentazione poligonale.
Se F è una faccia del grafo, indichiamo con b(F ) il numero di spigoli del grafo
delimitanti F .
Teorema 5.14. Il grafo K3,3 non è planare.
ELEMENTI DI TEORIA DEI GRAFI
13
Dimostrazione. Supponiamo per assurdo che K3,3 sia planare. Allora avrà una
rappresentazione poligonale avente un certo insieme F di facce. Calcoliamo il
numero
X
b(F ).
b=
F ∈F
Assegnata una faccia F ∈ F , il numero b(F ) è il numero di “lati” del poligono che
delimita F ; ognuno di tali spigoli separa non più di due facce distinte, e quindi sarà
contato in tutto al più 2 volte nel computo di b. Dato che in K3,3 ci sono 9 spigoli,
e ognuno di essi può essere contato al più due volte, si ha b 6 2 · 9 = 18.
D’altra parte, il grafo K3,3 è bipartito e quindi non contiene cicli di lunghezza
3 (cosiddetti triangoli). Questo vuol dire che nessuna delle sue facce può essere un
triangolo, pertanto b(F ) > 4 per ogni F ∈ F . Ma allora si ha
X
X
4 = 4 |F | .
b(F ) >
b=
F ∈F
F ∈F
Dalla formula di Eulero, si ha
|F | = |E| + 2 − |V | = 9 + 2 − 6 = 5,
e quindi b > 20, contrariamente al fatto che deve essere b 6 18.
Osservazione 5.15. Ci può essere una grafo planare in cui uno spigolo separa
meno di due facce? Non dovrebbe essere automatico che ciascuno spigolo separi
due facce di un grafo planare?
La risposta è NO: basta prendere un qualunque albero di ordine n > 1 per avere
un grafo con una sola faccia! In tal caso, è b = b(F∞ ) = n − 1, e ciascuno spigolo è
il bordo di una sola faccia.
2
Possiamo ora riconsiderare il problema dei servizi: Dato che il grafo K3,3 non è
planare, il problema non ha soluzioni.
Teorema 5.16. Sia G un grafo planare di ordine > 3. Allora
|E| 6 3 |V | − 6.
Inoltre, la limitazione è raggiunta se e solo se tutte le facce del grafo sono triangoli.
Dimostrazione. Come prima, sia F l’insieme delle facce del grafo G e calcoliamo il
numero
X
b(F ).
b=
F ∈F
Ogni spigolo di G separa al più due facce, e quindi b 6 2 |F |.
Ora, o tutte le facce del grafo sono delimitate da almeno tre lati, oppure ce ne è
una delimitata da meno di tre lati. In tal caso il grafo è necessariamente l’albero di
ordine 3, e si ha 2 6 9 − 6, e la formula vale. Allora, possiamo supporre che tutte
le facce siano delimitate da almeno 3 lati, cioè b(F ) > 3 per ogni F ∈ F . Pertanto
X
b=
b(F ) > 3 |F | .
F ∈F
Di nuovo, dalla formula di Eulero, si ha |F | = |E| + 2 − |V | e quindi
2 |E| > b > 3 |F | = 3 |E| + 6 − 3 |V | ,
che dà la formula asserita.
14
VINCENZO C. NARDOZZA
Osservazione 5.17. Può ben accadere che la formula sia rispettata ma che il grafo
non sia planare! Ciò accade per K3,3 , per esempio.
Corollario 5.18. Il grafo K5 non è planare.
Dimostrazione. Il grafo K5 ha 5 vertici e 10 spigoli. Se fosse planare, dovrebbe
essere 10 6 3 · 5 − 6 = 9, e ciò non è.
A margine, senza dimostrazione, registriamo anche il seguente risultato:
Teorema 5.19. Se G è un grafo planare di ordine > 3 e privo di triangoli, allora
|E| 6 2 |V | − 4.
Osservazione 5.20. Dal risultato appena dato consegue che il grafo K3,3 non può
essere planare: è privo di triangoli, ha ordine > 3 ma ha 9 spigoli, mentre dovrebbe
averne al più 8.
2
Un importante risultato di Kuratowski getta un po’ di luce sulla difficile questione
della planarità di un grafo. Senza scendere nei dettagli, i “genitori” dei grafi non
planari sono precisamente i grafi K3,3 e K5 , cioè un grafo è non planare se e solo
se possiede un sottografo che è ottenuto da K3,3 o K5 tramite una serie finita di
certe operazioni dette suddivisioni. Perciò i due grafi presentati, K3,3 e K5 , sono
la vera ostruzione alla planarità.
ELEMENTI DI TEORIA DEI GRAFI
15
6. Esercizi
Esercizio 6.1. Sedici persone sono sedute attorno a un tavolo circolare, e ciascuna
di esse stringe la mano ai primi due sulla sua destra e ai primi due sulla sua sinistra.
Quante strette di mani sono state scambiate, in totale?
Esercizio 6.2. Se G è un grafo semplice con n vertici, qual è il numero massimo
di spigoli che può avere?
Esercizio 6.3. Si provi che se G è un grafo semplice di ordine > 2 allora tra i suoi
vertici ce ne sono almeno due che hanno lo stesso grado.
Questo fatto continua a essere vero se rimuoviamo l’ipotesi che il grafo sia
semplice?
Esercizio 6.4. Siano
V = {x, y, z, t, w}
E = {{x, y}, {y, z}, {z, t}, {w, y}, {t, w}, {x, w}, {y, t}},
e si consideri la relazione ∀ v ∈ V, e ∈ E:
vI e
⇐⇒ v ∈ e.
(1) Si provi che la struttura G = (V, E, I ) è un grafo, e se ne dia una rappresentazione grafica.
(2) Posto V 0 = {y, z, w}, E 0 = {{y, w}, {y, z}}, la struttura (V 0 , E 0 , I 0 )
(dove I 0 = I ∩ (V 0 × E 0 )) è un sottografo di G?
(3) Similmente, considerando V 00 = {x, y, z} ed E 00 = {{x, y}, {y, z}, {y, w}}
si ha un sottografo di G?
Esercizio 6.5. Disegnare, se possibile, un grado regolare di grado h ed ordine n
nei seguenti casi:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
n=3
n=4
n=5
n=6
n=7
n=8
n=9
e
e
e
e
e
e
e
h = 2;
h = 2, 3;
h = 2, 3, 4;
h = 2, 3, 4, 5;
2 6 h 6 6;
2 6 h 6 7;
2 6 h 6 8.
Giustificare la risposta nel caso in cui un siffatto grafo non esista. Quali dei grafi
ottenuti sono completi?
Esercizio 6.6. Esiste un grafo di ordine 13 i cui vertici v1 , . . . , v13 abbiano i
seguenti gradi:
(
3 se i è dispari
∀ 1 6 i 6 13
d(vi ) =
?
4 se i è pari
Esercizio 6.7. Sia G un grafo semplice, di ordine n > 2 e non connesso. Quale
può essere, al massimo, la sua taglia?
Esercizio 6.8. G è un grafo con n > 1 vertici e con m < n − 1 vertici. Può essere
connesso?
16
VINCENZO C. NARDOZZA
a
e
b
Esercizio 6.9. Quanti cammini distinti hanno vertice finale c nel grafo
c
d
Esercizio 6.10. Stabilire quali tra i seguenti grafi sono isomorfi, motivando la
risposta:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Esercizio 6.11. Stabilire se i due grafi seguenti sono isomorfi:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Esercizio 6.12.Sia V = {v1 , v2 , v3 , v4 , v5 } e consideriamo la funzione f : V → V
v1 v 2 v3 v4 v5
definita da f ≡
. Si ponga E = {{v, f (v)} | v ∈ V }, con la
v4 v 3 v4 v5 v4
ovvia relazione I di incidenza.
(1) Si tracci una rappresentazione del grafo e si scriva una matrice di adiacenza
del grafo G = (V, E, I );
(2) si determini il grado di ogni vertice di G;
(3) definita la funzione g : E → V × V tramite g({v, f (v)}) = (v, f (v)), si
rappresenti il grafo orientato (G, g) così ottenuto.
Esercizio 6.13. Esiste un grafo di ordine 40 in cui i vertici v1 , v2 , . . . , v40 abbiano
grado dato da d(vi ) = i (i = 1, . . . , 40) ?
Esercizio 6.14. Esiste
( un grafo di ordine 12 in cui i gradi dei vertici v1 , . . . , v12
1 se i è dispari
siano dati da d(vi ) =
?
2 se i è pari
Esercizio 6.15. Se G è un grafo in cui tutti i vertici hanno grado > 2, allora G
deve contenere almeno un ciclo. Provare o confutare questa affermazione.
Esercizio 6.16. Si provi che se Km,n è regolare allora m = n.
Esercizio 6.17. Si dica, motivando la risposta, se K4 è un sottografo di K4,4 .
Esercizio 6.18. Si disegnino tutti gli alberi non isomorfi di ordine 6 e 7, giustificando sia la completezza dell’elenco sia il fatto che i suoi grafi sono tutti a due a
due non isomorfi.
Esercizio 6.19. Si provi che ogni albero di ordine > 2 è bipartito.
Esercizio 6.20. Si dica, motivando la risposta, se i due alberi
?
ELEMENTI DI TEORIA DEI GRAFI
•
•
•
•
17
•
•
•
•
•
•
sono o no isomorfi.
Esercizio 6.21. Si disegnino, se possibile,
(1) un albero di ordine 5 avente un vertice di grado 4 e quattro di grado 1;
(2) un albero di ordine 5, con due vertici di grado 1 e tre vertici di grado 2.
Esercizio 6.22. Stabilire quali tra le seguenti sono una coppia di grafi isomorfi:
(a)
(b)
•
•
• • •
•
•
•
•
• • •
•
•
•
• • •
•
•
•
•
•
•
(c)
•
•
•
•
•
•
•
•
•
•
•
•
Esercizio 6.23. Esiste un albero in cui due vertici hanno grado 2, tre vertici hanno
grado 3, quattro vertici hanno grado 4 e tutti gli altri vertici hanno grado 1? Se
non esiste, perchè? Se esiste, qual è il suo ordine?
Esercizio 6.24. Un grafo bipartito completo del tipo K1,n si dice stella (o anche
un asterisco). Si provi che un grafo bipartito completo Km,n è un albero ⇐⇒ il
grafo è una stella.
Esercizio 6.25. Si provi che se un albero ha taglia pari allora possiede almeno un
vertice pari.
Esercizio 6.26. I vertici di grado 1 di un albero si dicono foglie. Si provi che se
un albero T ha un vertice di grado k e nessun vertice di grado > k allora T ha
almeno k foglie.
Esercizio 6.27. Un grafo semplice si dice una foresta se ogni sua componente
connessa è un albero. Una foresta avente k componenti connesse si dice una kforesta. Si provi che una k-foresta di ordine n ha taglia n − k.
Esercizio 6.28. Sia G un grafo connesso. Si provi che
G è un albero ⇐⇒ G possiede un unico albero generatore.
18
VINCENZO C. NARDOZZA
Esercizio 6.29. Si considerino i seguenti grafi pesati:
7
•
2
•
4
3
•
9
4
•
3
5
6
5
•
•
1
•
2
10
•
•
•
5
8
6
•
•
4
7
2
11
•
3
•
6
12
•
•
7
Per ciascuno di essi si determini un albero generatore di peso minimale e si decida
se esso è unico o meno.
Esercizio 6.30. Stabilire quali, tra i seguenti grafi, sono euleriani o posseggono
cammini euleriani. Per tali grafi, determinare una linea di Eulero o un cammino
euleriano rispettivamente.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Esercizio 6.31. Trovare, se esiste, una rappresentazione planare per i seguenti
grafi:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ELEMENTI DI TEORIA DEI GRAFI
•
•
F1
Esercizio 6.32. Dato il grafo planare •
19
F6
F2
•
F3
F4
, dare delle rappre-
F5
•
•
•
sentazioni poligonali dello stesso grafo in cui le facce esterne siano, di volta in volta,
F1 , . . . , F 5 .
Esercizio 6.33. Trovare una rappresentazione poligonale del grafo planare
•
•
•
•
•
•
•
Esercizio 6.34. Supponiamo che G sia regolare di ordine 3. Se G fosse planare,
quante facce deve avere?
Esercizio 6.35. Si provi che i grafi
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
NON sono isomorfi.
Esercizio 6.36. Si provi che i seguenti grafi sono isomorfi:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Esercizio 6.37. Quante sono le mosse di un Re su una scacchiera, secondo le
regole degli scacchi?
Esercizio 6.38. Si provi che un grafo regolare di ordine 3 ha un numero pari di
vertici.
Esercizio 6.39. Si scrivano le matrici di adiacenza dei seguenti grafi:
20
VINCENZO C. NARDOZZA
•
•
•
•
•
•
•
•
•
•
Esercizio 6.40.

0 1
 1 0

 0 0

 1 1

 0 0

 1 1
0 0
•
•
•
•
•
Si disegnino i grafi le cui matrici


0 1
0 1 0 1 0
 1 0

0 1 0 1 0 
 1 0



0 1 0 1 0 
 0 1


1 0 0 1 0 ,
 0 1


0 0 0 0 1 
 1 0


1 1 0 0 1
 1 0
0 0 1 1 0
0 1
•
•
•
di adiacenza sono le seguenti:

1 0 0 1 1 0
0 1 1 0 0 1 

0 1 1 0 0 1 

1 0 0 1 1 0 
.
1 0 0 1 1 0 

0 1 1 0 0 1 

0 1 1 0 0 1 
1 0 0 1 1 0
Sono grafi regolari?
Definizione
6.1. Se a = (aij ) ∈ Mn (F ), si dice traccia di a l’elemento tr (a) :=
Pn
a
∈
F
, cioè l’elemento ottenuto sommando gli elementi della diagonale
ii
i=1
principale di a.
Esercizio 6.41. Sia a la matrice di adiacenza di un grafo G di ordine n. Si provi
che
1
|E(G)| = tr a2 .
2
Esercizio 6.42. Un ciclo di lunghezza 3 in un grafo è detto un triangolo. Si provi
che se a è la matrice
di adiacenza di un grafo semplice, allora il numero di triangoli
del grafo è 61 tr a3 .
Esercizio 6.43. Quanti spigoli e quanti triangoli sono presenti nel grafo seguente?
•
•
•
•
•
•
•
•
•
•