You are on page 1of 6

Grafo

Grafo
I grafi sono strutture matematiche discrete che rivestono interesse sia per la matematica che per un'ampia gamma di campi applicativi. In ambito matematico il loro studio, la teoria dei grafi, costituisce un'importante parte della combinatoria; i grafi inoltre sono utilizzati in aree come topologia, teoria degli automi, funzioni speciali, geometria dei poliedri, algebre di Lie. I grafi si incontrano in vari capitoli dell'informatica (ad esempio per schematizzare programmi, circuiti, reti di computer, mappe di siti). Essi inoltre sono alla base di modelli di sistemi e processi studiati nell'ingegneria, nella chimica, nella Grafo con 6 nodi e 5 archi biologia molecolare, nella ricerca operativa, nella organizzazione aziendale, nella geografia (sistemi fluviali, reti stradali, trasporti), nella linguistica strutturale, nella storia (alberi genealogici, filologia dei testi).

Definizioni fondamentali

Un grafo.

Un grafo un insieme di elementi detti nodi o vertici collegati fra loro da archi o lati. Pi formalmente, si dice grafo una coppia ordinata G = (V, E) di insiemi, con V insieme dei nodi ed E insieme degli archi, tali che gli elementi di E siano coppie di elementi di V (da questo segue in particolare ). Due vertici u, v connessi da un arco e prendono nome di "estremi dell'arco"; l'arco e viene anche identificato con la coppia formata dai suoi estremi (u, v). Un arco che ha due estremi coincidenti si dice "cappio", mentre pi archi che connettono gli stessi due estremi danno origine ad un "multiarco". Un grafo sprovvisto di cappi e di multiarchi si dice grafo semplice. In caso contrario si parla di multigrafo.

Grafo Lo scheletro sk(G) di G il grafo che si ottiene da G eliminandone tutti i cappi e sostituendone ogni multiarco con un solo arco avente gli stessi estremi. Il numero di archi incidenti in un vertice v V prende nome "grado" di v. Si considerano il "grado massimo" e il "grado minimo" di G come, rispettivamente, il grado del vertice di G con il maggior numero di archi incidenti e il grado del vertice di G che ha meno archi incidenti. Quando il grado massimo ed il grado minimo coincidono con un numero k, si in presenza di un "grafo k-regolare" (o pi semplicemente "grafo regolare"). Un grafo G = (V, ) privo di archi detto "grafo nullo". Un caso estremo di grafo nullo quello del grafo G = (, ), per il quale anche l'insieme dei nodi vuoto.[1]

Grafi orientati e grafi semplici


Si distinguono due tipi basilari di grafi, i grafi orientati e i grafi non orientati. Un "grafo orientato" D (o digrafo, grafo diretto) un insieme D = (V, A), dove V l'insieme dei vertici di D e A l'insieme degli archi orientati di D. Un "arco orientato" un arco caratterizzato da una direzione. In particolare, composto da una "testa" (rappresentata solitamente dalla punta di una freccia), che si dice raggiunge un vertice in entrata, e una "coda", che lo lascia in uscita. Un "grafo non orientato" D un insieme di vertici e archi dove la connessione i - j ha lo stesso significato della connessione j - i. Un grafo semplice non contiene archi orientati. Vi sono inoltre varie specie di grafi arricchiti. Si studiano anche grafi con un insieme numerabile di nodi o vertici.
Il codice sorgente della pagina principale di Wikipedia, visualizzato sotto forma di grafo.

Grafo completo, densit di un grafo


Un grafo definito completo se due suoi qualsiasi vertici sono adiacenti (esiste lo spigolo che li contiene entrambi). La massima cardinalit di un sottografo completo del grafo si chiama densit del grafo.

Grafo

Percorsi, cammini e circuiti


