Autori: M. Di Ianni, A. Panepuccia

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Autori: M. Di Ianni, A. Panepuccia"

Transcript

1 AR Analisi di Reti 2010/2011 M.Di Ianni Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia In questa dispensa verrà trattato il problema dell assegnazione dei ruoli in un grafo. Tale problema è stato introdotto nell ambito dell analisi di una reti sociali, ossia, strutture costituita da individui (generalmente persone, ma anche gruppi e organizzazioni) connessi tra di loro da una o più relazioni di interdipendenza. Una rete sociale viene naturalmente descritta tramite un grafo in cui i nodi rappresentano gli individui e gli archi rappresentano le relazioni; queste ultime sono determinanti per l assegnazione dei ruoli agli individui all interno della rete sociale. L obiettivo del role assignment nell ambito delle reti sociali è quello di classificarne i membri: si assume, cioè, che i membri che ricoprono lo stesso ruolo abbiamo un comportamento simile. Il problema del role assignment appare, a prima vista, analogo al problema del clustering. Come abbiamo visto nella Dispensa 4, tutte le tecniche di clustering raggruppano gli elementi sulla base della loro distanza reciproca, e, quindi, l appartenenza o meno ad un cluster dipende da quanto l elemento preso in esame è distante dall insieme stesso. Come già osservato, è possibile parlare di modelli di clustering in cui viene richiesto che i cluster e le connessioni fra i cluster abbiano proprietà strutturali più complesse che non la semplice vicinanza (rispetto alla metrica utilizzata). Essi sono genericamente chiamati Role Assignment (assegnazioni di ruoli). Rispetto al clustering, i role assignment inseriscono due nodi nello stesso cluster (meglio, assegnano ad essi lo stesso ruolo) se i loro vicinati hanno una struttura simile : la definizione formale del tipo di similitudine richiesta differenzia i vari tipi di role assignment. La dispensa, nei Paragrafi 6.1 e 6.2, fornirà, rispettivamente, un introduzione ed una panoramica sulle reti sociali e sui problemi di role assignment, con sezioni dedicate alle varie tipologie. Il resto della dispensa sarà incentrato sull ecological role assignment, introdotto brevemente nel Paragrafo Nel Paragrafo 6.3 verrà introdotta la classe di grafi che ammettono un role assignment ecologico che utilizza tanti ruoli quanti sono i nodi. Nel Paragrafo 6.4 verrà introdotta un tecnica di partizionamento dei nodi di un grafo in sottoinsiemi che induce direttamente un role assignment ecologico. Infine, nel Paragrafo 6.5 dove verrà descritto un algoritmo polinomiale che, dato un intero positivo k, permette di individuare un role assignment ecologico per un grafo che utilizzi esattamente k ruoli ogni qualvolta k sia un numero di ruoli valido per il grafo. 6.1 Le reti sociali Il concetto di rete sociale nasce, storicamente, per caratterizzare reti di natura prettamente fisica quali, ad esempio: una comunità di lavoratori, che si incontra nei relativi circoli dopolavoristici e che costituisce una delle associazioni AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 1

2 di promozione sociale, le comunità di sportivi, le comunità di persone accomunate da problematiche strettamente lavorative e di tutela sindacale del diritto nel lavoro, le confraternite e in generale le comunità basate sulla pratica comune di una religione e il ritrovo in chiese, templi, moschee, sinagoghe e altri luoghi di culto. Una rete sociale si può, inoltre, basare su di un comune approccio educativo come nello scautismo, o di visione sociale, come nelle reti segrete della carboneria e della massoneria. Nell ambito delle scienze sociali, il concetto di rete sociale è stato utilizzato a lungo come metafora per tradurre ora l idea della società come rete di reticoli sociali, ora l idea dell azione sociale come esito di vincoli ed opportunità emergenti dalle relazioni tra i soggetti. L uso metaforico del termine ha posto il concetto di rete sociale ad un livello di astrazione piuttosto elevato, portando con sé un indubbio fascino evocativo e al tempo stesso, alle volte, creando confusione terminologica e mancanza di chiarezza nelle definizioni. Recentemente, la diffusione del web e l utilizzo del termine rete sociale nel suo ambito ha reso ancor più evidente la necessità di risolvere le ambiguità e, più in generale, di fornire per le reti sociali una solida base di definizioni formali. In effetti, l impiego scientifico del termine ha diminuito il livello di astrazione ad esso associato, determinando il passaggio del concetto di rete dall immagine intuitiva di un fenomeno complesso alla sua rappresentazione sul piano formale ed analitico. Le reti sociali come rappresentazione organizzativa dei rapporti sociali ed il loro metodo di studio, l analisi delle reti sociali, sono stati adottati come strumenti teorici e metodologici per lo studio di numerosi fenomeni e processi. In ambito sociologico tali studi hanno mostrato che nelle reti si depositano valori materiali e non materiali che contribuiscono a determinare la ricchezza individuale e collettiva (diversa da individuo ad individuo, non solo a causa delle capacità relazionali, ma anche per effetto di specifici processi strutturali) espressa in beni relazionali e immediatamente spendibile qualora se ne presenti la necessità. Una rete sociale è costituita da un insieme di entità e relazioni tra di esse; le entità sono anche dette attori in quanto protagoniste attive della rete sociale e della sua evoluzione. Le reti sono, quindi, strutture relazionali tra attori ed in quanto tali costituiscono una forma sociale rilevante che definisce il contesto in cui si muovono tali attori. La rete sociale risulta essere allora la struttura di relazioni le cui caratteristiche possono essere usate per spiegare il comportamento delle entità che costituiscono la rete. Il nodo della rete sociale può essere una persona oppure un gruppo (ad esempio un ente o un istituzione). Le relazioni di una rete sociale possono essere tutte dello stesso tipo (si consideri, ad esempio, la generica amicizia su Facebook), oppure possono essere diversificate nella tipologia, prendendo in considerazione una caratterizzazione delle relazioni stesse (amicizia, parentela, rapporto di affari, etc.). Inoltre, le relazioni possono essere reciproche oppure asimmetriche. Appare, dunque evidente che una rete sociale è sempre esprimibile mediante un grafo in cui con i nodi si identificano gli individui e con gli archi i legami che tra di essi si instaurano. Definiamo la densità di una rete come il rapporto fra il numero dei suoi archi ed il numero di archi del grafo completo sugli stessi nodi. La densità di una rete può rendere un idea di quanto sia efficiente l interscambio relazionale tra i vari elementi della rete stessa: ad esempio, se tutti gli elementi della rete instaurassero tra loro dei legami allora le densità della rete sarebbe pari ad uno, diversamente, nel caso in cui gli elementi della rete non comunicassero tra loro, la densità della rete sarebbe pari a zero (assenza di comunicazione/relazione). L analisi delle reti sociali ha evidenziato come la struttura e la densità contribuiscano a determinarne la potenziale utilità per i singoli individui. Le reti piccole e molto dense di connessioni sono meno utili ai loro membri rispetto a quelle in cui vi sono molte connessioni con elementi esterni alla rete principale. Le reti più aperte favoriscono l introduzione di nuove idee, informazioni ed opportunità per i loro membri rispetto alle reti chiuse, piccole e con connessioni ridondanti: quindi, per un individuo è preferibile avere connessioni con una grande varietà di gruppi e sottoreti piuttosto che molte connessioni all interno dello stesso gruppo o sottorete. In base al contenuto e alla struttura delle relazioni, è possibile caratterizzare reti di tipologia differente. Una rete può essere descritta in due modi a seconda che essa venga considerata da un punto di vista a-centrato oppure egocentrato. Una rete a-centrata è priva di un centro, non gerarchica, ed ogni suo nodo è equivalente a tutti gli altri; il grafo che rappresenta la rete potrebbe essere sparso. Una rete egocentrata, invece, viene costruita e descritta ponendo al suo centro un individuo dal quale si dipanano le relazioni: in un social network, dato un individuo (l ego), una sottorete egocentrata è quella che comprende gli individui che sono in relazione con l ego (gli alter). Le tipologie di analisi di reti egocentrate focalizzano l analisi su una prospettiva individuale: secondo questo approccio, ogni individuo ha una propria rete di relazioni che passa attraverso molti gruppi che contribuiscono alla caratterizzazione dell individuo stesso. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 2

3 Quando tutti i membri della rete da esaminare sono definiti (conosciuti) a priori da tutti gli altri membri, la rete è detta sociocentrica o completa. In una rete sociocentrica, tutti gli individui sono contemporaneamente ego ed alter. A differenza delle tipologie di analisi di reti egocentrate, quelle di reti complete le studiano da un punto di vista collettivo (per esempio, analizzando le dinamiche dei gruppi e la struttura della rete stessa). Come già accennato ad inizio paragrafo, una rete sociale può contemplare più di un tipo di relazione: ad esempio, le relazioni possono essere classificate in buone (amicizia, alleanza, etc.) e cattive (odio, rancore, etc.). Per poter modellare queste distinzioni, sono stati introdotti i concetti di archo positivo e di arco negativo: un arco positivo tra due nodi indica una relazione positiva tra di essi, mentre un arco negativo indica una relazione negativa. Un signed graph è un grafo i cui archi hanno un segno positivo o negativo; formalmente, un signed graph G Σ è definito come segue: G Σ := G,σ dove G = (V,E) e σ : E W{+, }. 6.2 Il Role Assignment Uno degli obiettivi principali dell analisi delle reti sociali è quello di determinare dei modelli (pattern) di relazioni tra gli attori (nodi) della rete in modo da identificare la struttura sociale della rete. I metodi di analisi delle reti sociali possono essere suddivisi in due macrocategorie: metodi di analisi relazionale: pongono l accento sulle relazioni tra gli individui, e generalmente hanno l obiettivo di identificare i membri centrali (hub) della rete oppure di partizionare il grafo in cluster; metodi di analisi posizionale: esaminano la similarità tra le connessioni di due membri della rete con gli altri membri. Il role assignment è uno dei principali metodi di analisi posizionale. Affinché un assegnazione dei ruoli sia possibile, è necessario che l insieme dei ruoli sia conosciuto a priori (o, quantomeno, sia nota una specifica formale degli stessi nel caso in cui si vogliano calcolare dinamicamente anche i ruoli stessi, oltre che la loro assegnazione). In questa dispensa, assumeremo sempre che l insieme dei ruoli sia dato a priori. Un algoritmo di role assignment assegna i ruoli ai nodi della rete tenendo conto delle specifiche dei ruoli e delle proprietà dei nodi; alcune proprietà dei nodi sono statiche, mentre altre potrebbero mutare nel corso del tempo. Le specifiche dei ruoli sono fortemente dipendenti dal contesto applicativo: ad esempio, le specifiche dei ruoli potrebbero consistere in un insieme di coppie ruolo,regola in cui, per ogni ruolo la rispettiva regola indica le condizioni che devono essere soddisfatte per l assegnazione di quel ruolo. Ad esempio, alla luce di quanto visto nella dispensa del Clustering, in una rete wireless di sensori i ruoli assegnabili potrebbero essere i seguenti: disattivato (nodo che non ha necessità di trasmettere perché altri sensori coprono interamente l area ad esso assegnata), cluster leader (come abbiamo visto, è un sensore più potente degli altri, e tale ruolo dovrebbe essere assegnato ad un nodo che non ha nessun altro cluster leader come vicino), gateway (il ruolo potrebbe essere assegnato ai nodi che hanno per vicini almeno 2 cluster leader non collegati attraverso nessun altro gateway), slave (ruolo assegnato a tutti gli altri nodi). Formalizzando il concetto, dato un grafo G = (V,E) e un insieme di ruoli W, un role assignment per G è una funzione suriettiva r : V W. Due ruoli si dicono adiacenti se esistono nel grafo due nodi adiacenti che giocano, rispettivamente, quei ruoli; più formalmente, AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 3

