qui - Dipartimento di Matematica
Transcript
qui - Dipartimento di Matematica
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 |E|. 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? • • • • • • • • • •