Un "percorso" di lunghezza n in G dato da una sequenza di vertici v0,v1,..., vn (non necessariamente tutti distinti) e da una sequenza di archi che li collegano (v0,v1),(v1,v2),...,(vn-1,vn). I vertici v0 e vn si dicono estremi del percorso. Un percorso con i lati a due a due distinti tra loro prende il nome di cammino. Un cammino chiuso (v0 = vn) si chiama circuito o ciclo.

Connettivit
Dato un grafo G = (V, E) due vertici v, u V si dicono "connessi" se esiste un cammino con estremi v e u. Se tale cammino non esiste, v e u sono detti "sconnessi". La relazione di connessione tra vertici una relazione di equivalenza. Per i = 1..k (k classi di equivalenza) sono definibili i sottografi Gi = (Vi, Ei) come i sottografi massimali che contengono tutti gli elementi connessi tra loro, che prendono il nome di componenti connesse di G, la cui cardinalit spesso si indica con (G). Se (G) = 1, G si dice "connesso". Un "nodo isolato" un vertice che non connesso a nessun altro vertice. Un nodo isolato ha grado 0. Un "ponte"' e uno "snodo" sono, rispettivamente, un arco ed un vertice che se soppressi sconnettono il grafo. La "connettivit" di un grafo G = (V, E) definita come la cardinalit dell'insieme non vuoto S V tale che G \ S (G dal quale sono stati eliminati tutti i nodi di S) risulta sconnesso o un nodo isolato. Allo stesso modo, l'"arcoconnettivit" viene definita come la cardinalit dell'insieme non vuoto A E tale che G \ A (G dal quale sono stati eliminati tutti gli archi di A) risulta sconnesso. I cappi risultano ininfluenti nel computo dell'arcoconnettivit, mentre i multiarchi vanno contati per il numero di archi che comprendono. Siano la connettivit di G indicata da (G), l'arcoconnettivit di G indicata da '(G) e il grado minimo di G indicato da min(G). Il "teorema di Whiteny" afferma che per ogni grafo G vale la relazione (G) '(G) min(G).

Matching e ricoprimenti
Dato un grafo semplice G = (V, E), un insieme M = (S, A) composto da coppie di vertici presi due a due e dagli archi che connettono tali vertici un "matching" se ogni vertice di S ha grado 0 o 1. In particolare, ogni nodo con grado 1 detto "m-saturato" ed ogni nodo con grado 0 detto "m-esposto". Dato un matching M = (S, A) su G = (V, E), un cammino P E "m-alternante" se P contiene alternativamente archi di E e archi di A. Un cammino m-alternante "m-aumentante" se il primo e l'ultimo vertice di tale cammino sono m-esposti. Secondo il "teorema di Berge", un matching M di G massimo se e solo se G non contiene cammini m-aumentanti. Un "ricoprimento" di un grafo G = (V, E) un insieme non vuoto S V tale che ogni arco in E incidente in almeno un vertice di S. Per ogni grafo la massima cardinalit di un ricoprimento maggiore o uguale alla cardinalit del matching massimo. Siano (G) la cardinalit del matching massimo di G e (G) la massima cardinalit dei ricoprimenti di G. "Knig" dimostr che se G un grafo bipartito allora (G) = (G). Invece pi in generale, per qualunque grafo vale (G) >= (G).

Grafo

Tipi di grafi
Grafo arricchito Grafo bipartito Grafo convesso Grafo biconvesso Grafo duale Grafo planare Rete casuale Rete dinamica Rete a invarianza di scala Poligrafo n-grafo

Implementazioni dei grafi