4 Definizione 6.1(Grafo dei ruoli): Dato un grafo G = (V,E) ed un role assignment r : V W, il grafo dei ruoli indotto da r in G è il grafo R G (r) = (W,E G (r)) tale che E G (r) = {(r 1,r 2 ) : u,v V tali che (u,v) E r(u) = r 1 r(v) = r 2 }. Segue direttamente dalla definizione di grafo dei ruoli che, per ogni role assignment r per un grafo G, se (u,v) è un arco di G, allora (r(u),r(v)) è un arco del grafo dei ruoli. Senza eccessiva perdita di generalità, da qui in avanti assumiamo che i grafi che consideriamo siano non diretti. Il grafo dei ruoli modella i ruoli e le loro relazioni; esso può essere visto come una versione compressa del modello rappresentato da G. Ovviamente, in tale compressione vi sarà una perdita di informazioni: l obiettivo dell analisi dei ruoli è quello di trovare un role assignment tale che il grafo dei ruoli risultante mostri le proprietà strutturali essenziali della rete, senza, però, che vi sia una perdita eccessiva di informazioni. Abbiamo quindi due diverse ragioni per trovare un buon role assignment. Da un lato, quella di sapere quali individui sono simili, dall altro, quella di ridurre la complessità della rete. Se una rete è molto grande oppure ha una struttura fortemente irregolare, è impensabile cercare di catturare la sua struttura a livello di nodi, ma è possibile farlo a livello di ruoli. La speranza è che il grafo dei ruoli metta in evidenza le caratteristiche essenziali e più stabili della rete: mentre gli individui possono avere un comportamento irregolare (in una social network le persone si iscrivono, si cancellano e mutano le relazioni in maniera molto veloce e spesso poco prevedibile), ci si aspetta invece che i ruoli abbiano un comportamento stabile (per lo meno per un lungo periodo di tempo). Come già accennato, esistono varie tipologie di role assignment, nella maggior parte delle quali esiste una relazione tra il ruolo di un nodo e i ruoli dei nodi ad esso vicini. Per questa ragione, è necessaria una definizione che specifichi l insieme dei ruoli ricoperti dai vicini di un dato nodo. Definizione 6.2(Rolehood): Sia r un role assignment per il grafo G = (V, E) che utilizza l insieme dei ruoli W; il rolehood C r (u) di un nodo u V rispetto ad r è l insieme dei ruoli dei vicini di u, ossia, indicato con N(u) l insieme dei vicini di un nodo u, C r (u) = {w W : v N(u) tale che r(v) = w}. Nei successivi sotto-paragrafi descriveremo le seguenti tipologie principali di role assignment: 1. strong structural role assignment; 2. regular role assignment; 3. exact role assignment; 4. perfect role assignment; 5. ecological role assignment. Per ciascuna tipologia τ di role assignment, è possibile definire la seguente coppia di problemi decisionali: Definizione 6.3(Problemi k-τ-ra e H-τ-RA): Siano k ed H, rispettivamente, un numero naturale positivo ed un grafo. ll problema k-τ-ra (k-τ ROLE ASSIGNMENT) consiste nel determinare se, dato un grafo G = (V,E), esiste un τ role assignment r : V W per G tale che W = k. Il problema H-RA (H-τ ROLE ASSIGNMENT) consiste nel determinare se, dato un grafo G = (V,E), esiste un τ role assignment r per G tale che il corrispondente grafo dei ruoli R G (r) è isomorfo ad H. Prima di procedere, osserviamo che un possibile role assignment per un grafo è quello che assegna lo stesso ruolo a tutti i nodi del grafo. Un tale role assignment è detto banale. Un altro possibile role assignment per un grafo è quello che assegna un ruolo differente ad ogni nodo del grafo. Chiameremo un tale role assignment ridondante. Come vedremo, l esistenza di role assignment banali o ridondanti per un grafo G non è sempre ovvia per tutte le tipologie di role assignment sopra elencate. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 4

5 6.2.1 Strong structural role assignment Secondo questa tipologia di role assignment, se due individui ricoprono lo stesso ruolo allora devono avere gli stessi vicini. Più formalmente, Definizione 6.4(Strong Structural Role Assignment): dato un grafo G = (V, E), un role assignment r su di esso è detto strong structural se u,v V : r(u) = r(v) N(u) = N(v). È immediato verificare che i seguenti sono esempi di strong structural role assignment: dato un grafo bipartito completo B = (V 1 V 2,V 1 V 2 ), il role assignment r : V 1 V 2 {r 1,r 2 } tale che, per ogni u V 1 V 2 : r 1 se u V 1 r(u) = r 2 se u V 2 ; dato un grafo a stella S = ({c} V 1,{c} V 1 ), il role assignment r : {c} V 1 {r 1,r 2 } tale che, per ogni u {c} V 1 : r 1 se u = c r(u) = r 2 se u V 1. È anche semplice verificare che le seguenti proprietà elementari sono verificate in ogni role assignment di tipo strong structural per grafi privi di loop 1 : 1. i nodi che hanno lo stesso ruolo costituiscono un insieme indipendente; 2. la distanza tra due nodi non isolati u e v che hanno lo stesso ruolo è 2: infatti se u ha come vicino z, anche v deve avere come vicino z in quanto per definizione di strong structural role assignment due nodi che hanno lo stesso ruolo devono avere gli stessi vicini. Osserviamo, ora, che il role assignment ridondante è strong structural per ogni grafo. D altra parte, solo per le clique con loop ad ogni nodo e per i grafi costituiti da soli nodi isolati il role assignment banale è strong structural. Il problema della computazione di uno strong structural role assignment di un grafo G = (V,E) che utilizza il minimo numero di ruoli possibile è in P, come mostra il semplice algoritmo in Tabella 6.1: esso partiziona l insieme dei nodi in classi di equivalenza tali che due nodi sono nella stessa classe se e solo se hanno lo stesso vicinato, restituendo in output la partizione calcolata. Poiché tutti i nodi appartenenti alla stessa classe di equivalenza hanno lo stesso vicinato, allora possono ricevere lo stesso ruolo. D altra parte, nodi appartenenti a classi di equivalenza diverse devono ricevere ruoli diversi, dal che si deduce che il minimo numero di ruoli di uno strong structural role assignment per G è proprio pari al numero di classi di equivalenza della partizione calcolata. Come già osservato, per ogni role assignment r per un grafo G, se (u,v) è un arco di G, allora (r(u),r(v)) è un arco del grafo dei ruoli. Se r è strong structural, deve essere vero anche il viceversa, il che ci fornisce una definizione equivalente di strong structural role assignment, formalmente enunciata nel seguente teorema: Teorema 6.1: Un role assignment r : V W per un grafo G = (V,E) è strong structural se e solo se u,v V : (r(u),r(v)) E G (r) (u,v) E. dove E G (r) è l insieme degli archi del grafo dei ruoli indotto da r in G. 1 Un loop è un arco che collega un nodo a sé stesso. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 5

6 Input: grafo G = (V, E) 1 P /0 P è la partizione di V in classi di equivalenza, inizialmente vuota 2 V 1 V ; crea una copia di V che sarà modificata nel corso dell algoritmo 3 for each v V 1 do begin 4 C {v} crea una nuova classe C 5 V 1 V 1 {v} v ha trovato la sua classe di equivalenza 6 for each u V 1 do 7 if N(u) = N(v) then begin 8 C C {u} 9 V 1 V 1 {u} 10 end 11 P P {C} 12 end 13 Output: P Tabella 6.1: Algoritmo che calcola uno strong structural role assignment di cardinalità minima. Poiché nei grafi più irregolari è pressoché impossibile partizionare i nodi in classi di equivalenza non banali che inducano uno strong structural role assignment, sono state proposte versioni rilassate di tale tipologia di role assignment. Fra tali tipologie, ricordiamo qui lo structural role assignment, basato sul concetto di relazione di equivalenza strutturale: un equivalenza sui nodi di un grafo è detta strutturale se, per ogni coppia di nodi u e v, u v se e solo se la trasposizione di u e v è un automorfismo del grafo 2 Possiamo allora definire uno structural role assignment: Definizione 6.5(Structural Role Assignment): dato un grafo G = (V,E) ed una relazione di equivalenza strutturale in esso, un role assignment r per G è detto structural se u,v V : r(u) = r(v) N(u) N(v) Regular role assignment Questa tipologia di role assignment si basa sull idea di una relazione strutturale dei nodi; secondo essa, se due nodi hanno lo stesso ruolo allora i rispettivi vicini devono avere gli stessi ruoli. Più formalmente, Definizione 6.6(Regular Role Assignment): che r è regolare se u,v V : r(u) = r(v) C r (u) = C r (v). dato un grafo G = (V, E) ed un role assignment r su di esso, diremo Segue dalla definizione che, in qualunque grafo, il role assignment ridondante è regolare, mentre il role assignment banale è regolare solo per grafi connessi oppure costituiti da soli nodi isolati. Un grafo con almeno 3 nodi i cui unici possibili role assignment regolari sono quello banale e quello ridondante viene detto role primitive. Un grafo in cui tutti i possibili role assignment sono regolari viene detto arbitrarily role assignable. È semplice dimostrare che ogni grafo completo è arbitrarily role assignable (e tale dimostrazione è lasciata per esercizio). Jirì Fiala e Daniel Paulusma [] hanno dimostrato il seguente teorema: Teorema 6.2: Il problema k-regular-ra è decidibile in tempo polinomiale per k = 1 ed è NP-completo per k > 1. Il problema H-REGULAR-RA è decidibile in tempo polinomiale se ogni componente di H consiste di un singolo vertice o consiste di due vertici senza loop, ed è NP-completo altrimenti. 2 Un automorfismo di un grafo è una permutazione dei nodi che preserva gli archi e i non archi: quindi due nodi sono collegati da un arco se e solo se lo sono le loro immagini mediante la permutazione data. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 6

