• Non ci sono risultati.

Università Roma Tre –Dipartimento di Matematica e FisicaIN440 –Ottimizzazione Combinatoria Prof. Marco Liverani Introduzioneallateoriadeigrafi

N/A
N/A
Protected

Academic year: 2021

Condividi "Università Roma Tre –Dipartimento di Matematica e FisicaIN440 –Ottimizzazione Combinatoria Prof. Marco Liverani Introduzioneallateoriadeigrafi"

Copied!
28
0
0

Testo completo

(1)

Introduzione alla teoria dei grafi

Università Roma Tre – Dipartimento di Matematica e Fisica IN440 – Ottimizzazione Combinatoria

Prof. Marco Liverani

(2)

Grafi: definizioni principali

§

Un grafo G è un oggetto matematico definito come una coppia ordinata di insiemi G = (V, E), dove V = {v1, …, vn} è l’insieme dei vertici (o nodi, o punti) ed E è l’insieme degli spigoli (o archi, o lati)

E è una relazione binaria su V, ovvero un sottoinsieme del prodotto cartesiano V×V: e = (vi, vj) ∈ E ⊆ V×V

§

Se il grafo G è non orientato la relazione E è simmetrica: (vi, vj) ∈ E ⇔ (vj, vi) ∈ E

§

Se il grafo G è orientato (vi, vj) ∈ E non implica necessariamente che (vj, vi) ∈ E

§

Sia G = (V, E). Notazione:

Numero di vertici: |V| = n

Numero di spigoli: |E| = m

§

Esempio:

G = (V, E) è un grafo orientato

V = {1, 2, 3, 4, 5} Þ |V| = n = 5

E = {(1,2), (1,4), (1,5), (2,3), (3,2), (4,5), (5,1), (5,2), (5,3)} Þ |E| = m = 9

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 1

1

2

5

3

4

(3)

Ipergrafi e multigrafi

§

Un multigrafo è un grafo in cui è possibile che una stessa coppia di vertici sia collegata da più spigoli

§

Un ipergrafo è un grafo in cui uno spigolo può connettere uno o più vertici (anche più di due). In un ipergrafo G = (V, E), E ∈ 𝒫(V)

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 2

1

2

5

3

4

(4)

Adiacenza e grado dei vertici

§

Sia G = (V, E) un grafo orientato; se (u, v) ∈ E allora si dice che lo spigolo è incidente i vertici u e v; lo spigolo è uscente dal vertice u ed entrante nel vertice v

§

Il grado di un vertice è dato dal numero di spigoli incidenti su di esso (si possono definire anche il grado entrante e il grado uscente di un vertice in un grafo orientato); si indica con d(v)

§

Se (u, v) ∈ E allora v è adiacente ad u (se il grafo è orientato allora non è detto che u sia adiacente a v)

§

Se v ∈ V(G) allora N(v) = {u ∈ V(G) tali che (v, u) ∈ E(G)}; N[v] = N(v) ∪ {v}; d(v) = |N(v)|

Esempio: N(1) = {2, 4, 5}, N[1] = {1, 2, 4, 5}

d(1) = 3

§

𝛿(G) è il grado minimo dei vertici del grafo G

§

𝛥(G) è il grado massimo dei vertici del grafo G

§

Se 𝛥(G) = 𝛿(G) = k allora il grafo G si dice k-regolare

§

Proposizione: Ogni grafo G possiede un numero pari di vertici di grado dispari (dim. per induzione)

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 3

1

2

5

3

4

(5)

Adiacenza tra vertici

§

Se N[v] ⊆ N[u] allora si dice che il verGce u domina v; se N[v] = V(G) allora v è un ver4ce universale; un grafo G = (V, E) è un cono se conGene un solo verGce universale

Esempio: N[5] ⊂ N[1], il ver:ce 1 domina il ver:ce 3 Il ver:ce 5 è universale; il grafo è un cono

§

Sia S ⊂ V(G), N[S] = ∪v∈SN[v]

§

Se N[S] = V(G) (tuH i verGci sono in S o sono adiacenG a verGci di S) allora S è un insieme dominante; S è una copertura di ver4ci per G (tuH gli spigoli di G hanno almeno un estremo in S): stabilire se un grafo G ha una copertura di verGci di cardinalità al più k è un problema NP-completo

