Teoria dei Grafi: Definizioni e Concetti Fondamentali

Un grafo è una struttura algebrica. Un grafo è una coppia G=(V,E)G=(V, E) di insiemi (nodi/vertici e lati/archi) tali che EV2E \subset |V|^2 (tutte le coppie di elementi distinti di VV). (Un grafo con insieme di vertici VV è detto essere un grafo su VV).

Il numero di vertici (nodi) di un grafo è il suo ordine. I grafi sono finiti, infiniti, numerabili ... in base al loro ordine.

Il grafo vuoto: (,)=(\emptyset, \emptyset) = \emptyset. Un grafo di ordine 00 o 11 è detto triviale.

Un vertice vv è detto incidente ad un lato ee se vev \in e. I due vertici incidenti con un lato sono le sue estremità.

  • E(X,Y)E(X, Y): insieme di tutti i lati XYX-Y in un insieme EE.
  • E(v)E(v) insieme di tutti i lati in EE incidenti a vv.

x,yx, y di GG sono adiacenti (vicini) se {x,y}\{x, y\} è un lato di GG. Due lati sono adiacenti se hanno un estremo in comune.

Se tutti i vertici di GG sono adiacenti a due a due, GG è detto completo (cricca). Un grafo completo di nn vertici è un KnK^n, e K3K^3 è detto triangolo.

Coppie di vertici o lati non adiacenti sono detti indipendenti. Insiemi indipendenti di vertici sono chiamati stabili.

Omomorfismo: siano G=(V,E)G=(V, E) e G=(V,E)G'=(V', E') due grafi. Una mappa ϕ:VV\phi : V \to V' è detto omomorfismo da GG a GG' se preserva l'adiacenza dei vertici, cioè se

{ϕ(x),ϕ(y)}E{x,y}E\{\phi(x), \phi(y)\} \in E' \forall \{x, y\} \in E

se per ogni vertice xx' nell'immagine di ϕ\phi, la sua inversa ϕ1(x)\phi^{-1}(x') è un un insieme di vertici indipendenti in GG.

Isomorfismo: se γ\gamma è biettiva e γ1\gamma^{-1} è un omomorfismo allora γ\gamma è un isomorfismo.

Un isomorfismo da GG in se stesso è detto automorfismo. Una mappa che prende grafi e assegna valori uguali a grafi isomorfi è detta invariante.

Sottografo: se G=(V,E)G'=(V', E') è tale che VVV' \subseteq V e E[V]EE' \subseteq [V']\cap E allora GG' è un sottografo di GG (G è supergrafo). Se GGG' \subseteq G e GGG' \neq G, GG è un sottografo proprio. Se GGG' \subseteq G e E[V]2eE' \subseteq [V']^2 \cap e, GG è un sottografo indotto.

Grado

Prendiamo un grafo non vuoto G=(V,E)G=(V, E). Il vicinato di un vertice vv è indicato da NG(v)N_{G}(v).

Il grado di un nodo vv, dG(v)d_{G}(v) è il numero di lati incidenti (la cardinalità di N(v)N(v)). Un vertice con grado zero è detto isolato. Il numero δ(G)=min{d(v)vV}\delta (G) = \min \{d(v) | v \in V\} è il grado minimo. Il grado massimo invece è indicato con Δ(G)=max{d(v)vV}\Delta (G) = \max \{d(v) \vert v \in V\}.

Se tutti i vertici di GG hanno lo stesso grado kk, GG è detto kk-regolare.

Grado medio: vediamo facilmente che δ(G)d(G)Δ(v)\delta(G) \le d(G) \le \Delta(v).

d(G)=1VvVd(v)d(G) = \frac{1}{|V|} \sum_{v \in V} d(v)

Se vogliamo farci del male definiamo la densità dei lati.

ϵ(G)=EV\epsilon (G) = \vert E\vert \setminus \vert V\vert

Cammino

Un cammino di lunghezza kk in un grafo GG è un sottografo PkP_k che contiene kk archi e k+1k+1 vertici, in cui gli archi e1,,eke_1, \dots, e_k e vertici k+1k+1 tali che ei=(vi1,vi)e_i = (v_{i-1}, v_i). Questi vertici notiamo che possono avere neighbors (vicinati) ampi quanto vogliamo.

Quindi è un grafo non vuoto PP della forma:

V={x0,x1,,xk}E={x0x1,,xk1xk}V = \{x_0, x_1, \dots, x_k \} \quad E = \{x_{0}x_{1}, \dots, x_{k-1}x_k \}

La sua lunghezza è il numero dei lati che lo compongono. Se ha lunghezza kk lo denotiamo appunto con PkP_k. Può anche essere 00, in quel caso P0=K1P^0=K^1.

Due cammini sono indipendenti se non contengono un vertice interno in comune.

Un ciclo CkC_k (in questo caso kk-ciclo per la sua lunghezza) di lunghezza k3k \ge 3 è formato da un cammino Pk1P_{k-1} (con kk vertici e k1k-1 archi) che può essere esteso in GG (in G trovo un arco per chiudere) includendo l'arco (vk1,v0)(v_{k-1}, v_0).