7 6.2.3 Exact role assignment La proprietà che definisce un exact role assignment è ottenuta aggiungendo vincoli alla proprietà che definisce un regular role assignment. Dunque, ogni exact role assignment è un regular role assignment. In particolare, mentre affinché due nodi ricoprano lo stesso ruolo in un regular role assignment è sufficiente che i rispettivi vicini ricoprano lo stesso insieme di ruoli, nel caso dell exact role assignment conta anche il numero di vicini che occupano quel ruolo. Definizione 6.7(Exact Role Assignment): Sia r un role assignment per il grafo G = (V,E) che utilizza l insieme dei ruoli W, e siano u V e w W; definiamo OCC r (u,w) come il numero di occorrenze in cui un vicino di u ha come ruolo w. Più formalmente, OCC r (u,w) = {v : v N(u) r(v) = w}. Diremo che r è esatto se, per ogni u,v V, r(u) = r(v) C r (u) = C r (v) [ w C r (u) : OCC r (u,w) = OCC r (v,w)]. Analogamente al caso del regular role assignment, il role assignment ridondante è esatto per ogni grafo. Invece, il role assignment banale è esatto solo per grafi regolari, ossia, grafi i cui nodi hanno tutti lo stesso numero di vicini. Una partizione P = {C 1,...,C k } dell insieme dei nodi V di un grafo G viene chiamata equitable se esistono k 2 interi b i j, con i, j = 1,...,k tali che ogni nodo in C i ha esattamente b i j vicini nella classe C j. Segue immediatamente dalle definizioni che una partizione è equitable se e solo se il role assignment ad essa associato (che assegna ai nodi nella stess classe di equivalenza lo stesso ruolo) è esatto. L exact role assignment e le partizioni equitable sono stati ampiamente studiati nella teoria dei grafi algebrica. Lerner [] ha mostrato che esistono algoritmi efficienti che calcolano la massima partizione equitable di un grafo e, quindi un exatct role assignment che usa il massimo numero di ruoli possibile. Comunque, per grafi che presentano grandi irregolarità, il numero massimo di ruoli individuato è spesso uguale al numero di nodi nel grafo (ossia, il role assignment calcolato è quello ridondante). In altre parole, tali algoritmi tendono a partizionare i nodi in troppe classi e sono, quindi, pressoché inutilizzabili come strumenti per catturare la struttura generale della rete Ecological Role Assignment Questa tipologia di role assignment richiede che sia verificata la proprietà inversa di quella che definisce un regular role assignment. In un ecological role assignment il ruolo di ogni nodo è completamente deterninato dal ruolo dei nodi vicini: se due nodi hanno lo stesso rolehood allora devono ricoprire lo stesso ruolo. Definizione 6.8( Ecological Role Assignment): dato un grafo G = (V,E) e un role assignment r su di esso, diremo che r è ecologico se u,v V : C r (u) = C r (v) r(u) = r(v). L ecological role assignment modella la caratteristica delle reti sociali secondo la quale ogni individuo è influenzato dai suoi vicini (ossia le persone con cui è in relazione), basandosi sul fatto che due individui che subiscono le stesse influenze (ossia che hanno lo stesso rolehood) tendono a comportarsi allo stesso modo (ossia ad avere lo stesso ruolo). Tale concetto è mutuato dalla teoria dell organizzazione degli ecosistemi, ove si ipotizza che le forme di organizzazione, attraverso la selezione naturale e l adattamento, vengono determinate dai loro ambienti, che consistono, fondamentalmente, in altre forme di organizzazione. Mentre il role assignment banale è ecologico per ogni grafo, la questione del role assignment ridondante è più delicata e sarà trattata diffusamente nel prossimo paragrafo Perfect role assignment Un perfect role assignment è sia un regular role assignment che un ecological role assignment: AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 7

8 Definizione 6.9(Perfect Role Assignment): Sia r : V W un role assignment per il grafo G = (V,E); r è un perfect role assignment se u,v V : r(u) = r(v) C r (u) = C r (v). Lerner ha dimostrato che un equivalenza regolare è perfetta se e solo se sul grafo dei ruoli non è possibile definire uno strong structural role assignment non banale. 6.3 Grafi Neighborhood Distinct Ne resto di questa dispensa, considereremo sempre grafi semplici (ciascuna coppia di nodi è collegata da al più un arco) e senza loop. Come abbiamo annunciato quando abbiamo definito l ecological role assignment, non è detto che un grafo ammetta un ecological role assignment ridondante. Pensiamo, ad esempio, ad una catena di tre nodi (Figura 6.1): non è possibile assegnare ruoli diversi ai tre nodi del grafo in quanto i due estremi della catena hanno come unico vicino il nodo centrale e, quindi, necessariamente avranno sempre lo stesso rolehood. a b c Figura 6.1: In ogni ecological role assignment, a e c devono avere lo stesso ruolo. In effetti, la definizione di ecological role assignment implica che due nodi con gli stessi vicini devono avere lo stesso ruolo: pertanto, il numero di vicinati distinti in un grafo è una limitazione superiore sul numero dei ruoli che possono essere utilizzati per ogni ecological role assignment. Definizione 6.10(Grafi ND): Un grafo si dice neighborhood distinct (in breve, ND) se non contiene coppie di nodi che hanno esattamente gli stessi vicini; più formalmente, un grafo G = (V,E) è ND se, per ogni u,v V, N(u) N(v). Il seguente risultato segue dalle definizione e da quanto osservato sopra. Teorema 6.3: Un grafo è ND se e soltanto se ammette un role assignment ecologico ridondante. Dato un grafo G = (V,E), definiamo la relazione di equivalenza ρ N in V tale che, per ogni u,v V, uρ N v se e solo se N(u) = N(v). Definizione 6.11(Neighborhood Graph): Dato un grafo G = (V, E), il neighborhood graph corrispondente a G è il grafo ND G N = (V N,E N ) tale che V N è l insieme delle classi di equivalenza in V rispetto alla relazione ρ N e E N = {(X,Y ) : X,Y V N ( u X, v Y : u N(v))}. Denotiamo, inoltre, con n G il numero di nodi del neighborhood graph, ossia, n G = V N. Dalle definizioni di neighborhood graph e di ecological role assignment segue immediatamente che Teorema 6.4: Un grafo può ammette un ecological role assignment con k ruoli se e soltanto se il suo neighborhood graph ammette un ecological role assignment con k ruoli. Una importante conseguenza del precedente teorema è che, per ogni grafo G, il massimo numero di ruoli ecologici per G è al più n G. Dunque, poiché il neighborhood graph di un grafo dato può essere calcolato mediante un semplice algoritmo polinomiale (la cui definizione è lasciata per esercizio), è possibile calcolare in tempo polinomiale il massimo numero di ruoli che possono essere assegnati ai nodi di un qualsiasi grafo in modo tale che il role assignment risultante sia ecologico. D altra parte, anche calcolare il minimo numero di ruoli ecologici è un problema polinomiale, in quantoè sempre vero che il role assignment banale di un qualsiasi grafo è ecologico. Dato un grafo G ed un intero k tale che 1 < k < N G, non sappiamo, però, se esiste per G un role assignment ecologico che usa esattamente k ruoli. Nel Paragrafo 6.5 risponderemo affermativamente a questa domanda. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 8