§

Il grafo nullo con k verGci è il grafo con k verGci e nessuno spigolo; si indica con Nk

§

Il grafo completo con n verGci è il grafo in cui tuH i verGci sono adiacenG a coppie; si indica con Kn

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 4

1

2

5

3

4

(6)

Cammini

§

Un cammino di lunghezza k da un vertice u ad un vertice u’ in G è una sequenza p = (v0, v1, …, vk) di vertici tali che u=v0, u’=vk e (vi–1, vi) ∈ E, per i = 1, …, k

§

Se esiste un cammino p da u a u’, allora si dice che u’ è raggiungibile da u

§

Un cammino è semplice se tutti i suoi vertici sono distinti; la lunghezza di un cammino è data dal numero di spigoli di cui è composto

§

La distanza dG(u, v) tra due vertici u, v ∈ V(G) è data dalla lunghezza del cammino più breve che collega u a v

§

Un cammino da u a u’ è un ciclo se u = u’; se il ciclo è di lunghezza 1 allora è un cappio

§

Un grafo G privo di cicli è aciclico; un grafo composto da un solo ciclo con n vertici si indica con Cn

§

Un grafo non orientato è connesso se ogni coppia di vertici è collegata da un cammino in G

§

Le componenti connesse di un grafo sono le classi di equivalenza dei vertici sotto la relazione «raggiungibile

§

da»Un grafo orientato è fortemente connesso se ogni coppia di vertici è collegata da un cammino; le componenti fortemente connesse di un grafo sono le classi di equivalenza dei vertici sotto la relazione «mutuamente

raggiungibile»

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 5

(7)

Grafi Hamiltoniani

§

Un cammino hamiltoniano è un cammino semplice che passa una ed una sola volta per ogni verGce del grafo

§

Se il cammino hamiltoniano si chiude sul verGce da cui era parGto, allora si ha un ciclo hamiltoniano

§

Un grafo è hamiltoniano se possiede almeno un cammino o un ciclo hamiltoniano

§

Il calcolo di un ciclo o di un cammino hamiltoniano è un problema NP-completo: bisogna provare tuOe le permutazioni dei verGci di G (lo si dimostra per riduzione da VERTEX COVER)

§

Teorema di Dirac: Sia G un grafo con n > 2 verGci. Se d(v) ≥ n/2 per ogni v allora G è hamiltoniano

§

La condizione è solo sufficiente, ma non necessaria. Un controesempio banale è C6, dove ogni verGce ha grado 2, ma il grafo è ugualmente hamiltoniano

Esempio: il grafo di Petersen possiede un cammino hamiltoniano, ma non un ciclo hamiltoniano

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 6

William R. Hamilton (1805 – 1865)

(8)

Grafi Euleriani

§

Nel 1736 Eulero ha risolto il problema dei ponti della città di Königsberg: la città era (è tutt’ora) attraversata dal fiume Pregel, che definisce due isole; le diverse zone della città erano collegate da sette ponti; ci si chiedeva se fosse possibile trovare un percorso nella città con cui attraversare tutti i ponti una ed una sola volta e poi tornare al punto di partenza

§

Eulero affrontò il problema in termini topologici e dimostrò che un simile percorso non esisteva, dando origine alla moderna teoria dei grafi

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 7

Leonhard Euler (1707 – 1783)

1

2

3

4

1

2

3

4

G G!

5

6

(9)

Grafi Euleriani

§

Un cammino o un ciclo euleriano è un cammino o un ciclo (anche non semplice) che passa una volta sola per tuH gli spigoli del grafo

§

Un grafo che ammeOe un ciclo euleriano si chiama grafo euleriano

§

Teorema di Eulero: Per ogni grafo G = (V, E) non orientato e connesso si ha:

1. esiste un cammino euleriano in G se e solo se al massimo due verGci di G hanno grado dispari 2. esiste un ciclo euleriano in G se e solo se tuH i verGci di G hanno grado pari

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 8

4 5

1

2

3

1 2

3 4

5

6

(10)

Pun; di ar;colazione, pon; e centro di un grafo

§

