proprietà dei grafi

tutte condizioni che si possono scrivere in modo matematico
a partire dalla definizione formale di grafo


definizione matematica di grafo

grafo orientato:

un grafo è una coppia (N,E) dove:
N è un qualsiasi insieme di elementi
E è un insieme di coppie di elementi di N

grafo non orientato:
stessa cosa, ma E sono insiemi di cardinalità due


grafi completi

un grafo è completo se ogni nodo è collegato a ogni altro

generalmente si assume grafo non orientato


esempi di grafi completi e non completi

[k3.fig]         [k5.fig]
K3 K5
grafo completo di tre nodi grafo completo di cinque nodi

Km è il grafo completo di m nodi

[nonorientato-03.fig]
grafo non completo,
perchè mancano gli archi fra 1 e 3
e quello fra 1 e 4

esercizio

disegnare il grafo completo di due nodi


soluzione

[k2.fig]


esercizio

[k4-02.fig]

dire se questo grafo è completo


soluzione

[k4-02.fig]

è completo:
se si prendono due nodi qualsiasi, si vede che c'è un arco


esercizio

[incompleto.fig]

dire se questo grafo è completo


soluzione

[incompleto.fig]

grafo non completo

manca l'arco fra 2 e 3


completezza, in termini matematici

un grafo può essere completo o meno
condizione che si può scrivere come una formula matematica
a partire dalla espressione matematica (N,E) di grafo


formula che dice la completezza

(N,E) completo iff
∀ x ∈ N . ∀ y ∈ N . (x,y) ∈ E

un grafo è completo
se e solo se ogni nodo x ha una freccia
verso ogni altro nodo y

condizione matematica che è vera per i grafi completi
verrà data per quasi tutte le altre proprietà dei grafi


formula alternativa per la completezza

(N,E) completo iff
E = N × N

prodotto cartesiano
tutte le coppie di nodi


formule matematiche

per le successive proprietà:
la formula viene prima richiesta come esercizio

si possono usare:

provare davvero a farli come esercizio!


proprietà

dimostare che Kn ha
n + (n-1) + … 1 archi

assumendo che questi grafi contengano anche tutti i cappi


dimostrazione

dimostrazione per induzione:

caso base
K1 ha un arco
induzione
si assume che Kn-1 abbia (n-1) + … 1 archi
si dimostra che Kn ha n + (n-1) + … 1 archi

caso base

K1 è il grafo
con un nodo 1
e tutti gli archi possibili

({1}, E)

per definizione: E = N × N
in questo caso: N={1}

({1}, {1} × {1}) = ({1}, {(1,1)})

un arco, cvd


induzione, graficamente

[induzione-01.fig] ==> [induzione-02.fig]

Kn si ottiene aggiungendo il nodo n a Kn-1
e collegandolo a tutti
incluso se stesso (i cappi non sono disegnati)

gli archi di Kn-1 sono (n-1) + … + 1 per induzione

si aggiungono gli (n-1) archi fra n e n-1,…,1
e il cappio su n

totale n + (n-1) + … + 1


induzione, in formule