9 Il resto di questo paragrafo è dedicato a rispondere parzialmente a tale questione, ossia a dimostrare che, dato un grafo G, esiste per G un role assignment ecologico che usa n G 1 ruoli. Prima di procedere, osserviamo che, alla luce del Teorema 6.4, possiamo limitare la nostra attenzione ai soli grafi ND. Pertanto, d ora in poi, salvo ove diversamente specificato, i grafi cui faremo riferimento saranno tutti ND. Il lemma che segue è funzionale ai nostri scopi. Lemma 6.1: Sia F = {N 1,...,N n } una famiglia di n sottoinsiemi distinti di [n] 3. Allora, esiste un elemento i [n] tale che, per ogni coppia di sottoinsiemi N j,n k F, si ha che N j N k {i}. Dimostrazione: La dimostrazione è per assurdo. Supponiamo, allora, che, per ogni i [n], esista almeno una coppia di sottoinsiemi distinti in F che differiscono per il solo elemento i. Per ogni i [n], scegliamo allora una (sola) coppia L i,s i F di sottoinsiemi tali che L i = S i {i}. Osserviamo che, se i j (i, j [n]), allora L i L j oppure S i S j poiché altrimenti si avrebbe i = j. Definiamo ora un grafo diretto G F = (V F,A F ) come di seguito indicato: V F = {S i,l i : i [n]}; per ogni h,k [n], (N h,n k ) A F se e solo se esiste i [n] tale che S i = N h e L i = N k. Osserviamo subito che V F F = n e che, poiché per i j, i, j [n], L i L j o S i S j, allora A F = n. Osserviamo anche che G F è aciclico in quanto altrimenti esisterebbe una sequenza X 0,...,X h 1 di h sottoinsiemi distinti di [n] tali che X i X i+1 per 0 i < h 1 e X h 1 X 0 : cioè, X 0 X 0. Ci proponiamo ora di dimostrare che anche il grafo non diretto ottenuto da G F considerando i suoi archi come non orientati non contiene cicli. Se questo fosse vero, allora G F potrebbe contenere al più V F 1 n 1 archi e questo contraddirrebbe il fatto che invece dovrebbe contenerne n, dimostrando in tal modo che deve esistere i [n] tale che, per qualunque coppia N j,n k F, N j N k {i}. Dimostriamo allora che anche il grafo non diretto G F ottenuto da G F considerando i suoi archi come non orientati non contiene cicli. Di nuovo, supponiamo per assurdo che G F contenga un ciclo X 0,...,X h 1 con h 3. Allora, deve esistere r con 0 r h 1 tale che (X r,x r 1 ) A F (X r,x r+1 ) A F (in quanto segue, assumiamo che tutte le operazioni siano eseguite modulo h). Infatti, o r = 0 oppure esiste un arco entrante incidente su X 0 : in questo ultimo caso, possiamo seguire a ritroso la catena di archi entranti che inizia da X 0 e lungo di essa, poiché G F è aciclico, certamente incontreremo un nodo X r che non ha archi entranti (si veda, ad esempio, il ciclo in Figura 6.2 per il quale r = 4). Sia i [n] l elemento tale che i X r 1 i X r ; mostriamo ora che i X s per ogni s r, con 0 s h 1. Questo è vero in quanto, se i X t per qualche t con 0 t h 1, e (X t,x s ) A F o (X s,x t ) A F, allora i X s. Infatti, se (X t,x s ) A F, allora X t X s ; altrimenti, se (X s,x t ) A F, allora X t X s {i} poiché s r e, per ogni i [n], esistono solo due nodi adiacenti di G F la cui differenza è uguale a {i}. Perciò, in entrambi i casi abbiamo che i X s. Allora, i X r+1 (si veda, per esempio, il ciclo in Figura 6.2 dove i X 4 i X 5 ). D altra parte, deve esistere j i tale che j X r+1 j X r : perciò, X r+1 X r {i, j} e questo contraddice il fatto che (X r,x r+1 ) A F (nell esempio, abbiamo che X 5 X 4 {i, j}). Questo completa la prova che G F è aciclico e, quindi, la dimostrazione del lemma. Dal lemma appena dimostrato segue immediatamente il prossimo teorema. Teorema 6.5: Sia G = (V,E) un grafo ND con n nodi; allora esiste un nodo u V tale che il sottografo indotto da V {u} è un grafo ND con n 1 nodi. Dimostrazione: È sufficiente osservare che l insieme {N(v) : v V }, in cui, al solito, N(v) è l insieme dei vicini di v, soddisfa le ipotesi del Lemma 6.1. Allora, esiste u V tale che, per ogni coppia di nodi distinti v e w, N(v) {u} N(w), da cui la tesi. Il prossimo teorema dimostra ciò che ci eravamo prefissi in questa sezione. Esso sarà utilizzato come subroutine dall algoritmo polinomiale di ecological role assignment. 3 Ricordiamo che il simbolo [n] denota l insieme di interi {1,2,...,n} AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 9

10 X 1 = X 2 {k i} i X 1 X 1 X 0 X 0 X 1 i X 0 X 2 X 3 i X 2 X 2 X 6 X 6 X 0 i X 6 i X 3 X 3 X 5 X 5 X 6 i X 5 j X 5 i X 4 X 4 j X 4 Figura 6.2: Dimostrazione del Lemma 6.1 Teorema 6.6: Sia G = (V,E) un grafo ND con n nodi. Esiste un role assignment ecologico per G che usa n 1 ruoli. Dimostrazione: Dal Teorema 6.5 (applicato due volte) segue che esistono due nodi u e v tali che il grafo G u,v indotto da V {u,v} è un grafo ND con n 2 nodi. Sia r un role assignment per G che usa n 1 ruoli e che assegna lo stesso ruolo ai nodi u e v e ruoli differenti a tutti gli altri nodi. Per dimostrare che r è ecologico, supponiamo per assurdo che esistano due nodi p e q tali che C r (p) = C r (q) e r(p) r(q). Distinguiamo i seguenti casi. {p,q} = {u,v}: In questo caso ovviamente r(p) = r(q), da cui la contraddizione. {p,q} V {u,v}: in questo caso G u,v è ND e, poiché r assegna un ruolo diverso ad ogni nodo, C r (p) deve essere diverso da C r (q), da cui la contraddizione. p {u,v} q V {u,v} (senza perdita di generalità, sia p = u): in questo caso, poiché ad ogni nodo di G u,v viene associato un ruolo diverso e poiché C r (u) = C r (q), abbiamo che N(u) {u,v} = N(q) {u,v}. Ora abbiamo due sotto-casi: u e q sono adiacenti, oppure non lo sono. Supponiamo che u e q siano adiacenti: allora, r(q) C r (u) C r (q), contraddicendo il fatto che C r (u) = Cr(q). Allora, u e q non sono adiacenti; poiché G è ND, esattamente un nodo tra u e q deve essere adiacente a v, ma questo significa che r(u) C r (u) C r (q) o che r(u) C r (q) C r (u), contraddicendo anche in questo caso l ipotesi C r (p) = C r (q). q {u, v} p V {u, v}: questo caso è simmetrico rispetto al precedente. 6.4 Famiglie ecologiche Siano G = (V,E) un grafo ND tale che e V 1 V un insieme indipendente massimale per G. Il role assignment che assegna il ruolo r 1 a tutti i nodi in V 1 ed il ruolo r 2 r 1 ai nodi in V V 1 è ecologico. Infatti: 1. essendo V 1 un insieme indipendente allora, poiché G non contiene loop, per ogni u V 1, r 1 C r (u) e quindi C r (u) {r 2 } 4 ; 2. essendo V 1 un insieme indipendente massimale, ogni nodo v V V 1 è adiacente ad almeno un nodo in V 1 e, quindi, r 1 C r (v). Dunque, se r(u) r(v) allora C r (u) C r (v), ed r è ecologico. Ripetendo il ragionamento, se V 2 è un insieme indipendente massimale in G V 1, allora il role assignment che assegna 4 Osserviamo che, se un nodo u è isolato in G, allora il suo colorhood è l insieme vuoto. D altra parte, ogni nodo isolato di G appartiene ad ogni insieme indipendente massimale per G. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 10