Un punto di articolazione di un grafo G connesso è un vertice v di G tale che, se si elimina v il grafo G non è più connesso

§

Una componente biconnessa di un grafo è una componente priva di punti di articolazione

§

Un ponte di un grafo connesso G è uno spigolo (u, v) di G tale che, se si elimina (u, v) il grafo G non è più connesso

§

Il diametro di un grafo G è la massima distanza tra due vertici di G:

§

Il centro di un grafo G = (V, E) è un sottoinsieme di vertici C(G) ⊆ V, tale che la distanza di ogni vertice v ∈ C(G) da ogni altro vertice di V sia minima; il raggio di G è dato da

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 9

1 2 3

4

5 6

7

8

diam(G) = 3 C(G) = {8}

<latexit sha1_base64="uP1d8l7ynSg5vZ25ogyRKGqaWDs=">AAACN3icbZDPahsxEMa1SdM6btK6ybEXUVNwIZjdUPonEDDtoT26UDsBr1lmtWNbWNIKSWtiNvsseY48QK/puafe0l77BpX/HBqnHwg+fjPDaL5UC25dGP4ItrYf7Dx8VNutP97bf/K08eygb/PCMOyxXOTmPAWLgivsOe4EnmuDIFOBZ+n046J+NkNjea6+urnGoYSx4iPOwHmUNN5nHGTr0yt6SmMJF0lZHNEZjbmifU8rD7lKSn1CCxoLhMy6nM4qeqkvk0YzbIdL0fsmWpsmWaubNH7FWc4KicoxAdYOolC7YQnGcSawqseFRQ1sCmMceKtAoh2WyxMr+tKTjI5y459ydEn/nShBWjuXqe+U4CZ2s7aA/6sNCjd6Nyy50oVDxVaLRoWg/s5FXjTjBpkTc2+AGe7/StkEDDDnU72zRVsBDi+quk8m2szhvukft6M37fDL62bnwzqjGnlOXpAWichb0iGfSZf0CCNX5Bu5Id+D6+BncBv8XrVuBeuZQ3JHwZ+/NByq/Q==</latexit>

diam(G) = max

u,v2V(G) min

p:u v|p|

<latexit sha1_base64="zFvQBNGKE7wj34qwNeYkeyQaskU=">AAACMXicbZDLSgMxFIYzXmu9VV26CRahBSkzKupGKLqoywr2Am0ZMpm0DU0yQ5IpLcM8iM/hA7jVR+hO3LjwJUwvi178IfDznXM4J78XMqq0bY+stfWNza3t1E56d2//4DBzdFxVQSQxqeCABbLuIUUYFaSiqWakHkqCuMdIzes9juu1PpGKBuJFD0PS4qgjaJtipA1yM1cyV8rDe9jkVLhxBJtUwKpBiSFo4Mb9OeK7pVx00c+7maxdsCeCq8aZmSyYqexmfpp+gCNOhMYMKdVw7FC3YiQ1xYwk6WakSIhwD3VIw1iBOFGtePK5BJ4b4sN2IM0TGk7o/ESMuFJD7plOjnRXLdfG8L9aI9Ltu1ZMRRhpIvB0UTtiUAdwnBT0qSRYs6ExCEtqboW4iyTC2uS5sCVUDGkySNImGWc5h1VTvSw4NwX7+TpbfJhllAKn4AzkgANuQRE8gTKoAAxewTv4AJ/WmzWyvqzvaeuaNZs5AQuyfv8ApR+neg==</latexit>

r(G) = min

u2V(G) max

v2V(G)dG(u,v)

(11)

Sottografi

§

Un grafo G’ = (V’, E’) è un sottografo di G = (V, E) se V’ ⊆ V e E’ ⊆ E

§

Dato un insieme V’ ⊆ V, il sottografo di G = (V, E) indotto da V’ è il grafo G’ = (V’, E’) dove E’ = {(u, v) ∈ E: u, v ∈ V’}

§

Un grafo completo Kn è un grafo G = (V, E) non orientato con n vertici, in cui ogni coppia di vertici è adiacente (è collegata da uno spigolo)

§

Una clique di un grafo G = (V, E) è un sottografo completo massimale

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 10

1

2

3

4 5

6

7

G = (V, E)

1

2

