tutte condizioni che si possono scrivere in modo matematico
a partire dalla definizione formale 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
un grafo è completo se ogni nodo è collegato a ogni altro
generalmente si assume grafo non orientato
|
|
||
| K3 | K5 | |
| grafo completo di tre nodi | grafo completo di cinque nodi |
Km è il grafo completo di m nodi
|
|
|
grafo non completo,
perchè mancano gli archi fra 1 e 3 e quello fra 1 e 4 |
disegnare il grafo completo di due nodi
dire se questo grafo è completo
è completo:
se si prendono due nodi qualsiasi, si vede che c'è un arco
dire se questo grafo è completo
grafo non completo
manca l'arco fra 2 e 3
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
(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
(N,E) completo iff
E = N × N
prodotto cartesiano
tutte le coppie di nodi
per le successive proprietà:
la formula viene prima richiesta come esercizio
si possono usare:
provare davvero a farli come esercizio!
dimostare che Kn ha
n + (n-1) + … 1 archi
assumendo che questi grafi contengano anche tutti i cappi
dimostrazione per induzione:
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
|
|
|
|
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
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
due gruppi di nodi
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
unico grafo, disconnesso
anche bipartito: gruppi {3,5} e {1,2,4}
è un grafo bipartito?
i due gruppi non sono evidenti
ma ci sono
nessun arco fra due nodi dello stesso gruppo
mostrare due grafi bipartiti
entrambi con i due gruppi di uno e quattro nodi
gruppo di un nodo
gruppo di quattro
nessun collegamento fra i quattro
stessi gruppi
ma non tutti gli archi
esercizio: esprimere la condizione di grafo bipartito come formula matematica
(N,E) bipartito se e solo se
…
simboli che possono servire: ∀, ∃, ∈, ∉ \,
(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
(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
(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
(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
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
disegnare K13
K13 ha due gruppi di nodi
uno singolo
uno con tre nodi
il singolo nodo da una parte
è collegato ai tre dell'altra
(N,E) è un grafo bipartito completo
se e solo se
…
completare
(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
(N,E) bipartito se e solo se
∃ M ⊆ N . E = (M × (N \ M)) ∪ ((N \ M) × N)
|
|
|
|
| K33 | K32 |
Knm è il grafo bipartito completo
con il primo gruppo di n nodi e
il secondo di m nodi
|
|
|
|
solo alcuni nodi
3, 5, 6, 7
solo alcuni degli archi che li collegano
non tutti
i due grafi che seguono sono o meno sottografi di quello qui sopra?
è un sottografo
non è un sottografo
(N',E') è sottografo di (N,E)
se e solo se
…
scrivere la formula
(N',E') è sottografo di (N,E)
se e solo se
(N' ⊆ N) ∧ (E' ⊆ (N' × N') ∩ E)
|
|
|
|
sottografo indotto da alcuni nodi
grafo con quei nodi e tutti gli archi che li collegano
i due grafi che seguono sono sottografi indotti?
non è un sottografo indotto
solo un sottografo (non indotto)
contiene i nodi 2 e 3
ma non l'arco da 2 a 3
è 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)
(N',E') è il sottografo indotto da N' su (N,E)
se e solo se
…
completare la formula
(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
|
|
|
|
unico nodo al posto di due
con gli archi di entrambi
nelle stesse direzioni
({1,2,3,4,5}, {(1,2), (2,4), (2,5), (3,1), (3,5), (5,4)})
fondere i nodi 2 e 3:
({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)})
({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)}) |
(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} )
un grafo è minore di un altro se si ottiene da questo per:
grafo di partenza
|
|
|
|
|
|
|
|
|
|
|
|
questo è un minore del grafo di partenza
i tre grafi qui sotto sono minori del grafo di sopra?
eliminare gli archi (2,3) e (3,1)
eliminare il nodo isolato 3
fusione dei nodi 2 e 3 nel nodo 4
non è un minore
viene introdotto il nuovo arco (2,1)
un grafo è planare se si può disegnare su un piano senza incroci di archi
un grafo è planare se e solo se non ha come minore né K5 né K33
|
|
|
|
| K5 | K33 |
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
|
|
|
due grafi sono isomorfi se sono lo stesso grafo a parte i nomi dei nodi
come sempre, le posizioni nel disegno non contano
stesso grafo, disegno diverso
sempre isomorfo
esiste una funzione biiettiva…
possibile scrivere la formula, ma complicato
proprietà:
un grafo è bipartito se e solo se
è isomorfo a un sottografo di
Knm per qualche intero n ed m
dimostrazione formale possibile
grafo non diretto:
numero di archi incidenti
grafo diretto:
grado uscente,
grado entrante
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
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)
tutti i nodi hanno grado k
|
|
|
||
| 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
la sequenza di nodi n1, …, nm
è un percorso dal nodo a al nodo b nel grafo (N,E)
se e solo se
…
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
un ciclo è un percorso n1, …, nn con n1 = nm
un grafo è bipartito
se e solo se
non ha cicli di lunghezza dispari
dimostrazione?
nei due versi:
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 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
un ciclo che contiene tutti i nodi del grafo, senza ripetizioni
ciclo 1,2,5,4,3
esiste percorso che collega ogni nodo a con ogni nodo b
(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
disegnare un grafo connesso di sei nodi che contiene solo sei archi
un grafo connesso di n nodi non può contenere meno di n archi
dimostrarlo, informalmente
ogni nodo deve essere connesso agli altri
almeno un arco uscente per ogni nodo
un grafo è ciclico se contiene almeno un ciclo
altrimenti è aciclico
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
disegnare un grafo cicliclo
che contiene anche una sorgente (nodo senza predecessori)
e un pozzo (nodo senza successori)
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!
ciclo 2 → 5 → 2
da 3 non si arriva a 4
copertura di un grafo: insieme di nodi
tale che ogni arco contiene almeno un nodo dell'insieme
una copertura: nodi 1,2,3,5
graficamente: tutti gli archi entrano, escono o sono contenuti nella copertura
è una copertura?
non è una copertura:
l'arco (2,3) è scoperto
né 2 né 3 sono nell'insieme
è una copertura?
è una copertura:
per ogni arco (a,b)
almeno uno tra a e b è nell'insieme
trovare un'altra copertura che contiene solo due nodi
C è una copertura di (N,E)
se e solo se
…
esercizio: completare
C è una copertura di (N,E)
se e solo se
C ⊆ N ∧ ∀ (a,b) ∈ E . a ∈ C ∨ b ∈ C
sottoinsieme di nodi
ognuno collegato agli altri
una cricca di tre nodi è {1,2,4}
trovare una cricca di quattro nodi
trovare la cricca più grande
due nodi collegati fra loro
non ci sono cricche più grandi…
2 non è collegato a 6
C è una cricca di (N,E)
se e solo se
…
esercizio: completare
C è una cricca di (N,E)
se e solo se
C ⊆ N ∧ ∀ a ∈ C . ∀ b ∈ C . (a,b) ∈ E
assegnare colori ai nodi
in modo che due nodi collegati abbiano sempre colori diversi
una k-colorazione è una funzione c:N →
{1,…,k}
tale che
∀ (a,b) ∈ E . c(a) ≠ c(b)
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