11 il ruolo r 1 a tutti i nodi in V 1, il ruolo r 2 r 1 ai nodi in V 2 ed il ruolo r 3 r 1,r 2 ai nodi in V (V 1 V 2 ) è ecologico: Infatti, per ogni nodo u V 1 si ha che r 1 C r (u), per ogni nodo v V 2 si ha che r 1 C r (v) e r 2 C r (v), e, infine, per ogni nodo z V (V 1 V 2 ) si ha che {r 1,r 2 } C r (z) Iterando, se V 1,V 2,...,V h è una partizione di V in insiemi indipendente tali che V 1 è massimale in G, V 2 è massimale in G V 1,..., V h 1 è massimale in V 1 i h 2 V i (e, ovviamente, V h = V 1 i h 1 V i, allora il role assignment che assegna il ruolo r i a tutti i nodi in V i, per ogni 1 i h, è ecologico. Osserviamo esplicitamente che questo procedimento di role assignment funziona correttamente perché i grafi che stiamo considerando non contengono loop. In conclusione, se vogliamo assegnare k ruoli ai nodi di G e riusciamo a partizionare i nodi in h k insiemi indipendenti massimali, è sufficiente che assegniamo i primi k 1 ruoli ai primi k 1 insiemi indipendenti, ed il rimanente ruolo a tutti gli altri nodi. Osserviamo che, però, questo procedimento non può essere applicato se riusciamo a partizionare V in meno di k insiemi indipendenti massimali. Comunque, l algoritmo che calcola un ecological role assignment del numero di ruoli richiesto opera in modo simile a quello appena descritto, eseguendo un ulteriore passo di raffinamento della partizione in insiemi indipendenti massimali. Prima di poter descrivere tale algoritmo, dobbiamo allora ragionare sulle proprietà delle famiglie di insiemi indipendenti. Questo è l obiettivo di questo paragrafo. Teorema 6.7: Sia G = (V,E) un grafo ND di n nodi e sia I = {I 1,...,I h }, con 2 h < n una partizione di V in h insiemi indipendenti non vuoti. Allora, esistono due interi k ed m tali che 1 k,m h e che la coppia di insiemi I k e I m induce in G un grafo bipartito non completo con almeno un arco. Dimostrazione: Osserviamo innanzi tutto che, poiché h < n e quindi almeno un insieme indipendente deve essere costituito da più di un nodo, devono esistere almeno due nodi u e v nello stesso insieme indipendente. Supponiamo per assurdo che tutte le coppie di insiemi indipendenti in I inducano in G un grafo bipartito completo oppure un insieme indipendente. Questo implica che, per ogni i tale che 1 i h, u e v sono entrambi adiacenti a tutti i nodi in I i oppure sono entrambi non adiacenti ad alcun nodo di I i. Ma allora u e v dovrebbero avere gli stessi vicini, il che contraddice il fatto che G è ND. Introduciamo ora un partcolare partizionamento dei nodi di un grafo che, da un lato, corrisponde direttamente ad una colorazione ecologica, dall altro, come mostreremo nel successivo Teorema 6.9, permette di incrementare (ecologicamente) il numero di colori utilizzati. Definizione 6.12(Famiglie ecologiche): Sia G = (V,E) un grafo e I = {I 1,...,I h } una partizione di V in h 1 insiemi non vuoti tali che I 1,...,I h 1 sono insiemi indipendenti. I viene detta famiglia ecologica di G di dimensione h se h = 1 oppure se, per ogni i, j tali che 1 i, j h con i j, per ogni u I i e per ogni v I j esiste t, con 1 t h, tale che u è adiacente a qualche nodo in I t mentre v non è adiacente ad alcun nodo in I t. Il prossimo teorema è conseguenza diretta della definizione. Teorema 6.8: Se esiste per un grafo G = (V,E) una famiglia ecologica I = {I 1,...,I h } di dimensione h allora il role assignment r : V h per G tale che ruoli i = 1,...,h, u I i : r(u) = i è ecologico. Dimostrazione: Poiché I è una partizione di V, allora r è un role assignment di G. Resta da mostrare che r è ecologico. Se h = 1, r è il role assignment banale che è ecologico per ogni grafo. Assumiamo allora h > 1 e consideriamo due nodi u,v V tali che r(u) r(v) e mostriamo che C r (u) C r (v). Sia r(u) = i e r(v) = j con i j: allora, u I i e v I j. Per definizione di famiglia ecologica, esiste t, con 1 t h, tale che u è adiacente a qualche nodo in I t mentre v non è adiacente ad alcun nodo in I t. Quindi, t C r (u) e t C r (v), cioè, C r (u) C r (v). Nel seguito, chiameremo role assignment corrispondente ad I un role assignment costruito, come nell enunciato del Teorema 6.8, a partire da una famiglia ecologica I per un grafo G. Il seguente teorema dimostra costruttivamente che è sempre possibile incrementare di una o due unità la dimensione di una famiglia ecologica quando essa è inferiore al numero di nodi. Come vedremo, esso costituisce una vera e propria subroutine per l algoritmo polinomiale di ecological role assignment che sarà mostrato nel prossimo paragrafo. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 11

12 Teorema 6.9: Sia G = (V,E) un grafo ND di n nodi e sia I = {I 1,...,I h } una famiglia ecologica per G di dimensione h < n; allora esiste una famiglia ecologica I per G di dimensione h + 1 o h + 2. Inoltre I può essere calcolata in tempo polinomiale a partire da I. Dimostrazione: Se I h non è un insieme indipendente, allora sia I h1 un insieme indipendente massimale per il sottografo di G indotto da I h, e sia I h2 = I h I h1, e sia I = I {I h } {I h1,i h2 }. Per ogni i [h 1] e per ogni j [h 1] {h 1,h 2 } con i j, siano u I i e v I j. Poiché I è una famiglia ecologica, allora esiste I t I tale che u è adiacente a qualche nodo in I t e v non è adiacente a nessun nodo di I t : ovviamente, questo è ancora vero in I, con I t eventualmente rimpiazzato da I h1 o da I h2. Se invece i = h 1 e j = h 2, ossia, u I h1 e v I h2, poiché I h1 è un insieme indipendente massimale per il sottografo di G indotto da I h, allora v deve essere adiacente a qualche nodo in I h1 mentre u non è adiacente a nessun nodo in I h1. Assumiamo ora che I h sia un insieme indipendente; dal Teorema 6.7 segue che esistono p,q con 1 p,q h tali che il sottografo di G indotto da I p I q non è un insieme indipendente né un grafo bipartito completo. Partizioniamo I p in I p1 I p2 e I q in I q1 I q2 in modo che vengano rispettate le seguenti proprietà: I p1 /0, I q1 /0, I p2 I q2 /0, il sottografo indotto da I p1 I q1 è un insieme indipendente. Poiché il sottografo di G indotto da I p I q non è un insieme indipendente né un grafo bipartito completo, esso deve contenere due nodi adiacenti u 1 I p e v 1 I q e due nodi non adiacenti u 2 I p e v 2 I q ; tali nodi non sono necessariamente distinti: infatti, potrebbe accadere che u 1 coincida con u 2 o che v 1 coincida con v 2 (ma non entrambe le cose). Senza perdita di generalità, assumiamo che u 1 sia diverso da u 2. Definiamo i seguenti insiemi: I q1 = {x I q : (u 2,x) E}; I p1 = {x I p : y I q1 (x,y) E}; I q2 = I q I q1 ; I p2 = I p I p1. Osserviamo che almeno tre insiemi fra I p1,i p2,i q 1,I q2 sono non vuoti. Infatti I q1 e I p1 sono non vuoti in virtù dell esistenza di v 2 ( I q1 ) ed u 2 ( I p1 ); inoltre, se v 1 coincide con v 2 allora u 1 I p2 (cioè, I p2 è non vuoto), altrimenti v 1 I q2 (cioè, I q2 è non vuoto). Definiamo allora I nella maniera seguente: 1. I = I {I p,i q } {I p1,i p2,i q1,i q2 } se I q2 /0 e I p2 /0, 2. I = I {I p,i q } {I p1,i p2,i q1 } se I q2 = /0 e I p2 /0, 3. I = I {I p,i q } {I p1,i q1,i q2 } se I q2 /0 e I p2 = /0. Resta da dimostrare che I è una famiglia ecologica per G. A tale scopo, si considerino una coppia di nodi u I i e v I j con i j e l insieme I t tale che u sia adiacente a qualche nodo di I t e che v non sia adiacente ad alcun nodo di I t : ciò rimane ancora vero in I, con I t eventualmente rimpiazzato da un insieme tra I p1,i p2,i q1,i q2. Se, invece, i = j potrebbero verificarsi i seguenti due casi: u I p1 e v I p2 : in questo caso, per costruzione, u non è adiacente ad alcun nodo in I q1 mentre v è adiacente a qualche nodo in I q1 (altrimenti v dovrebbe essere contenuto in I p1 ); u I q1 e v I q2 : caso simile al precedente. Abbiamo quindi dimostrato che I è una famiglia ecologica per G e che la sua dimensione è h + 1 o h + 2. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 12

13 Input: grafo ND G = (V,E) e intero k tale che 1 k V = n 1 I Partitionamento(G, k); Fase 1. 2 if I < k then begin 3 I Incremento(G, k, I ); Fase 2: inizio. 4 if I < k then begin 5 if ( 1 p,q k 1 u,v I p : u è adiacente a qualche nodo in I q e v non è adiacente ad alcun nodo in I q ) then begin 6 I p1 {x I p : x è adiacente a qualche nodo in I q ; 7 I p2 I p I p1 ; 8 I I {I p } {I p1,i p2 }; 9 end Fase 2: fine. 10 else I Rifinitura(G, k, I ); Fase end 12 h 1 Role Assignment 13 while h I do begin 14 scegli I I ; 15 for each u I do r(u) h; 16 I I {I}; 17 h h + 1; 18 end r è un ecological role assignment per G con k ruoli 19 Output: r. Tabella 6.2: Algoritmo EcRA che calcola un ecological role assignment con k ruoli per l input G di tipo ND. 6.5 Algoritmo di ecological role assignment Sia G = (V,E) un grafo ND di n nodi e sia W l insieme dei ruoli che vogliamo assegnare (ecologicamente) a G, con W = k < n; senza perdità di generalità, assumiamo che W = {1,...,k} = [k]. Presentiamo in questo paragrafo un algoritmo che calcola un ecological role assignment per G che utilizza esattamente i k ruoli richiesti. Vedremo, in conclusione del paragrafo, come generalizzare l algoritmo in modo che funzioni correttamente anche per grafi non ND. L algoritmo è descritto dallo pseudocodice in Tabella 6.2. Esso lavora in tre fasi seguite dal role assignment vero e proprio. Inizialmente, nella prima fase, esso tenta di applicare il procedimento descritto all inizio del Paragrafo 6.4, ossia, invoca la funzione Partizionamento (descritta in Tabella 6.3) che partiziona l insieme dei nodi in insiemi indipendenti massimali. Se riesce ad ottenere una partizione in k insiemi, allora, in virtù di quanto allora osservato, la partizione induce un role assignment ecologico. Altrimenti, ha inizio la seconda fase. All inizio della Fase 2, viene invocata la funzione Incremento, descritta in Tabella 6.4: essa applica ripetutamente i Teoremi 6.7 e 6.9 per incrementare la dimensione della famiglia ecologica corrispondente alla partizione in insiemi indipendenti massimali, fino ad ottenere una famiglia ecologica di dimensione k o k 1. Ricordiamo, infatti, che ad ogni applicazione del Teorema 6.9 la dimensione della famiglia viene incrementata di 1 o 2 unità: se, dunque, una volta ottenuta una famiglia ecologica di dimensione k 1 si procedesse ad un ulteriore passo di incremento, sarebbe possibile che essa venisse incrementata di 2 unità risultando in una famiglia ecologica di dimensione k +1, che, in virtù del Teorema 6.8, indurrebbe un role assignment ecologico con k + 1 ruoli invece che con k ruoli. Pertanto, l ultimo incremento della dimensione della famiglia (ossia, l ultima applicazione del Teorema 6.9) avviene su una famiglia ecologica di dimensione k 2. Se la funzione Incremento restituisce una famiglia ecologica di dimensione k 1, la Fase 2 dell algoritmo prova a partizionare un insieme della famiglia ecologica sin qui calcolata in due sottoinsiemi (linee 5-9): cerca, cioè, un elemento I p I che contenga due nodi, u e v, che non siano adiacenti ad esattamente gli stessi elementi della famiglia AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 13

14 Input: grafo ND G = (V,E) e intero k tale che 1 k V = n 1 I /0; 2 V V ; 3 h 0; 4 while (V /0 h < k 1) do begin 5 h h + 1; 6 I h insieme indipendente massimale del grafo indotto da V in G; 7 I I {I h }; 8 V V I h ; 9 end 10 if (V /0) then I I {V }; 11 Output: I Tabella 6.3: Algoritmo Partizionamento che calcola una partizione di V in al più k sottoinsiemi indipendenti massimali. ecologica. Se un tale I p esiste, allora esistono due nodi u,v I p ed un secondo insieme I q I tali che u è adiacente a qualche nodo in I q e v non è adiacente ad alcun nodo in I q. Allora, è possibile partizionare gli elementi di I p in due sottoinsiemi tali che agli elementi di sottoinsiemi diversi è possibile assegnare ruolo diverso: un sottoinsieme contiene i nodi di I p adiacenti a qualche nodo di I q, l altro sottoinsieme contiene i nodi di I p non adiacenti ad alcun nodo di I q. Osserviamo esplicitamente che, in virtù di quanto discusso sino ad ora, se la famiglia I utilizzata alle linee è quella calcolata alla linea 1, oppure alla linea 3, oppure alla linea 8, allora il role assignment calcolato è ecologico. Se, invece, la funzione Incremento restituisce una famiglia ecologica di dimensione k 1 ma non viene individuato alcun insieme I p I partizionabile in due sottoinsiemi, allora ha inizio la terza fase mediante l invocazione della funzione Rifinitura, che ha il compito di calcolare, a partire da I una nuova famiglia di k sottoinsiemi di V che inducano una colorazione ecologica. Sottolineiamo che la Fase 3 ha inizio solo se la famiglia ecologica I (di dimensione k 1) calcolata alla linea 3 ha la seguente proprietà: I,J I, u,v I : [ x J : (u,x) E y J : (v,y) E] (6.1) ossia, ciascuna coppia di nodi appartenenti a ciascun elemento di I è adiacente a nodi appartenenti ad esattamente gli stessi sottoinsiemi di I. Questa proprietà ha due importanti conseguenze espresse nei seguenti lemmi. Lemma 6.2: Sia G = (V,E) un grafo ND di n nodi e sia I una famiglia ecologica per G tale che I,J I, u,v I : [ x J : (u,x) E y J : (v,y) E]. Allora, per ogni coppia di insiemi I p,i q I che non sono indipendenti in G e non inducono in G un grafo bipartito completo, è possibile partizionare I p in due sottoinsiemi I p1,i p2 ed I q in due sottoinsiemi I q1,i q2 tali che I p1,i p2,i q1,i q2 sono non vuoti e I {I p,i q } {I p1,i p2,i q1,i q2 } è una famiglia ecologica per G. Dimostrazione: Sia I p,i q I una coppia di sottoinsiemi di V che non sono indipendenti in G e non inducono in G un grafo bipartito completo. Allora, poiché I p e I q non sono indipendenti e non inducono un grafo bipartito completo, esistono u 1,u 2 I p e v 1 I q tali che (u 1,v 1 ) E e (u 2,v 1 ) E. Ma allora, per ipotesi, esiste v 2 I q tale che (u 2,v 2 ) E. Analogamente a quanto fatto nel Teorema 6.9, definiamo i quattro insiemi seguenti: I q1 = {y I q : (u 2,y) E}; I p1 = {x I p : y I q1 (x,y) E}; I p2 = I p I p1 ; I q2 = I q I q1. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 14

15 Input: grafo ND G = (V,E), intero k tale che 1 k V = n, partizione I di V in insiemi indipendenti massimali 1 while ( I k 2) do begin 2 I p,i q coppia di insiemi di I che non sono un insieme indipendente né un grafo bipartito completo; I p,i q esistono in virtù del Teorema I I {I p,i q } {I p1,i p2,i q1,i q2 }; I p1,i p2,i q1,i q2 sono ottenuti applicando il Teorema 6.9 a I p,i q (eventuamente, I p = /0 I q = /0 ma Ip s Iq s /0) 4 end 5 Output: I in virtù del Teorema 6.9, I = k o I = k 1 Tabella 6.4: Algoritmo Incremento che calcola una famiglia ecologica di dimensione k o k 1 per G. Nessuno dei quattro insiemi appena definiti è vuoto. Infatti: v 1 I q1, u 2 I p1, u 1 I p2 e v 2 I q2. La dimostrazione che I {I p,i q } {I p1,i p2,i q1,i q2 } è una famiglia ecologica per G è analoga a quella presentata nella prova del Teorema 6.9 ed è, quindi, omessa. Lemma 6.3: Sia G = (V,E) un grafo ND di n nodi e sia I una famiglia ecologica per G tale che Allora, il grafo è un grafo ND. I,J I, u,v I : [ x J : (u,x) E y J : (v,y) E]. G I = (I,E(I ) : (I,J) E(I ) u I,v J : (u,v) E] Dimostrazione: Se I = 1 l asserto è banalmente verificato. Se I > 1, supponiamo che G I non sia un grafo ND. Allora, esistono F,H I che hanno gli stessi vicini: quindi, per ogni I I, (I,F) E(I ) se e soltanto se (I,H) E(I ). Questo significa che, per ogni I I adiacente a F e H esistono u F, v H e x,y I tali che (u,x) E e (v,y) E. Ma, per ipotesi, questo significa che ogni nodo di F è adiacente a qualche nodo di I e che ogni nodo di H è adiacente a qualche nodo di I. In conclusione: ogni nodo di F è adiacente a qualche nodo appartenente ad un elemento I I se e soltanto se ogni nodo di H è adiacente a qualche nodo appartenente ad I. Questo contraddice l ipotesi che I è una famiglia ecologica. La Fase 3 consiste nell invocazione della funzione Rifinitura, descritta in Tabella 6.5. La funzione Rifinitura inizia calcolando il grafo G(I ) definito nel Lemma 6.3; poiché, in virtù di tale lemma, G(I ) è un grafo ND di k 1 nodi, viene calcolato per esso un role assignment ecologico che utilizza k 2 ruoli (linea 3) e vengono individuati i due elementi J e F di I che hanno ricevuto lo stesso ruolo (linea 4). Successivamente, vengono di nuovo applicati a I i due Teoremi 6.7 e 6.9 al fine di incrementarne la dimensione (linee 6-7): il Lemma 6.2 assicura che i quattro insiemi così individuati, I p1,i p2,i q1,i q2, sono tutti non vuoti. Ora, la famiglia calcolata alla linea 8, ottenuta sostituendo in I i due insiemi I p e I q con i quattro insiemi I p1,i p2,i q1,i q2, è una famiglia ecologica di dimensione k + 1. Per ridurne la dimensione, ricorriamo agli insiemi J, F: modifichiamo, dunque, I sostituendo i due insiemi J e F, oppure una loro parte se coincidono con I p o I q, con la loro unione (linee 8-19). Rimane da dimostrare che le linee dell algoritmo EcRA assegna corretamente i ruoli quando la famigliai è l output della funzione Rifinitura. È questo lo scopo del prossimo teorema. Teorema 6.10: Il role assigment che assegna lo stesso ruolo a tutti i nodi apparenenti ad uno stesso sottoinsieme della famiglia I calcolata dalla funzione Rifinitura in Tabella 6.5 è ecologico. Dimostrazione: Per dimostrare questo fatto, consideriamo una qualunque coppia P,Q I. La dimostrazione è per casi. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 15

16 Input: un grafo ND G = (V,E) di n nodi e una famiglia ecologica I di dimensione k 1 < n tale che I,J I, u,v I : [ x J : (u,x) E y J : (v,y) E] Ipotesi (*) 1 E(I ) {(I,J) : I I J I [ u I,v J : (u,v) E]}; 2 G(I ) (I, E(I )); in virtù del Lemma 6.3, G(I ) è un grafo ND di k 1 nodi 3 r I colorazione ecologica di G(I ) con k 2 colori r I esiste in virtù del Teorema J,F coppia di elementi di I tali che r I (J) = r I (F) 5 I p,i q coppia di insiemi di I che non sono un insieme indipendente né un grafo bipartito completo; I p,i q esistono in virtù del Teorema I p1,i p2,i q1,i q2 sottoinsiemi di I p,i q ottenuti applicando il Teorema 6.9 a I p,i q ; 7 I I {I p,i q } {I p1,i p2,i q1,i q2 }; 8 if (I p {J,F} I q {J,F}) then 9 I I {J,F} {J F}; 10 else if (I p = J I q {J,F}) then 11 I I {I p2,f} {I p2 F,I p1,i q1,i q2 }; 12 else if (I p = F I q {J,F}) then 13 I I {I p2,j} {I p2 J,I p1,i q1,i q2 }; 14 else if (I q = J I p {J,F}) then 15 I I {I q1,f} {I q1 F,I p1,i p2,i q2 }; 16 else if (I q = F I p {J,F}) then 17 I I {I q1,j} {I q1 J,I p1,i p2,i q2 }; 18 else if (I p {J,F} I q {J,F}) then 19 I I {J,F} {I p2 I q1,i p1,i q2 }; 20 Output: I in virtù del Lemma 6.2, I p1,i p2,i q1,i q2 sono tutti non vuoti Tabella 6.5: Algoritmo Rifinitura che calcola una partizione in k sottoinsiemi dell insieme dei nodi di un grafo ND G tale che assegnando lo stesso ruolo a nodi dello stesso sottoinsieme e ruoli differenti a nodi in sottoinsiemi differenti si ottiene un role assignment ecologico per G. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 16

17 Se P J F e Q J F, allora ad essi (o al loro soprainsieme I p o I q, se sono contenuti in I p o in I q ) sono assegnati ruoli diversi da r I : allora, poiché r I (J) = r I (F), per ogni nodo u P e per ogni nodo v Q, la differenza simmetrica [N(u) N(v)] [N(v) N(u)] fra N(u) ed N(v) non è contenuta in J F. Questo significa che esiste T I {J,F}, e quindi T I, tale che T N(u) N(v) oppure T N(v) N(u). Se P J F e Q J F, allora, anche in questo caso, ad essi sono assegnati ruoli diversi da r I. La prova è analoga a quella del caso precedente. Il caso P J F e Q J F è simmetrico. Se P J F e Q J F, sono possibili i casi di seguito elencati. - J,F {I p,i q }. Allora, P = J e Q = F o viceversa e, dunque, poiché J F I, non possono esistere tali insiemi P e Q distinti. - J = I p e F {I p,i q }. Allora, deve essere P = I p2 F e Q = I p1 (il caso P = I p1 e Q = I p2 F,Iè simmetrico). Ricordiamo che J = I p e F sono due elementi distinti della famiglia ecologica I e questo implica che esiste T I tale che tutti gli elementi di J = I p (ivi compresi gli elementi in I p1 ) sono adiacenti a qualche elemento di T e nessun elemento di F è adiacente ad alcun elemento di T. Siano u P = I p2 F e v Q = I p1. Se u I p2 allora (si veda la prova del Lemma 6.2) v è adiacente a qualche nodo in I q1 mentre u non è adiacente ad alcun nodo in I q1. Se, invece, u F allora v è adiacente a qualche elemento in T mentre u non è adiacente ad alcun elemento in T. In entrambi i casi u e v possono ricevere ruoli differenti. I casi J = I q e F {I p,i q }, F = I p e J {I p,i q }, F = I q e J {I p,i q }, sono simmetrici. - J = I p e F = I q. Allora, sono possibili i casi seguenti: P = I p2 I q1 e Q {I p1,i q2 } (o viceversa) oppure P = I p1 e Q = I q2 (o viceversa). La dimostrazione di questo caso è simile a quella del caso precedente ed è lasciata per esercizio. La dimostrazione del teorema precedente conclude quindi la prova che l algoritmo in Tabella 6.2 calcola un role assignment ecologico per G che usa esattamente k ruoli. Concludiamo il paragrafo mostrando come rimuovere l ipotesi che G sia un grafo ND. Osserviamo, innanzi tutto, che, dato un grafo G = (V, E), è possibile calcolare in tempo polinomiale il neighborhood graph G N = (V N,E N ) corrispondente a G: in effetti, l algoritmo in Tabella 6.1 calcola una partizione dei nodi di G tale che due nodi se e soltanto se hanno lo stesso vicinato e, quindi, calcola l insieme V N. È poi immediato calcolare, a partire da V N l insieme E N : per ogni P 1,P 2 V N, (P 1,P 2 ) E N se e solo se i nodi di G appartenenti a P 1 sono adiacenti ai nodi di G in P 2. A questo punto, poiché un role assignment ecologico di dimensione k per G esiste se e soltanto se esiste un role assignment ecologico di dimensione k per G N (in virtù del Teorema 6.4), calcoliamo il role assignment ecologico R di dimensione k per G N (se V N k) e lo trasformiamo in un role assignment ecologico r di dimensione k per G. È sufficiente, a questo scopo, per ogni v N, assegnare r(v) = R(P) se v P V N. AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 17

18 Riferimenti bibliografici [1] R. Albert, A. Barabasi, Statistical mechanics of complex networks, Rev. of Mod. Phys., Vol. 74, 47-97, [2] P. Borgatti, G. Everett, Ecological and perfect colorings, Social Networks, 16:4355, [3] U. Brandes and T. Erlebach, Eds. Network Analysis: Methodological Foundations. Lecture Notes in Computer Science, Vol. 3418, Springer, Berlin, [4] P. Crescenzi, F. Greco, M. Di Ianni, G. Rossi, and P. Vocca, Making Role Assignment Feasible: A Polynomialtime Algorithm for Computing Ecological Colorings, Graph-Theoretic Concepts in Computer Science, 34th International Workshop, WG 2008, Durham, UK, June 30 - July 2, Revised Papers [5] C. Frank, K. Romer, Algorithms for Generic Role Assignment in Wireless Sensor Networks, Proceedings of the 3rd international conference on Embedded networked sensor systems, San Diego, California, USA, , [6] J. Lerner, Role assignments, Network Analysis, , [7] [8] [9] network [10] network AR, 2010/2011,Assegnazioni di ruoli Autori: M. Di Ianni, A. Panepuccia 18

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS

CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS INTRODUZIONE Per conoscere la struttura di un grafo connesso è importante individuare nel grafo la distribuzione di certi punti detti cutpoints (punti

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

5. La teoria astratta della misura.

5. La teoria astratta della misura. 5. La teoria astratta della misura. 5.1. σ-algebre. 5.1.1. σ-algebre e loro proprietà. Sia Ω un insieme non vuoto. Indichiamo con P(Ω la famiglia di tutti i sottoinsiemi di Ω. Inoltre, per ogni insieme

Dettagli

CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE

CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE CAPITOLO 1 INTRODUZIONE ALLE RETI COMPLESSE Negli ultimi anni si è compreso che sistemi anche molto diversi tra loro possono essere efficacemente descritti in termini di cosiddetti "networks" o reti complesse.

Dettagli

APPENDICE NOZIONI BASE E VARIE

APPENDICE NOZIONI BASE E VARIE pag. 131 Appendice: Nozioni base e varie G. Gerla APPENDICE NOZIONI BASE E VARIE 1. Funzioni e relazioni di equivalenza Questi appunti sono rivolti a persone che abbiano già una conoscenza elementare della

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

NULLSTELLENSATZ PER TUTTI

NULLSTELLENSATZ PER TUTTI NULLSTELLENSATZ PER TUTTI MARCO MANETTI Dedicato alla memoria di Franco Conti Il Nullstellensatz, detto anche teorema degli zeri di Hilbert, è la generalizzazione in più dimensioni del teorema fondamentale

Dettagli

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006)

Ricerca Operativa. Claudio Arbib Universitàdi L Aquila. Problemi combinatorici (Gennaio 2006) Claudio Arbib Universitàdi L Aquila Ricerca Operativa Problemi combinatorici (Gennaio 2006) Sommario Problemi combinatorici Ottimizzazione combinatoria L algoritmo universale Il metodo greedy Problemi

Dettagli

G. Pareschi RELAZIONI. RELAZIONI DI EQUIVALENZA. 1. Definizione e terminologia

G. Pareschi RELAZIONI. RELAZIONI DI EQUIVALENZA. 1. Definizione e terminologia G. Pareschi RELAZIONI. RELAZIONI DI EQUIVALENZA. 1. Definizione e terminologia Definizione 1.1 Relazione. Dati due insiemi A e B un sottoisieme R A B è detto una relazione binaria tra A e B. Se A = B allora

Dettagli

Le Reti Sociali. Prof. Claudio Saita

Le Reti Sociali. Prof. Claudio Saita Le Reti Sociali Prof. Claudio Saita 1 La Scienza delle Reti La Teoria delle Reti si è sviluppata negli ultimi anni e si caratterizza per tre punti fondamentali: Focalizza le proprietà delle reti nel mondo

Dettagli

Alcuni Preliminari. Prodotto Cartesiano

Alcuni Preliminari. Prodotto Cartesiano Alcuni Preliminari Prodotto Cartesiano Dati due insiemi A e B, si definisce il loro prodotto cartesiano A x B come l insieme di tutte le coppie ordinate (a,b) con a! A e b! B. Es: dati A= {a,b,c} e B={,2,3}

Dettagli

Ing. Gianluca Murgia. murgia@unisi.it. Milano 29/04/2009

Ing. Gianluca Murgia. murgia@unisi.it. Milano 29/04/2009 Ing. Gianluca Murgia murgia@unisi.it Milano 29/04/2009 Sommario Definizione di Social Network Analysis Tipologie di social network Costruzione di una social network Principali indicatori SNA Perché applicarla

Dettagli

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

A i è un aperto in E. i=1

A i è un aperto in E. i=1 Proposizione 1. A è aperto se e solo se A c è chiuso. Dimostrazione. = : se x o A c, allora x o A = A o e quindi esiste r > 0 tale che B(x o, r) A; allora x o non può essere di accumulazione per A c. Dunque

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

2 Progetto e realizzazione di funzioni ricorsive

2 Progetto e realizzazione di funzioni ricorsive 2 Progetto e realizzazione di funzioni ricorsive Il procedimento costruttivo dato dal teorema di ricorsione suggerisce due fatti importanti. Una buona definizione ricorsiva deve essere tale da garantire

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Approcci esatti per il job shop

Approcci esatti per il job shop Approcci esatti per il job shop Riferimenti lezione: Carlier, J. (1982) The one-machine sequencing problem, European Journal of Operational Research, Vol. 11, No. 1, pp. 42-47 Carlier, J. & Pinson, E.

Dettagli

Minimo Albero Ricoprente

Minimo Albero Ricoprente Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

Network complessi e modelli. Rossano Gaeta Università degli Studi di Torino

Network complessi e modelli. Rossano Gaeta Università degli Studi di Torino Network complessi e modelli Rossano Gaeta Università degli Studi di Torino Sommario Introduzione Proprietà network complessi Modelli matematici per la rappresentazione Grafi regolari Grafi random Small

Dettagli

Sommario della lezione

Sommario della lezione Università degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/33 Sommario della lezione Ancora sui cammini minimi: Cammini minimi in grafi con archi di costo negativo Algoritmi

Dettagli

Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) Algebre di Boole. 1. Definizione e proprietá Appunti di LOGICA MATEMATICA (a.a.2009-2010; A.Ursini) [# Aii [10 pagine]] Algebre di Boole Un algebra di Boole è una struttura 1. Definizione e proprietá B =< B,,, ν, 0, 1 > in cui B è un insieme non

Dettagli

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2) Algebra e Geometria Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2) Traccia delle lezioni che saranno svolte nell anno accademico 2012/13 I seguenti appunti

Dettagli

STRUTTURE NON LINEARI

STRUTTURE NON LINEARI PR1 Lezione 13: STRUTTURE NON LINEARI Michele Nappi mnappi@unisa.it www.dmi.unisa.it/people/nappi Per la realizzazione della presentazione è stato utilizzato in parte materiale didattico prodotto da Oronzo

Dettagli

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Insiemi con un operazione

Insiemi con un operazione Capitolo 3 Insiemi con un operazione 3.1 Gruppoidi, semigruppi, monoidi Definizione 309 Un operazione binaria su un insieme G è una funzione: f : G G G Quindi, un operazione binaria f su un insieme G è

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Scheda n.5: variabili aleatorie e valori medi

Scheda n.5: variabili aleatorie e valori medi Scheda n.5: variabili aleatorie e valori medi October 26, 2008 1 Variabili aleatorie Per la definizione rigorosa di variabile aleatoria rimandiamo ai testi di probabilità; essa è non del tutto immediata

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

Esistenza di funzioni continue non differenziabili in alcun punto

Esistenza di funzioni continue non differenziabili in alcun punto UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN MATEMATICA Esistenza di funzioni continue non differenziabili in alcun punto Relatore Prof. Andrea

Dettagli

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi:

Corso PAS Anno 2014. ESEMPIO. Per n = 3, Z 3 contiene 3 elementi: Corso PAS Anno 2014 Matematica e didattica 3 Correzione esercizi 1. Definizione. Sia n un fissato intero maggiore di 1. Dati due interi a, b si dice che a è congruo a b modulo n, e si scrive a b (mod n),

Dettagli

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno NORMALIZZAZIONE DI SCHEMI RELAZIONALI Prof.ssa Rosalba Giugno PROBLEMA GENERALE La progettazione concettuale e logica produce uno schema relazionale che rappresenta la realta dei dati nella nostra applicazione.

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento:

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento: Capitolo 3 Serie 3. Definizione Sia { } una successione di numeri reali. Ci proponiamo di dare significato, quando possibile, alla somma a + a 2 +... + +... di tutti i termini della successione. Questa

Dettagli

Fondamenti di Ricerca Operativa

Fondamenti di Ricerca Operativa Politecnico di Milano Anno Accademico 2010/2011 Fondamenti di Ricerca Operativa Corso del Prof. Edoardo Amaldi Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Metodi basati sugli autovettori per il Web Information Retrieval

Metodi basati sugli autovettori per il Web Information Retrieval Metodi basati sugli autovettori per il Web Information Retrieval HITS, PageRank e il metodo delle potenze LSI e SVD LSI è diventato famoso per la sua abilità nel permettere di manipolare i termini (all

Dettagli

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie

b) Costruire direttamente le relazioni e poi correggere quelle che presentano anomalie TEORIA RELAZIONALE: INTRODUZIONE 1 Tre metodi per produrre uno schema relazionale: a) Partire da un buon schema a oggetti e tradurlo b) Costruire direttamente le relazioni e poi correggere quelle che presentano

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Algoritmi e strutture di dati. Dispense. Corso di Laurea in Informatica. a.a. 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA''