In un grafo GG, il calibro (girth) g(G)g(G) è la lunghezza del ciclo più breve (maggiore di 3 ovviamente).

La lunghezza del ciclo più lungo è chiamata circonferenza del grafo GG.

Un lato che unisce due vertici di un ciclo ma che non è un lato del ciclo è detto corda.

Ci sono modi per capire le relazioni tra le quantità che caratterizzano il grafo? Un ciclo in un grafo biologico può avere una certa importanza.

Prop 1: Ogni GG con grado minimo 2 δ(G)2\delta (G) \ge 2, contiene un cammino di lunghezza pari al grado minimo e un ciclo di lunghezza almeno grado minimo più uno δ(G)+1\delta (G) + 1.

dim: Prendiamo un grafo GG, prendo il più lungo cammino del grafo. Guardo i neighbors (vicinato) di vkv_k. Tutti i vicini del vertice vkv_k devono stare sul cammino. Se ci fosse un vicino non sul cammino potremmo allungare il cammino con un nodo in VV e non sarebbe più quello di lunghezza massima. Quindi abbiamo detto che non possiamo allungare il cammino: N(vk)PkN(v_k) \in P_k. Il grado di vkv_k, kd(vk)δvkk \ge d(v_k) \ge \delta v_k.

Andiamo a prendere il primo vertice che è un vicino di vkv_k ((vi,vk)E(v_i, v_k) \in E). Abbiamo cardinalità di vkv_k + 1 per tornare indietro, aggiungendo questo lato. CC è quindi lungo almeno δ(G)+1\delta (G) + 1 altrimenti non posso chiudere il ciclo.

È semplice trovare questa relazione.

Introduciamo ora il concetto di distanza. Su un oggetto come un grafo, essendo in una metrica non euclidea, non è così banale definire una distanza. Induciamo una nozione di distanza fra due vertici di un grafo.

Preso G=(V,E)G =(V, E), i,jV\forall i, j \in V, allora d(i,j)d(i, j) è la distanza. Se i,ji, j sono connessi in GG da almeno un cammino allora d(i,j)d(i, j) è la lunghezza del cammino più breve, altrimenti (se il grafo non è connesso) la distanza è infinita d(i,j)=infd(i, j) = \inf.

A questo punto possiamo definire il concetto di diametro sul grafo. Il diametro non è altro che la distanza massima fra tutte le coppie di vertici:

diam(G)=maxi,jVd(i,j)diam(G) = \max_{i, j \in V} d(i, j)

Il raggio del grafo (rad(G)rad(G)) viene definito come per una circonferenza:

rad(G)=miniVmaxjVd(i,j)rad(G) = \min_{i \in V} \max_{j \in V} d(i, j)

Se è un raggio ci aspettiamo una relazione simile (la metà del diametro).

Il raggio è sicuramente più piccolo del diametro: rad(G)diam(G)?rad(G) \le diam(G) \le ?

Chiamiamo xVx \in V un vertice tc d(x,v)rad(G)d(x, v) \le rad(G) (il massimo è minimizzato su questo vertice). (x è tipo il centro del grafo, o meglio uno dei centri)

Prendiamo qualsiasi vertice u,vVu, v \in V:

d(u,v)d(u,x)+d(x,v)d(u, v) \le d(u, x) + d(x, v)

Ciascun di questi elementi è più grande >rand(G)\gt rand(G). Per qualsiasi coppia di vertici la loro distanza è più piccola di 2rad(G)2 rad(G).

Cosa hanno a che fare raggio e diametro con i cicli?

Fatto 1: Ogni grafo GG con almeno un ciclo soddisfa (calibro) g(G)<2diam(G)+1g(G) \lt 2 diam(G) + 1. C'è quindi un limite alla lunghezza del ciclo più breve di un grafo.

dim: Prendiamo un grafo che contiene almeno un ciclo. Sia CC il ciclo di lunghezza minima g(G)g(G). Prendiamo due vertici agli estremi opposti (tagliano il ciclo in due cammini il più possibile uguali). Assumo per assurdo che g(G)2diam(G)+2g(G) \ge 2 diam(G) + 2 sia falsa.

A questo punto abbiamo due cammini P1,P2P_1, P_2. Sono lunghi almeno diam(G)+1diam(G) + 1. Però, guardando la distanza in GG dei due punti, abbiamo d(x,y)<diam(G)d(x, y) < diam(G) per definizione di diametro.

Non tutti gli archi di un cammino PP (di lunghezza minima) stanno su CC (il mio ciclo), se tutti gli archi stessero su CC avrei un modo per andare da xx a yy minore (non sarebbe un ciclo di lunghezza minima). Allora PP insieme al più breve tra P1,P2P_1, P_2 forma un ciclo minore, posso quindi costruire un ciclo più breve di quello che ho assunto essere quello più breve, il che è contraddittorio.

Un'altra cosa interessante è la connettività di un grafo. Un grafo è connesso se è non-vuoto e ogni coppia di vertici sono uniti da un cammino in GG.