Ci sono due modi generali per rappresentare un grafo con una struttura di dati utilizzabile da un programma: la lista delle adiacenze e la matrice delle adiacenze. In una lista di adiacenze, una lista mantiene un elenco di nodi, ed ad ogni nodo collegata una lista di puntatori ai nodi collegati da un arco. In una matrice di adiacenze, una matrice N per N, dove N il numero dei nodi, mantiene un valore vero in una cella (a,b) se il nodo a collegato al nodo b. La matrice simmetrica solo se il grafo non orientato. Indicati con V la cardinalit dell'insieme dei vertici del grafo e con E la cardinalit dell'insieme degli archi del grafo, le due rappresentazioni, quella mediante liste e quella mediante matrice delle adiacenze, richiedono rispettivamente (V+E) e (V2) spazio di memoria. Ognuna delle due rappresentazioni ha alcuni vantaggi: una lista di adiacenze risulta pi adatta a rappresentare grafi sparsi o con pochi archi, perci facile trovare tutti i nodi adiacenti ad un nodo dato e verificare l'esistenza di connessioni tra nodi; una matrice di adiacenze invece pi indicata per descrivere grafi densi e con molti archi, inoltre rende pi facile invertire i grafi e individuarne sottografi.

Voci correlate
Raffigurazione di un grafo Matrice di adiacenza Lista di adiacenza BFS - Visita in ampiezza Visita in ampiezza DFS - Visita in profondit Ordinamento topologico Ipergrafo Base di dati a grafo Modularit di un Grafo Ponte

Grafo

Note
[1] Alcuni definiscono vuoto il grafo G = (V, ), con V , e nullo il grafo G = (, )

Altri progetti
Wikimedia Commons contiene file multimediali: http://commons.wikimedia.org/wiki/Category:Graphs (graph theory)

Collegamenti esterni
Teoria dei Grafi 1.0 - Desmatron (http://teoriadeigrafi.altervista.org) Definizioni sui grafi (http://people.na.infn.it/~bene/ASD/Benerecetti/Modulo-II-2008/02-Grafi-I.pdf) in 84 diapositive. Teoria dei Grafi - Appunti (http://simonesgariglia.it/grafi/) GraphsJ 2: Software didattico in Java con interfaccia grafica intuitiva che permette di risolvere passo-passo molti problemi sui grafi eseguendo i rispettivi algoritmi (http://gianlucacosta.altervista.org/software/graphsj2/index. php) GraphNview : Software open source per creare,visualizzare ed animare grafi orientati (http://www. bioemulation.altervista.org/software/graphNview.html)

Fonti e autori delle voci

Fonti e autori delle voci


Grafo Fonte:: http://it.wikipedia.org/w/index.php?oldid=44123048 Autori:: Alberto da Calvairate, Alfio, Alz, Amux, Apelle, Bedo2991, Blakwolf, Damnit, Davide, Djdomix, Dread83, Fabior1984, Francesco Betti Sorbelli, Francisco83pv, Freddyballo, Ggonnell, Giulio.orru, Gizm0, Gragusa, Gvittucci, Hashar, Hce, Hellis, Ilario, Larry Yuma, LoStrangolatore, Luc nig, Luc4, Marcuscalabresus, Massimiliano Lincetto, Mfprimo, Nemo bis, Pac72, Pacy, Paginazero, Panairjdde, Piddu, Pokipsy76, Pracchia-78, Robykiwi, Rojelio, Salvatore Ingala, Squattaturi, Starwars, Twice25, 32 Modifiche anonime

Fonti, licenze e autori delle immagini


Immagine:6v-color-graph.svg Fonte:: http://it.wikipedia.org/w/index.php?title=File:6v-color-graph.svg Licenza: Public Domain Autori:: Pac72 Immagine:Grafo-esempio-1.png Fonte:: http://it.wikipedia.org/w/index.php?title=File:Grafo-esempio-1.png Licenza: GNU Free Documentation License Autori:: Mfprimo, Red devil 666 Immagine:It.wp grafo.jpg Fonte:: http://it.wikipedia.org/w/index.php?title=File:It.wp_grafo.jpg Licenza: sconosciuto Autori:: Nanae, Paginazero Immagine:Commons-logo.svg Fonte:: http://it.wikipedia.org/w/index.php?title=File:Commons-logo.svg Licenza: logo Autori:: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by Reidab.

Licenza
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/