From 51c6ceb3750afba02fa0ab7d356a73ab8695a950 Mon Sep 17 00:00:00 2001 From: Francesco Mecca Date: Sat, 25 Apr 2020 11:47:51 +0200 Subject: [PATCH] consegne: grafi --- anno3/vpc/consegne/1.definizioni.org | 120 +++++++++++++++++++++++++-- 1 file changed, 115 insertions(+), 5 deletions(-) diff --git a/anno3/vpc/consegne/1.definizioni.org b/anno3/vpc/consegne/1.definizioni.org index ef68c94..22f8e6e 100644 --- a/anno3/vpc/consegne/1.definizioni.org +++ b/anno3/vpc/consegne/1.definizioni.org @@ -1,5 +1,4 @@ -* Definizioni - +* Insiemi ** Numeri naturali I numeri naturali sono i numeri appartenenti all'insieme dei numeri naturali ℕ, @@ -16,7 +15,6 @@ Von Neumann: - 3 = 2 ∪ {2} = {0, 1, 2} - n = n-1 ∪ {n-1} = {0, 1, 2, ..., n-1} - ** Numeri interi I numeri interi sono i numeri appartenenti all'insieme dei numeri interi ℤ, @@ -25,7 +23,6 @@ ovvero tutti i numeri il cui valore assoluto e` un numero naturale. Possiamo rappresentare intuitivamente l'insieme dei numeri interi ℤ come {n | ∃(a,b) ∈ ℕ×ℕ, n = a-b} - ** Numeri razionali I numeri razionali sono i numeri appartenenti all'insieme dei numeri razionali ℤ, @@ -33,7 +30,6 @@ ovvero tutti i numeri rappresentabili tramite un numero razionale o come il limite di una sequenza di numeri razionali che non si ripete e non termina (numeri irrazionali). - ** Intersezione L'intersezione fra due insiemi e` a sua volta un insieme contenente @@ -118,3 +114,117 @@ transitiva la piu` piccola relazione transitiva R⁺ sull'insieme A che contiene R: | R⊆R⁺ ∧ (∀T, R⊆T → R⁺⊆T (R⁺ is minimal)) Se la relazione R e` transitiva, allora R=R⁺ +** Funzione +Definiamo funzione una relazione fra due insiemi A e B che associa un elemento +dell'insieme A ad esattamente un elemento dell'insieme B: +| f: X↦Y +** Funzione di arieta` n +Possiamo definire una funzione di arieta` n su un insieme S come: +| f: Sⁿ↦S +** Funzione iniettiva +Una funzione f: X↦Y si dice iniettiva quando presi due elementi +dell'insieme X, se la loro immagine e` uguale (f(x)), allora i due elementi +sono uguali: +| ∀x,x'∈X, f(x) = f(x') → x = x' +** Funzione suriettiva +Una funzione f: X↦Y si dice suriettiva quando preso qualunque elemento +di Y, questo ha una controimmagine x in X: +| ∀y∈Y, ∃x∈X| f(x) = y +** Funzione biettiva +Chiamiamo una funzione biettiva quando e` allo stesso tempo iniettiva +e suriettiva. + +* Linguaggi +** Alfabeto +Un alfabeto e` un insieme i cui membri sono simboli (che includono +lettere, caratteri e numeri). Se L e` un linguaggio formale, ossia un +set finito o infinito di stringhe di finita lunghezza, allora +l'alfabeto di L, indicato con Σ, e` l'insieme di tutti i simboli +che possono comparire in una qualunque stringa di L. +** Stringa +Una stringa e` una sequenza finita di simboli di un alfabeto. +** Lettera +Una lettera di una string e` un simbolo dell'alfabeto. +** Stringa vuota +Una stringa vuota e` una stringa di lunghezza zero, anche detta ε. +** Concatenazione +La concatenazione di stringhe e` l'operazione di unione dei caratteri +di due stringhe preservando il loro ordine. +** Ripetizione +Si dice ripetizione l'operazione di concatenazione di una stringa con +n copie di se` stessa. +** Prefisso +Si dice prefisso di una stringa la sottostringa che appare all'inizio +della stringa. +** Suffisso +Si dice suffisso di una stringa la sottostringa che appare alla fine +della stringa. + +* Grafi +Un grafo e` una coppia ordinata G = (V,E) che +comprende un insieme V di vertici e un insieme E di coppie (e,v). + +** Grafo diretto +Un grafo diretto e` un +grafo in cui gli archi hanno orientamento. + +** Grafo indiretto +Un grafo indiretto o semplice e` un grafo in cui gli archi non hanno +orientamento, ovvero: +| ∀x,y∈V, (x,y) = (y,x) + +** Grafo bipartito + +Un grafo si dice bipartito quando l'insieme di vertici V può +essere diviso in due insiemi disgiunti e indipendenti W e X, di modo +che ogni arco connetta un vertice in W con un vertice in X e si scrive +G = (W,X,E): +| V = W∪X ∧ W∩X = ∅ + +** Nodo sorgente +Un nodo si dice sorgente quando il numero di archi +in ingresso e` 0. +** Nodo destinazione +Un nodo si dice destinazione quando il numero di archi in uscita e` 0. + +** Funzione di etichettatura per archi e nodi +In un generico grafo G, e` possibile definire funzioni di +etichettatura o di colorazione dei nodi come, dato un insieme di +etichette S: +| f: V↦S Definendo un insieme di + +** Cammino +Si dice cammino una sequenza di archi che collega una sequenza di +vertici distinti. +** Ciclo +Si definisce ciclo un cammino in cui il primo e l'ultimo vertice +coincidono mentre tutti gli altri vertici si ripetono al piu` una +volta. +** Lunghezza del cammino +Si definisce lunghezza il numero di archi che compongono un cammino. +In un grafo pesato la lunghezza di un cammino e` costituita dalla +somma del peso di ogni arco che lo compone. +Un cammino in un grafo e` una sequenza finita o infinita di archi che +collegano una sequenza di vertici distinti l'uno dall'altro. Un +cammino di lunghezza $k$ e` rappresentato da una sequenza alternata di +$k$ vertici ed archi.\\ $v_0,e_0,v_1,e_1,\,...\,v_{k-1},e_{k-1},v_k$ + +** Grafi fortemente connesso +Un grafo diretto si dice fortemente connesso se ogni vertice e` +raggiungibile da ogni altro vertice. +** Componenti fortemente connesse +Si dicono componenti fortemente connesse le partizioni di un grafo +diretto che sono fortemente connesse. + +** BSCC - Bottom Strongly Connected Component +Una componente fortemente connessa si dice BSCC quando nessun vertice +al di fuori della BSCC e` raggiungibile. +** Albero +Si dice albero un grafo indiretto in cui ogni coppia di vertici e` +connessa da solo un arco. +Ogni grafo indiretto, connesso e aciclico e` un albero. +** In e out degree di un nodo +Si dice in degree, /indeg⁻(v)/, di un nodo il numero di archi entranti in quel +nodo. +Si dice out degree, /outdeg⁺(v)/, di un nodo il numero di archi uscenti da quel +nodo.