3

4 5

6

7

So#ografo di G

1

2

3 4

5 6

7

So#ografo indo#o di G

1

2

3

4 5

6

7

Grafo completo K7

1

2

3

4 5

6

7

Due clique di G = (V, E)

(12)

Grafi clique-iterati

§

Dato un grafo G = (V, E), il grafo K(G) delle clique di G è un grafo i cui verGci corrispondono alle clique del grafo G e due verGci in K(G) sono adiacenG solo se le clique corrispondenG in G hanno almeno un verGce in comune

§

IdenGficare le clique di un grafo è un problema estremamente complesso: Il problema CLIQ U E rientra nell’insieme dei problemi NP compleG

§

Un interessante tema di ricerca è lo studio del comportamento di un grafo soOoposto all’azione

dell’operatore clique iterato più volte: il numero di verGci diminuisce fino a ridursi ad un solo verGce (grafo K-convergente), cresce fino all’infinito (grafo K-divergente) o rimane stabile su un valore finito (grafo K-stabile)?

§

Si può studiare il dove con Kp(G) si è indicato il grafo K(K(...K(G)))

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 11

1

2

9

8

3 4

6

7

5

C1

C2

C4

C3

G K(G)

C1

C2

C3

C4

<latexit sha1_base64="pGiDJljD3pD8ZozNfR2MsurgsyQ=">AAACGnicbVDLSgNBEJz1GeMr6lEPg0HQS9gVUY9BDwpeIpgYyMYwO5mNQ2Znh5leMWxy8Tv8AK/6Cd7Eqxe/wN9w8jiYxIKGoqqb7q5ACW7Adb+dmdm5+YXFzFJ2eWV1bT23sVkxcaIpK9NYxLoaEMMEl6wMHASrKs1IFAh2G7TP+/7tA9OGx/IGOorVI9KSPOSUgJUauR1f8KiRKuxDjH0uQ+j0cPfqTu1fHHQbubxbcAfA08QbkTwaodTI/fjNmCYRk0AFMabmuQrqKdHAqWC9rJ8YpghtkxarWSpJxEw9HXzRw3tWaeIw1rYk4IH6dyIlkTGdKLCdEYF7M+n1xf+8WgLhaT3lUiXAJB0uChOB7cf9SHCTa0ZBdCwhVHN7K6b3RBMKNrixLcoIAuyxl7XJeJM5TJPKYcE7LrjXR/ni2SijDNpGu2gfeegEFdElKqEyougJvaBX9OY8O+/Oh/M5bJ1xRjNbaAzO1y9J2aDx</latexit>

p!•lim |Kp(G)|

(13)

Grafi clique-itera;

§

Si può studiare il dove

G è K-convergente (in questo caso è K-nullo)

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 12

<latexit sha1_base64="pGiDJljD3pD8ZozNfR2MsurgsyQ=">AAACGnicbVDLSgNBEJz1GeMr6lEPg0HQS9gVUY9BDwpeIpgYyMYwO5mNQ2Znh5leMWxy8Tv8AK/6Cd7Eqxe/wN9w8jiYxIKGoqqb7q5ACW7Adb+dmdm5+YXFzFJ2eWV1bT23sVkxcaIpK9NYxLoaEMMEl6wMHASrKs1IFAh2G7TP+/7tA9OGx/IGOorVI9KSPOSUgJUauR1f8KiRKuxDjH0uQ+j0cPfqTu1fHHQbubxbcAfA08QbkTwaodTI/fjNmCYRk0AFMabmuQrqKdHAqWC9rJ8YpghtkxarWSpJxEw9HXzRw3tWaeIw1rYk4IH6dyIlkTGdKLCdEYF7M+n1xf+8WgLhaT3lUiXAJB0uChOB7cf9SHCTa0ZBdCwhVHN7K6b3RBMKNrixLcoIAuyxl7XJeJM5TJPKYcE7LrjXR/ni2SijDNpGu2gfeegEFdElKqEyougJvaBX9OY8O+/Oh/M5bJ1xRjNbaAzO1y9J2aDx</latexit>

p!•lim |Kp(G)|

1

2 5

3

6

4

7

1

2

3

4

5

6

1

2

3

4

1

2

1