Algoritmi e strutture di dati. Dispense. Corso di Laurea in Informatica. a.a. 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA'' Algoritmi e strutture di dati Corso di Laurea in Informatica Dispense aa 2012-2013 Giorgio Gambosi UNIVERSITÀ DI ROMA ``TOR VERGATA'' Revisione per l'aa 2013/14 a cura di Miriam Di Ianni (aggiornate al

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

Il problema del commesso viaggiatore

Il problema del commesso viaggiatore ITTS Vito Volterra Progetto ABACUS Ottimizzazione combinatoria Il problema del commesso viaggiatore Studente: Davide Talon Esame di stato 2013 Anno scolastico 2012-2013 Indice 1. Introduzione........................................

Dettagli

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Corso di Ricerca Operativa per il Corso di Laurea Magistrale

Dettagli

Esercizi Capitolo 14 - Algoritmi Greedy

Esercizi Capitolo 14 - Algoritmi Greedy Esercizi Capitolo 14 - Algoritmi Greedy Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

1. Intorni di un punto. Punti di accumulazione.

1. Intorni di un punto. Punti di accumulazione. 1. Intorni di un punto. Punti di accumulazione. 1.1. Intorni circolari. Assumiamo come distanza di due numeri reali x e y il numero non negativo x y (che, come sappiamo, esprime la distanza tra i punti

Dettagli

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP

Contenuto e scopo presentazione. Vehicle Scheduling. Motivazioni VSP Contenuto e scopo presentazione Vehicle Scheduling 08/03/2005 18.00 Contenuto vengono introdotti modelli e metodi per problemi di Vehicle Scheduling Problem (VSP) Scopo fornire strumenti di supporto alle

Dettagli

Appunti di Logistica. F. Mason E. Moretti F. Piccinonno

Appunti di Logistica. F. Mason E. Moretti F. Piccinonno Appunti di Logistica F. Mason E. Moretti F. Piccinonno 2 1 Introduzione La Logistica è una disciplina molto vasta che, in prima approssimazione, si suddivide in logistica interna (alle aziende) e logistica

Dettagli

Parte 3: Gestione dei progetti, Shop scheduling

Parte 3: Gestione dei progetti, Shop scheduling Parte : Gestione dei progetti, Shop scheduling Rappresentazione reticolare di un progetto Insieme di attività {,...,n} p i durata (nota e deterministica dell attività i) relazione di precedenza fra attività:

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

Modellazione delle preferenze

Modellazione delle preferenze Modellazione delle preferenze Roberto Cordone 1 1 Sono debitore delle dispense di B. Simeone e F. Patrone Sistemazione assiomatica Dato un insieme non vuoto di impatti F, esprimere una preferenza fra due

Dettagli

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

Se ad ogni elemento di A la relazione R associa un solo elemento di B, allora essa prende il nome di applicazione (funzione) di A in B.

Se ad ogni elemento di A la relazione R associa un solo elemento di B, allora essa prende il nome di applicazione (funzione) di A in B. 6. APPLICAZIONI o FUNZIONI Dati due insiemi A e B, sia R A B una relazione di A in B. Fissato un elemento x A può capitare che ad esso la relazione R associ un solo elemento di B, o che ne associ più di

Dettagli

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica

Università degli Studi di Napoli Federico II. Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Università degli Studi di Napoli Federico II Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica Anno Accademico 2009/2010 Appunti di Calcolabilità e Complessità Lezione 9: Introduzione alle logiche

Dettagli

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI

Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI Capitolo I STRUTTURE ALGEBRICHE ELEMENTARI In matematica, per semplificare la stesura di un testo, si fa ricorso ad un linguaggio specifico. In questo capitolo vengono fornite in maniera sintetica le nozioni

Dettagli

TOPOLOGIA ALBERTO SARACCO

TOPOLOGIA ALBERTO SARACCO TOPOLOGIA ALBERTO SARACCO Abstract. Le presenti note saranno il più fedeli possibile a quanto detto a lezione. I testi consigliati sono Jänich [1], Kosniowski [2] e Singer- Thorpe [3]. Un ottimo libro

Dettagli

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

Dettagli

19. Inclusioni tra spazi L p.

19. Inclusioni tra spazi L p. 19. Inclusioni tra spazi L p. Nel n. 15.1 abbiamo provato (Teorema 15.1.1) che, se la misura µ è finita, allora tra i corispondenti spazi L p (µ) si hanno le seguenti inclusioni: ( ) p, r ]0, + [ : p

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi su lineare indipendenza e generatori Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Sorgenti autorevoli in ambienti hyperlinkati.

Sorgenti autorevoli in ambienti hyperlinkati. Sorgenti autorevoli in ambienti hyperlinkati. La qualità di un metodo di ricerca richiede la valutazione umana dovuta alla soggettività inerente alla nozione di rilevanza. I motori di ricerca correnti,

Dettagli

Introduzione Ordini parziali e Reticoli Punti fissi

Introduzione Ordini parziali e Reticoli Punti fissi Introduzione Ordini parziali e Reticoli Punti fissi By Giulia Costantini (819048) & Giuseppe Maggiore (819050) Table of Contents ORDINE PARZIALE... 3 Insieme parzialmente ordinato... 3 Diagramma di Hasse...

Dettagli

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari

Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Versione ottobre novembre 2008 Lezioni di Algebra Lineare III. Applicazioni lineari e matrici Struttura algebrica delle soluzioni dei sistemi lineari Contenuto 1. Applicazioni lineari 2. L insieme delle

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Prob(CCCCCCCCCC) = 1 2 10

Prob(CCCCCCCCCC) = 1 2 10 12. Contenuto di Informazione Algoritmico (AIC) - 17/05/12 Vogliamo adesso introdurre una nozione di contenuto di informazione di una stringa infinita, prodotta da una sorgente di informazione, che non

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete

Funzioni in due variabili Raccolta di FAQ by Andrea Prevete Funzioni in due variabili Raccolta di FAQ by Andrea Prevete 1) Cosa intendiamo, esattamente, quando parliamo di funzione reale di due variabili reali? Quando esiste una relazione fra tre variabili reali

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 8 - METODI ITERATIVI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche 1 Norme e distanze 2 3 4 Norme e distanze