Preso un grafo GG una componente è un qualunque insieme massimale di vertici connessi (sottografo connesso). Un grafo GG è kk-connesso se V>K\vert V\vert \gt K e X,V\forall X, V con X<K\vert X\vert \lt K, il sottografo indotto da VXV \setminus X è connesso. Qualsiasi grafo è 00-connesso e sono 11-connessi quelli semplicemente connessi tranne K1K_{1}.

Il massimo intero kk t.c. GG è kk-connesso è la connettività di GG.

κ(G)\kappa(G)

Teo 1: Se GG non appartiene a K0,K1K_0, K_1, cioè non è banale, allora la cardinalità di GG, κ(G)λ(G)δ(G)\kappa (G) \le \lambda (G) \le \delta (G). (dove nella lezione si è usato F\vert F \vert al posto di λ(G)\lambda (G), qualsiasi insieme minimo di archi la cui rimozione sconnette il grafo λ(G)\lambda (G) è la connettività degli archi).

Se prendiamo due cliques e taglio l'unico arco che le connette: F=1\vert F \vert = 1 e δ(G)=n+1\delta (G) = n+1.

dim: κ(G)F\kappa (G) \le \vert F \vert (e fissiamo F), lo mostriamo nei prossimi casi. Prendiamo G=(V,EF)G'=(V, E \setminus F):

  • GG ha un vertice vv che non è incidente con un lato in FF (non sta tra i sottografi connessi da FF). Chiamiamo CC la componente di GG' che contiene vv e consideriamo l'insieme di vertici di CC che sono incidenti con un lato di FF: VCV_C. Se rimuoviamo questi vertici, allora vv è disconnesso da ogni componente di GG (starà in un sottografo, componente, sconnesso dall'altra componente).

Allora κ(G)<VC\kappa (G) \lt \vert V_C \vert. Dall'altro lato, nessun lato in FF Può avere entrambi i vertici in CC (altrimenti FF non è minimo): κ(G)<VC<F\kappa (G) \lt \vert V_C \vert \lt \vert F\vert.

  • GG è tale che tutti i vertici sono incidenti con qualche arco di FF. Prendiamo un vertice random e sia CC la componente di GG' che lo contiene. Alcuni uN(v)u \in N(v) sono tali che (v,u)F(v, u) \in F. Gli altri nodi nel vicinato di vv devono per forza appartenere a CC ed essere inidenti con lati distinti di FF (altrimenti non è minimo).

Possiamo dire che d(v)<Fd(v) \lt \vert F\vert, che implica d(v)=F=δ(G)d(v) = \vert F\vert = \delta (G), perché sappiamo che d(v)Fd(v) \le \vert F\vert. Siccome rimuovere il vicinato di vv disconnette vv, concludiamo che κ(G)δ(G)=F\kappa(G) \le \delta (G) = \vert F\vert.

Alberi e Foreste

Un grafo aciclico, cioè un grafo che non contiene cicli è detto foresta.

Una foresta connessa è detta albero. Ciò implica che una foresta è un grafo le cui componenti sono alberi.

I vertici con grado 11 in un albero sono le sue foglie, gli altri sono i vertici interni. Ogni albero non banale ha una foglia, ad esempio le estremità di un cammino di lunghezza massima.

Questo teorema caratterizza quali grafi sono alberi.

Teo 2: i seguenti enunciati sono equivalenti per un grafo TT:

  • TT è un albero.
  • ogni coppia di vertici in TT sono uniti da un unico cammino in TT.
  • TT è minimamente connesso, per esempio TT è connesso ma TeT-e non lo è, per ogni lato eTe \in T
  • TT è aciclico massimale, TT non contiene cicli ma T+xyT + xy sì, \forall due vertici in TT non adiacenti.

Un albero di copertura (spanning tree) di un grafo connesso G=(V,E)G =(V, E) è un sottografo T=(V,E)T=(V, E') che è un albero. Un'applicazione del teorema molto frequente è che ogni grafo connesso contiene un albero di copertura: o prendiamo il minimo sottografo connesso di copertura e usiamo la terza, o prendiamo un sottografo aciclico massimale e usiamo la quarta.

Quando TT è un albero di copertura di GG, i lati in E(G)E(T)E(G) \setminus E(T) sono le corde di TT in GG.

Cor 1: Un grafo connesso con nn vertici è un albero sse ha n1n-1 vertici.

dim: per induzione su ii si mostra che il sottografo coperto dai primi ii vertici ha i1i-1 vertici. Per i=ni=n questo dimostra l'implicazione. Al contrario, preso GG un qualsiasi grafo connesso con nn vertici e n+1n+1 lati. Diciamo GG' un albero di copertura in GG. Siccome GG ha n1n-1 lati dalla prima implicazione, concludiamo dicendo che G=GG=G'.

Cor 2: Se TT è un albero e GG è un qualunque grafo con δ(G)T+1\delta (G) \ge \vert T\vert + 1 allora TGT \subseteq G, ad esempio GG ha un sottografo isomorfo a TT.