G K(G) K(K(G)) = K2(G) K(K(K(G))) = K3(G) K4(G)

1

2

3 4

1

2 3

4 6 5

Il grafo Ck è self-clique per

k > 3 Il grafo 𝒪n o2aedro n-dimensionale è

K-divergente per n ≥ 3

<latexit sha1_base64="z8isQcFzqb1CkQNZJTxJuExX0Gw=">AAACXXicbVDBSgMxFExXq7VWrXrw4CVYlHqw7IqoF6XoQaEXBatCt5Zs+tqGZrMhyUrLsp/nR3jy6MGr3k1rBbUOBIaZee+FCSRn2rjuc8aZmc3OzecW8ouFpeWV4urarY5iRaFOIx6p+4Bo4ExA3TDD4V4qIGHA4S7on4/8u0dQmkXixgwlNEPSFazDKDFWahVbtQdZvtjFJ9gPoMtEQu0yneYv8A72wyAaJFiCwimWNuL6fr5Wrj0kcs9L7dTuVOh0FPFBtL/3tIolt+KOgaeJNyElNMFVq/jqtyMahyAM5UTrhudK00yIMoxySPN+rEES2iddaFgqSAi6mYyLSPG2Vdq4Eyn7hMFj9edEQkKth2FgkyExPf3XG4n/eY3YdI6bCRMyNiDo16FOzLGJ8KhV3GYKqOFDSwhVzP4V0x5RhBrb/a8rUnNiYDBuxvvbwzS53a94hxX3+qBUPZt0lEObaAuVkYeOUBVdoitURxQ9oTf0jj4yL07WKTjLX1EnM5lZR7/gbHwC93ezOw==</latexit>

Kp(G) =