Kn = ({1,…,n}, {1,…,n} × {1,…,n}) =
({1,…,n}, {1,…,n-1} ∪ {n} × {1,…,n-1} ∪ {n}) =
({1,…,n}, ({1,…,n-1} × {1,…,n-1} ) ∪ ({1,…,n-1} × {n}) ∪ ( {n} × {1,…,n-1} ) ∪ ( {n} × {n}) =

la prima parte {1,…,n-1} × {1,…,n-1} sono gli archi di Kn-1
quindi (n-1) + … 1, per induzione

si aggiungono:

((n-1) + … 1) + (n-1) + 1 = (n-1) + … 1 + n = n + (n-1) + … 1 + n

grafo bipartito

[bipartito.fig]

due gruppi di nodi

[bipartito.fig]

ogni nodo del primo è collegato solo a qualcuno dell'altro
a nessuno del suo stesso gruppo

un nodo può anche non essere collegato a nessuno dell'altro gruppo
oppure a tutti
oppure a qualcuno

vista in altro modo: non è collegato a nessuno del suo gruppo


esempio di grafo bipartito

[k33.fig]


altro esempio di grafo bipartito

[disconnesso.fig]

unico grafo, disconnesso
anche bipartito: gruppi {3,5} e {1,2,4}


esercizio

[gruppi-01.fig]

è un grafo bipartito?


soluzione

[gruppi-02.fig]

i due gruppi non sono evidenti
ma ci sono

nessun arco fra due nodi dello stesso gruppo


esercizio

mostrare due grafi bipartiti
entrambi con i due gruppi di uno e quattro nodi


soluzione

[uno-quattro-primo.fig]

gruppo di un nodo
gruppo di quattro
nessun collegamento fra i quattro

[uno-quattro-secondo.fig]

stessi gruppi
ma non tutti gli archi


formula matematica dei grafi bipartiti

esercizio: esprimere la condizione di grafo bipartito come formula matematica

(N,E) bipartito se e solo se

simboli che possono servire: , , , \,


bipartito, formale ma non matematico

(N,E) bipartito se e solo se
esiste un sottoinsieme di nodi tale che
due nodi del sottoinsieme non sono collegati
e nemmeno due nodi che non sono nel sottoinsieme

bipartito, formula

(N,E) bipartito se e solo se
∃ M ⊆ N . (∀ x ∈ M . ∀ y ∈ M . (x,y) ∉ E) ∧ (∀ x ∈ N \ M . ∀ y ∈ N \ M . (x,y) ∉ E)

esiste un insieme N tale che
due nodi x, y di N non sono mai collegati
e nemmeno due nodi di N \ M


bipartito, altra formula

(N,E) bipartito se e solo se
∃ M ⊆ N . ∀ L ∈ {M, N\M}. ∀ x ∈ L . ∀ y ∈ L . (x,y) ∉ E

alternativa alla precedente
stessa condizione


bipartito, ulteriore formula

(N,E) bipartito se e solo se
∃ M ⊆ N . E ⊆ (M × (N \ M)) ∪ ((N \ M) × N)

M × (N \ M) è l'insieme delle coppie
in cui il primo elemento è in M
e il secondo no


grafo bipartito completo

[k32.fig]

non è bipartito + completo
è una restrizione di bipartito

due gruppi
ogni nodo di un gruppo è collegato a tutti quelli dell'altro
e a nessuno del suo


esercizio

disegnare K13


soluzione

[k13.fig]

K13 ha due gruppi di nodi
uno singolo
uno con tre nodi

il singolo nodo da una parte
è collegato ai tre dell'altra


formula dei grafi bipartiti completi

(N,E) è un grafo bipartito completo
se e solo se

completare


formula dei grafi bipartiti completi

(N,E) è un grafo bipartito completo
se e solo se
∃ M ⊆ N . ∀ x ∈ N . ∀ y ∈ N . (x,y) ∈ E ⇔ (x ∈ M ∧ y ∈ N \ M) ∨ (x ∈ N \ M ∧ y ∈ M)

due nodi sono collegati
se e solo se
appartengono a due gruppi diversi

stessa formula con al posto di :
grafo bipartito, completo o meno


altra formula dei grafi bipartiti completi

(N,E) bipartito se e solo se
∃ M ⊆ N . E = (M × (N \ M)) ∪ ((N \ M) × N)

nomi dei grafi bipartiti completi

[k33.fig]         [k32.fig]
K33 K32

Knm è il grafo bipartito completo
con il primo gruppo di n nodi e il secondo di m nodi


sottografo

[sottografo-02.fig] ==> [sottografo-01.fig]

solo alcuni nodi
3, 5, 6, 7

solo alcuni degli archi che li collegano
non tutti


esercizio

[sottografi-01.fig]

i due grafi che seguono sono o meno sottografi di quello qui sopra?

[sottografi-02.fig]

[sottografi-03.fig]


primo grafo

[sottografi-01.fig]

è un sottografo

[sottografi-02.fig]

sottoinsieme di nodi: sì
{1,2,3} ⊆ {1,2,3,4,5}
sottoinsieme di archi: sì
{(3,1), (1,2)} ⊆ {(3,1),(1,2),(1,4),(2,3),(4,5)}
non importa se manca l'arco (2,3)

secondo grafo

[sottografi-01.fig]

non è un sottografo

[sottografi-04.fig]

sottoinsieme di nodi: sì
{1,2,3} ⊆ {1,2,3,4,5}
questa parte è rispettata
sottoinsieme di archi? no
{(3,1), (1,2), (3,2)} ⊈ {(3,1),(1,2),(1,4),(2,3),(4,5)}
contiene (3,2)
che non c'è nel grafo di partenza
(che contiene invece (2,3))

formula per i sottografi

(N',E') è sottografo di (N,E)
se e solo se

scrivere la formula


formula per i sottografi

(N',E') è sottografo di (N,E)
se e solo se
(N' ⊆ N) ∧ (E' ⊆ (N' × N') ∩ E)

sottografo indotto

[sottografo-02.fig] ==> [sottografo-03.fig]

sottografo indotto da alcuni nodi
grafo con quei nodi e tutti gli archi che li collegano


esercizio

[sottografi-01.fig]

i due grafi che seguono sono sottografi indotti?

[sottografi-04.fig]

[sottografi-05.fig]


primo grafo

[sottografi-01.fig]

non è un sottografo indotto
solo un sottografo (non indotto)
contiene i nodi 2 e 3
ma non l'arco da 2 a 3

[sottografi-04.fig]


secondo sottografo

[sottografi-01.fig]

è un sottografo indotto
contiene i nodi 1, 3 e 4
e tutti gli archi fra loro nel grafo di partenza: (1,2) e (1,4)

[sottografi-05.fig]


formula per i sottografi indotti

(N',E') è il sottografo indotto da N' su (N,E)
se e solo se

completare la formula


formula per i sottografi indotti

(N',E') è il sottografo indotto da N' su (N,E)
se e solo se
(N' ⊆ N) = (E' ⊆ (N' × N') ∩ E)

uguale al posto di contenuto


fusione di nodi

[fusione-02.fig] ==> [fusione-03.fig]

unico nodo al posto di due
con gli archi di entrambi
nelle stesse direzioni


esercizio

({1,2,3,4,5}, {(1,2), (2,4), (2,5), (3,1), (3,5), (5,4)})

fondere i nodi 2 e 3:


soluzione

({1,2,3,4,5}, {(1,2), (2,4), (2,5), (3,1), (3,5), (5,2), (4,3)})

archi entranti in 2 e in 3:
(1,2), (5,2) e (4,3)
entrano nel nuovo nodo

archi uscenti da 2 e da 3:
(2,4), (2,5), (3,1) e (3,5)
escono dal nuovo nodo

({1,6,4,5}, {(1,6), (6,4), (6,5), (6,1), (6,5), (5,6), (4,6)})

soluzione, modo più semplice

({1,2,3,4,5}, {(1,2), (2,4), (2,5), (3,1), (3,5), (5,2), (4,3)})

si rimpiazzano 2 e 3 con 6

({1,2,3,4,5}, {(1,2), (2,4), (2,5), (3,1), (3,5), (5,2), (4,3)}) ==> ({1,6,4,5}, {(1,6), (6,4), (6,5), (6,1), (6,5), (5,6), (4,6)})

formula della fusione

(N',E') è il risultato della fusione
dei nodi n ed m in f nel grafo (N,E)
se e solo se
(N' = N \ {n,m} ∪ {f}) ∧ ( E' = (E ∩ N' × N') ∪ {(f,o) | (n,o) ∈ E} ∪ {(f,o) | (m,o) ∈ E} ∪ {(o,f) | (o,n) ∈ E} ∪ {(o,f) | (o,m) ∈ E} )

grafo minore

un grafo è minore di un altro se si ottiene da questo per:


esempio

[minore-01.fig]

grafo di partenza


fusione dei nodi 2 e 3

[minore-01a.fig] ==> [minore-03.fig]

eliminazione di archi

[minore-03a.fig] ==> [minore-05.fig]

eliminazione del nodo isolato 1

[minore-05a.fig] ==> [minore-07.fig]

questo è un minore del grafo di partenza


esercizio

[minori-01.fig]

i tre grafi qui sotto sono minori del grafo di sopra?

[minori-02.fig]         [minori-03.fig]         [minori-04.fig]


primo grafo

[minori-01.fig]

eliminare gli archi (2,3) e (3,1)

eliminare il nodo isolato 3

[minori-02.fig]


secondo grafo

[minori-01.fig]

fusione dei nodi 2 e 3 nel nodo 4

[minori-03.fig]


terzo grafo

[minori-01.fig]

non è un minore

viene introdotto il nuovo arco (2,1)

[minori-04.fig]


planarità

un grafo è planare se si può disegnare su un piano senza incroci di archi

teoremi di Kuratowski e Wagner

un grafo è planare se e solo se non ha come minore né K5K33
[k5.fig]      [k33.fig]
K5 K33

teorema di Robertson e Seymour

generalizza il teorema di Kuratowski

se una proprietà si trasmette da un grafo a tutti i suoi minori (es. planarità)
allora esiste un insieme finito di grafi (es. {K5,K33})
tale per cui
un grafo ha la proprietà se e solo se non ha nessuno di quei grafi come minore

grafi isomorfi

[isomorfo-02.fig] [isomorfo-03.fig]

due grafi sono isomorfi se sono lo stesso grafo a parte i nomi dei nodi

come sempre, le posizioni nel disegno non contano

[ridisegnato-01.fig]

stesso grafo, disegno diverso
sempre isomorfo


formula dell'isomorfismo

esiste una funzione biiettiva…

possibile scrivere la formula, ma complicato


grafi bipartiti, isomorfi e sottografi

proprietà: un grafo è bipartito se e solo se
è isomorfo a un sottografo di Knm per qualche intero n ed m

dimostrazione formale possibile


grado di nodo

[ridisegnato-02.fig]

grafo non diretto:
numero di archi incidenti

grafo diretto:
grado uscente,
grado entrante


formule per i gradi di un nodo

k è il grado uscente del nodo n nel grafo (N,E)
se e solo se

suggerimento:
|S| indica il numero di elementi di un insieme S


formule per i gradi di un nodo

k è il grado uscente del nodo n nel grafo (N,E)
se e solo se
k = |{(n,s) ∈ E}|

grado entrante: stessa formula con (s,n)


grafi k-regolari

tutti i nodi hanno grado k


percorso in un grafo

[percorso-03.fig] [percorso-02.fig]
un percorso da 3 a 4 un percorso da 2 a 7
3,6,1,2,5,4 2,1,2,5,3,7

sequenza di archi da a a b


formula per l'esistenza di un percorso

la sequenza di nodi n1, …, nm
è un percorso dal nodo a al nodo b nel grafo (N,E)
se e solo se

formula per l'esistenza di un percorso

la sequenza di nodi n1, …, nm
è un percorso dal nodo a al nodo b nel grafo (N,E)
se e solo se
a=n1 ∧ b=nm ∧ ∀ i ∈ {1,…,m-1} . (ni,ni+1) ∈ E

cicli

un ciclo è un percorso n1, …, nn con n1 = nm


proprietà dei cicli

un grafo è bipartito
se e solo se
non ha cicli di lunghezza dispari

dimostrazione?


dimostrazione della proprietà

nei due versi:

  1. se ha un ciclo di lunghezza dispari, allora non è bipartito
  2. se è bipartito, non ha cicli di lunghezza dispari

se ha cicli dispari, non è bipartito

ciclo dispari n1, …, n2*m+1, n1
si classifica come dispari perchè contiene un numero dispari di nodi

n1 va nel primo gruppo

n2 va nel secondo

per induzione: i nodi di indice dispari vanno nel primo gruppo

n2*m+1 è nel primo gruppo

il successivo è n1, secondo gruppo

non è bipartito


se è bipartito, non ha cicli dispari

se non ha cicli, non ha nemmeno cicli dispari

altrimenti, ha dei cicli
sia n1, n2, …, nm uno qualsiasi di questi cicli

si supponga che n1 sia nel primo gruppo
l'altro caso è simmetrico

dato che il grafo è bipartito
e che n2 è collegato
è nel secondo gruppo

per induzione, i nodi di indice dispari sono nel primo gruppo
quelli di indice pari nel secondo

dato che il percorso è un ciclo
esiste un arco (nm, n1)

dato che il grafo è bipartito, i due nodi sono in gruppi diversi
quindi nm è nel secondo gruppo

quindi ha indice pari


ciclo Hamiltoniano

un ciclo che contiene tutti i nodi del grafo, senza ripetizioni


esempio di ciclo Hamiltoniano

[hamiltoniano-02.fig]

ciclo 1,2,5,4,3


il ciclo Hamiltoniano, evidenziato

[hamiltoniano-03.fig]


grafo connesso

esiste percorso che collega ogni nodo a con ogni nodo b


formula del grafo connesso

(N,E) è connesso
se e solo se
∀ a ∈ N . ∀ b ∈ N . &exists; n1 ∈ N . … &exists; nm ∈ N . (a = n1) ∧ (b = nm) ∧ ∀ i ∈ {1,…,m-1} . (ni,ni+1) ∈ E

esercizio

disegnare un grafo connesso di sei nodi che contiene solo sei archi


soluzione

[sei.fig]


esercizio

un grafo connesso di n nodi non può contenere meno di n archi

dimostrarlo, informalmente


soluzione

ogni nodo deve essere connesso agli altri

almeno un arco uscente per ogni nodo


grafo ciclico e aciclico

un grafo è ciclico se contiene almeno un ciclo
altrimenti è aciclico


formula del grafo ciclico

simile a quella del grafo connesso
con l'esistenza di un percorso da un nodo a se stesso
invece dell'esistenza di tutti i percorsi da ogni nodo a ogni altro


esercizio

disegnare un grafo cicliclo
che contiene anche una sorgente (nodo senza predecessori)
e un pozzo (nodo senza successori)


soluzione

[sorgentepozzo.fig]

ciclo 1,2,3
sorgente 4
pozzo 5

ciclico = esiste un ciclo
non vuol dire che il ciclo deve comprendere tutti i nodi
e nemmeno che tutti i nodi sono in un ciclo

un grafo ciclico può anche non essere connesso!


esempio di grafo ciclico disconnesso

[disconnesso.fig]

ciclo 2 → 5 → 2

da 3 non si arriva a 4


copertura

copertura di un grafo: insieme di nodi
tale che ogni arco contiene almeno un nodo dell'insieme


esempio di copertura

[coperture-01.fig]

una copertura: nodi 1,2,3,5

[coperture-02.fig]

graficamente: tutti gli archi entrano, escono o sono contenuti nella copertura


esercizio: copertura?

[coperture-05.fig]

è una copertura?


risposta

[coperture-05.fig]

non è una copertura:
l'arco (2,3) è scoperto
23 sono nell'insieme


esercizio: copertura?

[coperture-03.fig]

è una copertura?


risposta

[coperture-03.fig]

è una copertura:

per ogni arco (a,b)
almeno uno tra a e b è nell'insieme


esercizio

[coperture-01.fig]

trovare un'altra copertura che contiene solo due nodi


soluzione

[coperture-04.fig]


formula della copertura

C è una copertura di (N,E)
se e solo se

esercizio: completare


formula della copertura

C è una copertura di (N,E)
se e solo se
C ⊆ N ∧ ∀ (a,b) ∈ E . a ∈ C ∨ b ∈ C

cricca

sottoinsieme di nodi
ognuno collegato agli altri


esempio

[clique3-01.fig]

una cricca di tre nodi è {1,2,4}

[clique3-02.fig]


esercizio

[clique4-01.fig]

trovare una cricca di quattro nodi


soluzione

[clique4-02.fig]


esercizio

[nonclique-01.fig]

trovare la cricca più grande


risposta

[nonclique-02.fig]

due nodi collegati fra loro

non ci sono cricche più grandi


cricche più grandi?

[nonclique-03.fig]

2 non è collegato a 6


formula della cricca

C è una cricca di (N,E)
se e solo se

esercizio: completare


formula della cricca

C è una cricca di (N,E)
se e solo se
C ⊆ N ∧ ∀ a ∈ C . ∀ b ∈ C . (a,b) ∈ E

colorazione di un grafo

assegnare colori ai nodi
in modo che due nodi collegati abbiano sempre colori diversi


formula della colorazione

una k-colorazione è una funzione c:N → {1,…,k}
tale che
∀ (a,b) ∈ E . c(a) ≠ c(b)


teorema dei quattro colori

ogni grafo planare ha una 4-colorazione

per esempio, ogni mappa di nazioni si può colorare con quattro colori
in modo che due nazioni confinanti abbiano sempre colori diversi