Dettagli

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2)

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2) Algoritmi per la visualizzazione DISEGNO DI GRAFI: ALCUNI CASI PARTICOLARI Disegno 2D ortogonale Disegno ortogonale 2D () Disegno ortogonale 2D (2) Punto di vista umano: primo criterio per giudicare la

Dettagli

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico

Dettagli

Metodi diretti per la soluzione di sistemi lineari

Metodi diretti per la soluzione di sistemi lineari Metodi diretti per la soluzione di sistemi lineari N Del Buono 1 Introduzione Consideriamo un sistema di n equazioni in n incognite a 11 x 1 + a 12 x 2 + a 13 x 3 + + a 1n x n = b 1, a 21 x 1 + a 22 x

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

1 Grafico di una funzione reale 1. 2 Funzioni elementari 2 2.1 Funzione potenza... 2 2.2 Funzione esponenziale... 3 2.3 Funzione logaritmica...

1 Grafico di una funzione reale 1. 2 Funzioni elementari 2 2.1 Funzione potenza... 2 2.2 Funzione esponenziale... 3 2.3 Funzione logaritmica... UNIVR Facoltà di Economia Sede di Vicenza Corso di Matematica Funzioni reali di variabile reale Indice Grafico di una funzione reale 2 Funzioni elementari 2 2. Funzione potenza................................................

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