(G per p = 0

K(Kp 1(G)) per p > 0

(14)

Grafi multipartiti

§

In un grafo G = (V, E) un insieme di verGci V’ ⊆ V è un insieme indipendente se i verGci di V’ sono tuH non adiacenG a coppie

§

Un grafo bipar4to è un grafo non orientato G = (V, E) dove V può essere parGzionato in due insiemi V1 e V2 tali che (u, v) ∈ E ⇒ u ∈ V1 e v ∈ V2, oppure u ∈ V2 e v ∈ V1 (V1 e V2 sono due insiemi indipendenG)

§

Se tuH i verGci di V1 sono adiacenG a tuH i verGci di V2 il grafo si dice bipar4to completo e si indica con Kp,q se |V1| = p e |V2| = q

§

Sia G = (V, E) un grafo; se esiste una parGzione di V in p insiemi indipendenG {V1, V2, ..., Vp}, allora G è un grafo mul4par4to; se tuH i verGci di Vi sono adiacenG a tuH i verGci di Vj per ogni i ≠ j allora G è un grafo mul4par4to completo e si indica con con hi = |Vi|

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 13

<latexit sha1_base64="jolWv/6luMY7t9FCJlFASwqMp+g=">AAACFnicbVDLSsNAFJ34rPUVdSO4GSyCi1KSIuqy6EZwU8E+oA1hMp02QycPZm7EEuJ3+AFu9RPciVu3foG/4aTtwrYeGDiccw/3zvFiwRVY1rextLyyurZe2Chubm3v7Jp7+00VJZKyBo1EJNseUUzwkDWAg2DtWDISeIK1vOF17rcemFQ8Cu9hFDMnIIOQ9zkloCXXPLx1U9+1y9h3q2Xc7UWgch5nrlmyKtYYeJHYU1JCU9Rd80enaRKwEKggSnVsKwYnJRI4FSwrdhPFYkKHZMA6moYkYMpJxz/I8IlWergfSf1CwGP1byIlgVKjwNOTAQFfzXu5+J/XSaB/6aQ8jBNgIZ0s6icCQ4TzOnCPS0ZBjDQhVHJ9K6Y+kYSCLm1mS6wEAfaYFXUz9nwPi6RZrdjnFevurFS7mnZUQEfoGJ0iG12gGrpBddRAFD2hF/SK3oxn4934MD4no0vGNHOAZmB8/QKYQ55a</latexit>

Kh1,h2,...,hp

1

3

6

7 5 2

4

Grafo bipartito

1

3

6

7 5 2

4

Grafo bipartito completo

1

3 7

6 2 8

9

Grafo multipartito

4 5

1

3 7

6 2 8

9

Grafo multipartito completo

4 5

(15)

Alberi

§

Un grafo G = (V, E) connesso e aciclico è un albero

§

Gli alberi godono di numerose proprietà:

il cammino semplice fra due ver:ci è unico (ed è il cammino di lunghezza minima)

|V| = |E| + 1: il numero di ver:ci di un albero è sempre pari al numero di spigoli più uno

il grafo è aciclico, ma se aggiungiamo anche un solo spigolo, si crea un ciclo

il grafo è connesso, ma se rimuoviamo anche un solo spigolo, si sconneAe in due componen:

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 14

1 2

3 4

8

5 7

6

(16)

Alberi radicati

§

Un albero radicato è un albero orientato in cui uno dei vertici, detto radice, ha grado entrante nullo

§

Se u è un vertice dell’albero radicato T ed r è la sua radice, allora ogni vertice v sull’unico cammino da r a u è un antenato di u e u è un discendente di v

§

Se (u, v) è uno spigolo di un albero radicato, allora si dice che u è il padre di v e che v è un figlio di u; se anche (u, w) è uno spigolo dell’albero, allora v e w sono cugini

§

Un vertice senza figli è una foglia dell’albero

§

La lunghezza del cammino più lungo dalla radice ad una foglia è l’altezza dell’albero

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 15

1

2 4

6

3 8 10

9 11

7

5

radice

foglie

(17)

Alberi ricoprenti

§

Sia G = (V, E) un grafo connesso. Sia T = (V, E’) un sottografo connesso di G; se T è un albero allora si dice che T è un albero ricoprente

(spanning tree) di G

§

Un grafo G può avere anche più di un albero ricoprente

§

Se G non è connesso allora l’insieme degli alberi che ricoprono le sue

componenti connesse è una foresta ricoprente (spanning forest)

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 16

Grafo G = (V, E) e un albero ricoprente T = (V, E’ ) con E’ Ì E

1 2

3 4

8

5 7

6

G

1 2

3 4

8

5 7

6

T

(18)

Isomorfismi tra grafi

§

Due grafi G1 = (V1, E1) e G2 = (V2, E2) sono isomorfi se esiste una corrispondenza biunivoca (isomorfismo) 𝜑 : V (G1) → V (G2) tale che (u,v) ∈ E(G1) ⇔ (φ(u), φ(v)) ∈ E(G2)

§

Grafi isomorfi sono grafi il cui disegno può coincidere, a meno della numerazione dei vertici

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 17

1

2

3 4

5

G

a

b

c d

e

G’ = 𝜑(G) 𝜑(1) = a

𝜑(2) = d 𝜑(3) = b 𝜑(4) = e 𝜑(5) = c

(19)

Isomorfismi tra grafi

§

Proprietà invarianti per isomorfismi:

numero dei vertici e numero degli spigoli

grado dei vertici (la distribuzione del grado dei vertici)

il numero di componenti connesse del grafo, il numero di clique

§

Queste proprietà invarianti possono essere usate come «condizioni necessarie» (ma non sufficienti) per verificare l’esistenza di un isomorfismo tra due grafi

§

GRAPH ISOMORPHISM: dati due grafi G1 e G2 stabilire se sono isomorfi; è un problema NP, ma non si sa se sia NP-completo o P

§

È interessante notare che il problema dell’isomorfismo su sottografi (SUBGRAPH ISOMORPHISM PROBLEM: dati G1 e G2, esiste un isomorfismo tra G1 e un sottografo di G2?) è NP-completo

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 18

1 2 3 4

5 6 7 8

1

2

3

4 5

6

7

8

(20)

Grafi planari

§

Un grafo è planare se è isomorfo ad un grafo che può essere disegnato sul piano senza intersecare gli spigoli

Dal punto di vista applica:vo è u:le sapere se un grafo è planare: visualizzazione di grafi, progeAazione di circui:

eleAronici, ...

§

Vogliamo dimostrare alcune proprietà uGli a idenGficare i grafi planari

§

Per provare le proprietà seguenG si fa uso del conceOo di curva chiusa semplice su ℝ2 e del seguente teorema (apparentemente ovvio, ma molto difficile da dimostrare):

Teorema della curva di Jordan: se 𝒞 è una curva chiusa semplice nel piano allora 𝒞 divide il piano in due regioni dis:nte A e B che hanno 𝒞 come fron:era comune; se x ∈ A e y ∈ B allora ogni curva con:nua che passa per x e per y interseca 𝒞

Corollario: Siano x e y due pun: dis:n: di una curva chiusa semplice 𝒞 sul piano ℝ2 e sia ℒ una curva con:nua nel piano ℝ2 che unisce i due pun: x e y, priva di ulteriori pun: in comune con 𝒞. Allora ℒ è interamente contenuta all’interno di una delle due regioni definite da 𝒞

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 19

(21)

Grafi planari

§

Teorema: K3,3 non è planare

§

Teorema: K5 non è planare

§

Teorema: Ogni soOografo di un grafo planare è planare

§

H è un supergrafo di G se G è un soOografo di H

§

Corollario: Ogni supergrafo H di un grafo G non planare non è planare.

Dimostrazione. Sia H planare. Allora il suo soAografo G deve essere planare per il Teorema precedente. Ma G non è planare per ipotesi, quindi anche H non può essere planare ∎

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 20

(22)

Grafi planari

§

Dato G, un’espansione di G è il grafo G′ oOenuto da G aggiungendo uno o più verGci di grado 2 sugli spigoli di G: se (u,v) ∈ E(G) si oHene un’espansione di G sosGtuendo (u, v) con (u, w) e (w, v) con w ∉ V(G)

NOTA: in generale un’espansione di G non è un supergrafo di G e viceversa (un’espansione di G può però essere isomorfa a un supergrafo di G)

§

Teorema: Ogni espansione di K5 e K3,3 è non planare

Dimostrazione. Procediamo per assurdo: sia H planare; eliminiamo tuP i ver:ci aggiun: su G per oAenere H e sos:tuiamoli con uno spigolo; il disegno dovrebbe essere planare, e invece abbiamo oAenuto K5 o K3,3 che non sono planari ∎

§

Corollario: Ogni supergrafo di un’espansione di K5 o K3,3 è non planare

Dimostrazione. Si arriva alla tesi direAamente dal Teorema: ogni supergrafo di un grafo non planare è non planare ∎

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 21

(23)

Grafi planari

§

Teorema di Kuratowski: Ogni grafo non planare è un supergrafo di un’espansione di K5 o K3,3 NOTA:

ogni espansione di un supergrafo è anche il supergrafo di un’espansione

esistono supergrafi di espansioni che non sono espansioni di supergrafi

{espansioni di supergrafi} ⊂ {supergrafi di espansioni}

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 22

(24)

1

2

5 3 6

4

7 1

2

5 3 6

4 7

Colorazione di grafi

§

Una colorazione dei vertici di un grafo G = (V, E) può essere costruita assegnando un colore ad ogni

vertice del grafo in modo tale che non esistano due vertici adiacenti con lo stesso colore (i colori possono essere ripetuti)

Nota: dal punto di vista combinatorio il problema della colorazione di un grafo è molto simile al problema della costruzione di un quadrato latino di ordine n

§

Problema di ottimizzazione: trovare una colorazione del grafo utilizzando il minimo numero di colori

§

Il minimo numero di colori con cui può essere colorato un grafo G si chiama numero cromatico e si indica con 𝜒(G)

Nota: assegnare una colorazione minima ai vertici di un grafo significa creare una

partizione dei vertici in k insiemi indipendenti: un grafo è k-partito se e solo se è k-colorabile

§

Il polinomio cromatico di un grafo PG(t) è una funzione che conta il numero di possibili colorazioni differenti di G utilizzando t colori

𝜒(G) è il più piccolo intero positivo che non sia uno zero di PG(t)

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 23

(25)

Colorazione di grafi

§

Qual è il minimo numero di colori per colorare un grafo planare?

È un problema che risale al passato perché equivale a colorare una «carta geografica politica»: i vertici sono i Paesi e due vertici sono adiacenti se i Paesi sono confinanti

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 24

§

A lungo si è capito che 4 colori erano sufficienG, ma nessuno era riuscito a dimostrarlo formalmente

§

Nel 1977 Haken e Appel dimostrarono che il numero di combinazioni con cui è possibile costruire frammenG essenziali di una carta geografica è finito e, facendo uso di un algoritmo e di un computer, le generarono tuOe mostrando che quaOro colori erano sufficienG ad

oOenere una buona colorazione in tuH i casi

§

Questo risultato è noto come Teorema dei QuaOro colori

(26)

Rappresentazione di grafi

§ Nella memoria della macchina un grafo può essere rappresentato mediante:

Liste di adiacenza: per ogni verGce u

V viene costruita una lista dei veriGci v1, …, vk adiacenG a u, ossia tali che (u,vi)

E per ogni i = 1, …, k

Matrice di adiacenza: il grafo viene rappresentato con una matrice quadrata di ordine n = |V|, in cui M

i,j

= 1 se (v

i

,v

j

) ∈ E, e M

i,j

= 0 altrimen6

§ Per grafi sparsi (con pochi spigoli rispe9o al numero dei ver;ci) è conveniente la rappresentazione mediante liste di adiacenza

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 25

(27)

Rappresentazione di grafi

Università Roma Tre – Dipar=mento di Matema=ca e Fisica

Marco Liverani, O>mizzazione Combinatoria 26

1 2

3 4

8

5 7

6

2 1

2 3 4 5 6 7 8

5 7 8

1 8 4 3

4 2 5

3 2 8

3 1 6

7 5

6 1 8

4 2 1 7

1 2 3 4 5 6 7 8

1 0 1 0 0 1 0 1 1

2 1 0 1 1 0 0 0 1

3 0 1 0 1 1 0 0 0

4 0 1 1 0 0 0 0 1

5 1 0 1 0 0 1 0 0

6 0 0 0 0 1 0 1 0

7 1 0 0 0 0 1 0 1

8 1 1 0 1 0 0 1 0

(28)

Riferimenti bibliografici

§

Cormen, Leiserson, Rivest, Stein, «Introduzione agli algoritmi e strutture dati», terza edizione, McGraw- Hill (Appendice B.4 e B.5)

§

Reinhard Diestel, «Graph Theory», Springer, 2000

§

Alan Gibbons, «Algorithmic Graph Theory», Cambridge University Press, 1985

§

Frank Harary, «Graph Theory», ABP, 1969

§

Richard J. Trudeau, «Introduction to Graph Theory», Dover Publications, 1993

§

Marco Liverani, Dispense del Corso di Ottimizzazione Combinatoria: Elementi di teoria dei grafi (http://www.mat.uniroma3.it/users/liverani/doc/disp_oc_04.pdf)

Università Roma Tre – Dipartimento di Matematica e Fisica

Marco Liverani, Ottimizzazione Combinatoria 27

Riferimenti

Documenti correlati

Si dimostri che il problema del cammino massimo in un grafo (decidere cio`e se esiste un cammino senza ripetizioni di nodi con almeno K archi) `e

[r]

La sensibilità per le questioni connesse alla disponibilità e alla tutela delle risorse idriche è particolarmente avvertita a livello mondiale, soprattutto a partire

Abbiamo quindi in pratica dimostrato che la condizione per l’esistenza di un cammino Euleriano non ciclico in un grafo è la seguente: il grafo é connesso e tutti i vertici hanno

Per il Teorema di Eulero esiste nel nuovo grafo un cammino ciclico Euleriano che percorre tutti gli archi (del nuovo grafo) ognuno 1 sola volta.. 4) si costruisce tale

Se tutti i vertici del grafo hanno grado pari, per il Teorema di Eulero (essendo il grafo connesso) esiste nel grafo un cammino ciclico Euleriano, che percorre tutti gli archi del

4) per il Teorema di Eulero esiste nel nuovo grafo un cammino ciclico Euleriano che percorre tutti gli archi (del nuovo grafo) ognuno 1 sola volta; si costruisce tale cammino

Abbiamo quindi in pratica dimostrato che la condizione per l’esistenza di un cammino Euleriano non ciclico in un grafo è la seguente: il grafo é connesso e tutti i vertici hanno