16. Vari modi di convergenza delle successioni di funzioni reali misurabili.

16. Vari modi di convergenza delle successioni di funzioni reali misurabili. 16. Vari modi di convergenza delle successioni di funzioni reali misurabili. L argomento centrale di questa ultima parte del corso è lo studio in generale della convergenza delle successioni negli spazi

Dettagli

Prodotto elemento per elemento, NON righe per colonne Unione: M R S

Prodotto elemento per elemento, NON righe per colonne Unione: M R S Relazioni binarie Una relazione binaria può essere rappresentata con un grafo o con una matrice di incidenza. Date due relazioni R, S A 1 A 2, la matrice di incidenza a seguito di varie operazioni si può

Dettagli

Ricerca Operativa Dualità e programmazione lineare

Ricerca Operativa Dualità e programmazione lineare Ricerca Operativa Dualità e programmazione lineare L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi alle spiegazioni del

Dettagli

Metodi Computazionali

Metodi Computazionali Metodi Computazionali Elisabetta Fersini fersini@disco.unimib.it A.A. 2009/2010 Catene di Markov Applicazioni: Fisica dinamica dei sistemi Web simulazione del comportamento utente Biologia evoluzione delle

Dettagli

Lezione 6. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive.

Lezione 6. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive. Lezione 6 Prerequisiti: L'insieme dei numeri interi. Lezione 5. Divisibilità e divisori. Teorema di divisione euclidea. Algoritmo delle divisioni successive. Questa è la prima lezione dedicata all'anello

Dettagli

Teoria dei Giochi. Anna Torre

Teoria dei Giochi. Anna Torre Teoria dei Giochi Anna Torre Almo Collegio Borromeo 26 marzo 2015 email: anna.torre@unipv.it sito web del corso:www-dimat.unipv.it/atorre/borromeo2015.html COOPERAZIONE Esempio: strategie correlate e problema

Dettagli

Capitolo II Le reti elettriche

Capitolo II Le reti elettriche Capitolo II Le reti elettriche Fino ad ora abbiamo immaginato di disporre di due soli bipoli da collegare attraverso i loro morsetti; supponiamo ora, invece, di disporre di l bipoli e di collegarli tra

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

I Insiemi e funzioni

I Insiemi e funzioni I Insiemi e funzioni 1. INSIEMI ED OPERAZIONI SU DI ESSI 1.1. Insiemi Dal punto di vista intuitivo, il concetto di insieme può essere fatto corrispondere all atto mentale mediante il quale associamo alcuni

Dettagli

Sommario. 1 Realizzazione del STG. Introduzione. 1 traduzione delle specifiche informali in specifiche formali (STG o

Sommario. 1 Realizzazione del STG. Introduzione. 1 traduzione delle specifiche informali in specifiche formali (STG o Sommario Sintesi di macchine a stati finiti 1 Realizzazione del ST M. avalli 2 utoma minimo di SM completamente specificate 6th June 2007 3 Ottimizzazione di SM non completamente specificate Sommario ()

Dettagli

4 Quarta lezione: Spazi di Banach e funzionali lineari. Spazio duale

4 Quarta lezione: Spazi di Banach e funzionali lineari. Spazio duale 4 Quarta lezione: Spazi di Banach e funzionali lineari. Spazio duale Spazi Metrici Ricordiamo che uno spazio metrico è una coppia (X, d) dove X è un insieme e d : X X [0, + [ è una funzione, detta metrica,

Dettagli