Classificazione e Previsione di Sistemi Complessi Dinamici: Simulazione Basata su Agente e Interaction Pattern Tesi di Laurea Laurea Specialistica in Informatica 2009 Relatore: Chiar.mo Prof. Federico Bergenti Correlatori: Chiar.mi Prof. Mirco Nanni e Prof. Mario Paolucci Studente: Dott. Walter Quattrociocchi Università degli Studi di Parma Dipartimento di Scienze Matematiche, Fisiche e Naturali ii Indice 1 Ringraziamenti 1 2 Complessità e Scienza 3 2.1 Un probabile problema epistemologico . . . . . . . . 3 2.2 Emergenza . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 L’interazione come una possibile chiave di volta? . . . 6 2.4 Scienze Cognitive . . . . . . . . . . . . . . . . . . . . 10 2.5 Sistemi Complessi Adattivi . . . . . . . . . . . . . . . 12 2.6 La Modellazione Della Realtà . . . . . . . . . . . . . 15 3 I Sistemi Complessi 3.1 21 Sistemi Complessi . . . . . . . . . . . . . . . . . . . . 21 3.1.1 23 Proprietà dei Sistemi Complessi . . . . . . . . 3.2 Rappresentazione dei Sistemi Complessi . . . . . . . 29 3.3 La Dinamica dei Sistemi Complessi . . . . . . . . . . 32 3.4 Dalla Dinamica del Sistema Complesso alle Sue Entità Costituenti . . . . . . . . . . . . . . . . . . . . . . . . 35 3.5 Stato dell’Arte nell’Analisi delle Reti Sociali . . . . . 40 3.6 Identificazione di un gruppo . . . . . . . . . . . . . . 43 iii INDICE 3.7 Riduzionismo e Aspetti Cognitivi . . . . . . . . . . . 4 KDD nei Sistemi Complessi 4.1 49 Data mining . . . . . . . . . . . . . . . . . . . . . . . 49 4.1.1 Il Processo di Estrazione della Conoscenza . . 51 Il Modello Crisp-DM . . . . . . . . . . . . . . . . . . 53 4.2.1 KDD descrittivo e previsivo . . . . . . . . . . 56 Il Clustering . . . . . . . . . . . . . . . . . . . . . . . 59 4.3.1 Clustering . . . . . . . . . . . . . . . . . . . . 59 4.3.2 Tassonomia degli algoritmi di clustering . . . 61 4.4 La Classificazione . . . . . . . . . . . . . . . . . . . . 63 4.5 Interazione negli Agenti . . . . . . . . . . . . . . . . 64 4.2 4.3 5 Simulazione di Sistemi Complessi con i MAS 5.1 iv 44 67 Stato dell’Arte dei MAS . . . . . . . . . . . . . . . . 67 5.1.1 Origine . . . . . . . . . . . . . . . . . . . . . . 67 5.1.2 I Sistemi Basati su Agenti . . . . . . . . . . . 68 5.1.3 Le Problematiche Dei Sistemi Multi Agente . 70 5.1.4 Architetture . . . . . . . . . . . . . . . . . . . 71 5.1.5 Categorie di Agenti . . . . . . . . . . . . . . . 73 5.1.6 Tassonomia . . . . . . . . . . . . . . . . . . . 74 5.1.7 Panoramica . . . . . . . . . . . . . . . . . . . 76 5.1.8 Linguaggi Imperativi . . . . . . . . . . . . . . 91 5.1.9 Approcci Ibridi . . . . . . . . . . . . . . . . . 93 5.1.10 Framework e Piattaforme ad Agenti . . . . . . 97 5.2 Stato dell’Arte della Simulazione Basata su Agente . 100 5.3 Simulazione Sociale . . . . . . . . . . . . . . . . . . . 103 INDICE 6 Interazione nella Classificazione e Previsione dei Sistemi Complessi 107 6.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . 107 6.2 Modellando L’Interazione . . . . . . . . . . . . . . . . 109 6.3 Origini Metodologiche . . . . . . . . . . . . . . . . . 109 6.3.1 Modellando Dinamica e Interazione . . . . . . 111 6.4 Classificazione di Oggetti Mobili . . . . . . . . . . . . 112 6.4.1 Interaction Pattern . . . . . . . . . . . . . . . 112 6.5 Applicazione I: Individuare Guidatori Pericolosi . . . 117 6.5.1 Traiettorie di Veicoli . . . . . . . . . . . . . . 118 6.6 Calcolando IPS e Attributi di Traiettorie . . . . . . . 120 6.6.1 Selezione dei segmenti di interazione . . . . . 120 6.6.2 Calcolo dei descrittori di Interazione . . . . . 121 6.7 L’algoritmo . . . . . . . . . . . . . . . . . . . . . . . 123 6.7.1 Descrizione del Dataset . . . . . . . . . . . . . 124 6.7.2 Classificazione di Traiettorie . . . . . . . . . . 128 7 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione 131 7.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . 131 7.2 La teoria della Reputazione . . . . . . . . . . . . . . 132 7.2.1 Valutazioni Sociali . . . . . . . . . . . . . . . 133 7.3 Il modello ad Agenti: RepAge . . . . . . . . . . . . . 139 7.3.1 Simulare Sistemi Complessi Modellati Su Agenti142 7.3.2 Esperimenti: Scelta di Un Partner . . . . . . . 142 7.3.3 Datamining e la Simulazione Basata su Agente 144 7.3.4 Interaction: Agents Communication in Repage 145 7.3.5 Discussione sui Risultati . . . . . . . . . . . . 149 v INDICE 7.3.6 7.3.7 7.3.8 Valutazioni Sociali ed Incertezza . . . . . . . . 149 Valutazioni Sociali e False Informazioni . . . . 151 Simulazioni e Risultati . . . . . . . . . . . . . 155 8 Conclusioni 163 Bibliography 169 vi Elenco delle figure 6.1 Ideal neighborhood of single point (a) and neighborhood for a time window (b) . . . . . . . . . . . . . . 122 6.2 Fixed grid neighborhood . . . . . . . . . . . . . . . . 122 6.3 Macro and micro interaction descriptors . . . . . . . 123 6.4 A Real View of the Highway . . . . . . . . . . . . . . 125 6.5 Sample of the US101 dataset . . . . . . . . . . . . . . 128 7.1 Architettura Repage . . . . . . . . . . . . . . . . . . 141 7.2 Trend of Idontknow answers in L1 and L2 . . . . . . 151 7.3 Distribution of Good Image and Good Sellers Discovery in L1 . . . . . . . . . . . . . . . . . . . . . . . . 152 7.4 Distribution of Good Image and Good Seller Discovery in L2 . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.5 Answers Given with a motivation of Bad Reputation 154 vii ELENCO DELLE FIGURE 7.6 Global quality with increasing number of cheaters. The curves represent quality in the stabilised regime for L1 and L2. Until cheaters remain below the threshold of 60% reputation allows for quality to reach higher values than happens in the complementary condition. The truth circulates faster providing social evaluations which are coherent with the reality. Coherence between information and reality, shared by a larger amount of agents in L2, increases the trust and the market is more efficient. Over the threshold of 60%, false information floods in, hence social evaluations, circulating faster with reputation, are often distorted with respect to reality. . . . . . . . . . . . . 158 7.7 Simulation Results in L1 and L2 with 0% of Cheaters for 100 turns . . . . . . . . . . . . . . . . . . . . . . . 159 7.8 Simulation Results in L1 and L2 with 60% of Cheaters for 100 turns. (a) Quality. The two curves represent Quality with Image (L1) and with both Image and Reputation (L2) when the number of cheaters inhibits the good effect of Reputation. Reputation and Image are on the same levels. (b) Good Sellers Discovered. The two curves are average values of Good Sellers found out for each simulation turn. (c) “i don’t know” answers. The two curves are average values of “i don’t know” answers for each simulation turn. The L2 curve shows the ability of reputation in reducing uncertainty. 160 viii ELENCO DELLE FIGURE 7.9 Simulation Results in L1 and L2 with 100% of Cheaters for 100 turns. (a) Quality. The two curves represent Quality with Image (L1) and with both Image and Reputation (L2) when there are only cheaters. Image performs better.(b) Good Sellers discovered. The two curves shows the average values of Good Sellers found out for each simulation turn. In L2 more good sellers are discovered. (c) “i don’t know” answers. The two curves are average values of “i don’t know” answers for each simulation turn. The L2 curve shows the ability of reputation in reducing uncertainty also when the positive effects of reputation on the quality are neutralized and only false information circulates. . . . . . . . . . . . . . . . . . 161 ix ELENCO DELLE FIGURE x Elenco delle tabelle 6.1 Threshold values for descriptors . . . . . . . . . . . . 127 6.2 Perfomances on training set and cross-validation . . . 129 7.1 Experiments Settings . . . . . . . . . . . . . . . . . 150 xi ELENCO DELLE TABELLE 7.2 xii Experiment Settings. The simulation settings which remains the same for all the experiments. The scenario is investigated for increasing number of cheaters starting in absence of false information (0%) to arrive with all the population composed by cheaters (100%). Each scenario is characterized by an increasing rate of 10% of the number of cheaters until the 60%, after that, for a better investigation of the social evaluation and information trustworthy phenomena the interval of 10% is reduced to 5%, for a total of 28 simulated scenarios. The table parameters are: the number of buyers N B, the number of sellers N S, C the number of cheaters, the stock for each seller S, GS the good sellers (sellers providing the maximum quality) and BS the bad sellers. Both the settings are simulated with only image circulating (L1) and with both image and reputation (L2). . . . . . . . . . . . . . . . . . . 157 Capitolo 1 Ringraziamenti L’evoluzione che genera l’uomo, un insiginificante essere che vaga nell’universo, frutto di un caso con una probabilitá di reificazione quasi nulla, ma che dal caso é in grado di osservarsi e l’evoluzione stessa si osserva attraverso di lui. Ad una specie di miracolo. A chi lo ha creduto possibile, a chi non ci ha creduto. Quattro anni di odissea, da qui ad Helsinki, passando per Halifax. Ad un viaggio che ha avuto i suoi sacrifici. Dall’essere ridotti in uno schema, alla continua ricerca di un qualcosa di non riduzionista, ad una risposta che non nasconda la complessitá. A Daniela, sempre e comunque, per la pazienza, l’ansia, la gioia, la paura, la condivisione anche negli stati di paranoia. Per la speranza. Per la vita. A Elena per l’essere guru, per la fiducia continua, per il credere, per la serendipity e per tutto il resto. Senza di lei non sarei qui ora. A Mirco per le ore spese a ragionare e lavorare agli Interaction Pattern. A Mario per supportare deliri e per la grinta. A Rosaria per la continua iniezione di fiducia, per la pazienza, per 1 Ringraziamenti la sua apertura mentale e capacitá empatica e per la pazienza nei deliri. A Fosca per la possibilitá. Ai miei e a Miriam per la costanza e nella continua dialettica critica/sprone. A Markus, che ora ci dovrebbe proprio essere, ma ha preferito altrimenti. A Maria Miceli, Rino Falcone, Federico Cecconi per la diponibilitá. A Michele Pinna per la gentilezza, forse ne é l’incarnazione. A Gianfranco Rossi per il sostegno e le strategie. A Federico Bergenti per la chiarezza. A Grazia Lotti per la materna dedizione. A Roberto Bagnara per la determinazione. A tutti quelli da cui ho stratto spunto sul come non essere, ma che per motivi, non solo, di spazio non sono nominati. Al progetto Erep. Al LABSS. All’ISTC. Tutti hanno lasciato un’impronta indelebile, su una storia, una delle tante. Si riflette in ogni passo, in ogni atto, cercheró di farne tesoro e di rifletterla nella futura produzione scientifica e non solo. Grazie. Es muss sein. 2 Capitolo 2 Complessità e Scienza Solo un’Intelligenza superiore che conoscesse in un dato istante posizioni, velocità e forze agenti relative a tutti i corpi dell’universo potrebbe, per via analitica, determinare con precisione assoluta il comportamento passato e quello futuro della macchina del mondo 2.1 Un probabile problema epistemologico Negli ultimi anni si va sempre più affermando, data la sempre maggiore complessità dei problemi scientifici, la necessità di un paradigma epistemologico che vada oltre il modello analitico classico, che da un lato ha fornito valido supporto all’avanzamento scientifico, ci si deve anche interrogare sulla sua capacità di rappresentare pienamente le entità dei sistemi di indagine e le sue dinamiche, soprattutto come si sono presentati in questi ultimi anni. 3 Complessità e Scienza Dalle problematiche relative alla genomica, ai sistemi meterologici, passando per i sistemi sociali fino ad arrivare alle neuroscienze, é sempre più chiara la sensazione che il paradigma di indagine presenta dei limiti: (i) limiti concettuali di rappresentazione poichè rimane molto difficile modellare un sistema ed i legami che intercorrono tra tutte le sue componenti; (ii) limiti economici, in quanto lı́ndagine sperimentale é cresciuta nei costi in maniera spaventosa di paripasso con il progredire scientifico che sempre di più si é trovato ad affrontare problematiche con alti livelli di incertezza, dove le relazioni fondanti tra le componenti cambiano con il tempo e nel tempo, cambiando a loro volta la natura stessa del sistema rendendo di fatto molto difficile la validazione sperimentale. In questo lavoro non ci si pone davanti all’approccio analitico classico in maniera antagonista, ma si cerca di proporre un completamento metodologico che provveda a raffinare e potenziare i limiti che si vanno man mano presentando. 2.2 Emergenza Uno dei pi importanti passi scientifici teorici fondativi a nostro avviso risiede nel concetto di emergenza, che Fracisco Varela in una delle sue ultime interviste ([1]) illustra in una maniera quasi elementare, ma al contempo straordinariamente ficcante: “[..] Come dev’essere intesa al nozione di emergenza? Ancora una volta bisogna gettare uno sguardo sulla storia, perch si tratta di una nozione che proviene dalla fisica, che, dall’inizio del secolo, si é sviluppata assieme alla fisica. Proviene dall’osservazione delle transi- 4 2.2 Emergenza zioni di fase o transizioni di stato o per dirlo più chiaramente di come si passa da un livello locale a un livello globale. Faccio un esempio banale. Sono in circolazione [nell’atmosfera] innumerevoli particelle d’aria e d’acqua e tutt’a un tratto per un fenomeno di autoorganizzazione - questa é la parola chiave - diventano un tornado, un oggetto che apparentemente non esiste, non ha vera esistenza, perch esiste soltanto nelle relazioni delle sue componenti molecolari. Nondimeno la sua esistenza é comprovata dal fatto che distrugge tutto quello che incontra sul suo passaggio. Dunque é un curioso oggetto. La nozione di emergenza ha avuto molti sviluppi teorici e in biologia si trova che i fenomeni di emergenza sono assolutamente fondamentali. Perché? Perché ci permettono di passare da un livello più basso a un livello più alto, all’emergenza di un nuovo livello ontologico. Quello che era un ammasso di cellule improvvisamente diventa un organismo, quello che era un insieme di individui può diventare un gruppo sociale, quello che era un insieme di molecole può diventare una cellula. Dunque la nozione di emergenza é essenzialmente la nozione che ci sono in natura tutta una serie di processi, retti da regole locali, con piccole interazioni locali, che messi in condizioni appropriate, danno origine a un nuovo livello a cui bisogna riconoscere una specifica identità. Qui la parola identità é importante. Quando si parla di una certa identità cognitiva [..]” Ci ritroviamo in una teorizzazione che esclude a priori ogni centralizzazione e ripartizione dell’interazione che indissolubile dal concetto stesso di evoluzione a sua volta dipendente strettamente dall’equilibrio. L’interazione esiste in quando manifestazione fenomenologica della combinazione di determinati fattori, riconducibili a loro volta in termini di interazione. 5 Complessità e Scienza Sempre in termini di interazione si verifica un’emergenza che porta ad un cambiamento di stato del sistema stesso, ma nel sistema stesso in quanto si ha una chiusura operazionale del sistema in se stesso. L’emergenza é la nozione che dati alcuni processi in un universo, retti da regole locali e mossi da piccole interazioni locali, che messi in condizioni appropriate danno origine ad un nuovo livello a cui bisogna riconoscere una specifica identità. Si evidenzia per tanto, la necessità evolutiva del sistema stesso in base ad un determinato verificarsi di una o più emergenze che pu sfociare in uno stato di organizzazione gerarchicamente superiore nella struttura di incapsulamento. I fenomeni di emergenza sono necessariamente non lineari, quindi non prevedibili poich fortemente caotici, di conseguenza di presuppone una risposta in ambito di reazione evolutiva sia ontologica sia di organizzazione della struttura sociale del sistema. Senza una rivisitazione del concetto stesso di evoluzione, classificazione e correlazione. L’ontogenesi - cioé la storia delle trasformazioni di un unità come risultato della storia delle interazioni, a partire da una sua struttura iniziale - é sempre legata al divenire di continue interazioni che, in modo dinamico, indirizzano, mantengono o cambiano il suo particolare sviluppo. In pratica il sistema é definito dalla sua stessa dinamica di interazione. 2.3 L’interazione come una possibile chiave di volta? Fayerabend, in “Against Method” [2] sostiene che ci sono periodi storici in cui il paradigma scientifico viene sovvertito e ribaltato, 6 2.3 L’interazione come una possibile chiave di volta? perché esaurisce la sua validità nel momento in cui non é più in grado di spiegare in maniera ferrea i fenomeni. Dal momento che i fenomeni si sono fatti più complessi sia per l’ingrandirsi dello spettro di indagine, sia per l’aumentare dell’incertezza e del rumore ci si é resi conto della sempre maggiore necessità di presentare in maniera adeguata modelli funzionali esplicativi da utilizzare nel processo scientifico. Definition 1 (Modello) Un modello e’ una rappresentazione della realta’ che ridotta in alcune delle sue componenti puo’ essere spiegato attraverso formalismi di tipo logico o matematico. La parola chiave che fa cadere completamente la validità del paradigma sta nel “ridurre”. La discussione in oggetto in questo lavoro é incentrata sulla domanda - Riducendo un sistema, che per sua natura presenta componenti complesse ed interconnesse, quanto preserviamo della sua reale natura senza tralasciarne dettagli che sono fondamentali per il sistema stesso? A questa domanda, cercheremo di dare una risposta attraverso una metodologia elaborata nel corso degli anni che tenta proprio di fornire strumenti di indagine scientifica, non in conflitto con il modello analitico tradizionale, ma di supporto e completamento. Negli anni oltre alla complessità dei problemi é cresciuta anche la nostra conoscenza sulla natura dei fenomeni e sulle loro proprietà. Sono stati individuati concetti teorici fondativi come la relatività o lo stesso concetto di emergenza. Sono state sviluppate anche molte tecniche di indagine: dall’impiego sempre pi massivo della simulazione, all’annoverarsi continuo di nuove tecniche per l’analisi di grandi moli di dati. La metodologia proposta in questo elaborato nasce proprio 7 Complessità e Scienza dalla commistione tra un particolare tipo di simulazione, quella basata su agente, e su una recentissima tecnica di indagine dei sistemi complessi che prende il nome di interaction pattern. Bruce Edmonds in [3], dice che la modellazione basata su agente permette di modellare sistemi suddividendoli in componenti autonome ed interagenti, che nel loro interagire danno, dinamicamente, vita alla completezza del sistema senza perderne le sue componenti centrali; in questo modo diventa anche possibile studiare l’emergenza. Dal fronte datamining si é andata sviluppando in questi ultimi cinque anni, una metodologia che si fonda sull’idea di classificare e predire sistemi, non in base ai loro attributi ma in base alle loro interazioni con le altre componenti: l’entità non é intesa come entità in quanto tale, ma come somma di variazione di interazioni che variano nel tempo [4]. Il guidatore pericoloso si riconosce per la sua maggiore velocità rispetto agli altri, o per il suo variare continuamente traiettoria, più precisamente in base al suo modo di interagire con gli altri elementi del sistema, ambiente compreso. Un sistema complesso é composto da entità autonome che interagiscono tra loro dando vita alla dinamica del sistema stesso; d’altro canto se il sistema non avesse dinamica sarebbe statico, e di conseguenza facile da modellare e la necessità di nuovi strumenti per la modellazione verrebbe a mancare. Si presenta sotto questa prospettiva un doppio processo di interazione da un lato le azioni dell’individuo e le sue conseguenze, dall’altro la percezione della variazione dell’ambiente; a legarle la sensibilit dell’ambiente alle azioni degli agenti. Siamo difronte ad un ciclo di interazioni ricorsivo che dalla percezione passa all’azione, e da questa alla modifica della percezione. L’elaborazione delle informazioni, il trasformarle in credenze 8 2.3 L’interazione come una possibile chiave di volta? l’agire, il variare di stato che inficiano dal singolo su tutto il sistema e dalla somma di queste emerge il comportamento, la dinamica del sistema stesso, che a sua volta si immerge nuovamente sugli individui vincolandone e condizionandone le azioni e le possibili opzioni di azione. L’interazione secondo i nostri studi teorici la possibile chiave, essa si propaga nel sistema, e a sua volta genera effetti e cambiamente attraverso l’interconnessione, ed inficia sul sistema stesso e da origine ai fenomeni emergenti ed allo stesso tempo ne la componente atomica. Tracciare e studiare i sistemi complessi come somma di variazioni di interazioni dei singoli individui durante il tempo e studiarne i pattern frequenti per poi modellarli o viceversa. Rispetto alla programmazione ad oggetti, la programmazione e quindi i modelli computazionali ad agenti, non si fondano su una computazione che consiste nella comunicazione tra oggetti che tra loro cambiano il valore delle loro variabili interne; ma negli agenti vi é un passo in piu’, un passo fondamentale: la computazione é un’interazione tra due entità autonome dotate di un loro stato interno, di percettori, di attuatori e di apparati cognitivi in grado di trasformare le percezioni ed elaborarle e quindi poi di agire. Unendo le peculiarità della modellazione computazionale basata su agente ad opportune tecniche di datamining si può forse rispondere al problema degli strumenti per l’indagine dei sistemi complessi dinamici. La metodologia che si va a delineare in questo documento nasce proprio dall’idea di unire la classificazione basata su interazione, che passa sotto il nome di “Interaction Pattern” e di modellare e simulare fenomeni particolarmente complessi e dispendiosi da indagare altrimenti, attraverso la simulazione basata su agente, che fonda il 9 Complessità e Scienza suo paradigma computazionale sul concetto di interazione tra entit eterogenee ed autonome: un sistema complesso per l’appunto. 2.4 Scienze Cognitive L’interazione ben studiata ed approfondita nelle scienze cognitive [5] [6], ed considerata il mezzo tramite cui si istanzia la dinamica di un sistema. Oltretutto la cognizione strettamente connessa ad uno dei sistemi complessi più affascinanti ovvero il cervello. Nella cognizione si riflette anche il paradigma scientifico, ovvero nell’uomo che risiede la struttura che tende al processo scientifico, che tende alla classificazione. Affrontare i sistemi complessi attraverso la struttura del processo cognitivo. É l’uomo che attraverso la scienza studia se stesso e le sue origini, il frutto di un sistema complesso che l’evoluzione, che a sua volta ha generato un sistema complesso capace di manipolare simboli astratti, di comunicare, di produrre. Le scienze cognitive, secondo la definizione proposta da [7], hanno come oggetto di studio la cognizione, cioe’ la capacità di un qualsiasi sistema, naturale o artificiale, di comunicare a se stesso e agli altri ciò che conosce. La natura di questa capacità é stata, in vari modi, investigata da psicologi, filosofi, informatici, economisti, linguisti, antropologi e biologi. Queste discipline hanno una loro storia consolidata e metodi di studio collaudati. Le scienze cognitive non sono la semplice somma di questi saperi, bens la confluenza degli studi di molte discipline su alcuni problemi specifici: i processi cognitivi. 10 2.4 Scienze Cognitive E’ importante la terminologia utilizzata, é diverso parlare di “scienza cognitiva” al singolare o di “scienze cognitive” al plurale. Per “scienza cognitiva” in senso stretto si intende lo studio di un qualsiasi sistema, naturale o artificiale, che sia in grado di filtrare e ricevere informazioni dall’ambiente circostante (percezione e selezione delle informazioni), di rielaborarle creandone di nuove (pensiero), di archiviarle e cancellarle (ricordo e oblio), di comunicarle ad altri sistemi naturali o artificiali e, infine, di prendere decisioni e di agire nel mondo adattandosi ai suoi cambiamenti (decisione e azione) e adattando il mondo a se stesso grazie alla creazione di artefatti. Per “scienze cognitive” si intende un campo di studio assai più ampio che comprende tutto ciò che ha a che fare con la capacità creativa dell’uomo e con gli artefatti da lui creati. I processi cognitivi rivestono una importanza cruciale nella comprensione delle dinamiche dei sistemi socio-economici. Proprio attraverso i processi cognitivi gli agenti economici possono apprendere le informazioni necessarie per prendere decisioni economiche. Si può parlare di apprendimento ogni qual volta un agente economico ha una comprensione imperfetta o incompleta del mondo in cui opera, per diversi motivi: (i) per la mancanza di parte dell’informazione rilevante per le sue decisioni, (ii) a causa di un’imperfetta conoscenza della struttura del mondo, (iii) Perché dispone di un repertorio di azioni limitato rispetto a quelle virtualmente accessibili ad un decisore onnisciente, (iv)Perché ha una conoscenza imprecisa e parziale dei propri obiettivi e delle proprie preferenze. L’apprendimento viene definito come il processo dinamico di modificazione di tale conoscenza. Le scienze cognitive studiano le varie forme di sapere tacito e esplicito che viene generato dalle organizzazioni. Cos come l’individuo non 11 Complessità e Scienza é consapevole dei suoi meccanismi cognitivi, le organizzazioni non sempre posseggono un sapere codificato del loro modo di comportarsi e decidere. La questione é stata studiata anche in funzione dei suoi risvolti applicativi: essendo i saperi taciti1 molto più difficili da trasferire di quelli codificati, le scienze cognitive possono fornire gli strumenti per comprendere come avviene questo difficile processo. Le scienze cognitive, infine, non si occupano solo di studiare i meccanismi cognitivi della mente, ma hanno cercato di trasferire la nozione di adattamento, che é cruciale per comprendere l’evoluzione naturale della specie, allo studio dei sistemi complessi. Per questo motivo fanno parte delle scienze cognitive lo studio degli algoritmi genetici, dei sistemi classificatori e, più in generale, delle simulazioni agent-based. 2.5 Sistemi Complessi Adattivi I sistemi complessi adattivi sono stati studiati da Holland ([8]), che li definisce: gruppi di agenti legati in un processo di co-adattamento, in cui le mosse di adattamento di ciascuno hanno conseguenze per l’intero gruppo di individui. Holland ([8]), mostrava che, sotto determinate condizioni, modelli semplici presentano sorprendenti capacità di auto-organizzazione. I sistemi complessi sono strettamente correlati con i sistemi non lineari. La definizione di sistema non lineare di Holland afferma che: un sistema non lineare é un sistema il cui comportamento non é uguale alla somma delle singole parti che lo compongono. Se, dunque, per studiare i sistemi lineari, si procede alla loro scomposizione ed allo studio analitico di ciascuna delle sue 12 2.5 Sistemi Complessi Adattivi parti, questo non pu‘ avvenire per lo studio dei sistemi non lineari. Il comportamento di tali sistemi, infatti, dipende dall’interazione delle parti, più che dal comportamento delle parti stesse. Occorre quindi considerare il sistema non lineare come un tutto non uguale alla somma delle parti e, dunque, occorre focalizzarsi sulle dinamiche di interazione fra gli elementi che compongono il sistema. I fenomeni complessi non possono essere studiati con strumenti matematici tradizionali, ma si possono analizzare osservando l’interazione degli elementi del sistema, nel tentativo di scorgere una qualche coerenza. Questo tipo di coerenze, tipiche dei sistemi complessi, vengono definite “fenomeni emergenti”. Il termine “complesso” non é sinonimo di “complicato”, nell’accezione di difficile. Per complessità si intende un fenomeno matematicamente definibile o un aggregato organico e strutturato di parti tra loro interagenti, che assume proprietà non derivanti dalla semplice somma delle parti che lo compongono. Come esempio si immagini il motore di un’automobile, composto da molti meccanismi, anche sofisticati. Il motore viene definito “macchina banale” perché il suo funzionamento, per quanto difficile e complicato, é il frutto della somma tra le parti che lo compongono, e può essere studiato e scomponendolo in queste parti. In contrapposizione al motore immaginiamo il formicaio’, un insieme di formiche che interagendo tra loro sono in grado di mantenere, per esempio, la temperatura all’interno del formicaio su valori costanti e con minime variazioni tra estate e inverno. Il formicaio é un sistema complesso perché ogni singola formica non conosce il meccanismo di regolazione termica dell’ambiente circostante ma, semplicemente dall’interazione di molte formiche, si manifesta 13 Complessità e Scienza un fenomeno “complesso”. In questo secondo caso non é possibile studiare il formicaio studiando il comportamento delle singole formiche. Mentre le scienze naturali pure sono in grado di prevedere nel dettaglio gli eventi, le scienze dei fenomeni complessi possono solo azzardare un orientamento. Bisognerebbe comunque [9] mantenere la consapevolezza dello scarso potere predittivo dell’econometria che, limitando i fattori esplicativi solo a quelli misurabili, ha portato agli insuccessi dell’interventismo macroeconomico keynesiano. I sistemi sociali sono dunque sistemi complessi, cioé sistemi nei quali molte cause concorrono a creare un solo effetto e, nei quali, le relazioni fra le cause stesse sono non lineari, nel senso che l’effetto di ogni singola causa non é indipendente da quello delle altre, per cui non può essere isolato. I sistemi complessi sono generalmente composti da agenti che interagiscono; ogni individuo interagisce solo con un ristretto numero di altri individui e, da queste interazioni locali, emergono fenomeni globali complessi, che non sono ipotizzabili a priori, pur conoscendo i singoli elementi ed i legami di interazione che intercorrono fra loro. La cosiddetta “teoria del tutto” non é quindi sufficiente a spiegare i fenomeni complessi percé il “tutto” non é la semplice somma delle sue parti. Un sistema complesso viene definito da Arthur et al. (1997) [10] come un sistema che possieda le seguenti caratteristiche: 1. La dinamica del sistema non deve avere un equilibrio globale. 2. Deve esistere interazione diffusa tra gli agenti del modello. 3. Non deve esistere un controllo centralizzato del modello. 14 2.6 La Modellazione Della Realtà 4. Si deve creare una gerarchia a livelli con interazioni reciproche. 5. Gli agenti devono imparare ed evolversi in funzione dell’ambiente e delle loro interazioni. Come risultato di tali proprietà si ottiene un ambiente caratterizzato da razionalità limitata e da aspettative non razionali. Per affrontare i “fenomeni complessi” può essere utile la teoria dell’ “individualismo metodologico”. Non potendo avere informazioni complete su stato e circostanze in cui si trovano i singoli elementi sociali, mentali o biologici, si ipotizza che essi si muovano a livello micro in base a certi principi: razionalità orientata allo scopo o al valore; significatività delle connessioni tra neuroni o ricerca della sopravvivenza. Ipotizzando alcuni meccanismi causali tra i singoli micro elementi , si immagina una metodologia di ricerca che conduca a predire l’emergere a livello macro di certi tipi di “fenomeni complessi” nella loro forma astratta di “modelli” (patterns). Questi modelli sono i modelli simulativi. 2.6 La Modellazione Della Realtà I fenomeni complessi sono difficilmente studiabili con gli stessi strumenti utilizzati per i sistemi semplici, come calcoli matematicostatistici e sperimentazioni in laboratorio. Il motivo risiede nel grandissimo numero di variabili che si dovrebbero manipolare, che risulterebbe non gestibile con equazioni matematiche. I sistemi complessi hanno anche delle componenti dinamiche di imprevedibilità e caotiche, che gli strumenti tradizionali hanno difficoltà ad affrontare. Le 15 Complessità e Scienza simulazioni, e in particolare le simulazioni condotte mediante modelli ad agen- ti adattivi, rappresentano il principale strumento per lo studio di fenomeni complessi tipici delle scienze sociali. Con il termine simulazione sociale si definisce dunque l’utilizzo di modelli di teorie esplicite cerati ed eseguiti con l’ausilio del computer. Lo scopo é ricreare e studiare aspetti essenziali della socialità e delle società naturali, siano esse umane, animali o artificiali. Per agente si intende l’unità di popolazione osservata: una popolazione può essere una società umana, una specie animale, un’azienda o, per esempio, una catena di fornitura. La simulazione può essere divisa in due fasi distinte: 1. La “modellizzazione”, ossia l’ideazione e la costruzione concettuale del modello da simulare. 2. La “creazione” vera e propria del programma di simulazione con il supporto di strumenti informatici. Le scienze tradizionali utilizzano un processo di “analisi” dei fenomeni, mentre le simulazioni sono una tecnica di “sintesi” dei fenomeni. Analizzare i fenomeni significa partire dalla realtà, dividerla nei suoi componenti e poi ricostruire i fenomeni reali mettendo insieme queste componenti mediante la teoria e il ragionamento. Le simulazioni seguono invece la via della “sintesi” della realtà, dove sintesi vuol dire partire dalle componenti per studiare cosa emerge quando queste componenti vengono messe insieme e fatte interagire. I modelli cos creati partono dalla descrizione dei singoli componenti semplici, che vengono fatti interagire nel computer, producendo il sistema complesso oggetto della teoria. Le simulazioni non servono 16 2.6 La Modellazione Della Realtà soltanto a scoprire quali predizioni empiriche si possono derivare da una teoria una volta che la teoria é stata formulata e realizzato il programma per eseguirla nel computer. Le simulazioni servono anche per elaborare le teorie, per esplorarne e valutarne le caratteristiche e le implicazioni mentre le si sta ancora costruendo. Più specificamente con le simulazioni diventa possibile sviluppare e valorizzare un metodo di ricerca che viene usato in modo implicito e spesso inconsapevole in tutte le scienze: il metodo degli esperimenti mentali. La simulazione viene definita da [11] un “esperimento mentale assistito dal computer”. Il computer viene utilizzato per assistere il ricercatore nella costruzione degli esperimenti mentali, ma questo non significa che lo scienziato non continui ad elaborare teorie con metodi tradizionali, per confrontarle con i risultati degli esperimenti al computer. Il ricercatore che utilizza le simulazioni finisce per elaborare la teoria insieme alla simulazione, con un continuo processo di prove ed errori, che si sviluppa in parte nella mente del ricercatore e in parte nella simulazione. I principali vantaggi delle simulazioni al computer rispetto a tecniche sperimentali tradizionali sono: • La possibilità di inserire gradualmente le diverse parti della teoria nel programma. Questo significa poter modificare i dati già presenti, verificarne la coerenza interna ed esterna in ogni momento e osservare i risultati generati dal computer. Questo vantaggio oggi può essere sfruttato appieno proprio grazie a strumenti informatici come la programmazione orientata agli oggetti e software per la simulazione agent-based come Swarm2 . • La grande flessibilità offerta dalle simulazioni allo sperimen- 17 Complessità e Scienza tatore. Negli esperimenti di laboratorio tradizionali bisognava studiare con attenzione tutte le variabili ambientali prima di eseguire ogni esperimento, perché risultava lungo, difficile e costoso ricreare lo stesso esperimento in condizioni leggermente differenti. Oggi, grazie alle simulazioni di mondi artificiali, tempo e causalità sono determinati dallo sperimentatore, le caratteristiche ambientali possono essere modificate, la rilevazione dei dati più precisa e l’esperimento può essere ripetuto a piacere. In sintesi possono essere modificati i parametri del modello che si studia in modo semplice e veloce. • La possibilità di modificare comodamente i parametri di osservazione. L’osservatore influenza sempre il fenomeno osservato. Questo principio é molto rilevante nelle scienze sociali (si pensi all’influenza dell’intervistatore sull’intervistato in un sondaggio). Rimane comunque importante nell’osservazione di qualsiasi fenomeno, anche solo perché la percezione della realtà é sempre filtrata attraverso la soggettività dell’osservatore. La possibilità di modificare tutti i parametri dell’osservatore consente di isolare e studiare in modo migliore il fenomeno. La velocità di scorrimento del tempo é particolarmente rilevante perché contribuisce a ridurre la durata della ricerca che, se svolta nella realtà, potrebbe richiedere la ripetizione periodica delle osservazioni, impegnando tempi considerevolmente lunghi. Casi particolari, ma spesso rilevanti, si manifestano difficilmente in ambiti reali, o sono difficilmente osservabili. La ripetizione della rilevazione e le variazioni delle condizioni possono facilitarne l’osservazione nel tentativo di individuare 18 2.6 La Modellazione Della Realtà fenomeni emergenti. • La possibilità di tenere sotto osservazione il modello. Le sonde consentono di tenere sotto controllo tutte le variabili di ogni agente della simulazione, anche senza dover preventivamente decidere quali saranno rilevanti. L’utilizzo degli agenti virtuali consente di rilevare i dati facilmente, evitando errori e senza determinare a priori quali grandezze osservare. L’indagine su ambiti virtuali risulta, quindi, molto vantaggiosa rispetto allo studi tradizionale in laboratorio, pe l’analisi dei fenomeni definiti “complessi”. 19 Complessità e Scienza 20 Capitolo 3 I Sistemi Complessi La simplicitè est la complexitè rèsolue (Constantin Brancusi) 3.1 Sistemi Complessi Per sistema si intende in una prima definizione molto generica un’insieme di entità collegata da qualche relazione e che il sistema vari nel tempo. Come già introdotto nel capitolo precedente, il campo di indagine di questo lavoro è sui sistemi complessi, non da intendersi come sistemi troppo difficili da capire, ma come sistemi riconducibili per proprietà ad un determinato insieme, che prende il nome di “complesso” per la sua impossibilità di essere previsto e modellato. Più precisamente, con la parola chiave “sistemi complessi” si indica una branca ben specifica della scienza dei sistemi che studia le proprietà comuni di sistemi considerati complessi che si manife- 21 I Sistemi Complessi stano in natura, nella società e nella scienza, e che stanno sempre diventando più preponderanti. Non che questi non siano mai esistiti, ma bens tanti dei problemi affrontati finora stanno rivelando che i sistemi in indagine sempre più spesso, quando si allarga l’angolo di osservazione, ricadono nella definizione di sistema complesso. Entrando nel dettaglio, un sistema complesso è un sistema per cui è difficile, se non addirittura impossibile, restringere la sua descrizione in un numero di parametri o variabili caratterizzanti senza il rischio di perderne l’essenza globale e le conseguenti ed annesse proprietà funzionali. I sistemi complessi, sono una materia di studio che nasce al confine tra diverse discipline scientiche come i sistemi non lineari, il chaos, i sistemi autorganizzanti, società, società artificiali, questa prossimità ontologico scientifica fa si che i sistemi complessi e quindi nè ereditano sia le teorie fondative sia gli strumenti e le tecniche di indagine dando vita ad una commistione emergente molto ben fornita, ma a nostro avviso ancora incompleta. In concomitanza con il sempre maggior numero di sistemi di indagine scientifica riconducibili per proprietà e natura ai sistemi complessi, negli ultimi decenni lo studio di questa materia sta rifiorendo e riprendendo forte vitalità, soprattutto nelle aree scientifiche che si servono per la modellazione dell’approccio classico dei modelli matematici, che spesso diventa sempre più complesso e difficilmente fruibile e che, lato assolutamente non banale, produce modelli non scalabili e che sono rappresentati in maniera riduzionista, e non in grado di cogliere a pieno le caratteristiche principali di un sistema complesso. Per riduzionista si intende quella pratica comune alle scienza che 22 3.1 Sistemi Complessi tende ad eliminare dettagli ritenuti non rilevanti per la dinamica o per l’essenza del modello in indagine. Il punto è che spesso, questo lasciar fuori dettagli comporta la perdita di elementi fondamentali per le dinamiche sistemiche, sia da un punto di vista ontologico sia da un punto di vista prettamente funzionale. Se un sistema caotico è un sistema molto sensibile alle condizioni iniziali, come si fa a scegliere, per via del loro gran numero, quali parametri includere e quali no, visto che non siamo ingrado di distinguere quelli significativi? Come si può eludere il grande livello di ignoranza rispetto alla materia di indagine e arrogarsi la responsabilità di tagliare via dal modello parti non ritenute significativamente rilevanti? Molto spesso si parla di sistemi complessi, non tanto come materia, ma come approccio di indagine, non a caso sempre di più si incontra il termine sistema complesso per indicare un approccio di ricerca comune a diverse discipline come le neuroscienze, le scienze sociali, la metereologia, la chimica, la psicologia, la vita artificiale, il calcolo evolutivo, la biologia molecolare. 3.1.1 Proprietà dei Sistemi Complessi I fondatori seicenteschi della scienza moderna, invece, furono ispirati dalla fede nella possibilità di scoprire la struttura reale della natura. La visione meccanicistica che divenne il fondamento dell’intera scienza del Seicento, facendo coincidere la natura con una perfettissima macchina, presuppone un ordine senza eccezioni, una realtà strutturata secondo rapporti determinati che trovano la loro espressione nella matematica. Per pensatori come Galileo, Keplero, Cartesio, Leibniz, la scienza può e deve impiegare la matematica per 23 I Sistemi Complessi portare alla luce l’ordine del mondo in quanto la realtà soggiacente ai fenomeni è matematica. Per essi il principio di causalità, il postulato deterministico, non esprime altro che la convinzione dell’identità tra matematica e natura: a quest’ultima deve inerire la stessa infallibilità che si esprime nelle regole della matematica; senza questa infallibilità la natura non sarebbe penetrabile dal pensiero matematico. Nell’opera di Newton viene lasciata cadere ogni giustificazione metafisica del matematismo: la matematica ritorna strumento, mentre il determinismo della natura assume la veste di un puro postulato circa una natura semplice e sempre conforme a se stessa senza il quale lo scienziato non potrebbe operare. La diffusione della fisica newtoniana sul continente generò due sostanziali mutamenti nella visione del determinismo fisico: da un lato si assistette a una critica al determinismo su basi empiristiche, dall’altro lato a un suo consolidamento a partire da una prospettiva razionalistica. Nel newtonianesimo olandese ebbe inizio quell’opera di demolizione delle pretese newtoniane di produrre una scienza empirica ma al contempo certa, che sul terreno filosofico verrà condotta all’estremo da Hume. I sistemi compelssi, sono sistemi che sono caratterizzati da alcune proprietà ben definite che oltre ad essere utili ad individuarli, chiarisce significativamente la loro natura ed importanza. Prima di tutto, ricadono nell’insieme dei sistemi complessi tutti quei sistemi che sono composti da entità indipendenti connesse tra loro da una qualunque relazione non additiva. Nel dettaglio siamo in grado di individuare come sistemi complessi, quei sistemi che presentano principalmente quattro proprietà caratterizzanti: 24 3.1 Sistemi Complessi • Non determinismo, ovvero l’impossibilità di descrivere il sistema con funzioni deterministiche, il comportamento di un sistema complesso è per lo più stocastico, ma condizionato dallo stato della totalità delle componenti. Per Bolztmann [12], il substrato atomico e molecolare dei fenomeni pare essere realmente soggetto al disordine, al caos, e le ipotesi teoriche di natura probabilistica tendono ad approssimare lo stato naturale, offrendo l’immagine di una Natura non completamente determinata. Nel corso della sua attività Boltzmann non riusc a essere sempre chiaro circa la portata gnoseologica da attribuire all’ipotesi del disordine molecolare, e anche i prosecutori della sua opera intesero le ipotesi probabilistiche come asserti che si potevano applicare a sistemi molto complessi, ma regolati ancora da un rigoroso determinismo. Con l’inizio del Novecento, poi, la teoria cinetica, sotto l’impulso dell’opera di Gibbs si trasformò in meccanica statistica, cioè in una teoria completamente svincolata da ipotesi sul reale comportamento delle molecole. Ma il problema del determinismo s’impose con forza all’attenzione dei fisici solo con la formulazione di una teoria che quel determinismo metteva in discussione in forme precise, la meccanica quantistica. • Non decomponibilità, ovvero l’impossibilità di essere decomposto e ridotto in parti più piccoli per via della struttura caotica dell’aggregazione delle sue componenti • Distribuzione, ovvero la dinamica del sistema non è centralizzata, ma somma di elementi che interagiscono, distribuendo ad ogni entità e ad ogni interazione nel micro livello una parte 25 I Sistemi Complessi che costituisce la dinamica nel macro livello; è distribuita l’informazione che circola, ogni cambiamento di stato è verificato dalla dinamica dei singoli componenti. • Emergenza , ovvero dall’interazione delle componenti nel micro livello può emergere un determinato fenomeno Un comportamento emergente o proprietà emergente può comparire quando un numero di entità semplici (agenti) operano in un ambiente, dando origine a comportamenti più complessi in quanto collettività. La proprietà stessa non è predicibile e non ha precedenti, e rappresenta un nuovo livello di evoluzione del sistema. I comportamenti complessi non sono proprietà delle singole entità e non possono essere facilmente riconosciuti o dedotti dal comportamento di entità del livello più basso. La forma e il comportamento di uno stormo di uccelli o di un branco di pesci sono buoni esempi.Una delle ragioni per cui si verifica un comportamento emergente è che il numero di interazioni tra le componenti di un sistema aumenta combinatoriamente con il numero delle componenti, consentendo il potenziale emergere di nuovi e più impercettibili tipi di comportamento. D’altro canto, non è di per s sufficiente un gran numero di interazioni per determinare un comportamento emergente, perch molte interazioni potrebbero essere irrilevanti, oppure annullarsi a vicenda. In alcuni casi, un gran numero di interazioni può in effetti contrastare l’emergenza di comportamenti interessanti, creando un forte rumore di fondo che può zittire ogni segnale di emergenza; il comportamento emergente potrebbe in questo caso aver bisogno di essere temporaneamente isolato dalle altre 26 3.1 Sistemi Complessi interazioni mentre raggiunge una massa critica tale da autosostenersi. Si nota quindi che non è solo il numero di connessioni tra le componenti a incoraggiare l’emergenza, ma anche l’organizzazione di queste connessioni. Un’organizzazione gerarchica è un esempio che può generare un comportamento emergente (una burocrazia può avere un comportamento diverso da quello degli individui umani al suo interno); ma forse in maniera più interessante, un comportamento emergente può nascere da strutture organizzative più decentralizzate, come ad esempio un mercato. In alcuni casi, il sistema deve raggiungere una certa soglia di combinazione di diversità, organizzazione e connettività prima che si presenti il comportamento emergente. Apparentemente i sistemi con proprietà emergenti o strutture emergenti sembrano superare il principio entropico e sconfiggere la seconda legge della termodinamica, in quanto creano e aumentano l’ordine nonostante la mancanza di un controllo centrale. Questo è possibile perch i sistemi aperti possono estrarre informazione e ordine dall’ambiente. Secondo una prospettiva emergente l’intelligenza emerge dalle connessioni tra i neuroni, senza la necessità di ipotizzare un’anima per spiegare come il cervello possa essere intelligente, mentre i singoli neuroni di cui esso è costituito non lo sono. Il comportamento emergente è importante anche nei giochi e nella loro struttura. Ad esempio il gioco del poker, in particolare nella sua forma priva di un sistema rigido di puntate, è essenzialmente guidato dall’emergenza. Ciò significa che giocare ad un tavolo piuttosto che ad un altro può essere radicalmente differente, nonostante le regole di base siano le stesse. Le variazioni che si sviluppano 27 I Sistemi Complessi sono esempi di metagioco emergente, il catalizzatore principale dell’evoluzione di nuovi giochi. • Autoorganizzazione la capacità delle componenti di auto organizzarsi all’interno del sistema; Un CAS può essere descritto come un instabile aggregato di agenti e connessioni, auto-organizzati per garantirsi l’adattamento. Secondo Holland [13], un CAS è un sistema che emerge nel tempo in forma coerente, e si adatta ed organizza senza una qualche entità singolare atta a gestirlo o controllarlo deliberatamente. L’adattamento è raggiunto mediante la costante ridefinizione del rapporto tra il sistema e il suo ambiente (co-evoluzione). Non stiamo parlando di cose appartenenti al mero mondo teorico, ma di sistemi che osserviamo e vediamo tutti i giorni le macchine nel traffico, il funzionamento di un’azienda, ma pensandoci bene, il sistema complesso più affascinante è quello dell’essere umano, della sua mente. Chi legge questo documento è la somma di un’interazione di cellule che interagiscono attraverso molecole, micro sistemi indipendenti, ma se scissi, non sarebbero l’essere umano. Dennet definisce la coscenza come un fenomeno emergente in un sistema complesso che è quello della mente [14]. In un sistema complesso è anche presente la gerarchia tra le componenti, in quanto esistono livelli e gradi di interazione, che per convenzione vengono divisi in al massimo tre livelli che denotano il livello di osservazione: micro livello, meso livello e macro livello. Ma non è affatto escluso dalla teoria che come due entità interagiscono a creare un sistema complesso, che due sistemi complessi tra loro non interagiscono dando origine ad un terzo e cosi via. 28 3.2 Rappresentazione dei Sistemi Complessi 3.2 Rappresentazione dei Sistemi Complessi Come si potrà facilmente intuire la natura dei stessa dei sistemi complessi, ne rende molto difficile una rappresentazione matematica rigorosa ed esaustiva. Nella maggior parte dei sistemi complessi le caratteristiche e proprietà fondamentali della dinamica sono descritte non dai singoli punti ma dalle relazioni tra essi, che variando nel tempo rendono il sistema dinamico. Prendiamo per esempio internet. In questo caso i nodi sono le pagine WEB ed i collegamenti sono i link ad altre pagine. Per comprendere quali sono i siti più importanti è necessario dunque cercare i siti che hanno più collegamenti. Per trovare un modello che descriva la struttura di queste reti sarebbe necessario tenere conto delle motivazioni che spingono un sito a collegarsi ad un altro (un modello microscopico). Tuttavia risulta al momento proibitivo sviluppare un modello in grado di descrivere tale situazione. Allora ciò che si cerca è un modello semplificato della struttura delle reti (un modello macroscopico) che, partendo da semplici assunti, sia in grado di descrivere questo fenomeno cos complesso. La teoria delle reti ha una tradizione che risale al 1700 con i primi studi di Eulero , il quale pone i fondamenti della descrizione matematica delle reti: la teoria dei grafi. Uno dei primi modelli di reti proposto risale agli anni ’60 ed è la rete aleatoria o democratica descritta da Erdos e Renyi. Questo tipo di rete descrive una sistema costituito da un numero fissato di nodi che hanno un valore medio di collegamenti, o grado, ben preciso. In questi tipi di reti i vari nodi sono indistinguibili gli uni dagli altri, in quanto hanno praticamente 29 I Sistemi Complessi tutti lo stesso grado, da qui il termine reti democratiche.Le reti democratiche hanno il pregio di essere semplici nella costruzione, ma non sono adatte a descrivere le reti reali. Verso la fine degli anni ’90 è stato proposto un modello estremamente semplice ma efficace che permette di descrivere alcune delle caratteristiche principali delle reti che ritroviamo in natura, nelle scienze sociali e in biologia. Questo modello si basa su due assunti principali: la rete è in continua crescita ed inoltre chi apre un nuovo sito preferisce collegarlo a siti che hanno già un alto numero di connessioni. Reti con questa struttura si dicono scale-free. Contando il numero di nodi che nella rete hanno lo stesso numero di connessioni si ottiene una legge di potenza: infatti esistono molti nodi che hanno poche connessioni, e pochi nodi che hanno molte connessioni. Questa particolare legge rimane inalterata aumentando il numero di nodi della rete, cioè risulta indipendente dalla grandezza o scala della rete; da qui il nome scale-free. Indincando con N il numero di nodi con K connessioni abbiamo definita la seguente relazione N∼ = 1 Ky Il coefficiente che compare nella formula è diverso in tipi di reti differenti, ma risulta quasi sempre compreso tra 1 e 3. La rete dei router del traffico nel WorldWideWeb Accanto al grado di connettività delle reti un’altra caratteristica fondamentale è il diametro della rete che misura il numero di collegamenti necessario per connettere due nodi qualsiasi. I primi studi quantitativi sulle reti sociali che misurano questa proprietà risalgono agli anni ’60. In questo contesto i nodi rappresentano le persone ed il collegamento la conoscenza dei due individui. Milgram [15] negli USA escogitò un esperimento 30 3.2 Rappresentazione dei Sistemi Complessi che permettesse di rivelare la rete di conoscenze navigando tra i vari nodi: inviò ad un certo numero di persone che vivevano sulla costa orientale delle lettere chiedendo di spedirle a loro volta a dei conoscenti in modo che queste lettere arrivassero a Chicago attraverso una catena di amici di amici. I modelli che abbiamo descritto, oltre a riprodurre gli effetti di scale-free e small world hanno permesso di evidenziare una proprietà che non era stata precedentemente osservata, ovvero la solidità delle reti. In una rete di tipo scale-free possono avvenire dei guasti che disattivano un nodo e di conseguenza i suoi collegamenti. Scegliendo in modo casuale il nodo da disattivare, vi è una buona probabilità che tale nodo non sia rilevante, poich sono pochissimi i nodi, con un grado di connettività talmente alto da garantire la solidità della rete. Viceversa ad un attacco mirato la rete porge il suo tallone d’Achille: conoscendo i suoi nodi più importanti, un pirata informatico riesce ad oscurare l’intera rete attaccando pochi punti ma ben collegati. L’effetto small world è stato studiato per la prima volta nelle reti sociali mentre lo studio della rete WorldWideWeb ha evidenziato la natura scale-free. Queste due caratteristiche si ritrovano con sorprendente regolarità in reti nate in contesti differenti che spaziano dalle scienze sociali al metabolismo cellulare, toccando anche il mondo del cinema e delle collaborazioni scientifiche. Utilizzando cos un modello estremamente semplice è possibile descrivere e classificare i vari tipi di reti non in funzione del loro particolare campo di applicazione, ma grazie a concetti universali come per esempio il coefficiente della legge di potenza o la distanza media tra due nodi qualsiasi. 31 I Sistemi Complessi 3.3 La Dinamica dei Sistemi Complessi E’ notevole che ci siano voluti più di 40 anni perch la scienza si interrogasse sul perch certi sistemi complessi (tra cui alcune reti e Internet) non seguissero affatto comportamenti casuali. Tuttavia dobbiamo comprendere che è solo grazie all’evolvere di Internet come rete, e dei suoi nuovi scenari possibili, che per i fisici fu possibile ottenere sperimentalmente dati che prima erano accessibili solo attraverso modelli teorici. Dal 1959, da quando due matematici ungheresi, l’inimitabile Paul Erdǒs e il suo collaboratore Alfréd Rényi, iniziarono a studiare il comportamento delle reti in comunicazione e nelle scienze biologiche, molta acqua è passata sotto i ponti. Essi suggerirono, con convincenti calcoli, che i sistemi complessi si comportavano in 32 3.3 La Dinamica dei Sistemi Complessi maniera del tutto aleatoria, casuale [16]. Solo quarant’anni dopo, nel 1999, il fisico Albert-Lszl Barabsi e i suoi collaboratori Reka Albert e Hawoong Jeon si accorsero che non tutte le reti si comportavano come sistemi casuali: ma che anzi, erano molti gli esempi di reti che presentavano un comportamento altamente organizzato: due di queste era proprio Internet e il World Wide Web [17]. Teniamo presente che gli strumenti che prima di tali studi venivano utilizzati per spiegare il comportamento di Internet si basavano su idee mutuate dall’analisi sul comportamento di sistemi privi di organizzazione. Gli attuali protocolli sono stati sviluppati negli anni Settanta, quando la rete era piccola, sfruttando le tecnologie disponibili allora. L’importanza di conoscere la topologia della rete e dei suoi attributi è legata dunque alla necessità di abbattere le limitazioni intrinseche al modello: senza tali conoscenze non si possono ad esempio progettare nuovi strumenti e nuovi servizi. Da cui l’importanza di introdurre nuovi modelli che spieghino con maggiore raffinatezza le caratteristiche di questi sistemi. I sistemi complessi come internet non possono essere spiegati come una semplice connessione tra hub, cos come un organismo vivente non può venire descritto solo come una riduzione alle sue particelle elementari reti invarianza di scala (le cellule) e alle leggi fondamentali della chimica. Un ecosistema digitale, cos come un ecosistema biologico o sociale, è sufficientemente reale al pari delle sue parti costituenti: del che ci accorgiamo con disagio quando, ad esempio, l’ecosistema viene perturbato da inquinamenti o virus, oppure quando si presenta con tanti problemi irrisolti. Ecco cos che si rendeva necessario uno studio più olistico, che tenesse conto dell’estrema complessità delle relazioni tra le parti. Nell’esperimento che consisteva nella map- 33 I Sistemi Complessi patura di una piccola porzione del World Wide Web il gruppo di Barabasi si accorse che l’80 percento delle pagine possedevano non più di quattro link entranti, ma una piccola minoranza (meno dello 0,01 percento di tutti i nodi) ne avevano più di mille, e pochissimi anche milioni. Conteggiando quante pagine web avevano esattamente k link dimostrò che la distribuzione invece di diminuire con velocità esponenziale, diminuiva con una legge di potenza: la probabilità che un nodo sia connesso a k altri nodi era proporzionale a 1/kn. Il valore della potenza n per i link entranti risultava essere 2, 2, valore sperimentalmente e intrinsecamente legato alla struttura del WWW. In termini algebrici era come dire che ogni volta che il numero di collegamenti in entrata diminuiva di un fattore 10, il numero di pagine che avevano quel numero di collegamenti aumentava, mediamente, di un fattore 10 elevato alla potenza di 2, 2. Un numero che è circa uguale a 158. Per dirla in altre parole, significa che le pagine con un numero di collegamenti dieci volte maggiore erano 158 volte meno probabili. Significa che il sistema si sta autoorganizzando. Questi fenomeni si ritrovano di solito nei sistemi in transizione di fase, e accadono quando un sistema si trova ad esempio sull’orlo di un baratro, in bilico tra l’ordine e il caos. Si riconoscono ad esempio nei frattali, quando una parte arbitrariamente piccola riproduce il tutto. Emergono anche nella spiegazione del modo in cui si diffondono le epidemie, nelle statistiche dei fenomeni naturali (terremoti, tsunami), tutti casi in cui il valore medio di una curva gaussiana non può spiegare adeguatamente la distribuzione generale. In una prima, forte approssimazione, il Web è un esempio di come questo curioso andamento spieghi l’accrescere dei nodi di grandi hub, che diventano sempre più connessi a discapito della maggior parte dei nodi meno 34 3.4 Dalla Dinamica del Sistema Complesso alle Sue Entità Costituenti connessi. Infatti nel Web esistono molte pagine che hanno pochi link in entrata, e poche pagine che hanno invece un elevato numero di collegamenti. Nel modello a invarianza di scala l’età dei nodi è il fattore più importante e con l’ingresso di nuove pagine gli hub più popolari hanno maggiori probabilità di essere linkati, accrescendo ulteriormente la loro connettività, un fenomeno che comunemente è conosciuto con il nome di collegamento preferenziale (preferential attachment). Ma questo modello non è sufficiente a spiegare perch alcuni nodi o website, entrati più recentemente in competizione, riescano in breve tempo a diventare più popolari di altri. 3.4 Dalla Dinamica del Sistema Complesso alle Sue Entità Costituenti Negli ultimi tempi, la comunità scientifica sta proponendo diverse analisi e approcci per sfruttare le reti sociali nel problema di profilare l’utente, al fine di proporre risultati sempre più pertinenti agli interessi dell’individuo. L’analisi della rete sociale dell’utente offre una grande potenza per predire molte informazioni. La topologia di reti complesse è stato ultimamente argomento di studi intensivi. E’ stato riconosciuto che tale tipologia gioca un importante ruolo in molti sistemi e processi. Recentemente, è stato osservato che le reti sociali esibiscono una struttura della comunità molto chiara. In un’organizzazione emerge facilmente lo schema formale della struttura della comunità, ed è altres possibile osservare il legame informale che sorge tra gli individui basato su relazioni personali, politiche, cul- 35 I Sistemi Complessi turali e cos via. La profonda comprensione della struttura informale che soggiace allo schema formale. Le comunità virtuali evolvono intorno ad una determinata area d’attività (ad es. i ricercatori del Semantic Web) oppure si costruiscono attorno ad uno stesso topic di interesse (ad es. i primi piatti tipici dell’Abruzzo). La longevità e persistenza di tali comunità nel tempo risiede nello scambio di informazioni tra i membri della comunità. Comunicazioni tipiche includono transazioni commerciali, informazioni documentali, scambi di conoscenza, risposte alle richieste, avvisi, suggerimenti, aiuti, riferimenti e cos via. Esempi ben conosciuti sono sistemi quali e-Bay, Firefly, Wikipedia, Expert’s Exchange. Al fine di suggerire all’utente informazioni maggiormente aderenti ai suoi interessi, è sicuramente utile studiare la rete sociale dell’individuo, analizzare la rete di amicizie, capire la profondità delle relazioni con gli altri utenti. Ad esempio, derivare i campi di interesse delle conoscenze più strette può aumentare la precisione dei risultati forniti all’utente che, probabilmente, avrà sviluppato interessi simili ai propri amici e colleghi. Altres, può esser determinante individuare quei nodi che hanno un elevato grado di interconnessione con gli altri membri della comunità: tali nodi centrali (spesso indicati con il termine di hubs) possono rappresentare un grave punto di dispersione quando si tratta di analizzare le immediate conoscenze dell’individuo. Altro punto di sicuro interesse, è l’individuazione delle sottocomunità che si creano all’interno della rete sociale: ad esempio, si può pensare di delineare quale sia l’insieme degli amici di un membro dentro l’intera rete sociale, piuttosto che quella dei colleghi di lavoro, oppure dei compagni di studio. Per tali motivi, sembra opportuno restringere il campo delle reti sociali a quelle etichettate 36 3.4 Dalla Dinamica del Sistema Complesso alle Sue Entità Costituenti come scale-free, ed assumono particolare interesse nella profilazione utente i metodi di clustering applicati alle social networks. Lo user profiling è l’analisi e l’utilizzo dei dati che compongono il profilo utente. Il calcolo della pertinenza di una risorsa in relazione ad una query sottomessa da un determinato utente permette, da sola, di compiere le prime banali operazioni di profilazione. Se, ad esempio, un utente manifesta la propria preferenza per una risorsa proposta non ai primi posti nell’elenco dei risultati, è giusto, che a successive interrogazioni simili, il motore di ricerca risponda assegnando a tale risorsa maggior valore, quindi proponendola in posizioni di maggior visibilità. Si fa presente che questa operazione, quasi scontata, non è contemplata nel comportamento di nessuno dei maggiori motori di ricerca, i quali, a query identiche, continuano a rispondere con identici risultati, ignorando palesemente qualsiasi preferenza manifestata dall’utente. L’implementazione di questa funzionalità permetterebbe di pervenire ad un risultato ancora più interessante: in base ai dati presenti nel profilo, stimando rapporti di vicinanza tra utenti diversi, è possibile proporre per query, e quindi per bisogni simili, risposte e soluzioni identiche a quelle che utenti vicini hanno già segnalato come valide . Rappresentando i dati del profilo utente sotto forma di matrice è possibile calcolare la similitudine che questa ha con i profili di utenti diversi e successivamente inserire i vari utenti all’interno di cluster di utenti simili, offrendo ad ognuno di questi risposte, soluzioni e risorse scelte dagli utenti appartenenti al medesimo gruppo. I vantaggi che si possono trarre dall’uso di tecnologie legate allo user profiling hanno inevitabili ricadute sull’utilizzo a fini didattici dei motori di ricerca. La clusterizzazione degli utenti presuppone che i comportamenti ricor- 37 I Sistemi Complessi renti tendano ad essere interpretati dal sistema come comportamenti standard e in quanto tali come comportamenti da promuovere verso tutti i componenti di uno stesso cluster. Non esiste un modo predeterminato di creare meccanismi di profilazione d’utenza, esistono però delle tecnologie che possono essere messe in campo. Alcune di queste emergono come punti fermi, o per lo meno punti di riferimento, nella realizzazione di un’architettura di profilazione: i cookie, i classificatori, le directory, ecc. Occorre prendere in considerazione queste tecnologie con particolare riferimento all’impiego in un sistema di profilazione. Il protocollo HTTP non conserva informazioni di stato, quindi è impossibile differenziare tra visite diverse ad un sito web senza un metodo per marcare il visitatore. I cookie nascono per ovviare a questa carenza del protocollo HTTP e sono utilizzati per gestire delle variabili di stato nelle connessioni web. L’idea è quella di memorizzare delle informazioni nel browser del visitatore tali, per esempio, da permettere la creazione di siti individuali e personalizzabili. Riflettendo con attenzione sul meccanismo dei cookie, salta agli occhi il fatto che si tratta di un meccanismo che nasconde alcuni pericoli. Per ovviare a questi inconvenienti occorre porre delle limitazioni, che il browser attuerà rigorosamente. Due sono le principali limitazioni introdotte: la prima riguarda il dominio, la seconda la numerosità. I cookie sono stati progettati per rispondere a esigenze non legate ad interessi di parte specifici. Ciò nonostante l’utilizzo indiscriminato che alcune compagnie deliberatamente fanno dei cookie, rappresenta un serio pericolo per la privacy degli utenti. La difesa della privacy minacciata rischia però anche di mettere in crisi i sistemi di profilazione. Classificare è un’attività fondamentale svolta da tutti gli esseri viventi. Appena avuta un’esperienza, subito si cerca 38 3.4 Dalla Dinamica del Sistema Complesso alle Sue Entità Costituenti di classificarla in una particolare categoria. Gli strumenti informatici adatti ad effettuare un’operazione analoga si chiamano classificatori, studiati a partire dagli anni ’50, con lo scopo di estrarre in maniera automatica delle regole generali per dedurre la classe di appartenenza di ogni oggetto da una serie di esempi (training set), avendo fatto l’assunzione che - se il numero di esempi fosse stato sufficientemente grande e ben distribuito sulle classi esistenti - quelle stesse regole si potessero, con buona probabilità, applicare a oggetti nuovi. In questa maniera i calcolatori avrebbero imparato a classificare tutti gli oggetti appartenenti ad un certo dominio della conoscenza. Algoritmi che tramite meccanismi di inferenza induttiva tentano di realizzare sistemi in grado di imparare, ossia di passare da esempi concreti a modelli generali attraverso l’estrazione di regole da un insieme di dati. Gli algoritmi producono una struttura dati, utilizzando la quale, è possibile classificare un oggetto. Un primo esempio può essere l’albero di decisione (o per estensione il grafo), in cui ad ogni nodo viene effettuato un test sugli attributi dell’oggetto, che permette di discriminare tra due insiemi di appartenenza. Percorrendo tutto l’albero dalla radice alla foglia che questo permette di individuare, si deduce la classe di appartenenza indicata nella foglia stessa. Un secondo tipo di struttura dati finalizzata alla classificazione di oggetti, è la lista di decisione. Questa lista contiene una serie di regole ordinate o non ordinate. Se sono ordinate, la validazione di una regola comporta la determinazione della classe di appartenenza. Viceversa, se non sono ordinate, più regole possono essere validate determinando classi diverse, quella corretta viene scelta per maggioranza. Utilizzare una directory per contenere dei dati è una modalità di organizzare l’informazione tale che la renda facilmente 39 I Sistemi Complessi reperibile. In una infrastruttura informatica, la directory è un database specializzato per l’amministrazione di informazioni su oggetti che si devono gestire - ad esempio i dati anagrafici dei dipendenti o le credenziali di sicurezza. A differenza di un database tradizionale però, una directory si distingue perch ottimizzata per le operazioni di lettura e per transazioni semplici che coinvolgono dati di dimensioni ridotte, inoltre si presenta come un unica entità indipendentemente dal luogo in cui risiedono i dati. Queste caratteristiche rendono le directory particolarmente adatte ad immagazzinare le caratteristiche semi-statiche degli utenti. 3.5 Stato dell’Arte nell’Analisi delle Reti Sociali Studiando la struttura del Web, attraverso l’utilizzo di un Web crawler, il fisico Albert Barabàsi scopr, con non poca sorpresa, che questa non presentava una connettività casuale. Notò, invece, la presenza di alcuni nodi con un numero di archi insolitamente elevato, che vennero denominati hub o connettori. Studi successivi mostrarono che gli hub non erano un fenomeno isolato, ma rappresentavano una caratteristica importante di sistemi complessi anche molto diversi tra loro, dall’economia alla cellula vivente. L’ammissione dell’esistenza dei connettori ha portato al definitivo abbandono di ogni pro-spettiva casualista nelle reti suscitando, al contempo, la necessità di un nuovo modello che tenesse conto dell’esistenza di questo particolare tipo di nodi. Le reti ad invarianza di scala o, in inglese, scale-free networks sono la classe di reti che presentano una distribuzione di grado di tipo 40 3.5 Stato dell’Arte nell’Analisi delle Reti Sociali power law (legge di potenza) e che quindi meglio si prestano per studiare la presenza degli hub e i loro effetti. Il modello maggiormente utilizzato per la generazione di modelli atti a studiare reti ad invarianza di scala è quello proposto dalla coppia di scienziati Barabàsi ed Albert, nel 1999, denominato i ricchi sono sempre più ricchi. In questo tipo di modello, ogni nuovo nodo crea un collegamento verso un altro nodo della rete non con una probabilità uniforme, come accadeva invece per i grafi randomici di Erdos e Rnyi, ma in maniera proporzionale al grado entrante corrente dei nodi. Secondo questo sistema un nodo con molti archi entranti continuerà ad attrarre altri archi rispetto ad una pagina normale e questo è in linea anche con il principio dell’ 80/20 formulato da Pareto. Nello specifico Barabasi ed Albert, per formulare il loro modello, partirono dalla constatazione che le reti, nel tempo, tendono a modificare la loro dimensione aumentando il numero di nodi e per fare questo i nuovi nodi, utilizzano un collegamento preferenziale, sfruttano cioè nodi altamente connessi, gli hub, piuttosto che nodi con un minore numero di archi. La probabilità che un nuovo nodo generi un arco per collegarsi ad un vertice di grado k è pari a: La sommatoria posta al denominatore è pari al grado medio della rete che è circa 2m, poich ci sono m archi per ogni vertice aggiunto, e ogni arco, essendo non orientato, contribuisce due volte al grado dei vertici della rete. Il numero medio di vertici di grado k che acquistano un arco quando un vertici con m archi viene collegato alla rete è pari a m x kpk/2m = kpk ed è indipendente da m. Il numero npk di vertici con grado k in questo modo viene decrementato da questo stesso insieme, poich i vertici che ottengono un nuovo arco diventano di grado k+1. Anche il numero di vertici di grado k aumenta a causa dell’influenza 41 I Sistemi Complessi dei vertici precedentemente di grado k-1 che ora hanno acquisito un nuovo arco. Unica eccezione sono i vertici di grado m che hanno esattamente influenza 1. Se definiamo da pkn il valore di pk quando il grafo ha n vertici, allora il cambiamento della rete in npk per ogni vertice aggiunto è: Per le loro proprietà, il modello delle reti scale-free sembra aderire bene alla realtà delle reti sociali. Di fatto, nelle reti sociali online è possibile spesso individuare quei membri (nodi) che detengono un numero maggiore di connessioni rispetto agli altri. Ad esempio, nella rete di amicizie di Facebook è facile notare persone che hanno una lista di amici notevole, oppure in reti più professionali, come Linkedin, vi sono individui che rappresentano un importante sbocco lavorativo, dal momento che tali membri hanno un numero di contatti molto elevato. In entrambi i casi, tali nodi rappresentano gli hub sopra accennati. Determinare tali nodi può esser di vitale importanza da diversi punti di vista, ad esempio, decidendo di escludere i membri con elevatissimi connessioni, perch probabili divoratori di contatti non realmente conosciuti, che minano la veridicità della rete sociale (vedi in Facebook quelle persone con più di 1000 contatti). Un taglio di questo tipo permette di ridurre drasticamente la complessità computazionale di determinati calcoli. Ad esempio, nella profilazione di un utente è interessante esplorare la rete di amicizie sino ad un dato livello di profondità, compito che può rivelarsi molto dispendioso qualora si passi sopra un hub; come detto, le reti scale-free seguono una power law nel momento in cui un nuovo nodo intende aggiungersi alla rete (in effetti, tenderà a legarsi a quei membri che hanno giù un elevato grado di archi uscenti). 42 3.6 Identificazione di un gruppo 3.6 Identificazione di un gruppo Il metodo tradizionale per identificare una comunità all’interno di una social networks è l’approccio del clustering gerarchico. L’idea di questa tecnica è prendere un set di N nodi da clusterizzare e una matrice di similarità (o delle distanze) di grandezza N × N ; il processo base è: all’inizio, inserire un nodo per ogni cluster, in modo tale che se inizialmente si hanno N nodi adesso si avranno N cluster, e lasciare la distanza tra cluster uguale a quella tra i nodi. Successivamente cercare la distanza più vicina tra due cluster ed unire i due cluster in uno solo ed eliminare l’altro cluster in modo tale di avere meno cluster. Ripetere sino a che tutti i nodi sono clusterizzati. Givran and Newman, recentemente hanno proposto un algoritmo (GN) per identificare le differenti comunità all’interno di una rete sociale. Questo nuovo algoritmo dà un risultato buono anche nelle reti in cui il metodo del clustering gerarchico fallisce. Questo algoritmo lavora nel modo seguente: il betweennes di un arco è definito come un numero minimo di connessioni tra coppie di nodi che attraversano un arco. L’algoritmo GN è basato sull’idea che gli archi aventi il più alto grado di betweenness, collegano di fatto le comunità altamente clusterizzate. Pertanto il taglio di tali archi permette di separare le comunità. In tal modo, l’algoritmo procede con l’identificazione e la rimozione dell’arco con il betweenness più alto nella rete. Questo processo è ripetuto fino a che la rete padre produce due reti figlie separate. L’algoritmo può procedere in modo iterativo sulle reti figlie finch non si ottengano delle reti composte esclusivamente da un solo nodo. Al fine di descrivere l’intero processo di scissione, viene generato un albero binario, nel quale le biforcazioni raffigurano 43 I Sistemi Complessi le comunità e i livelli rappresentano le persone. Di conseguenza, le informazioni della comunità nella rete originale possono esser dedotte dalla topologia dell’albero binario corrispondente. Quando l’arco BE è rimosso, la rete si divide in due gruppi: un gruppo contiene i nodi A e D, ed l’altro gruppo contiene i nodi E e I. Dopo questa prima scissione, vi sono due comunità completamente separate: una molto omogenea, e l’altra molto centralizzata. Sebbene le due comunità abbiano caratteristiche differenti, l’algoritmo separerà i nodi uno a uno, dando luogo a due differenti sottoalberi nell’albero binario. In realtà, quando le comunità rimaste non mostrano più particolari strutture interne, sono divise in un modo molto irregolare che porta un aumento della profondità dei sottoalberi. In conclusione, il difficile compito di individuare le comunità a partire dalla rete originale, può esser sostituito dal compito più lieve di identificare le comunità a partire dal relativo albero binario. Quando si lavora con reti che hanno una struttura centralizzata, è possibile trovare i nodi centrali come foglie dei sottoalberi; in tal modo, si ha a disposizione un metodo per individuare i leader di ogni comunità. 3.7 Riduzionismo e Aspetti Cognitivi Il riduzionismo è qualcosa da evitare quando si cerca di astrarre modelli con meccanismi molto sensibili e determinati da un elevato numero di fattori e dalle loro interconnesioni, come nel caso di tracciare un modello in grado di mappare il comportamento di un individuo in relazione a qualche contesto al fine di evincerne feature e caratteristiche utili sia all’identificazione sia per l’attribuzione del’in- 44 3.7 Riduzionismo e Aspetti Cognitivi vididuo ad un qualche gruppo. E’ necessario includere componenti e parametri che descrivano in maniera sufficientemente realistica le entità del sistema, in particolare, ci vogliamo concentrare sulla rilevanza, nell’analisi delle reti sociali, degli aspetti cognitivi annessi ad una scelta, come il trust e la reputazione. La quantità di contenuti nel web è enorme, ma ogni singolo individuo cercherà quella che più soddisfa il suo fabbisogno informativo, ma non è detto che questo sia raggiunto, sia per limiti di tempo, sia a volte anche per pigrizia. Spesso per risparmiare tempo nel task di formazione e revisione delle credenze ed in particolare delle valutazioni, l’individuo, di per sè, limitato ricorre alla comunicazione per aumentare il suo livello di conoscenza, prima di fare una scelta. In questa ultima sezione vogliamo sottolineare aspetti non direttamente tracciabili dell’utente che a nostro avviso coinvolgono elementi molto significativi nella classificazione e profilazione di un individuo, ovvero considerare anche i meccanismi che sono dietro la decisione e le varie azioni ed interazioni: la socialità, la fiducia, la reputazione, le dinamiche di selezione e di decision making, e la riduzione dell’incertezza. Nella panoramica del web 2,0 che a quanto pare sottende ad un passaggio dell’internet dell’ipertesto ad un internet di comunicazione elettronica, tante problematiche connesse al decision making, all’incertezza che emergono quando l’utente è li a fruire dei servizi che la rete mette a disposzione, coinvolgeranno tematiche sociali e psicosociali che da un punto di vista cognitivo coopteranno per una profilazione utente, non solo concepita attraverso il suo comportamento web, ma darà significato anche a tutti quegli elementi cognitivi, proprio delle mente umana che guidano l’essere nelle sue scelte, nelle sue interazioni. In particolare è ampliamente studiato e discusso il ruolo della reputazione 45 I Sistemi Complessi e della fiducia nelle comunità elettroniche e da come sia possibilie analizzare le dinamiche di opinione e di apprendimento in relazione al contesto e al capitale culturale. In particolare, nel caso di internet il capitale culturale, ovvero il dominio informativo relativo alla rete sociale a cui si appartiente coincide potenzialmente con la totalità del web, quindi la formazione e la revisione delle credenze, delle valutazioni su un determinato target sono affette da informazioni acquisite, da informazioni riportate, esperienze altrui, ma anche da ciò che si dice in giro, il gossip. E questo sarà influenzato, sempre secondo una visione da sistemi complessi, in cui tutto è strettamente connesso e correlato, dalla fiducia, dall’informazione circolante, dalle abitudini delle persone che l’utente conosce e imita ( secondo il meccanismo dell’imitazione, che per molti è alla base di ogni tipo di apprendimento) che è la prima risposta all’incertezza: imitare il comportamente di chi vedo. La fiducia e un concetto importante che interseca numerose discipline scientifiche. Ogni situazione che implichi uno scambio nonsimultaneo tra organismi viventi presenta un problema di fiducia. Il modello mostra come la probabilit‘ che fiducia e cooperazione emergano in tale sistema sia elevata solo quando gli agenti hanno la possibilita di costruirsi una reputazione di cooperatori affidabili e quando l’informazione riguardo il loro comportamento passato e sufficientemente diffusa nel sistema stesso. Tanto la reciprocita diretta quanto quella indiretta svolgono un ruolo rilevante nel favorire la cooperazione, il peso della seconda e per‘ maggiore in larga parte delle condizioni esaminate. In generale i nostri risultati sono consistenti con quelle teorie che sostengono l’esistenza di una stretta relazione tra fiducia, reputazione e reciprocità La fiducia e un concetto importante (benche elusivo) che si situa al- 46 3.7 Riduzionismo e Aspetti Cognitivi l’incrocio tra numerose discipline quali sociologia, economia, scienze politiche e che mantiene un suo significato anche nelle scienze naturali. Ogni situazione in cui avviene uno scambio nonsimultaneo tra organismi viventi implica un problema di fiducia. Esempi interessanti di scambi non-simultanei sono stati studiati in biologia. Uno dei pi‘ noti e la condivisione di cibo tra i pipistrelli vampiri sudamericani. Nelle colonie di pipistrelli avviene spesso che i soggetti che si sono nutriti a sufficienza condividano il loro surplus (rigurgitandone una parte) con i compagni meno fortunati che, a loro volta, restituiranno l’aiuto ricevuto alla prima occasione [18]. La condivisione del cibo e comune anche tra scimpanzè e altri e primati, incluso l’uomo, come emerge dalla documentazione antropologica sui cacciatori raccoglitori. Nelle mondo contemporaneo, in molti casi gli esseri umani utilizzano strumenti istituzionali per incentivare a comportamenti corretti i soggetti che scambiano in modo nonsimultaneo oggetti o servizi dotati di valore. Tanto la costruzione quanto il funzionamento di tali istituzioni impongono, per‘ , costi (di transazione o altro) tali da rendere difficile il loro impiego in tutti i casi. I soggetti devono allora ripiegare nuovamente sulla fiducia se vogliono impegnarsi nello scambio. Ci‘ avviene tanto all’interno di contesti informali (prestiti tra amici, aiuto tra vicini, ecc.) quanto formali. In questo secondo ambito rientrano i contratti tra aziende della cosiddetta knowledge economy, che rappresentano altrettanti scambi nonsimultanei dove fiducia e reputazione rappresentano fondamentali strumenti di regolazione. Paul Adler [19] afferma che nel caso di aziende che non necessitino solo di beni e servizi standardizzati, ma anche di input di innovazione e conoscenza il controllo gerarchico e il mercato non 47 I Sistemi Complessi sono in grado di assicurare performance altrettanto elevate quanto le comunita’ basate sulla fiducia. Nel nostro caso sono molto rilevanti le dinamiche che sono dietro alle transazioni sui siti di aste web (ad es. eBay) dove i compratori devono pagare in anticipo i loro acquisti mentre i venditori spediscono i beni ceduti solo dopo aver ricevuto il pagamento rappresentano un esempio altrettanto interessante di scambio nonsimultaneo. Poichè è difficile determinare l’identità reale dei contraenti, la possibilità di utilizzare strumenti giuridici per far rispettare i “contratti” e molto bassa. L’unico elemento che favorisce i compratori e quindi il desiderio dei venditori di mantenere la loro reputazione (nota al momento dell’acquisto) a un livello sufficientemente elevato da garantirsi future profittevoli transazioni [20]. 48 Capitolo 4 KDD nei Sistemi Complessi 4.1 Data mining Il data mining è una materia che si è andata affermando negli ultimi 10 anni ed ha per oggetto l’estrazione di un sapere o di una conoscenza a partire da grandi quantità di dati (attraverso metodi automatici o semi-automatici). I motivi principali che hanno contribuito all’affermarsi del data mining ed al suo sviluppo sono principalmente da riconducibili : • alle grandi moli di dati in formato digitale, • l’immagazzinamento dei dati ormai a costi molto molto esegui, • i nuovi metodi e tecniche di analisi (apprendimento automatico, riconoscimento di pattern). Le tecniche di data mining sono fondate su specifici algoritmi. I pattern identificati possono essere, a loro volta, il punto di partenza 49 KDD nei Sistemi Complessi per ipotizzare e quindi verificare nuove relazioni di tipo causale fra fenomeni; in generale, possono servire in senso statistico per formulare previsioni su nuovi insiemi di dati. Un concetto correlato al data mining è quello di apprendimento automatico (Machine learning); infatti, l’identificazione di pattern pu paragonarsi all’apprendimento, da parte del sistema di data mining, di una relazione causale precedentemente ignota, cosa che trova applicazione in ambiti come quello degli algoritmi euristici e della intelligenza artificiale. Tuttavia, occorre notare che il processo di data mining è sempre sottoposto al rischio di rivelare relazioni causali che poi si rivelano inesistenti. Tra le tecniche maggiormente utilizzate in questo ambito vi sono: • Clustering; • Reti neurali; • Alberi di decisione; • Analisi delle associazioni . Un’altra tecnica molto diffusa per il data mining è l’apprendimento mediante classificazione. Questo schema di apprendimento parte da un insieme ben definito di esempi di classificazione per casi noti, dai quali ci si aspetta di dedurre un modo per classificare esempi non noti. Tale approccio viene anche detto con supervisione (supervised), nel senso che lo schema di apprendimento opera sotto la supervisione fornita implicitamente dagli esempi di classificazione per i casi noti; tali esempi, per questo motivo, vengono anche 50 4.1 Data mining detti training examples, ovvero esempi per l’addestramento. La conoscenza acquisita per apprendimento mediante classificazione pu essere rappresentata con un albero di decisione. L’estrazione dei dati vera e propria giunge quindi al termine di un processo che comporta numerose fasi: si individuano le fonti di dati; si crea un unico set di dati aggregati; si effettua una pre-elaborazione (data cleaning, analisi esplorative, selezione, ecc.); si estraggono i dati con l’algoritmo scelto; si interpretano e valutano i pattern; l’ultimo passaggio va dai pattern alla nuova conoscenza cos acquisita. 4.1.1 Il Processo di Estrazione della Conoscenza Gli stadi che caratterizzano un processo KDD sono stati identificati nel 1996 da Usama Fayyad, Piatetsky-Shapiro e Smyth. Nell’elencare e descrivere queste fasi tali studiosi pongono particolare attenzione allo stadio del DM, cioe a tutti quegli algoritmi per l’esplorazione e lo studio dei dati. Il DM è ritenuta la fase piu importante dell’intero processo KDD e questa sua enorme importanza, peraltro riconosciuta, rende sempre più difficile, soprattutto in termini pratici, distinguere il processo KDD dal DM. Da parte nostra, anche se alcuni ricercatori usano i termini DM e KDD come sinonimi, cercheremo costantemente di separare i due aspetti e di considerare il DM la fase piu significativa del processo KDD, ma non perfettamente coincidente con esso. Iniziamo con una descrizione delle cinque fasi del processo KDD che ricalca sostanzialmente il modello ideato dagli studiosi citati sopra. Il processo KDD prevede come dati in input dati grezzi e fornisce come output informazioni utili ottenute attraverso le fasi di: 51 KDD nei Sistemi Complessi Selezione: i dati grezzi vengono segmentati e selezionati secondo alcuni criteri al fine di pervenire ad un sottoinsieme di dati, che rappresentano il nostro target data o dati obiettivo. Risulta abbastanza chiaro come un database possa contenere diverse informazioni, che per il problema sotto studio possono risultare inutili; per fare un esempio, se l’obiettivo è lo studio delle associazioni tra i prodotti di una catena di supermercati, non ha senso conservare i dati relativi alla professione dei clienti; è invece assolutamente errato non considerare tale variabile, che potrebbe invece fornire utili informazioni relative al comportamento di determinate fasce di clienti, nel caso in cui si voglia effettuare un’analisi discriminante. Preelaborazione: spesso, pur avendo a disposizione il target data non è conveniente ne, d’altra parte, necessario analizzarne l’intero contenuto; puo essere più adeguato prima campionare le tabelle e in seguito esplorare tale campione effettuando in tal modo un’analisi su base campionaria. Fanno inoltre parte del seguente stadio del KDD la fase di pulizia dei dati (data cleaning) che prevede l’eliminazione dei possibili errori e la decisione dei meccanismi di comportamento in caso di dati mancanti. Trasformazioni: effettuata la fase precedente, i dati, per essere utilizzabili, devono essere trasformati. Si possono convertire tipi di dati in altri o definire nuovi dati ottenuti attraverso l’uso di operazioni matematiche e logiche sulle variabili. Inoltre, soprattutto quando i dati provengono da fonti diverse, è necessario effettuare una loro riconfigurazione al fine di garantirne la consistenza. Data Mining: ai dati trasformati vengono applicate una serie di tecniche in modo da poterne ricavare dell’informazione non banale o scontata, bensi’ interessante e utile. I tipi di dati che si hanno a 52 4.2 Il Modello Crisp-DM disposizione e gli obiettivi che si vogliono raggiungere possono dare un’indicazione circa il tipo di metodo/algoritmo da scegliere per la ricerca di informazioni dai dati. Un fatto è certo: l’intero processo KDD è un processo interattivo tra l’utente, il software utilizzato e gli obiettivi, che devono essere costantemente inquadrati, ed iterativo nel senso che la fase di DM pu prevedere un’ulteriore trasformazione dei dati originali o un’ulteriore pulizia dei dati, ritornando di fatto alle fasi precedenti. Interpretazioni e Valutazioni: il DM crea dei pattern, ovvero dei modelli,che possono costituire un valido supporto alle decisioni. Non basta per interpretare i risultati attraverso dei grafici che visualizzano l’output del DM,ma occorre valutare questi modelli e cioè capire in che misura questi possono essere utili. E dunque possibile, alla luce di risultati non perfettamente soddisfacenti, rivedere una o più fasi dell’intero processo KDD. 4.2 Il Modello Crisp-DM Esiste un progetto finanziato dalla Commissione europea il cui obiettivo è quello di definire un approccio standard ai progetti di DM, chiamato CRISP-DM (CRoss Industry Standard Process for Data Mining). Il CRISP-DM affronta la necessità di tutti gli utenti coinvolti nella diffusione di tecnologie di DM per la soluzione di problemi aziendali. Scopo del progetto ‘ definire e convalidare e uno schema d’approccio indipendente dalla tipologia di business. 53 KDD nei Sistemi Complessi La figura riassume lo schema CRISP-DM, oltre che chiarire l’essenza del DM e il suo utilizzo da parte delle imprese per incrementare il loro business. Come possiamo vedere dalla figura il ciclo di vita di un progetto di DM consiste di sei fasi la cui sequenza non è rigida. E quasi sempre richiesto un ritorno indietro ed un proseguimento tra le differenti fasi. Questo dipende dalla qualità del risultato di ogni a fase, che costituisce la base di partenza della fase successiva. Le 54 4.2 Il Modello Crisp-DM frecce indicano le più importanti e frequenti dipendenze tra le fasi. L’ellisse fuori lo schema rappresenta la natura ciclica di un processo di DM il quale continua anche dopo che una soluzione è stata individuata e sperimentata. Spesso quanto imparato durante un processo di DM porta a nuove informazioni in processi di DM consecutivi. Descriviamo ora con maggiore dettaglio le fasi della figura: Business Understanding: opportuno che in un progetto di DM si conosca il settore di affari in cui si opera. In questo senso il DM non deve, sostituire il compito dei manager tradizionali, ma solo porsi come strumento aggiuntivo di supporto alle decisioni. Avendo chiare le idee sul settore di affari in cui si opera, si procede alla conversione di questa conoscenza di settore nella definizione di un problema di DM e quindi alla stesura preliminare di un piano prefissato per raggiungere gli obiettivi stabiliti. Data Understanding: individuati gli obiettivi del progetto di DM, quello di cui disponiamo per il raggiungimento di tali obiettivi ‘ rappresentato dai dati. Quindi la fase successiva prevede una iniziale raccolta dei dati e una serie di operazioni sui dati stessi che permettono di acquisire maggiore familiarità con essi, di identificare problemi nella qualit‘ dei dati stessi, nonchè scoprire le prime informazioni che a volte si possono ricavare dal semplice calcolo delle statistiche di base ( medie, indici di variabilità, ecc. . . ). E’ chiaro inoltre come le prime due fasi siano collegate dato che rappresentano l’individuazione dei fini e dei mezzi di un progetto di DM. Data preparation: tale fase copre tutte le attività che poi portano alla costruzione dell’insieme di dati finale a partire dai dati grezzi e dunque dell’insieme di dati cui applicare le tecniche di DM. Essa comprende tra l’altro la selezione di tabelle, di records e di at- 55 KDD nei Sistemi Complessi tributi come anche, se necessaria, la trasformazione e la pulitura dei dati. Modelling: in questa fase vengono selezionate e applicate varie tecniche che permettono di ricavare dei modelli. Determinate tecniche, per poter essere applicate, necessitano di specifiche richieste rispetto alla forma dei dati, per cui è spesso opportuno tornare indietro alla fase di preparazione dei dati per e modificare il dataset iniziale e adattarlo alla tecnica specifica che si vuole utilizzare. Evaluation: prima di procedere all’impiego del modello o dei modelli costruiti, è molto importante valutare il modello e i passi eseguiti per costruirlo, accertarsi che attraverso tale modello si possono veramente raggiungere obiettivi di business, capire se qualcosa di importante non è stato sufficientemente considerato nella costruzione del modello. Deployment: è la fase finale che prevede l’utilizzo del modello o dei modelli creati e valutati che possono permettere il raggiungimento dei fini desiderati. Le fasi di DM su descritte sembrano ricalcare nella sostanza le fasi del più generale processo di estrazione di conoscenza dai database (KDD). In realtà questo progetto di DM ingloba al suo interno le fasi del processo KDD e dimostra quanto già affermato in precedenza riguardo al sempre più diffuso accostamento del DM al processo KDD. 4.2.1 KDD descrittivo e previsivo Gli approcci al DM possono essere di due tipi: di tipo top-down e di tipo bottom-up. Nel primo caso si tratta di utilizzare la statistica come guida per l’esplorazione dei dati, cercando di trovare 56 4.2 Il Modello Crisp-DM conferme a fatti che l’utente ipotizza o già conosce, per migliorare la comprensione di fenomeni parzialmente conosciuti. In quest’ambito vengono utilizzate le statistiche di base, che permettono di ottenere descrizioni brevi e concise del dataset, di evidenziare interessanti e generali proprietà dei dati; è anche possibile l’utilizzo di tecniche statistiche tradizionali come, ad esempio, la regressione. Tuttavia, un approccio di tipo top-down limita i compiti del DM ad un DM di tipo descrittivo . La sola descrizione dei dati non pu fornire quelle informazioni di supporto alle decisioni, cui si fa costantemente riferimento quando si parla di potenzilità del DM. Di conseguenza, un approccio al DM di tipo bottom-up, nel quale l’utente si mette a scavare nei dati alla ricerca di informazioni che apriori ignora, risulta di gran lunga più interessante. Questo secondo approccio conduce ad un DM di tipo previsivo in cui si costruisce uno o pi‘ set di modelli, si effettuano delle inferenze sui set di dati disponibili e si tenta di prevedere il comportamento di nuovi dataset. E proprio nel DM di tipo previsivo che IBM ha identificato due tipi, o modi, di operare, che possono essere usati per estrarre informazioni di interesse per l’utente: i Verification models e i Discovery models. I verification models utilizzano delle ipotesi formulate dall’utente e verificano tali ipotesi sulla base dei dati disponibili. In questi tipi di modelli riveste un ruolo cruciale l’utente, al quale è affidato il compito di formulare delle ipotesi sui possibili comportamenti delle variabili in questione. Tuttavia risultano di gran lunga più interessanti i discovery models, che costituiscono la parte più rilevante delle tecniche di DM. In questi tipi di modelli all’utente non è affidato nessun tipo di compito specifico, è il sistema che scopre automaticamente importanti informazioni nascoste nei dati: si cerca di individuare pattern frequenti, 57 KDD nei Sistemi Complessi regole di associazione, valori ricorrenti. Potremmo addirittura affermare che il DM è costituito dai soli discovery models, dal momento che un’importante differenza tra i metodi tradizionali di analisi dei dati e i nuovi metodi (di cui il DM è parte integrante) è che i primi sono guidati dalle assunzioni fatte, nel senso che viene formulata un’ipotesi che viene saggiata attraverso i dati, mentre i secondi sono guidati dalla scoperta, nel senso che i modelli sono automaticamente estratti dai dati. L’utilizzo di queste nuove tecniche richie- de ovviamente enormi sforzi di ricerca e in questo le maggiori performance degli odierni calcolatori giocano un ruolo chiave. Un utilizzo delle tecniche tradizionali di analisi dei dati si ha nelle procedure OLAP (On Line Analytical Processing). Come affermato nella nota 3 dell’introduzione, si tratta di tecniche alternative al DM che a differenza di questo hanno alla base un’analisi essenzialmente deduttiva. Difatti, in tali procedure l’utilizzatore interroga il database ponendo una serie di queries che vanno a validare o meno un’ipotesi precedentemente formulata. Tuttavia, quando il numero delle variabili cresce, l’utilizzo delle metodologie OLAP diventa sempre più difficoltoso, perchè diventa difficile, e anche dispendioso in termini di tempo, formulare delle buone ipotesi da saggiare. Risulta quindi più utile ricorrere alle tecniche di DM che liberano l’utente da compiti specifici, dal momento che in tale ambito non si utilizzano più strumenti di Query e OLAP, ma tecniche derivate dalla statistica e dall’intelligenza artificiale. 58 4.3 Il Clustering 4.3 4.3.1 Il Clustering Clustering La parola inglese cluster è difficilmente traducibile, letteralmente significa grappolo, ma anche ammasso, sciame, agglomerato, parole che visivamente richiamano alla mente una o più entità costituite da elementi più piccoli, omogenei tra loro ma allo stesso tempo distinti da altri elementi esterni al cluster stesso. Una definizione di cluster è peraltro difficile da trovare anche in letteratura, normalmente si parla di coesione interna ed isolamento esterno [21], oppure di elevato grado di associazione naturale tra gli elementi di un cluster e di relativa distinzione tra cluster differenti [22], in modo più generale si pu definire cluster una parte dei dati (un sottoinsieme della popolazione in analisi) che consiste di elementi molto simili rispetto alla rimanente parte dei dati [23]. La generalità delle definizioni di cui sopra è determinata principalmente dalla assoluta impossibilità di formalizzare matematicamente il concetto di cluster in maniera univoca, del resto empiricamente si possono osservare molti tipi differenti di cluster: sferici, ellissoidali, lineari. Le tecniche che permettono di ottenere i cluster dai dati osservati sono molteplici ed utilizzano procedure differenti, comunemente vengono denominati algoritmi di clustering per sottolineare il carattere automatico di tale procedura. E’ possibile far risalire la nascita di tale disciplina all’inizio di questo secolo, quando si cominci ad avvertire la necessità di sostituire l’occhio ed il cervello umano nell’attività classificatoria con strumenti maggiormente precisi, in grado di gestire enormi quantità di informazioni e non limitati a spazi tridimensionali. Solamente con lo sviluppo e la 59 KDD nei Sistemi Complessi diffusione dei moderni computer le procedure di clustering cominciarono ad essere impiegate con successo in numerose discipline: nelle scienze naturali, nell’ambito della tassonomia numerica [24], allo scopo di rendere più veloce e precisa l’opera di classificazione delle specie viventi; nelle scienze sociali per individuare gruppi socio-economici e segmenti di mercato; nel campo dell’intelligenza artificiale ed in particolare nella pattern recognition, per l’analisi, il confronto ed il riconoscimento dei dati. Seguendo questo percorso, pur in assenza di un rigoroso fondamento teorico, ha avuto origine la disciplina oggi nota come cluster analysis. Generalmente gli algoritmi di clustering cercano di separare un insieme di dati nei suoi cluster costituenti, evidenziando i gruppi naturali, ossia la struttura classificatoria relativa ai dati stessi, si suppone che i dati analizzati possiedano una propria classificazione e compito degli algoritmi di clustering è proprio trovare la struttura classificatoria che meglio si adatta alle osservazioni. Mentre nella classificazione la struttura dei dati è nota, quindi si suppone che per classificare un insieme di dati non ordinati ci si riferisca comunque ad una struttura classificatoria conosciuta, nella cluster analysis poco o nulla è noto circa la struttura dei dati, tutto ci che è disponibile è una collezione di osservazioni le cui relative classi si appartenenza sono ignote. Questa, che è la principale differenza tra clustering e classificazione, ci permette di definire la cluster analysis come strumento classificatorio empirico basato sulle osservazioni, le eventuali informazioni note a priori possono essere utilizzate per verificare la bontà dello schema classificatorio ottenuto. E’ quindi errato definire gli algoritmi di clustering metodi di classificazione automatica visto che la struttura classificatoria viene individuata contestualmente all’assegnazione di ogni elemento al 60 4.3 Il Clustering suo gruppo di appartenenza. Il compito degli algoritmi di clustering è quindi duplice, da un lato trovare la struttura classificatoria intrinseca dei dati, i cosiddetti gruppi naturali, dall’altro assegnare ogni elemento alla rispettiva classe di appartenenza, per fare questo generalmente gli algoritmi cercano di classificare le osservazioni in gruppi tali che il grado di associazione naturale sia alto tra i membri dello stesso gruppo e basso tra i membri di gruppi differenti. Si pu quindi affermare che l’essenza della cluster analysis pu anche essere vista come l’assegnazione di appropriati significati ai termini gruppi naturali ed associazione naturale. 4.3.2 Tassonomia degli algoritmi di clustering Data la varietà dei metodi e degli algoritmi di clustering disponibili è opportuno presentarne una classificazione [24], che permetta di comprendere quali siano le principali caratteristiche delle diverse procedure. Quella presentata non è l’unica classificazione degli algoritmi di clustering, vedi [25]. Inoltre è opportuno precisare che sono stati esclusi dalla presente trattazione i metodi di clustering che utilizzano la teoria dei grafi. 1. Metodi gerarchici e non gerarchici: costituisce la distinzione principale, si riferisce sia al metodo usato per ottenere i cluster che alla struttura del risultato dell’algoritmo stesso. I metodi gerarchici producono delle tipiche strutture ad albero, di tipo ricorsivo o annidato; i cluster dei livelli più alti sono aggregazioni di cluster dei livelli più bassi dell’albero. I metodi non gerarchici vengono anche definiti partitivi poich dividono l’insieme dei dati in partizioni, 61 KDD nei Sistemi Complessi le quali sono costituite solamente dai singoli elementi oggetto della classificazione, l’insieme dei dati da classificare viene quindi diviso in più sottoinsiemi o cluster senza ulteriori suddivisioni all’interno di ogni cluster. 2. Metodi agglomerativi e divisivi: si riferisce al metodo con il quale operano gli algoritmi gerarchici ed anche alla direzione seguita per costruire lo schema classificatorio (albero gerarchico). I metodi agglomerativi procedono dal basso verso l’alto unendo i singoli elementi mentre i metodi divisivi procedono dall’alto verso il basso scindendo i cluster in altri più piccoli. 3. Metodi con sovrapposizione e senza sovrapposizione (dei cluster): riguarda i cluster prodotti con i metodi non gerarchici o partitivi e si riferisce ai cluster ottenuti per mezzo dell’algoritmo. I cluster si definiscono non sovrapposti quando ogni elemento appartiene ad uno e ad un solo cluster; i cluster sovrapposti vengono anche denominati fuzzy cluster poich ogni elemento pu appartenere a più cluster differenti per mezzo di un grado di appartenenza definito come segue: L’elemento xi appartiene al cluster Ci con un grado di appartenenza compreso nell’intervallo [0,1] . Questa estensione della cluster analysis classica deriva dalla considerazione che nella realtà molti fenomeni non si presentano con contorni ben definiti, ed un elemento pu appartenere contemporaneamente a più cluster differenti. Ad esempio nel caso si vogliano classificare diverse specie di frutta, gli ibridi si troveranno in una posizione intermedia tra i cluster dei frutti dal cui incrocio sono stati generati, ed inserirli forzatamente in uno solo dei due cluster rappresenta una errata interpretazione della realtà [25]. 62 4.4 La Classificazione 4.4 La Classificazione Obiettivo della classificazione consiste nell’ analizzare i dati in imput e sviluppare un’accurata descrizione o un modello per ogni classe, usando le caratteristiche (espresse nell’esempio attraverso gli attributi A1 , A2 , . . . , Ap ) presenti nei dati. Gli algoritmi di classificazione portano all’identificazione di schemi o insiemi di caratteristiche che definiscono la classe cui appartiene un dato record. In genere, partendo dall’utilizzo di insiemi esistenti e già classificati, si cerca di definire alcune regolarità che caratterizzano le varie classi. Le descrizioni delle classi vengono usate per classificare records, di cui non si conosce la classe di appartenenza, o per sviluppare una migliore conoscenza di ogni classe nel dataset. Non a caso, alcune delle applicazioni di maggiore interesse di questa tecnica di DM includono la ricerca, da parte delle banche, di categorie di clienti ai quali concedere un prestito (in tal caso ogni record è etichettato come buon creditore o cattivo creditore e gli attributi sono i dati dei clienti relativi all’età, al reddito, ecc . . . ) o applicazioni di target marketing, con cui un’impresa pu individuare, sulla base delle caratteristiche dei clienti presenti nel database, un proprio target di mercato allo scopo di rafforzare la propria posizione in un determinato settore (in tal caso etichettando ogni record del database come cliente fedele e cliente non fedele). Esiste una sostanziale differenza, che è opportuno chiarire, tra le tecniche di classificazione e le tecniche di raggruppamento o clustering (che avremo modo di considerare più avanti nella tesi). Tramite la classificazione l’utente comunica al tool di DM la caratteristica chiave, di cui i membri del gruppo devono essere dotati, e il tool non si occupa 63 KDD nei Sistemi Complessi di nessun altro attributo che i membri del gruppo possono avere in comune. Ad esempio, si pu dire al tool di DM di creare dei gruppi di clienti sulla base dei diversi livelli di entrate che apportano all’azienda. Utilizzando queste in- formazioni, l’azienda pu investire tempo e denaro per corteggiare potenziali clienti con caratteristiche simili. In altre parole, nella classificazione esiste un attributo madre, il cui numero di modalità rappresenterà il numero dei gruppi che si verranno a formare (questo attributo madre è proprio la classe di appartenenza). Due records appartenenti al medesimo gruppo in un processo di classificazione possono in realtà essere fortemente diversi fra loro. Tale diversità è legata al fatto che il tool di DM ignora gli attributi al di fuori della classe di appartenenza. Nel raggruppamento non esiste un numero di gruppi prefissato. In tal caso il tool di DM crea dei gruppi sulla base di tutti gli attributi presenti nel database, in modo che ogni gruppo sia caratterizzato da elementi simili in termini degli attributi descritti nel database e che due elementi appartenenti a gruppi diversi siano sufficientemente distanti tra di loro. 4.5 Interazione negli Agenti In questa sezione analizzeremo brevemente il paradigma di modellazione che consente ad agenti simili di comunicare tra loro. L’aggiunta della comunicazione incrementa di molto il livello di possibilità implementative di un MAS, in particolare la programmazione ad agenti è basata fortemente sul concetto di interazione e questa avviene tramite comunicazione. 64 4.5 Interazione negli Agenti La peculiarità di una computazione basata su interazione ha un potenziale di rappresentazione dei fenomeni complessi che finora è stata sottovalutata. Nei lavori [?] oppure in [26] i meccanismi di emergenza che sono effetto della propagazione dell’interazione vengono trattati come punto cardine per la rappresentazione dei sistemi complessi. L’aggiunta di alcune tecniche di data mining atte ad tracciare le varie comunicazioni (interazione tra agenti) ha portato ottimi risultati sia per ci che riguarda la classificazione dei singoli comportamenti a fini di ottimizzazione, sia a scopi predittivi. 65 KDD nei Sistemi Complessi 66 Capitolo 5 Simulazione di Sistemi Complessi con i MAS 5.1 5.1.1 Stato dell’Arte dei MAS Origine L’intelligenza artificiale distribuita si è sviluppata come branca dell’intelligenza artificiale negli ultimi venti anni. Fondamentalmente la tecnologia sviluppata da tale approccio epistemologico si occupa di sistemi eterogenei composti da entità indipendenti che interagiscono tra loro e con l’ambiente all’interno di un dominio. Tradizionalmente fanno riferimento a questa tecnologia altre due sotto discipline: Distribuited Problem Solving (DPS) che si occupa dell’elaborazione dell’informazione in sistemi a molte componenti che lavorano separatamente per di raggiungere uno scopo comune; Multiagent Systems (MAS) che invece si occupa dell’organizzazione dei comportamenti 67 Simulazione di Sistemi Complessi con i MAS degli agenti, in particolare per i loro aspetti sociali/interattivi dal punto di vista computazionale. In particolare, I MAS intendono fornire sia i principi paradigmatici per la costruzione di sistemi complessi sia i meccanismi per la coordinazione e la cooperazione tra agenti indipendenti. Non c’è ancora una definizione chiara per i MAS, in [27] un agente è considerato come un entità provvista di scopi e di una base di conoscenza che percepisce l’ambiente tramite sensori ed interagisce con l’ambiente stesso tramite attuatori. Altri autori, come Pattie Maes del MIT, pongono l’accento sul fatto che gli ambienti i cui gli agenti si muovono sono complessi e dinamici, e che gli agenti agiscono in modo autonomo; in effetti, tutte le moderne teorie degli agenti prevedono una loro capacità di risposta autonoma ai cambiamenti ambientali. Altri autori, ad es. Barbara Hayes-Roth (Hayes, 1995), ritengono che essenziale per gli agenti sia la capacità di ragionamento logico, ma questo esclude molte altre tipologie di agenti intelligenti. Il modo in cui l’agente agisce è chiamato comportamento o behavior. Per uno studio comparativo delle tecnologie afferenti a questo campo ci dobbiamo principalmente concentrare su due domande: Che tipi di vantaggi offre rispetto alle alternative? contesti è particolarmente utile? 5.1.2 In quali I Sistemi Basati su Agenti I sistemi ad agenti torno utili quando si ha a che fare con persone o organizzazioni interagenti con diversi ed (eventualmente in conflitto) finalità. Oppure se un’organizzazione vuole modellare le sue dinamiche interne. Oppure se si vuole rappresentare un’azienda che 68 5.1 Stato dell’Arte dei MAS interagisce con le altre e questa ha bisogno di essere descritta con un sistema che rifletta le sue capacità e proprietà. Considerando la proprietà degli agenti che consentono di modellare un sistema complesso in componenti interagenti, ma allo stesso tempo indipendenti, è abbastanza intuitivo immaginare che i MAS non devono necessariamente essere utilizzati in sistemi distribuiti, ma possono presentare enormi vantaggi anche in altri contesti. Avere molti agenti pu incrementare notevolmente la velocità di un sistema perch forniscono un naturale uso del calcolo parallelo. Ad esempio, in un dominio che è facilmente decomponibile in componenti che svolgono compiti differenti, possono essere facilmente implementati con il paradigma dei MAS superando le limitazioni imposte dai tempi computazionali. Mentre il parallelismo pu essere raggiunto assegnando compiti differenti ad agenti con differenti comportamenti, la robustezza è una peculiarità che emerge dalla ridondanza di agenti. Se ad esempio, la responsabilità e controllo sono sufficientemente suddivise nella popolazione di agenti, il sistema presenterà naturalmente una maggiore tolleranza agli errori. I MAS sono anche modulari per definizione ed è facile aggiungere un altro agente con differente capacità all’interno di un sistema già esistente portando enormi vantaggi in termini di scalabilità e manutenibilità. Dalla prospettiva di un programmatore la modularità dei sistemi ad agenti permette una più facile implementazione, manutenzione e codifica delle specifiche. Piuttosto che allocare tutte le specifiche computazionali all’interno di un unico programma monolitico, il programmatore pu identificare sotto task ed assegnarne il controllo ad agenti differenti. 69 Simulazione di Sistemi Complessi con i MAS 5.1.3 Le Problematiche Dei Sistemi Multi Agente Si possono rilevare cinque principali problematiche nei confronti della creazione di sistemi multi agente. In primo luogo, la problematica dell’azione: come pu un insieme di agenti agire simultaneamente in un ambiente frammentato, e come interagisce tale ambiente in risposta agli agenti? Le questioni qui sottintese sono, tra le altre, quella della rappresentazione dell’ambiente per mezzo degli agenti, della collaborazione tra gli agenti, e della pianificazione dell’attività di una molteplicità d’agenti. Inoltre, è da considerare la problematica dell’agente e della sua relazione col mondo esterno, la quale è rappresentata dal modello cognitivo di cui dispone l’agente. Ogni singolo individuo in una società costituita da molteplici agenti deve essere in grado di mettere in opera le azioni più rispondenti ai suoi obiettivi. Tale attitudine alla decisione è legata ad uno stato mentale che riflette le percezioni, le rappresentazioni, le convinzioni ed un certo numero di parametri psichici (desideri, tendenze...) dell’agente. La problematica in questione copre anche la nozione dei vincoli dell’agente nei confronti di un agente terzo. I sistemi ad agenti multipli necessitano altres dello studio della natura delle interazioni, come fonte di opportunità, da una parte, e di vincoli dall’altra. 70 5.1 Stato dell’Arte dei MAS La problematica dell’interazione si interessa alle modalità di interazione (quale linguaggio? quale supporto?), all’analisi ed alla concezione delle forme d’interazione tra agenti. Le nozioni di collaborazione e di cooperazione (considerata come collaborazione + coordinamento delle azioni + risoluzione dei conflitti) sono in questo campo questioni fondamentali. Se si applicano le mere conoscenze dei sistemi a singolo agente a quelli multi agente si avranno degli agenti egoisti (self-interested) che non coopereranno in alcun modo, dunque l’obiettivo del sistema sarà raggiunto in minima parte. Di seguito pu richiamarsi la problematica dell’adattamento, in termini di adattamento individuale o apprendimento da una parte, e adattamento collettivo o evoluzione dall’altra.Ovvero la propagazione di un comportamento basato su interazione che dal locale emerge nel globale. Infine, rimane da discutere la questione della realizzazione effettiva e dell’implementazione dei sistemi multi agente, tramite la strutturazione dei linguaggi di programmazione in più tipologie, che vanno da un linguaggio di tipo L5, o linguaggio di formalizzazione e specifica, ad un linguaggio di tipo L1, che è quello dell’implementazione effettiva. Tra le due classi, si trovano i linguaggi per la comunicazione tra agenti, la descrizione delle leggi dell’ambiente e la rappresentazione delle conoscenze. 5.1.4 Architetture Con riferimento alle cinque problematiche precedenti, è possibile delineare gli elementi dell’architettura d’un sistema ad agenti multipli come segue. Gli agenti devono essere dotati di svariati sistemi di decisione e pianificazione. La ricerca operativa, o teoria delle deci- 71 Simulazione di Sistemi Complessi con i MAS sioni, è una disciplina completamente dedita allo studio di questo soggetto. Nella categoria delle interazioni con l’ambiente, un altro problema ricorrente dei sistemi ad agenti è quello del path finding (insieme al suo algoritmo più conosciuto, l’algoritmo A*). Gli agenti necessitano inoltre d’un modello cognitivo: anche qui esistono diversi modelli, tra cui uno dei più classici è il modello BDI [28] (Beliefs-Desires-Intentions, cioè Convinzioni-Desideri-Intenzioni). Esso considera da una parte l’insieme delle credenze (Beliefs) dell’agente sull’ambiente in cui si trova ad operare, che sono il risultato delle sue conoscenze e delle sue percezioni, e dall’altra parte un insieme di obiettivi (Desires). Intersecando questi due insiemi, si ottiene un nuovo insieme di intenzioni (Intentions), che in seguito possono tradursi direttamente in azioni. Ancora, gli agenti devono altres essere forniti di un sistema di comunicazione. Molti linguaggi specializzati hanno visto la luce a questo scopo: il Knowledge Query and Manipulation Language (KQML), e più recentemente lo standard FIPA-ACL (ACL sta per Agent Communication Language) creato dalla Foundation for Intelligent Physical Agents FIPA (http://www.fipa.org/). Entrambi gli standard sono fondati sulla teoria degli atti linguistici, elaborata da John Searle [29]. La problematica dell’adattamento rappresenta un argomento spinoso, oggetto attualmente di numerose ricerche. Si potrebbe tuttavia citare l’esempio di alcuni virus, non solo informatici ma anche biologici, capaci di adattarsi al loro ambiente per effetto di mutazioni. Infine, l’implementazione effettiva di un sistema multiagente, se non fa parte, propriamente parlando, dell’architettura del sistema, merita di essere evocata attraverso l’esempio fornito dai numerosi linguaggi di programmazione sviluppati a scopo di ricerca nel 72 5.1 Stato dell’Arte dei MAS settore dell’intelligenza artificiale, si pensi in particolare ai linguaggi LISP e PROLOG. 5.1.5 Categorie di Agenti possibile introdurre una classificazione degli agenti secondo due criteri: agenti cognitivi o reattivi da una parte, comportamento teleonomico (comportamenti diretti e finalizzati ad uno scopo) o riflesso dall’altra. La distinzione tra cognitivo e reattivo attiene essenzialmente alla rappresentazione del mondo di cui dispone l’agente. Se il singolo agente è dotato d’una rappresentazione simbolica del mondo a partire dalla quale è in grado di formulare ragionamenti, si parlerà di agente cognitivo, mentre se non dispone che d’una rappresentazione sub-simbolica, vale a dire limitata alle percezioni, o anche una sua elaborazione che non faccia uso di sistemi simbolici, si parlerà di agente reattivo. Tale distinzione corrisponde a due scuole di pensiero relative ai sistemi multiagente: la prima sostiene un approccio basato su insiemi di agenti intelligenti collaborativi, da una prospettiva più sociologica; la seconda studia la possibilità dell’emergenza d’un comportamento intelligente di un insieme d’agenti non intelligenti (come quello delle formiche simulato dalle cosiddette ant colony). La seconda distinzione tra comportamento teleonomico o riflesso divide i comportamenti intenzionali (perseguire scopi espliciti) dai comportamenti legati a delle percezioni. Le tendenze degli agenti possono essere anche espresse esplicitamente all’interno degli agenti o al contrario provenire dall’ambiente. possibile costruire una tabella che raggruppi i differenti tipi d’agente: 73 Simulazione di Sistemi Complessi con i MAS Comportamento Teleonomico Comportamento Riflesso Agenti Cognitivi Agenti Reattivi Agenti Intenzionali Agenti Modulari Agenti Impulsivi Agenti Tropici Gli agenti cognitivi sono il più delle volte intenzionali, cioè hanno scopi prefissati che tentano di realizzare. Si possono pure trovare talvolta degli agenti detti modulari i quali, anche se possiedono una rappresentazione del loro universo, non hanno tuttavia degli scopi precisi. Tali agenti potrebbero servire ad esempio a rispondere alle interrogazioni avanzate da altri agenti su detto universo. Gli agenti reattivi possono a loro volta essere suddivisi in agenti impulsivi e tropici. Un agente impulsivo avrà una missione ben determinata (per esempio, assicurarsi che un serbatoio resti sempre sufficientemente pieno) e si comporterà di conseguenza qualora percepisca che l’ambiente non risponde più allo scopo che gli è stato affidato (il livello del serbatoio è troppo basso). L’agente tropico, dal canto suo, reagisce solo allo stato locale dell’ambiente (c’è del fuoco, io fuggo). La fonte della motivazione è nel primo caso interna (agenti impulsivi che hanno una missione), nel secondo caso è legata esclusivamente all’ambiente. 5.1.6 Tassonomia Nel corso degli anni, dal campo dell’Intelligenza Artificiale Distribuita sono stati redatte e presentate diverse tassonomie finalizzate alla descrizione funzionale e concettuale delle varie caratteristiche e le relative metriche caratterizzanti un sistema multi agente. In par- 74 5.1 Stato dell’Arte dei MAS ticolare troviamo molto esaustiva quella che Decker [30] propone che si basa su principalmente su 4 dimensioni quali: • Granularità dell’Agente (grossa vs fine) • Eterogeneità delle Conoscenza degli Agenti (rindondanza vs specializzazione) • Metodi per distribuire il controllo (cooperazione, competizione, gerarchie) • Metodologie di Comunicazione Più recentemente Paranuak nel 1996 ha elaborato invece, una tassonomia per i MAS che guarda il campo da un punto di vista maggiormente applicativo. In questo modello le caratteristiche più importanti risiedono nel caratteristiche di seguito riportate: • Funzionalità del Sistema • Architettura dell’Agente (grado di eterogeneità, reattivo o deliberativo) • Architettura del Sistema (comunicazione, protocolli, partecipazione umana) Un buon contributo di questa suddivisione logica è che le caratteristiche preservano relazioni di gerarchia tra agente e sistema. La tassonomia qui presentata è organizzata lungo il grado di eterogeneità ed il grado di comunicazione. 75 Simulazione di Sistemi Complessi con i MAS 5.1.7 Panoramica In questo sezione i sistemi ad agenti vengono distinti in 4 classi principali, le quali tendono ad accomunare i sistemi in base al capacità o meno di comunicare ed in base al loro grado di eterogeneità. In particolare nella tabella seguente sono illustrate le principali caratteristiche proprie di ogni tipologia di sistema e l’ordine di presentazione sottintende un incremento del grado di complessità sia in termini di implementazione che di potenza rappresentativa partendo dal più semplice al più completo e complesso. Tali classi saranno poi trattate specificatamente nei paragrafi successivi. Nel dettaglio nelle prossime sezioni saranno presentanti : 1. Sistemi omogenei non comunicanti 2. Sistemi eterogenei non comunicanti 3. Sistemi omogenei comunicanti 4. Sistemi eterogenei comunicanti 76 5.1 Stato dell’Arte dei MAS Sistemi omogenei non comunicanti In questo contesto tutti gli agenti presentano la stessa struttura interna sia gli scopi, la base di conoscenza e il set di possibili azioni. Sono inserite nella loro implementazioni anche procedure per la selezione del tipo di azione da scegliere per raggiungere l’obiettivo. Le sole differenze rimarcabili tra gli agenti sono identificabili nella loro struttura di sensori e le singole azioni che loro scelgono per via del fatto che sono posizionati differentemente nell’ambiente. I sistemi ad agenti afferenti a questa classe posseggono caratteristiche capacità mutuamente distribuite tra i singoli agenti e le stesse procedure decisionali, le informazioni circa gli stati interni degli altri invece sono limitate quindi non sono in grado di prevedere il comportamento degli altri. 77 Simulazione di Sistemi Complessi con i MAS Nel design dei sistemi basati su agenti è importante determinare il grado di complessità delle abilità di ragionamento dell’agente. I semplici agenti Reattivi semplicemente usano comportamenti prestabiliti, una sorta di riflesso ad una percezione che non passa per uno stato interno. Dall’altro lato troviamo invece gli agenti Deliberativi che reagiscono come riflesso di un ragionamento ( una mutazione dello stato interno) Ci sono anche tecniche prevedono un mix di reattività e deliberazione nel design degli agenti, un esempio molto importante nella letteratura scientifica è il sistema OASIS che decide quando essere reattivo o quando invece, eseguire dei piani. Altro esempio di deliberazione reattiva viene da [31], come dice lo stesso nome la tecnica è una commistione di comportamenti deliberativi e reattivi: un agente ragiona su quale comportamento eseguire sotto il vincolo che deve essere scelto in un intervallo di 60Hz. La Reactive Deliberation è stata implementata la prima volta in una piattaforma di robot calciatori [32], non fu esplicitamente pensata per i MAS ma essendo pensata per controlli in tempo reale in ambienti dinamici è stata naturalmente estesa agli scenario dei sistemi ad agenti. 78 5.1 Stato dell’Arte dei MAS Un’altra importante questione da tenere in considerazione nella costruzione di MAS è relativa alla modalità di acquisizione dell’informazione da parte dell’agente, ovvero se dare all’agente una prospettiva globale piuttosto che locale del mondo in cui esso agisce. Quando la comunicazione non è possibile, gli agenti non possono interagire con gli altri direttamente, ma essendo situati in un ambiente comune, per effetto delle social action [5] possono comunque influenzarsi in differenti modi. Possono essere percepiti dagli altri agenti, oppure cambiare lo stato interno di un agente come ad esempio nello spostarlo. Sistemi eterogenei non comunicanti In questa sezione, rispetto alla precedente, vedremo cosa succede quando i sistemi contengono agenti differenti tra loro. Aggiungere eterogeneità in dominio multi agente aggiunge un grosso potenziale alla complessità rappresentativa. L’eterogeneità si pu presentare sotto diverse forme dall’avere scopi diversi all’avere diversi domini o 79 Simulazione di Sistemi Complessi con i MAS modelli oppure azioni. Una prima sotto dimensione di questa qualità dei sistemi è la benevolenza o la competitività. Se hanno scopi diversi allora possono aiutarsi nel raggiungimento degli scopi reciproci oppure inibirsi e attivamente crearsi difficoltà a vicenda. Il grado di eterogeneità all’interno di un MAS pu essere misurato sfruttando la teoria dell’informazione attraverso l’uso dell’entropia sociale di [33]. Come nel caso dei sistemi omogenei, in questo scenario, gli agenti sono situati in posti diversi dell’ambiente e quindi quello che percepiscono è diverso e quindi ci saranno anche azioni differenti, mentre altri elementi di differenza sono rintracciabili in un diverso set di azioni, in una diversa base di conoscenza. La diversità pu anche essere riscontrata nelle diverse tipologie di apprendimento che spaziano da un set statico di istruzioni, alla capacità di comportamento adattivo che è qualcosa di assimilabile all’esperienza. Nel caso degli agenti omogenei è facile, ai fini della previsione del comportamento di un altro agente, riprodurre il suo stato interno, mentre nel caso dei sistemi eterogenei è molto più comples- 80 5.1 Stato dell’Arte dei MAS so. Senza comunicazione gli agenti sono forzati a comprendere il comportamene degli altri attraverso l’osservazione. Le azioni oltretutto possono essere interdipendenti in considerazione del fatto che le risorse necessarie potrebbero essere limitate. Un classico esempio di dominio è il problema del traffico in cui molti agenti diversi devono mandare informazioni attraverso la stessa rete e il load balancing in cui molti processi di computer o di utenti hanno un limitato tempo computazionale da sfruttare insieme agli altri. In particolare il load balancing adattivo è stato studiato come un problema di MAS permettendo a diversi agenti quale processore utilizzare in un dato momento, questo load balancing pu avvenire senza nessuna struttura centralizzata e senza comunicazione. Lo scenario trattato in questa sezione non ammette comunicazione, ci sono una enorme quantità di lavori indirizzati allo studio 81 Simulazione di Sistemi Complessi con i MAS di come agenti eterogenei possono raggiungere accordi in mancanza di comunicazione. In questo caso si parla di accordo tacito o implicito. Una forma di comunicazione non esplicita è il meccanismo di coordinamento delle formiche, ottenuto rilasciando feromone sul terreno: pur non comunicando mai direttamente con le altre formiche, applicare semplici regole su quanto percepito (in base al tipo di feromone, si seguirà la traccia per cercare il cibo, o per tornare alla tana o per evitare un luogo pericoloso) si riescono ad organizzare comportamenti sociali complessi e particolarmente ottimizzati. Quando gli agenti hanno scopi simili o eventualmente i loro scopi sono dipendenti tra loro, gli agenti possono essere organizzati in un team. Ogni agente ha un ruolo nel team, che all’interno di un sistema con previsto atteggiamento benevolente pu permettere di assegnare a differenti agenti differenti ruoli addirittura interscambiabili. Sistemi omogenei comunicanti In questa sezione analizzeremo brevemente il paradigma di modellazione che consente ad agenti simili di comunicare tra loro. L’aggiunta della comunicazione incrementa di molto il livello di possibilità implementative di un MAS, in particolare la programmazione ad agenti è basata fortemente sul concetto di interazione e questa avviene tramite comunicazione. La peculiarità di una computazione basata su interazione ha un potenziale di rappresentazione dei fenomeni complessi che finora è stata sottovalutata. Nei lavori di [4] oppure in [?] i meccanismi di emergenza che sono effetto della propagazione dell’interazione vengono trattati come punto cardine per la rappresentazione dei sistemi 82 5.1 Stato dell’Arte dei MAS complessi. Con l’aggiunta metodologica atta a completare il processo di rappresentazione e validazione di alcune tecniche di data mining, che sono finalizzate a tracciare le varie comunicazioni/interazioni (interazione tra agenti) ha portato ottimi risultati sia per ci che riguarda la classificazione dei singoli comportamenti a fini di ottimizzazione, sia a scopi predittivi sulle dinamiche globali del sistema o delle sue sotto componenti (micro, meso e macro livello). Il cambio di paradigma sta proprio nel fatto che gli agenti non vengono più considerati qualcosa di diverso dall’ambiente, ma come parte costitutiva. Le interazioni tra agenti determinano l’ambiente e cose emerge al suo interno, e questa dinamica a sua volta si reimmerge negli agenti perch l’ambiente cambia per loro opera. Con la comunicazione, gli agenti, oltre che a coordinarsi per una più proficua esecuzione di plan, sono anche in grado di usare intelligenza simbolica, condividere significati ed accrescere il loro livello di conoscenza, tanto che a questo punto il fatto di essere agenti sociali permette di definire il capitale culturale di una popolazione di agenti. Lo scenario dei sistemi multi agente omogenei con la possibilità di comunicare l’un l’altro è presentato nella figura seguente. 83 Simulazione di Sistemi Complessi con i MAS La comunicazione pu essere broadcast, narrower oppure postata su una blackboard condivisa da tutti. La comunicazione pu avvenire direttamente tipo nel caso di una riposta ad una domanda in cui l’agente richiedente R, chiede all’agente informatore I un elemento necessario per la risoluzione di un piano. L’agente I puo’ attingere alla sua base di conoscenza chiedere ad un agente specializzato il tipo di informazione richiesta da R rispondere con una informazione reputazionale (acquisita ma non verificata).Ovviamente la comunicazione implica diverse specifiche di implementazione di cui tener conto durante la fase di progettazione. Una caratteristica molto importante degli ambienti comunicanti passa sotto il nome di Distributed Sensing che è la capacità di elaborare input proveniente da fonti diverse come nel lavoro di Matsuyama [34] che presenta la ricostruzione visuale di una scena per l’estrazione di semantica da più telecamere. Un elemento molto forte da tenere in considerazione è la semantica condivisa dell’informazione che è strettamente connessa a come viene rappresentato ed interpretato il contenuto di una comunicazione. E’ possibile scambiare informazioni su cosa è stato percepito per 84 5.1 Stato dell’Arte dei MAS una maggiore consistenza del dato oppure è possibile per gli agenti comunciare i propri stati mentali. Sistemi eterogenei comunicanti Cosa succede quando agenti implementati con diverse caratteristiche sono in grado di comunicare? Quali reali potenzialità è in grado di sviluppare un tale approccio software? Quali sono gli accorgimenti da tener presente durante la fase di progettazione? Quale è in questo contesto cosi eterogeneo il ruolo della cooperazione nella formazione di strategie? Come si riflette la cooperazione sull’apprendimento del singolo agente? 85 Simulazione di Sistemi Complessi con i MAS 86 5.1 Stato dell’Arte dei MAS Linguaggi Dichiarativi I linguaggi dichiarativi, provenendo direttamente dal background scientifico della logica ne ereditano un forte orientamento verso il formalismo, Come nel caso specifico di FLUX, Minerva, Dali, e ResPect., altri linguaggio dichiarativi sono derivati da altri formalismi come CLAIM che era inizialmente concepito come uno strumento che dovesse dare supporto al calcolo computazionale. I più consueti linguaggi imperativi sono facilmente integrabili con quelli dichiarativi. CLAIM CLAIM (Computational Language for Autonomous, Intelligent and Mobile Agents ) CLAIM è un linguaggio dichiarativo di alto livello orientato agli agenti ed è’ una componente di un framework di sviluppo chiamato Himalaya (Hierarchical Intelligent Mobile Agents for building Largescale and Adaptive sYstems based on Ambients). In s il linguaggio è un mix che offre da un lato i vantaggi che derivano dall’essere orientato agli agenti che permette una rappresentazione formale di aspetti cognitivi e del ragionamento, dall’altro lato tutti i vantaggi provenienti dai linguaggi concorrenti basati sull’algebra. CLAIM è un linguaggio che trova origine nel ambient calculus e gli agenti sono organizzati gerarchicamente al fine di permettere lo sviluppo di MAS mobili: un’insieme di gerarchie di agenti connessi tra loro da essere poi istanziati in una rete di computer. Nello specifico, ogni agente contiene elementi cognitivi (capacità, attitudini, scopi, basi di conoscenza), processi e sotto agenti ed è nello stesso tempo dotato 87 Simulazione di Sistemi Complessi con i MAS di mobilità tra una gerarchia e l’altra. Un agente pu anche acquisire durante la computazione componenti sia di intelligenza che potenza computazionale dai suoi sotto agenti, una sorta di ereditarietà. La mobilità e l’ereditarietà, come definiti in Himalaya, permettono lo sviluppo di sistemi adattivi e riconfigurabili, non a caso le primitive degli agenti sviluppati con CLAIM sono gli aspetti cognitivi, l’interazione, la mobilità e la riconfigurazione. La semantica operazione di CLAIM è derivata direttamente dalla struttura operazione di Plotkin che consiste in una relazione di transizione da uno stato iniziale ad uno stato successivo risultante da un’esecuzione di un’operazione atomica. Come Mobile MAS all’interno di Himalaya, è sviluppato su una serie di computer connessi, il linguaggio CLAIM è supportato da una piattaforma distribuita chiamata SyMPA che ha tutti gli strumenti necessari per la gestione degli agenti: comunicazione, mobilità, sicurezza, fault-tolerance e load balancing. SyMPA è sviluppato in Java ed è compatibile con le specifiche di MASIF [37] standard dell’ OMG (Object Management Group). Himalaya è stato impiegato per lo sviluppo di diverse applicazioni che ne mostrano chiaramente la robustezza, la potenza della semantica e la forza della piattaforma: applicazioni per la ricerca di informazione nel web, molte applicazioni di commercio elettronico, applicazioni per la condivisione di risorse. FLUX FLUX è un linguaggio di programmazione di alto livello pensato per lo sviluppo di agenti cognitivi. E’ un’applicazione del Fluent Calcu- 88 5.1 Stato dell’Arte dei MAS lus, un formalismo per la rappresentazione delle azioni che fornisce una soluzione base al classico frame problem usando il concetto assiomatico di aggiornamento di stato, incorporando allo stesso tempo una grande varietà di aspetti nel reasoning sulle azioni come la ramificazione ( effetti indiretti di un’ azione), qualificazioni ( fallimenti inaspettati delle azioni), azioni non deterministiche, azioni concorrenti. Un programma in FLUX è il risultato di una programmazione logica tripartita: il kernel che fornisce all’agente la capacità cognitiva per ragionare riguardo i suoi piani e le sue azioni e per la percezione dei dati dai sensori, una teoria sottostante che provedde alla rappresentazione interna del mondo, e una strategia specifica orientata al task da compiere. La piena potenza della programmazione logica pu essere utilizzata per la pianificazione di strategie. MINERVA Sulla scia di FLUX, Minerva è un sistema ad agenti progettato per fornire un ambiente comune per gli agenti basato sulla forza della Programmazione Logica per permettere la combinazione di meccanismi non monotoni per la rappresentazione della conoscenza e del ragionamento. Minerva usa MDLP e KABUL per istanziare agenti e i loro rispettivi comportamenti. Un agente Minverva consiste di diversi sotto agenti specializzati, possibilmente concorrenti, che svolgono di versi task, ed il loro comportamento è specificato in KABUL, mentre la lettura e manipolazione della conoscenza condivisa è implementata con MDLP. 89 Simulazione di Sistemi Complessi con i MAS MDLP (Multi-Dimensional Dynamic Logic Programming) il meccanismo per la rappresentazione della conoscenza di base di un agente in Minerva, dove la conoscenza è rappresentata come un insieme di regole logiche organizzate in digrafi aciclici. In questi digrafi, i vertici sono insiemi di programmi logici e gli archi rappresentano le relazioni tra i programmi. KABUL KABUL (Knowledge And Behavior Update Language) è la recente evoluzione di EVOLP, ed è un linguaggio sempre in stile di programmazione logica che permette la specifica e l’aggiornamento della base di conoscenza stessa. Un programma in Kabul è un set di istruzioni nella forma condizione-azione che pu essere considerata come una codifica del comportamento dell’agente. L’effetto epistemico di una azione pu essere sia un aggiornamento della base di conoscenza dellagente, rappresentata da un programma MDLP, oppure un auto aggiornamento al programma KABUL, cosi da cambiare il comportamento dell’agente durante il tempo. Le condizioni che determinano l’azione scaturiscono dall’ osservazione dell’esterno, dallo stato epistemico dell’agente e anche dall’esecuzione concorrente delle azioni. Questa struttura di dipendenze dell’azione permette combinazione di agenti con comportamenti reattivi e proattivi nel senso che non necessariamente c’è bisogno di stimoli esterni per avviare un’azione o un comportamento dell’agente perchè possono essere anche scatenate da elementi di razionalità forniti dalla sottostante rappresentazione della conoscenza in MDLP. 90 5.1 Stato dell’Arte dei MAS DALI DALI è un linguaggio di Active Logic Programming progettato per la specifica di esecuzioni di agenti logici. Usa le Clausole di Horn e la sua semantica è basata sull’ultimo modello di Herbrand.. Fornisce nel suo insieme costrutti atti a rappresentare la reattività e la proattività attraverso regole. Un agente DALI è un programma logico che contiene regole reattive, eventi e azioni orientate all’interazione con l’ambiente esterno Il comportamento attivo o proattivo di DALI è scatenato da diversi tipi di eventi : esterni, interni, eventi presenti e passati. ReSpecT ReSpecT è sempre un linguaggio logico con una semantica formale che consente la definizione di reazioni espresse in termini di regole. Una regola in ReSpecT è una testa che specifica una comunicazione di evento che provoca la reazione e un corpo che specifica quale azione è eseguita quando è scatenata la reazione. Quando un’azione fallisce, la reazione automaticamente fallisce e tutti i suoi effetti sono annullati. Il comportamento coordinato pu essere aggiornato a runtime cambiano la definizione delle reazioni. 5.1.8 Linguaggi Imperativi L’uso degli approcci puramente imperativi nella programmazione orientata ad agenti è meno comune principalmente per il fatto che la maggior parte delle astrazioni connesse alla progettazione dei MAS sono di natura tipicamente dichiarativa. Nonostante ci si trova nel 91 Simulazione di Sistemi Complessi con i MAS panorama tecnologico applicazioni che impiegano linguaggi imperativi, non esplicitamente orientati agli agenti, per lo sviluppo si sistemi multi agente. JACK JACK è stato implementato e rilasciato da una compagnia privata chiamata Agent Oriented Software, tale piattaforma si basa sul linguaggio di tipo BDI (Believes Desires Intentions) chiamato JAL. JAL non è un linguaggio logico ma piuttosto un’estensione Java contenente un insieme di costrutti sintattici (come le variabili logiche) che permettono ai programmatori di creare piani, credenze tutto in modalità grafica grazie al fatto che JAL presenta una sofisticata interfaccia grafica con una serie di tools appositamente progettati per una programmazione visuale. In JAL i piani possono essere composti da metodi di ragionamento e raggruppati in capacità che una volta sottese alla stessa classe funzionale creano una specifica abilità dell’agente, tale approccio permette una forte modularità insita nel linguaggio. Un’altra peculiarità di JAL risiede nella possibilità di gestire squadre o organizzazioni di agenti che rappresenta sia un avanzamento dal punto di vista della pura progettazione ingegneristica sia perch permette di sviluppare sistemi auto organizzanti, i quali stanno diventando sempre più numerosi. JAL non possiede tuttavia una semantica formale, ma nonostante questa sostanziale mancanza, è stato utilizzato in una vastità di applicazioni industriali sia nella ricerca, ha una licenza di prova gratuita che pu essere ottenuta sul sito della società produttrice. 92 5.1 Stato dell’Arte dei MAS 5.1.9 Approcci Ibridi Nelle sezioni precedenti abbiamo visto i principali approcci formali usati dai linguaggi per lo sviluppo di sistemi software basati su agente. Entrambi gli approcci forniscono diverse peculiarità e allo stesso tempo sono sprovvisti di specifiche di cui è provvisto invece l’altro approccio. Tale situazione ha chiaramente aperto la strada a tentativi di fusione che permettessero di sfruttare entrambi gli approcci in un paradigma complementare. Questo tentativo di fusione tecnologica sotteso alla ricerca di una complementarietà tra gli approcci ha dato vita a sistemi di sviluppo e linguaggi che passano sotto il nome di approcci ibridi. I linguaggi di programmazione afferenti a questa classe sono tendenzialmente linguaggi dichiarativi che incorporano specifici costrutti che permettono l’uso di linguaggi imperativi. In questa sezione procederemo a descrivere una selezione significativa di questi linguaggi: 3APL, Jason, IMPACT, Go!, e AF-APL. 3APL 3APL (An Abstract Agent Programming Language triple-a-p-l) è un linguaggio di programmazione per l’implementazione di agenti cognitivi che possiedano credenze, scopi e piani per realizzarli insieme ad attitudini mentali che possano generare, rivedere i loro piani per raggiungere i propri scopi. Le azioni sono la componente atomica di 3APL che permette l’interazione tra un agente e l’altro e tra l’agente e l’ambiente. Il linguaggio in questione è stato ideato ad Utrecht da Hindriks e dalla sua prima ideazione è sottoposto a continui sviluppi ed ampliamenti. Una delle features più importanti del linguaggio risiede nei costrutti di programmazione che permettono 93 Simulazione di Sistemi Complessi con i MAS l’implementazione di attitudini mentali di un agente come il processo deliberativo. In particolare è consentito la specifica diretta delle Credenze, dei Piani, degli Scopi, delle Azioni e regole di ragionamento e comunicazione. I costrutti orientati alla deliberazione permettono di implementare piani e azioni attraverso le quali la base di conoscenza di un agente pu essere aggiornata e attraverso cui l’ambiente condiviso pu essere modificato. 3APL è progettato tenendo conto di una serie di principi ereditati dall’ingegneria del software come la separazione dei concetti, la modularità, l’astrazione ed il riuso. Supporta anche nativamente Prolog e Java. E’ stato utilizzato sia in una serie di applicazioni prototipali come le aste in inghilterra, per il blocks problem, sia in sistemi di alto livello per il controllo dei robot come nel SONY AIBO. JASON JASON è un interprete per una versione estesa di AgentSpeak, un linguaggio di programmazione logico orientato allo sviluppo degli agenti pensato da Rao. Il linguaggio è influenzato dai lavori sul paradigma architetturale BDI. La semantica implementata in Jason permette una serie di features quali: comunicazione basata speechact, annotazioni di label sui piani, totalmente modificabile in Java, funzioni di trust. IMPACT IMPACT è un sistema implementato da Subrahmanian, con lo scopo principale di fornire un framework per costruire agenti con la massima eterogeneità di conoscenza, in modo da trasformare il codice lega- 94 5.1 Stato dell’Arte dei MAS cy in agenti che possono comunicare ed agire. IMPACT fornisce infatti, la nozione di un agente come di un programma di un linguaggio concepito a chiamata di funzione. Una chiamata di funzione pu essere vista come un incapsulamento che rappresenta logicamente le condizioni e le domande prodotte dal codice. Queste vengono utilizzate come clausole e determinano i limiti sulle azioni che possono essere intraprese dagli agenti. Le azioni in IMPACT usano nozioni deontiche come obbligatorietà, permesso, divieto. Tali agenti e la loro semantica è basata sulla nozione di insieme di stato razionale che sono generalizzazioni di modelli stabili nella programmazione logica. La piattaforma IMPACT fornisce un insieme di peculiarità orientate allo sviluppo di agenti su rete, un servizio di rintracciamento molto simile alle pagine gialle, includendo anche ragionamento probabilistico temporale. URL: http://www.cs.umd.edu/projects/impact/ GO! GO! è un linguaggio di programmazione multi paradigmatico con da un lato, un insieme di funzioni dichiarative e definizioni di relazione, e dall’altro un set di funzioni imperative comprensive di definizioni di azioni e un ricco meccanismo di strutturazione. Basandosi sulla programmazione simbolica del linguaggio April GO! Implementa la rappresentazione della conoscenza in un formalismo logico, possiede una robusta gestione del multithread, è fortemente tipizzato e di alto livello (in termini di programmazione funzionale). Ereditando da April la gestione dei thread che implementano meccanismi di azione, reazione ai messaggi ricevuti e regole annesse. Un demone addetto alla comunicazione abilita thread differenti a comunicare in maniera 95 Simulazione di Sistemi Complessi con i MAS trasparente sopra una rete. Ogni agente, generalmente contiene un insieme di thread ognuno dei quali pu comunicare con i thread degli altri agenti. AF-APL Agent Factory Agent Programming Language (AF- APL) è il linguaggio di programmazione che riesiede nel cuore di Agent Factorty. AF-APL è stato originariamente basato su Agent-OrientedProgramming, successivamente esteso con i concetti BDI. La sintassi e la semantica sono derivate da un modello logico che vede un agente come una sequenza di azioni. Il modello, nello specifico, definisce lo stato mentale come composto di due parti primarie (attidudini mentali) : credenze e commitments. L’insieme delle credenze è caratterizzato da una serie di dichiarazioni relative all’ambiente. Gli agenti sono situati, nel senso che il programmatore dichiara esplicitamente, per ogni agente, un insieme di sensori (perceptors) collegati ad una serie di effettori (actuators). I percettori sono istanze di classi Java che definiscono come i dati percepiti dai sensori debbano essere convertiti in credenze che poi possano essere aggiunte al set di credenze dell’agente. Un attuatore è ugualmente un’istanza di classe Java che ha due principali responsabilità - Definire l’identificativo dell’azione che dovrebbe essere usata quando ci si riferisce all’azione che è realizzata dall’attuatore - Contenere codice per implementare l’azione 96 5.1 Stato dell’Arte dei MAS 5.1.10 Framework e Piattaforme ad Agenti Molti dei linguaggio riportati in questo documento sono sviluppati su di piattaforme che ne implementano la semantica, ma possiamo trovare anche piattaforme che non sono appositamente pensate per un particolare tipo di linguaggio, ma piuttosto si concentrano sulla comunicazione e il coordinamento tra agenti. In questa sezione è presentata una selezione di framework che descrive TuCSoN, JADE e DESIRE come esempi illustrativi. TuCSoN TuCSoN che sta per Tuple Center Spread Over Network, è un framework per lo sviluppo della coordinazione nei MAS, basata su di una infrastruttura generica che fornisce tools per la comunicazione e la coordinazione. Il modello è basato sul tuple centres come un’astrazione programmabile a run-time per la sincronizzazione dei comportamenti degli agenti. La gestione di queste features è delegata a ReSpecT, un linguaggio di programmazione logica. Le Tuple Centeres sono esempi di artefatti di coordinazione (entità di prim’ordine che popolano l’ambiente cooperativo degli agenti, condiviso e usato collettivamente. Questa astrazione è usata anche nella metodologia SODA. La tecnologia dietro TuCSoN è disponibile presso il sito del progetto (tucson.sourceforge.net). E’ completamente sviluppato in Java ed è composto da: una piattaforma run-time; un’insieme di librerie per permettere l’accesso degli agenti ai servizi e per l’accesso ai meccanismi di coordinamento. Il core della piattaforma risiede in tuProlog, un motore a regole basato su prolog completamente inte- 97 Simulazione di Sistemi Complessi con i MAS grato in un ambiente java. TuCSoN è molto utilizzato negli ambienti di ricerca in particolare per la costruzione di modelli per il workflow management, logistica e e-learning; allo stesso tempo usata come uno dei punti di riferimento per costruire progetti accademici agent-based usato alla facoltà di ingegneria di Cesena e Bologna. JADE JADE (Java Agent Devolpment Framework) (Poggi e Bergenti) è un framework Java per lo sviluppo distribuito di applicazione multi agente. E’ un middleware ad agenti che fornisce una serie di servizi di facile accesso e molti tool grafici per il debug ed il testing. Uno dei principali obiettivi ella piattaforma è supportare l’interoperabilità aderendo strettamente agli standard FIPA riguardo alle architetture di comunicazione. Inoltre Jade è molto flessibile e pu essere adattata per funzionare su hardware con risorse limitate come PDA e smart phone. JADE è stato diffusamente impiegato negli ultimi anni sia per progetti di ricerca sia per applicazioni industriali, uno dei casi industriali più importanti che ben rappresenta la potenza di questa piattaforma è il sistema di supporto alle decisioni per il trapianto di organi per la Whitestein, che ne mostra chiaramente la robustezza e l’efficienza. La piattaforma è rilasciata con licenza GPL e distribuito dai Tilab (Telecom Italia LABoratories), dal 2003 è stata istituita la JADE Board come ente referente e responsabile per la gestione del progetto che attualmente consiste di 5 membri: TILAB, Motorola, Whitestein Technologies, Profactor e France Telecom. URL: http://jade.tilab.com/ 98 5.1 Stato dell’Arte dei MAS JADEX JADEX è un framework software per la creazione di agenti orientati allo scopo che implementando il modello BDI. E’ stato sviluppato come un layer razionale che governa una piattaforma middleware ad agenti (tra cui JADE, di cui inizialmente era l’estensione BDI), e supporta lo sviluppo ad agenti con tecnologie standard internazionali come Java ed XML. Il motore di ragionamento di Jadex sorpassa alcuni limiti dell’approccio BDI fornendo concetti come i goal espliciti e il meccanismo di delibera degli obiettive, rendendo molto più semplice il trasferimento dalla progettazione (KAOS o TROPOS) alla fase di implementazione. JADEX è fortemente usato nelle simulazioni in particolare quelle sociali (Repage Quattrociocchi 2007), nello scheduling e nel mobile computing. DESIRE DESIRE (Design and Specification of Interacting REasoning components) è una composizione di metodi di sviluppo per sistemi multi agente basato sulla nozione di architettura componibile formulata da Treur. In questo approccio il design di un agente è basato sui seguenti aspetti: composizione dei processi, composizione della conoscenza e relazioni tra conoscenza e processi. La computazione secondo questo approccio è costituita dall’interazione tra i componenti che rappresentano i sotto processi di tutto il processo di ragionamento dell’agente. Il processo di ragionamento è strutturato in base al numero di componenti che interagiscono tra loro. I componenti possono o non possono essere composti da componenti, dove in particolare i 99 Simulazione di Sistemi Complessi con i MAS componenti che non possono essere a loro volta decomposti vengono detti primitivi. La funzionalità globale di questo sistema è basata su queste primitive con l’aggiunta della composizione di relazione che coordina la loro interazione. Ad esempio la specifica della relazione di composizione pu coinvolgere la possibilità di scambio informativo tra i componenti e la struttura di controllo che li attiva. DESIRE è stato usato per applicazioni di load balancing per la fornitura di corrente elettrica e per la diagnostica. Tutti i sistemi qui descritti sono orientati allo sviluppo, ma ultimamente ci si sta focalizzando sempre di più per ridurre il gap tra progettazione e sviluppo attraverso l’uso di metodologie di implementazione e rappresentazione dei vari meccanismi del MAS. Alcuni esempi di questa tendenza sono reperibili in IGENIAS e nel suo Kit di sviluppo oppure in MaSE e nel suo AgentTool. 5.2 Stato dell’Arte della Simulazione Basata su Agente La Simulazione Basata su Agente (meglio nota nella denominazione inglese Agent-Based Simulation: ABSS) consiste nel costruire modelli di società di agenti artificiali (di scala variabile e di variabile complessità), nel trasferire questi modelli su programmi che girano sul calcolatore, nell’ osservare “i comportamenti” di queste società e possibilmente nel tradurre queste osservazioni in valori, ossia in dati quantitativi elaborati statisticamente. Il settore si definisce in base ad uno specifico approccio teorico- 100 5.2 Stato dell’Arte della Simulazione Basata su Agente epistemologico, metodologico, tecnico, che produce conoscenze trasferibili in una varietà di ambiti applicativi. Sul piano epistemologico, l’approccio in questione è caratterizzato dall’assunzione che i dati artificiali permettono di costruire teorie utili per affrontare problemi della realtà. Ci non equivale ad estrapolare direttamente dai dati del mondo virtuale a quello reale. La simulazione produce teorie testate artificialmente di fenomeni rilevanti per la conoscenza e la trasformazione della realtà. L’approccio teorico nasce dall’integrazione di diversi grandi indirizzi come la teoria dinamica dei sistemi, la teoria della razionalità e gli Automi Cellulari, e più recentemente la teoria degli agenti. E’ fortemente caratterizzato in senso formale e computazionale e mira ad esplorare come interagiscono diversi livelli della realtà (per esempio, quello degli individui e quello dei gruppi, delle coalizioni, delle organizzazioni ecc.). A differenza della teoria della decisione razionale, si basa sull’assunzione di agenti: • eterogenei: diversi l’uno dall’altro • complessi: con strutture interne (conoscenze e meccanismi di regolazione) più o meno complesse • adattivi: capaci di apprendimento sulla base di eventi esterni (fisici e sociali) • flessibili: capaci di rispondere in modo diversificato al variare di condizioni esterne, capaci di desistere da comportamenti inutili e (auto)distruttivi • versatili: dotati di strategia e regole concorrenti che potenzino l’efficienza e il carattere multiuso degli agenti. 101 Simulazione di Sistemi Complessi con i MAS A questo occorrerebbe aggiungere anche caratteri di sensibilità, credibilità, interattività, e infine l’emotività e la personalità, che attualmente costituiscono settori specifici d’espansione delle metodologie emulative (riproduzione realistica degli agenti reali) nel campo dell’animazione e degli attori sintetici. Sul piano metodologico, ABSS è un approccio computazionale che mira a: • provare in modo rapido ed efficiente le proprietà e la performance di un sistema artificiale (come accade invece nell’Intelligenza Artificiale); • visualizzare in laboratorio (sul computer) gli effetti sul mondo (artificiale) del sistema costruito (gli agenti e le loro azioni sull’ambiente sociale e fisico). La visualizzazione include la manipolazione di caratteristiche del sistema (del modello di sistema), e la registrazione degli effetti conseguenti. Si tratta quindi di una metodologia esplorativo-sperimentale. Sotto il profilo tecnico, la simulazione si serve di un computer (o più) sul quale gira un programma adatto per la simulazione (da C++ a Java) nonch dotato di una buona interfaccia grafica per la visualizzazione dei risultati, e di un programma per l’elaborazione di statistiche sui dati. Vi sono piattaforme simulative concorrenziali (Swarm, SDML, MIMOSE, PART-Net, ed altri). I vantaggi rispettivi di queste piattaforme sono analizzati in molti lavori. Sotto il profilo applicativo, occorre partire da una constatazione elementare. La simulazione consente l’esplorazione e la manipolazione di modelli di praticamente infiniti fenomeni sociali e ambientali. 102 5.3 Simulazione Sociale Qualunque fenomeno pu essere riprodotto in un computer, almeno in linea di principio. E’ evidente che vi sono limiti e difficoltà relative ai diversi fenomeni. In particolare, vi sono problemi relativi alla verifica della robustezza dei modelli e quindi alla manipolazione (assegnazione di valori diversi alle variabili che rappresentano le dimensioni di cambiamento) del sistema osservato. Più è semplice il modello e più è attendibile, almeno più è verificabile. Ma più è semplice un modello, e meno realistico o rilevante è spesso il fenomeno visualizzato, soprattutto quando sono troppo semplici gli agenti simulati, fino al punto di azzerare una o più delle caratteristiche di intelligenza, autonomia, eterogeneità elencate in precedenza. Sulle potenzialità applicative torneremo in seguito. Rispetto a questi problemi e difficoltà, la pratica della simulazione suggerisce alcuni rimedi; fra gli altri, l’utilizzazione di piattaforme e modelli di agenti versatili, che possano essere utilizzati per obiettivi diversificati; l’elaborazione interdisciplinare dei modelli simulativi; il confronto, ove possibile, con dati reali (studi cross-metodologici). 5.3 Simulazione Sociale ABSS è un settore di ricerca fortemente interdisciplinare nel quale cooperano tutti coloro i quali sono interessati ai fenomeni complessi, fisici e sociali, alle proprietà di organizzazione e auto organizzazione dei sistemi complessi, alla previsione, monitoraggio, pianificazione, regolazione e governance di questi sistemi, o alla semplice esplorazione e spiegazione di questi fenomeni. Operano nell’ambito della simulazione basata su agenti coloro 103 Simulazione di Sistemi Complessi con i MAS che sono interessati a fare previsioni sulle tendenze di cambiamento, a monitorare gli effetti delle innovazioni (culturali, economiche, tecnologiche e istituzionali), l’introduzione di nuove misure, politiche e ordinamenti, nella realtà socio-economico-istituzionale esistente. Sono inoltre interessati alla simulazione coloro che progettano o ottimizzano sistemi di produzione, di comunicazione, interazione e organizzazione (reti e tecnologie informatiche). Economisti, scienziati sociali, fisici e teorici della complessità, filosofi analitici, designer e scienziati di tecnologie informatiche, scienziati dell’artificiale, scienziati cognitivi. Un impulso decisivo all’espansione di ABSS viene da coloro che studiano l’evoluzione dei sistemi (complessi), biologi, etologi, evoluzionisti, studiosi di AL, socio-biologi e studiosi di evoluzione culturale, psicologi evoluzionisti. La simulazione serve per prevedere il futuro cos come per capire la traiettoria evolutiva di processi e fenomeni nel passato, la formazione e la dissoluzione di sistemi. Storici, archeologi, paleontologi sono fra gli studiosi attualmente più interessati alla simulazione con agenti. Infine se ne occupano geografi e climatologi, specie quelli che si riconoscono in un approccio integrato alle questioni ambientali, allo sviluppo sostenibile sia sul piano ambientale che economico, sociale e culturale. La ABSS non s’identifica con la scienza dei sistemi (dinamici) complessi, anche se la complessità è certamente una questione importante allo studio dell’approccio simulativo. D’altro canto, non si identifica con l’approccio computazionale dei fenomeni sociali basato su modelli formali dell’azione razionale (come la game theory). Mira piuttosto all’adozione e all’elaborazione di modelli di agenti autonomi ed eterogenei, dotati di strutture interne e di capacità di 104 5.3 Simulazione Sociale adattamento e di apprendimento, per lo studio di fenomeni complessi, nei quali l’agente, le sue strutture e i suoi processi mentali costituiscono un livello specifico e un fattore di complessità, di cui occorre tener conto. In primo luogo, la simulazione mira alla visualizzazione (riproduzione su computer) e alla manipolazione sperimentale delle variabili del sistema costruito. In secondo luogo, è un approccio basato su agenti: ci permette di esplorare e manipolare gli effetti dell’azione di sistemi intelligenti (di per s in qualche misura complessi) sulla realtà osservabile. In terzo luogo, e di conseguenza, la simulazione basata su agenti non si limita allo studio delle proprietà emergenti all’auto organizzazione dei sistemi complessi, ma ha una portata conoscitiva e applicativa più ampia, relativa alla gamma dei fenomeni a cavallo fra governance (governo dei processi di trasformazione dei sistemi complessi attraverso disegno di politiche e propagazione di meccanismi di regolazione distribuiti) ed auto organizzazione. Fondamentalmente, si tratta di un approccio che serve a monitorare l’introduzione deliberata di nuove misure, politiche e ordinamenti, istituzioni e organizzazioni, cos come ad esplorare le tendenze evolutive (o involutive) spontanee dei sistemi. Inoltre, la simulazione non necessariamente applica modelli prescrittivi delle azioni e dell’agente più o meno razionale. Si basa su modelli di agenti di variabile complessità, con caratteristiche mentali e capacità di apprendimento ed adattamento diversificate (utili agli obiettivi della simulazione). L’approccio ABSS serve allo studio esplorativo-sperimentale e alla visualizzazione di fenomeni in società artificiali. Dal punto di vista conoscitivo, favorisce la modellazione dei meccanismi sottostanti ai 105 Simulazione di Sistemi Complessi con i MAS fenomeni che si vogliono osservare. ABSS viene solitamente adottato nello studio dei seguenti fenomeni e processi: • evoluzione della reciprocità, dell’altruismo e della cooperazione • emergenza di fenomeni di auto organizzazione • evoluzione e involuzione di forme culturali e di interi gruppi sociali • emergenza di mercati e di istituti economici • differenziazione sociale, formazione di coalizioni e di gerarchie • propagazione di opinioni • segregazione sociale, ecc. Per quanto riguarda il trasferimento di ABSS alla società e all’impresa, questo si muove fra tre grandi poli: ambiente, società, produzione (sviluppo tre volte sostenibile), e con due funzionalità: monitoraggio, o esplorazione di andamenti e processi, e effettiva implementazione o incorporazione delle tecniche e metodologie simulative nella produzione di beni e servizi. 106 Capitolo 6 Interazione nella Classificazione e Previsione dei Sistemi Complessi 6.1 Introduzione Dopo aver introdotto nei capitoli precedenti il panorama dei sistemi complessi, il suo intersecare il percorso di molte discipline, e avendo presentato i sistemi multi-agente ed il data mining, che sono gli elementi costituenti del framework di indagine dei sistemi complessi, oggetto di questo lavoro, in questa sezione verrà presentata formalmente la metodologia e successivamente saranno discussi alcuni esempi di applicazioni su problemi scientifici reali. Come già ampiamente detto nei capitoli precedenti, il metodo scientifico, pur presentando strumenti formalmente rigorosi per la una corretta formulazione di una teoria scientifica, presenta dei 107 Interazione nella Classificazione e Previsione dei Sistemi Complessi limiti. Primo problema: L’osservazione è oggettiva o soggettiva?. Uno stesso fenomeno pu essere osservato da più punti di vista e con differenti preconoscenze che influenzano l’osservazione. Non dimentichiamo che la scienza stessa è frutto di un processo umano, ovvero la classificazione che il sistema complesso uomo elabora, attraverso un processo cognitivo, del sistema complesso di cui lui stesso è entità interagente: l’universo e l’intellegibile. Secondo problema: Gli anelli di retroazione non sempre le leggi di causa-effetto seguono relazioni semplici e lineari; a volte, specie in biologia, gli effetti di un evento agiscono sulle cause che li hanno determinati, o divengono a loro volta causa di altri fenomeni. Il primo caso applicativo reale degli interaction pattern è avvenuto nell’ambito di un progetto europeo GeoPKDD che è orientato all’estrazione di conoscenza dalle traiettorie di veicoli. Questo lavoro fa riferimento alla tentativo di classificare e predire il comportamento di individui pericolosi nel traffico che fa riferimento ad un articolo recentemente pubblicato nell’ambito di un progetto europeo [4], in cui vi è una vera e propria trattazione della metodologia di classificazione basato sul tracciamento dell’interazione. Ovvero, gli individui vengono catalogati come serie spazio temporali di interazioni in relazione agli individui afferenti al loro stesso gruppo. 108 6.2 Modellando L’Interazione 6.2 Modellando L’Interazione 6.3 Origini Metodologiche In generale si contemplano due approcci fondamentali per la classificazione, in senso statistico, su dati complessi: la classificazione statistiche e quella strutturale. Ciascun approccio impiega differenti tecniche per i task di descrizione e classificazione che costituiscono l’estrazione dei pattern. Classificazione Statistica deriva da solidi e confermati concetti della teoria statistica delle decisioni strumenti per discriminare dati provenienti da differenti fonti basati su raggruppamenti di tipo quantitativo. La natura quantitativa della classificazione statistica, in ogni caso, rende difficile il processo di discriminazione laddove le caratteristiche morfologiche e strutturali del sistema sono invece semanticamente rilevanti. Questo limite ha portato allo sviluppo per un approccio strutturale. Classificazione Strutturale, chiamata anche estrazione sintattica di pattern poichè affonda le sue radici nella teoria dei linguaggi formali, si costituisce su regole strutturali per discirminare dati provenienti da fonti differenti, raggruppandoli per relazioni e interconessioni di tipo morfologico. Data questa caratteristica concettuale, la classificazione strutturale si è dimostrata molto efficace nella classificazione di dati aventi un’organizzazione inerente ed idenfiticabile, come ad esempio i dati di tipo immagine che sono organizzati per locazione all’interno di un rendering grafico, serie storiche. L’utilità dei sistemi di classificazione di tipo strutturale, in ogni caso, è limitato dal punto di vista della descrizione e modellazione del task di 109 Interazione nella Classificazione e Previsione dei Sistemi Complessi classificazione. La descrizione di un sistema di classificazione strutturale è difficile perchè non esiste una soluzione generale ed univoca per l’estrazione di proprietà di derivazione strutturale dai dati che si rivela particolarmente svantaggioso dove non si conosce esattamente la distribuzione e la topologia semantica di interazione dei dati. Al momento non esiste ancora una metodologia stabilita nella definizione di queste invarianti. La risposta a questo problema generalmente consiste nel design di primitive molto semplici ed altamente generiche ma della quali non si conosce la reale valenza dal punto di vista di estrazione semantica. Nessuno dei due schemi è ottimo. Le primivite semplici sono indipendenti dal dominio, ma catturano solo un porzione della totalità delle informazioni derivabili dalla strutturae e oltretutto pospone temporalmente una profonda interpretazione D’altro canto le primitive derivanti da domini applicativi specifici devono essere sviluppate con il supporto di un esperto di dominio, ma la formalizzazione della conosocenza di dominio necessaria pu essere un compito difficile e spesso non sempre soddisfacente. Per superare la serie di limitazioni sopramensionate, un approccio che sia dominio indipendente si rivela indispensabile. Un approccio che sia capace di estrarre e catturare features morfologiche e sia in grado di classificare senza appaggiarsi a qualsiasi tipo di conoscenza di dominio. Un approccio ibrido che impieghi la classificazione statisticha per discriminare features di tipo morfologico sembra essere una soluzione naturale. 110 6.3 Origini Metodologiche 6.3.1 Modellando Dinamica e Interazione Un’entità pu essere considerata come una variazione temporale di fenomeni interattivi. Ogni insieme di oggetti che coesiste in uno spazio comune essenzialmente costituisce un sistema complesso dinamico dove ogni oggetto agisce sotteso alle regole che il sistema stesso genera, interferendo con esse, interagendo con le altre entità. Questo spazio di interazione è un fenomeno di gruppo che ha un ruolo significativo nel determinare le caratteristiche intrinseche della dinamica di un sistema e dovrebbere essere modellato in modo da tracciare l’interazione. La semantica sottostante il comportamento delle dinamiche del sistema e delle sue componenti scaturisce dal fenomeno locale dell’interazione. La modellazione di informazioni strutturate come interazioni misurati come variazioni statistiche in sotto insiemi strutturali. La nostra metodologia si fonda sull’interazione e presenta un approccio alla modellazione che pu essere schematizzato in un processo a due passi principali. • trovare regioni, ovvero contesti di interazioni in cui siano rilevabili fenomeni interessanti nel sistema in esame, Le regioni possono essere espresse come pattern complessi come l’insieme di regioni di interazioni ed interdipendenze, sequenze di interazioni. In particolare la scelta della regioni nel nostro modello rimane anche coerente al principio dei pattern frequenti (Cheng et al 2007) ovvero per la classificazione mediante intem descrittive, il potere discriminante di ogni singolo item che ricorre raramente è basso a differenza di quelli che invece sono da considerarsi ricorrenti. A partire da questo, si assume che 111 Interazione nella Classificazione e Previsione dei Sistemi Complessi le regioni con una ragionevole frequenza di interazioni possano essere le più “promottenti” per estrarre features discriminanti. • Il processo di categorizzazione di ogni contesto trovato, per mezzo di serie di descrittori che forniscono una sintesi quantitativa degli ogetti coinvolti, le loro mutue interazioni e le loro relazioni con l’ambiente circostante. Ogni caraterizzazione di un interazione ad un contesto contribuisce a caraterizzare quegli oggetti che si muovono in lui e che sono connessi con esso in qualche modo. L’interazione caraterrizza e riassume lo stato del sistema in istantanee spazio-temporali. Una profonda incursione nella classificazione della dinamica del sistema, e quindi dei fenomeni generati è di ogni entità in esso coinvolta pu essere ottenuto attraverso un’analisi comparativa tra regioni o a differenti istanti, o in differenti spazi. Ovvero la comparazione delle varie istantanee di interazione pu avvenrire da tutte le prospettive dello spazio di features definite dall’interazione. 6.4 6.4.1 Classificazione di Oggetti Mobili Interaction Pattern Gli oggetti possono essere rappresentati generalmente su tutto il loro spazio di esistenza da un sottoinsieme delle loro proprietà osservabili varianti nel tempo. Per esempio, un oggetto mobile pu essere rappresentato come un intervallo temporale più le sue coordinate spaziali dipendenti dal tempo come velocità ed accelarazione. 112 6.4 Classificazione di Oggetti Mobili Definition 2 (Oggetti) Ogni oggetto O è rappresentato da una coppia, composta da un intervallo e una sequenza di funzioni che associano ad ogni istante temporale un valore reale in < FO = (I, hfO1 , . . . , fOn i) ∀1≤i≤n . fOi : I → R FO è detto l’insieme degli oggetti osservabili O. Il sottoinsieme delle proprietà che descrive un oggetto definisce lo spazio, sia esso fisico o virtuale, in cui l’oggetto esiste, interagisce ed evolve Ad esempio, le coordinate spaziali degli oggetti mobili definiscono il vincolo posizionale in cui risiede l’oggetto, e gli oggetti vicini saranno l’ogetto di eventuali o potenziali interazioni. Definition 3 (Attribuiti di Locazione) Dato l’insieme osservabile FO = (I, S) di oggetti O, si definiscono attributi di locazione di O come sottoinsieme LocO di S: LocO ⊆ S Similmente un sottoinsieme di proprietà di un oggetto descrive le sue attività rilevanti in termini di interazioni, poichè il loro valore pu essere usato per caratterizzare le possibili interazioni tra oggetti. Per esempio una proprietà rilevante negli oggetti mobili pu essere la velocità, e la differenza di velocità rispetto ad un insieme di oggetti che condividono una qualche relazione spazio temporale è discriminante e descrittiva dell’interazione che intercorre tra gli oggetti. 113 Interazione nella Classificazione e Previsione dei Sistemi Complessi Definition 4 (Attributi di Interazione) Dato l’insieme osservabile FO = (I, S) di oggetti O, si definiscono attribuiti di interazione di O un sottoinsieme IntO di S: IntO ⊆ S Gli attributi di interazione e locazione possono sovrapporsi ( in generale, LocO ∩ IntO 6= ∅. L’interazione tra oggetti è una relazione che implica una mutua località, per cui la nozione di prossimità, o in altri termini, l’identificazione delle regioni di influenza (contesti di interazione) di ogni oggetto, pu essere definita sugli attribuiti di locazione, perchè questi descrivono la loro posizione nello spazio. Queste interazioni generalmente hanno una durata limitata a possono cambiare durante il tempo, quindi vanno misurate all’interno di finestre temporali a tempo finito. Per esempio, per gli oggetti mobili un insieme di regioni spaziali pu essere definito e questo non inficia sulla misurazione dell’interazione perchè viene misurata separatamente per ogni regione ad ogni istante, stante la definizione degli oggetti tra cui l’interazione intercorre. Definition 5 (Regioni di Interazione e Intervalli) Data una popolazione di oggetti tale che ogni oggetto O hanno gli stessi attributi di locazione Loc e interazione Int, si definiscono regioni di interazioni come una collezione di insieme distinti contenenti attributi di locazione: Regions = {R ⊆ R|Loc| } s.t. ∀r0 ,r00 ∈Regions,r0 6=r00 r0 ∩ r00 = ∅ 114 6.4 Classificazione di Oggetti Mobili Allo stesso modo definiamo gli intervalli temporali di interazione o in breve intervalli di interazione come un insieme di distinti intervalli temporali Intervals = {[a, b] ⊆ R} s.t. ∀I 0 ,I 00 ∈Intervals,I 0 6=I 00 I 0 ∩ I 00 = ∅ Al fine di caratterizzare l’interazione tra oggetti vicini, si cercano le relazioni tra gli attributi di interazione e gli oggetti di interazione. Questo pu essere fatto in diversi modi, come cercare correlazioni statistiche tra oggetti nell’intorno di un determinato punto spazio/temporale tra attributi di interazioni e oggetti interagenti. Questo pu essere ottenuto mediante correlazione statistica o attraverso la ricerca di pattern predefiniti. Definition 6 ( Descrittori di Interazione) Data una popolazione di oggetti tale che ogni oggetto O abbia gli stessi attributi di locazione Loc e attributi di interazione Int, si definisce descrittore di interazione per un oggetto O = (I, S) in una regione r e un intervallo temporale T , e per attributi di interazione f , come una funzione del tipo ID(O, r, T, f ): ID(O, r, T, f ) = AV G t ∈ T ∧ (fO (t) − fO0 (t)) if t ∈ I ∩ I 0 O0 : LocO0 (t) ∈ r undef otherwise dove I 0 rappresenta la definizione di intervallo di oggetti O0 . I descrittori di interazione descrivo come ogni oggetto è correlato con gli altri in ogni regione per ogni intervallo temporale, e di 115 Interazione nella Classificazione e Previsione dei Sistemi Complessi coseguenza i descrittori risultatni per ogni differente attributo di interazione descrive un oggetto da diverse angolazioni. E’ qui che si evince il punto di forza del sistema di classificazione, ovvero un entità non è piu considerata come un corpus isolato, bens il risultato di una totalità di interazioni che ne determinano lo status dell’oggetto come entità di un sistema complesso basato per l’appunto su componenti interagenti. Ovviamente ogni oggetto attraverserà diversi insiemi di possibili regioni e lo farà, per via del vincolo temporale, in maniera ordinata. Inoltre, nelle situazioni reali, gli attribuiti di ogni oggetto non sono fruibili in modalità continua, ma solo discreta vincolata dalla frequenza di osservazione dei punti. Il risultato finaleè che ogni oggetto è descritto come una collezione di serie storiche una per ogni attributo di interazione, che descrive, come e per ogni punto di vista, l’interazione che varia nel tempo tra l’oggetto O e tutto gli altri Ovvero, come questa interazione l’oggetto si evolve e si comporta diversamente rispetto agli altri. Le interazioni sporadiche possono essere cassata come fenomeni sospetti, i comportamenti riccorrent possono essere invece visti come potenzialmente significativi per la detection del profilo di ogni singolo oggetto. Definition 7 (Interaction patterns) Data una popolazione di oggetti Objs, tale che ogni oggetto O ∈ Objs ha gli stessi attributi di locazione ed interazione Loc e Int, si definisce un interaction pattern per ogni attributo di interazione f ∈ Int come ogni sequenza di valori V = hv1 , . . . vn i ∈ Rn tale che dato una soglia di supporto discriminante σ ∈ [0, 1] e una tolleranza all’errore ∈ R+ : | { O ∈ Objs | match(V, ID(O, f )) } | ≥σ |Objs| 116 6.5 Applicazione I: Individuare Guidatori Pericolosi dove: match(V, V 0 ) ⇔ ∃i1 <···<in ∀1≤j≤n |V [j] − V 0 [ij ]| ≤ Un approssimazione degli interaction pattern cosi descritti possono essere ottenuti dal processo di discretizzazione del valore di ogni descrittore di interazione e comparando due valori se e soltanto se questi cadono nello stesso intervallo descritto dalle soglie di discretizzazione. 6.5 Applicazione I: Individuare Guidatori Pericolosi Gli interaction pattern sono stati utilizzati per la prima volta in un problema di classificazione su serie spazio temporali. Per l’esattezza le serie numeriche in esame sono traiettorie d veicoli rilevate attraverso telecamere su autostrade. L’obiettivo dell’esperimento era quello di individuare gli individui pericolosi o potenzialmente pericolosi nel loro atteggiamento di guida. L’esperimento è servito anche da testbed per le performance del framework degli interaction pattern. Il lavoro è stato pubblicato come Technical Report sul progetto GEOPkDD coordinato dall’ISTI-CNR di Pisa nella persona della Prof.ssa Fosca Giannotti. 117 Interazione nella Classificazione e Previsione dei Sistemi Complessi 6.5.1 Traiettorie di Veicoli Il Problema Il problema affrontato in questo lavoro è un istanziazione del classico problema di classificazione specifico per dati da traiettorie, Si analizza il traffico su un frammento della strada statunitense US101 Hollywood highway, e vengono impiegati per la classificazione set di descrittori di interazione molto semplice: • mutua distanza tra punti traiettoria • velocità assoluta e relativa alla regione spazio-temporale • concentrazione di macchine su ogni regione spazio-temporale L’obiettivo della classificazione è quello di identificare guidatori pericolosi descritto da una variabile target che sarà defenita come l’attitudine degli individui nel prossimo futuro ad avere una velocità relativa elevata rispetto agli altri e una distanza minore rispetto alla media del suo contesto di interazione. Traiettorie di oggetti mobili sono comunemente rappresentati come sequenze di locazioni spaziali con etichetta temporale. Quanto c’è necessità dell’attributo qualitativo della continuità, la posizione la posizione nell’istante successivo si ottiene mediante interpolazione, di cui la più usata è quella lineare. Di conseguenza, vengono definite le traiettorie punto a punto e saranno usate per approssimare la traiettoria reale seguita dall’oggetto in movimento Definition 8 (Traiettoria) Dato un oggetto mobile o e la sua esistenza in un intervallo spazio temporale Io ⊂ R, una traiettoria per 118 6.5 Applicazione I: Individuare Guidatori Pericolosi o è una sequenza To = h(t1 , x1 , y1 ), . . . , (tn , xn , yn )i, n ∈ N , tale che ∀1 ≤ i ≤ n : (ti , xi , yi ) ∈ I × R2 , e ∀1 ≤ i < n : ti < ti+1 . Si definice con TT l’universo di tutte le traiettorie possibili. Data la definizione di traiettoria ora il problema di classificazione pu essere definito come segue: Definition 9 (Classificazione di Traiettorie) Dato un insieme di etichette L e un dataset D di n traiettorie etichettate, D = h(T1 , l1 ), . . . , (Tn , ln )i, dove ∀1 ≤ i ≤ n : li ∈ L and Ti ∈ TT , il problema di classificazione della traiettoria consiste nell’estrarre una funzione C : TT → L che meglio approssima l’etichetta associata indotta da D. Le proprietà delle traiettorie considerate nel calcolo dei descrittori di interazione si riferiscono a specifici istanti spazi temporali che sono rappresentativi di momenti rilevanti dell’istantanea dell’evoluzione del sistema stesso. (descr1 = val1 , . . . , descrn = valn ) (descr1 = val1 , . . .) → (descr10 = val10 , . . .) Ogni pattern rappresenta il modo in cui una serie di oggetti mobili ha interagiot all’interno dello stesso contesto. Ogni pattern pu essere ustato come una feature per il task di classificazione, dato che le modalità di interazione tenute da ogni singola traiettoria ne determinao ovviamente il profilo. L’uso della frequenza come criterio di selezione dei pattern è coerente con quanto sostiene Chang in cui si 119 Interazione nella Classificazione e Previsione dei Sistemi Complessi mostra come pattern frequenti siano più significativi e più utili per gli scopi del problema di classificazione. 6.6 Calcolando IPS e Attributi di Traiettorie 6.6.1 Selezione dei segmenti di interazione Per definizione, l’interazione di un oggetto con gli altri è altamente dinamica e variabile durante il tempo, la sua variazione implica un cambiamento della sua valenza semantica. Quindi ogni traiettoria va ricalcolata per ogni istante t appartenente che alla traiettoria. Per fare questo una soluzione accurata e non riduzionista consiste nel comparare la variazione anche con le traiettoria a cui l’oggetto passa vicino. (i.e. tra la distanza ds) agli oggetti di riferimento dentro una finestra spazio temporale [t − dt, t + dt],e comparare il segmento della traiettoria che condividono la stessa finestra Un esempio di questo processo è mostrato in Figure 6.1(a), dove la linea rossa identifica le parti della traiettoria che intercorrono e potenzialmente interagiscono all’interazione/azione con la traiettoria centrale al tempo t. Un altro approccio, meno preciso, per il calcolo dei descrittori di interazione, che è poi quello seguito in questa fase di test, richiede la partizione temporale degli assi in finestre della stessa ampiezza e poi di ricalcolare il valore di ogni traiettoria ad ogni intervallo. I segmenti degli oggetti confinanti da considerare sono individuati in modo similare come la soluzione generale descritta prima, assumento 120 6.6 Calcolando IPS e Attributi di Traiettorie che la regione spazio temporale che definisce il vicinato viene ridotta ad una serie di cilindri aventi come centri ad ogni punto di riferimento ed abbastanza alto da coprire il gap tra il punto in esame ed il suo successivo. Questo è mostrato in Figure 6.1(b), dove, la linea rossa identifica le parti rilevanti degli oggetti limitrofi. Da notare che l’intervallo temporale è fissatto a priori, mentre il vicinato spaziale segue l’oggetto di riferimento misurando e valorizzando i descrittori in maniera relativa. Un approssimazione del risultato pu essere ottenuto fissando una griglia spaziale tale che i descrittori sono calcolati per ogni segmento di traiettoria relativa ad ogni cella dellga griglia ( una cella spaziale in un dato intervallo temporale) prendendo anche in considerazione tutti i segmenti di traiettoria nelle zone circostanti che cadrebbero nelle cella Figure 6.2 mostra un esempio grafico con la stessa notazione grafica precedente. Questa volta sia l’intervallo temproale che spaziale sono fissati. 6.6.2 Calcolo dei descrittori di Interazione In questo lavoro si considerano due famiglie principali di descrittori, dipendenti dal processo di calcolo che richiede (vedi Figure 6.3, che sintetizza graficamente entrambi gli approcci): macro interaction descriptors: tutti gli altri oggetti sono aggregati in un singolo valore o oggetto complesso, poi l’oggetto di riferimento è confrontato con il risultato del dato aggregato e ritorna un singolo valore. Ad esempio la prima aggregazione pu ritornare la velocità media globale, mentre la comparazio- 121 Interazione nella Classificazione e Previsione dei Sistemi Complessi (a) (b) Figura 6.1: Ideal neighborhood of single point (a) and neighborhood for a time window (b) Figura 6.2: Fixed grid neighborhood 122 6.7 L’algoritmo Figura 6.3: Macro and micro interaction descriptors ne calcola le differenze tra la velocità media dell’oggetto in esame rispetto ai suoi vicini (all’interno della finestra spazio temporale. micro interaction descriptors: l’oggetto di riferimento è comparato con ogni oggetto vicino e poi i risutalti ottenuti sono aggregati in un singolo valore. 6.7 L’algoritmo Il metodo generale è riassunto nell’ algoritmo 1, che segue come dal modello matematico introdotto nelle sezioni precedenti una procedura tripartita: (i) estrazione di feature,, che ritorna una descrizione delle traiettorie in input espresso come un vettore booleano;(ii) la selezione di feature che filtra gli insieme rilevanti e (iii) infine la costruzione del modello di classificazione. 123 Interazione nella Classificazione e Previsione dei Sistemi Complessi Algorithm 1 DDT-Class Require: a dataset D of labeled trajectories, a set or regions R, a set of descriptor types F , an integer threshold nF , and a min. support threshold σ Ensure: a trajectory classification model M 1: D 0 = DDFeatureExtraction(D, R, F, nF , σ); 2: D 00 = FeatureSelection(D 0 ); 3: M = ClassificationAlgorithm(D 00 ); 4: return M . The feature extraction step is performed adopting an interaction pattern-based approach, and requires a complex sequence of operations that is succinctly provided in Algorithm 2. 6.7.1 Descrizione del Dataset L’esperimento è stato condotto su dati relativi alla NGSIM U.S. 101, una collezione di dati liberamente scaribabile relativa a traiettorie ricostruite da immagini rilasciate dalla a Federal Highway Administration and the Next Generation Simulation program (http://www.ngsim.fhwa.dot.gov/). I dati descrivono il traffico di veicoli su un tratto di strada di 2100 piedi e sei corsie, di cui cinque principali ed una di supporto al traffico, di Los Angeles. Nella collezione sono presenti 6101 traiettorie che corrispondono approssimativamente ad un totale di 4 milioni di punti traiettoria, ogni punto è espresso come una quadrupla hID, t, x, yi, più alcune informazioni derivate come velocità, distanza etc. 124 6.7 L’algoritmo Figura 6.4: A Real View of the Highway 125 Interazione nella Classificazione e Previsione dei Sistemi Complessi La Figure 6.4 mostra una proeizione spaziale di un campione del dataset di input. Il movimento e la direzione è lungo l’asse Y, in particolare l’esistenza di molte corsie sull’asse Y è visibile. In quello che segue si riporta la scelta fatta e i risultati ottenuti attraverso la fase del preprocessing. In particolare si descrive come la variabile target della classificazione è stata derivata dal momento che non era esplicitata dall’interno del dataset. Variabile Target Il task di classificazione era centrato sull’identificazione di veicoli che, all’interno del segmento di strada monitorato, mostrino eventualmente qualche comportamento pericoloso. Questa situazione è stata formalizzata attraverso una semplice regola che etichetta una traiettoria come pericolosa se le seguenti condizioni si verificano in un certo istante • il veicolo supera la soglia delle condizioni prestabilite • la sua velocità relativa è maggiore del 50% della media nella sua regione A questo proposito la strada è stata divisa in due da un lato il primo 75% per l’estrazione delle feature e per la fase di learning, dall’altro il 25% per il test di correttezza sulla classificazione. Il processo di attribuzione delle etichette ha classificato come pericolosi circa il 38% di profili pericolosi e il 62% come normali. Traduzione di Traiettorie. Le regioni di interazione usate nell’esperimento sono definite come celle spazio temporali su una griglia che divide lo spazio in 7 × 11 celle spaziali ed il tempo in 11 intervalli. Per l’esattezza, ogni cella spaziale è di larga dai 12 ai 220 piedi e copre approssimativamente un segmento di una singola corsia, delle 847 celle solo 539 sono visitate da almeno un veicolo. 126 6.7 L’algoritmo low mid high speed Esp < 27.5 27.5 ≤ Esp < 36 Esp ≥ 36 n. vehicles Ef r < 58.5 58.5 ≤ Ef r < 70 Ef r ≥ 70 distance Edist < 34 34 ≤ Edist < 135 Edist ≥ 135 Tabella 6.1: Threshold values for descriptors Per ogni regione sono calcolati rispettivamente tre descrittori: Esp , Ef r , and Edist , che descrivono rispettivamente, la velocità media, il numero di veicoli e la distanza media tra un veicolo ed il suo successivo. Questi valori poi, sono stati discretizzati in 3 classi: {hSp, mSp, lSp} per la velocità (high-speed, medium-speed, low-speed); {hFr, mFr, lFr}, per il numero di veicoli; e {hDist, mDist, lDist} per la mutua distanza. Table 6.1 mostra nel dettaglio le rispettive soglie che limitano le varie classi ottenute attraverso un binning sulla frequenza uguale. (lDist, hSp, lFr) ⇒ (hSp → lSp) ⇒ ⇒ (lSp → hSp, lFr → hFr) ⇒ . . . Estrazione di Interaction Pattern. Gli Interaction Patterns sono stati estratti tramite SLPminer [35] con una soglia minima di supporto σ = 10%, e selezionando solo i pattern massimali. Il risultato consiste in un totale di 223 interaction pattern che includono anche l’esempio seguente: (lDist) ⇒ (lDist → mDist) ⇒ ⇒ (lSp → mSp) ⇒ (mDist → hDist) L’esempio descrive un quite behavior. 127 Interazione nella Classificazione e Previsione dei Sistemi Complessi Figura 6.5: Sample of the US101 dataset Un altro caso è il seguente: (mFr, mSp) ⇒ (mFr → hFr) ⇒ ⇒ (hSp → mSp) ⇒ (hFr → mFr) 6.7.2 Classificazione di Traiettorie Dopo la traduzione di ogni traiettoria in un vettore booleano di feature, uno per ogni interaction pattern estratto, il passo di classicazione è stato fatto su tre differenti schemi derivati da Weka library [36]: Decision Trees (DT), Bayesian Networks (BN) e Vote Perceptrons (VP). 128 6.7 L’algoritmo RoI IP IP+RoI Training DT BN 73% 74% 77% 69% 84.2% 76% VP 74% 72% 75% Cross-validation DT BN VP 73% 69% 68% 75% 66% 57% 77% 72% 69% Tabella 6.2: Perfomances on training set and cross-validation Per tutti e tre i casi le performance sono state comparate rispetto ad una semplice classificazione su regioni Table 6.2. 129 Interazione nella Classificazione e Previsione dei Sistemi Complessi Algorithm 2 DDFeatureExtraction Require: a dataset D of labeled trajectories, regions R, descriptor F , a threshold nF , and a min. support threshold σ Ensure: a dataset D0 extending D with new features 1: for all r ∈ R do 2: Dr = { traj. segments of D contained in r}; 3: for all descriptor types f ∈ F do 4: fr = avg t1 ,t2 ∈Dr f (t1 , t2 ); 5: end for 6: end for 7: for all f ∈ F do 8: If = intervals {If1 , . . . , IfnF } that partition {fr }r∈R into equal frequency groups; 9: end for 10: for all f ∈ F, r ∈ R do 11: frdisc = i, s.t. fr ∈ Ifi ; // Discretize fr 12: end for 13: T = {tR |t ∈ D ∧ tR = sequence of regions in R visited by t}; 14: T 0 = {t0 |tr ∈ TR ∧ t0 = tr by replacing each region r in tf with {frdisc }f ∈F }; 15: for all t0 ∈ T 0 , and each set of values t0i in t0 do 16: Remove from t0i all values f ∈ t0i that appear in t0i−1 ; 17: end for 18: IP = set of frequent sequential patterns computed on T 0 with σ; 19: D 0 = add a column ip to D for each ip ∈ IP , and let ∀t ∈ D, ip ∈ IP : t[ip] = true iff t supports IP ; 20: return D 0 ; 130 Capitolo 7 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione I fatti non ci sono, bensı̀ solo interpretazioni. Frederich Nietzsche (da Frammenti postumi, in Opere, Adelphi, Milano 1964) 7.1 Introduzione In questo capitolo, a differenza del precedente che presenta un applicazione parziale, ovvero orientata solo all’aspetto predittivo, viene presentata un applicazione completa della metodologia per l’analisi, modellazione e simulazione dei sistemi complessi. L’esempio in 131 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione esame parte dalla modellazione di una teoria, la implementa come sistema ad agenti e gli interaction pattern vengono utilizzati da un lato per la classificazione degli individui, dall’altra per la validazione della teoria. Un aspetto molto importante nell’esempio in questione è che l’uso degli interaction pattern, ha permesso di individuare caratteristiche proprie del modello teorico che non erano state prese in considerazione, ma sono emerse come proprietà intrinseche del sistema complesso in esame. Per l’esattezza la teoria in indagine è quella sulla teoria della reputazione [37] che introduce una distinzione fondamentale tra i tipi di valutazioni circolanti nel contesto sociale: l’immagine e la reputazione. 7.2 La teoria della Reputazione Lo studio della reputazione in ambito cognitivo è possibile a patto di considerare le conseguenze dei processi cognitivi individuali sul mesolivello dei fenomeni sociali, e la successiva immergenza del fenomeno nei processi cognitivi individuali. Per meso-livello intendiamo il livello dell’interazione sociale in gruppi non rigidamente strutturati. A tale livello emergono le conseguenze sociali dei processi cognitivi individuali all’interno del gruppo studiato. Tali conseguenze hanno ricadute sulle proprietà e capacità degli agenti. Parliamo cos di reputazione come di un fenomeno socio-cognitivo emergente al mesolivello. Successivamente al suo emergere, la reputazione influenza le conoscenze e le decisioni degli agenti, immergendosi nei loro processi cognitivi. Si tratta dunque di un fenomeno sociale dotato di una dinamica top-down e bottom-up. La reputazione è una caratteristica 132 7.2 La teoria della Reputazione dei soggetti che deriva dalle azioni del gruppo in cui sono inseriti e in particolare dalla trasmissione di valutazione sociale. Si tratta di un fenomeno all’attenzione di economisti, psicologi, biologi ect. Da circa 10 anni se ne registra l’utilizzo nell’ambito delle interazioni mediate dalla rete, sia per attività commerciali sia per ci che concerne le dinamiche sociali nel contesto del web 2.0 sempre maggiormente caratterizzato da applicazioni che ricadono sotto il nome di social networking (flickr.com, digg, reddit). 7.2.1 Valutazioni Sociali La conoscenza sociale valutativa include fenomeni distinti, in particolare l’immagine e la reputazione, nonch il processo di trasmissione della prima che contribuisce a determinare la seconda, ossia il gossip. Passiamo rapidamente in rassegna questi tre aspetti, cominciando dalla reputazione. La reputazione un artefatto sociocognitivo evoluto per i vari problemi di ordine sociale incontrati dalle società umane, in particolare il controllo sociale e la selezione dei partner negli scambi [37]. La reputazione interagisce con, ma va distinta dalla valutazione o immagine sociale [38]. Quest’ultima rappresenta il giudizio di valore che il valutatore si formato sul conto di un certo target (individuo, azienda, istituzione, ecc.), e pu essere basata su esperienza diretta o indiretta del target da parte del valutatore. L’immagine coinvolge tre personaggi o ruoli sociali: il valutatore (v), il target o oggetto di valutazione (t) che pu essere individuale o sovraindividuale, ed in questo secondo caso pu essere rappresentato da una azienda, un’organizzazione, un gruppo sociale, un’istituzione pubblica o privata, 133 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione persino una nazione o uno stato; il beneficiario (b), cioè colui che utilizzerà la valutazione per scegliere il target (per esempio, come partner di scambio economico), oppure per starne alla larga. Nel rendere esplicito il proprio giudizio attraverso un feedback diretto, il valutatore si impegna sul valore di verità del giudizio espresso e si assume una responsabilità sia nei confronti del target, specie nel caso il giudizio sia negativo, sia nei confronti del destinatario dell’informazione, specie se il giudizio positivo. Non cos nella reputazione, che nasce dal riportare le valutazioni altrui. La reputazione è un fenomeno misto o ibrido: è un oggetto della mente, ossia una rappresentazione e più esattamente una credenza su una valutazione altrui, ma è anche una proprietà oggettiva acquisita dal target, emergente dalla circolazione di questa rappresentazione nel gruppo sociale. La reputazione è dunque una proprietà acquisita: nessuno nasce con una reputazione personale, ma semmai con quella che eredita dai propri genitori e dal gruppo di appartenenza. Quasi sempre, nel corso della propria esistenza, si acquisiscono una o più reputazioni a seconda dei gruppi che si frequentano e delle attività che si svolgono. Ognuno di noi, accanto alla reputazione complessiva che possiede, pu trovarsi ad essere oggetto di svariate dicerie che si riferiscono ai diversi ruoli pubblici che ricopre, come anche a quelli privati di moglie, madre, amante, collega, ecc. La reputazione è anche una proprietà oggettiva. Spesso essa si incolla al target senza che costui se ne renda nemmeno conto, n tanto meno lo voglia (spesso, infatti, la reputazione non corrisponde ad una valutazione positiva). E’ infine una proprietà emergente, che deriva dallo scambio d’informazioni fra membri del gruppo, i quali si aggiornano l’un l’altro sulle voci che girano a proposito di questo o di quello. I personaggi sono questa 134 7.2 La teoria della Reputazione volta ben quattro: come nel caso precedente ci sono il valutatore, il target e il beneficiario, ma in più questa volta c’è anche il vettore dell’informazione, l’informatore. Nel riferire le voci che girano sul conto di un target, l’informatore non un valutatore, non fornisce giudizi personali, nè si assume alcuna responsabilità, nella misura in cui non sarebbe pronto a giurare sul valore di verità delle voci riferite. Si limita a riferire chiacchiere, e spesso gode nel farlo. Perch lo fa? Vediamo l’uso delle due forme di valutazione sociale. A che cosa possa servire l’immagine, è abbastanza ovvio: senza dubbio, il beneficiario della valutazione, che spesso coincide con lo stesso valutatore, ne trae ispirazione per le scelte sociali che si trova a fare. Al mercato, il compratore si fa un’idea della qualità dei prodotti in vendita osservando la mercanzia sulle bancarelle, e questo lo aiuterà a orientarsi nella scelta. In altre situazioni sociali, l’osservazione del comportamento altrui ci consente di formarci un’opinione personale su questo e su quello, che magari decidiamo di tenere per noi, e che comunque utilizzeremo al momento di scegliere la compagnia, il partner, l’interlocutore giusto. L’osservazione degli altri sembra aver favorito l’evoluzione del comportamento prosociale, addirittura l’evoluzione dell’altruismo.. ’ facile intuire perch: l’immagine formata attraverso l’osservazione diretta del target serve a decidere come comportarsi nei suoi confronti, ad applicare un’autodifesa preventiva nel caso si tratti di un poco di buono, oppure nel caso opposto ad investire su di lui. Ma per ovvie ragioni l’immagine non basta. In primo luogo, quella che ci formiamo attraverso la nostra esperienza del target è un’opinione spesso pagata a caro prezzo. Qualche volta, l’esperienza pu rivelarsi fatale, e non ci dà il tempo di sfruttare la conoscenza che ne ricaviamo. I pipistrelli vampiri della specie 135 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Desmodus Rotundus sono diventati celebri nel mondo dell’etologia e della sociobiologia la disciplina che studia le basi biologiche del comportamento sociale per un particolare tipo di altruismo, la condivisione del cibo all’interno del nido anche fra non consanguinei. Studi recenti condotti su popolazioni artificiali (simulate al calcolatore) di Desmodus Rotundus mostrano infatti che la popolazione sopravvive a condizione che il cibo venga scambiato solo all’interno del nido e che il processo di riproduzione distribuisca la popolazione in nidi di non più di una dozzina di individui ciascuno. In queste condizioni, che fra l’altro corrispondono sostanzialmente a quel che succede in natura, possiamo parlare di una sorta di immagine di coresidente che precede e sostituisce l’esperienza diretta. L’immagine pubblica, trasparente, pu rivelarsi controproducente, specie se il target è un buon diavolo. Si consideri il caso dell’osservazione diretta. Gli studi di Nowak e Sigmund ne hanno documentato gli effetti positivi su un gioco asimmetrico, nel quale fra due individui scelti a caso dalla popolazione iniziale uno, il potenziale donatore, decide di fare o meno una donazione a favore dell’altro, anche sulla base dell’immagine che il potenziale destinatario si è a poco a poco costruito nel corso della sua vita precedente e che è accessibile direttamente agli osservatori. In queste circostanze, è praticamente giocoforza ed infatti gli autori lo documentano anche attraverso un modello ad equazioni - che la popolazione converga rapidamente sulla donazione condizionata, cioè sulla donazione elargita a favore di chi gode di una buona immagine di donatore. Ma il risultato sarebbe profondamente diverso se il gioco fosse simmetrico e includesse l’opzione di sfruttamento: l’immagine pubblica di cooperatore si trasformerebbe nella più tragica delle calamità rendendo le colombe ancor più vulnerabili 136 7.2 La teoria della Reputazione e gettandole in pasto ai falchi senza alcuna protezione n esitazione. Per concludere, sia che derivi dall’esperienza diretta, sia che derivi dall’osservazione del comportamento altrui, l’immagine non è n sufficiente n priva di controindicazioni. E’ qui che entra in gioco la comunicazione, il gossip. In che modo e con quali effetti? Nei nostri termini, il gossip è un tipo di comunicazione nel quale si riportano le valutazioni altrui, l’immagine che gli altri hanno o dicono di avere su un determinato target, senza necessariamente condividerla o dichiarare di condividerla. Per questa ragione, il gossip è uno scambio allusivo ed ambiguo di informazione sul conto di qualcuno che è assente. In sostanza, si chiacchiera sul conto di chi non c’è, spesso riportando voci attribuite ad altri, senza rivelarne l’identità. Perch lo si fa? Il gossip è antico quanto l’uomo. Secondo alcuni [39], ha favorito la dimensione sociale della nostra specie, allargando le dimensioni dei gruppi di cacciatori e raccoglitori e consentendo un notevole miglioramento delle capacità produttive, destinate ad affrontare le carestie, se non all’accumulazione vera e propria. A dispetto di alcune recenti teorie sulla socialità, che farebbero discendere la capacità di comprendere l’azione altrui grazie all’osservazione simulata del comportamento osservato, questa teoria poggia invece non solo sulla cosiddetta teoria della mente ossia sulla rappresentazione della mente altrui nella propria, ma anche sulla capacità di manipolare nella propria mente le credenze degli altri, di confrontarle con le proprie a proposito dello stesso oggetto (target), di farle interagire oppure di mantenerle distinte e di usarle indipendentemente l’una dall’altra per azioni diverse. Nel caso del gossip, si usano le credenze altrui senza necessariamente averle integrate con le proprie: l’informatore pu decidere di trasmetterle come conoscenze altrui, prima e a dispet- 137 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione to delle proprie. Per comprendere perch lo fa, occorre fare qualche breve incursione sugli usi del gossip, che nonostante alcune sparse evidenze antropologiche di supporto, resta ancora a livello di speculazione, più o meno suggestiva. Il gossip rientra fra quei fenomeni sociali che sono stati definiti di coopertizione, cioè di cooperazione nella competizione. Più specificamente, il gossip è un’arma insidiosa e sottile, a beneficio dei deboli, cioè di chi non ha capacità di violenza diretta, contro tutti coloro che minacciano la solidità e stabilità del gruppo: gli sfruttatori, i potenti, i superiori di rango, le celebrità, coloro che si espongono, i nuovi arrivati, gli sconosciuti, ecc. Certo, si tratta di un comportamento aggressivo e vile, infalsificabile e dal quale non ci si pu difendere. Ma è proprio a questa caratteristica che il fenomeno deve le sue possibilità di espansione: il gossip funziona se e fintantoch consente all’autore di nascondersi, di non rivelare le proprie fonti, di non portare evidenze a supporto delle proprie denunce, in una parola di colpire senza essere colpito, evitando la rappresaglia e lo scontro aperto. Odioso quanto si vuole, in virtù del gossip è possibile coniugare il controllo sociale con la riduzione dell’aggressività diretta, degli scontri aperti, delle rappresaglie, delle faide. E’ al gossip che si deve ricondurre la costruzione del capitale sociale, cioè di quelle reti di conoscenza preventiva n certa n effettivamente condivisa nelle quali gli individui sono immersi, e che svolgono una funzione di controllo senza disgregare completamente il gruppo. Quest’uso del gossip è documentato in una varietà di culture tradizionali, dove i membri sono sottoposti al controllo certamente subdolo e crudele della vergogna, del disonore, della diffamazione, tanto più grave quanto più è sfuggente e impalpabile, ed è difficile difendersene, ma proprio per questo inesorabile. 138 7.3 Il modello ad Agenti: RepAge 7.3 Il modello ad Agenti: RepAge Regage [38] è un implementazione della teoria della reputazione mediante agenti. La piattaforma utilizzata per l’implementazione è Jadex. Regage fornisce valutazioni su potenziali partner ed è alimentato da informazioni provenienti dagli altri agenti e da quelle risultanti da esperienze dirette. Per selezionare un buon partner gli agenti necessitano di formare e aggiornare le proprie valutazioni, per cui devono scambiarsi informazioni, ovvero comunicare. Se gli agenti trasmettono solo ci che ritengono affidabile, le informazioni sarebbero destinate a fermarsi presto. Al fine di preservare la loro autonomia gli agenti devono decidere quando poter condividere o meno le proprie valutazioni con gli altri. Se gli agenti trasmettono anche le opinioni degli altri come se fossero le proprie è allora possibile per l’agente scegliere quale tipo di informazione rilasciare. Quindi al fine di preservare le propria autonomia gli agenti devono • formare entrambe le valutazioni (image) e meta-valutazioni (reputation), tenendo presente la distinzione ontologica della rappresentazione prima di • decidere quando integrare o non integrare l’informazione reputazionale con la propria immagine di un target. A differenza dei sistemi attuali repage permette agli agenti di trasmettere la propria immagine rispetto ad un target, che loro considerano essere veritiera, o riportare quello che loro hanno ascoltato, sentito dire, rispetto ad un determinato target, ovvero la sua reputazione che sia essa considerata vera o falsa. Nel caso della reputa- 139 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione zione ovviamente non c’è responsabilità rispetto al valore di verità dell’informazione riportata ed eventualmente delle sue conseguenze. Di conseguenza dagli agenti ci si aspetta una trasmissione di informazione, fondamentalmente incerta, Il componente principale dell’architettura di Repage (7.1) è la memoria, che è composta da un insieme di predicati. I predicati sono oggetti contenenti o una valutazione sociale, afferente ad uno dei tipi accettati da Repage (immagine, reputazione, voce condivisa, valutazione condivisa), o uno dei tipi usati per il calcolo delle valutazioni (valore dell’informazione, valutazione relativa agli informatori). I predicati contengono una tupla di cinque numeri stanti a rappresentare la valutazione più il suo valore di forza atto ad indicare il suo valore di confidenza rispetto a ci che l’agente crede vero. I predicati sono concettualmente organizzati in differenti livelli e connessi da una rete di dipendenze, specificando quale predicato contribuisce al valore degli altri. Ogni predicato nella memoria di Repage ha un insieme di antecedenti e un altro di conseguenti. Se un antecedente viene creato, rimosso o aggiornato il predicato viene di conseguenza ricalcolato e tutta la rete di dipendenze viene aggiornata di conseguenza In questo contesto non si vuole procedere ad una spiegazione dettagliata dei meccanismi architetturali sia software che logici di repage, per questi si rimanda agli articoli [38] e [40]. 140 7.3 Il modello ad Agenti: RepAge Figura 7.1: Architettura Repage 141 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione 7.3.1 Simulare Sistemi Complessi Modellati Su Agenti In questa sezione si descrive il modello di interazione implementato, basato su comunicazione tra agenti. Agenti cognitivi dotati di una base di conoscenza e delle regole che simulano il processo mentale della formazione e revisione delle credenze attraverso la comunicazione di esperenzie dirette o di voci circolanti (gossip). Il gossip è da considerarsi come l’elemento cardine di un processo costitutivo della formazione di identità di gruppo. E’ il sistema di trasmissione di informazione più antico. Tutto ci che circola su una rete sociale, espresso come fonte di informazione, è detto dominio informativo. Ovvero quel capitale di informazioni, condivise, che passano sul canale delle comunicazione da agente ad agente. Un agente è in grado di adottarla o meno. Si teorizza anche la capacità cognitiva dell’agente di ricreare nella propria struttura di credenze quella acquisita dagli altri attraverso la comunicazione al fine di ridurre l’incertazza in un processo complesso dinamico fondato su interazioni [41]. 7.3.2 Esperimenti: Scelta di Un Partner In questa sezione presentiamo i nostri esperimenti estendendo le procedure di processo decisionale proprie di Repage e determinando le tecniche adottate per i processi di estrazione di conoscenza. Il design delle simulazioni presenta le impostazioni più semplici, dove l’informazione accurata è da considerarsi un bene, nel senso che l’informazione è sia opinabile che scarsa. Viene usata una metafora di mercato di agenti con instabilità. La derivazione di regole di design 142 7.3 Il modello ad Agenti: RepAge mirate alla semplificazione ha riguardato principalmente il mercato, per permettere un migliore studio del processo cognitivo implementato. L’esperimento simulativo presenta uno scenario con solo due tipi di agenti i buyer e i seller. Tutti gli agenti cognitivi implementati agiscono in unità di tempo discreto, che chiameremo turni da ora in avanti. In un turno, un buyer fa un atto di comunicazione, al fine di acquisire informazioni ed un’operazione di acquisto. Inoltre, ogni buyer risponde a tutte le richieste di informazione ricevute. Un buyer, dato il suo ruolo di fornitore di informazioni, assumere anche una strategia di imbroglio informazionale, mirata al proprio vantaggio. I buyer che mentono, riportando informazioni false di proposito prendono il nome di Cheaters (si guardi la descrizione algoritmica delle answering action implementate). I beni del mercato sono costituiti da un fattore di utilità che viene interpretata come qualità con un valore compreso tra 0 e 100. I seller sono costituiti da un valore costante di qualità ed da un quantitativo di merce vendibile fisso. Lo stock di ogni agente decresce ad ogni acquisto. I seller sono agenti essenzialmente di tipo reattivo, il loro ruolo funzionale all’interno della simulazione è limitato alla fornitura di beni di qualità variabile ai buyers. I seller escono dalla simulazione quando il loro stock esaurisce o quando per un certo numero di turni non vendono nulla, a questo punto vengono sostituiti da un nuovo seller con caretteristiche simili, ma non necessariamente identiche. L’uscita dei seller dal mercato è un punto fondamentale per il valore informativo della valutazione sociale, ovvero è questo che rende l’informazione necessaria e lascia sempre aperto un certo livello di incertezza sia a livello di dominio informazionale sia a livello di 143 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione esperienza diretta. La trasmissione di informazione affidabile permette una scoperta dei buoni venditori molto più rapida ed efficace, perchè la selezione sarà mirata e guidata. In uno scenario in cui lo stock fosse stato implementato come fisso, una volta che tutti i buyer fossero stati identificati, i buyer non sarebbero stati motivati a cambiare causando il conseguente fallimento dell’esperimento. Inoltre lo stock limitato rende i buoni venditori una risorsa scarsa, quindi per gli agenti è strategico non diffondere in giro l’informazione. 7.3.3 Datamining e la Simulazione Basata su Agente Il nostro approccio è inteso a spiegare i fenomeni emergenti nei sistemi complessi usando tecniche specifiche di datamining, atte alla classificazione delle interazioni su modelli computazionali simulati basati su agenti. In queste simulazioni uno dei task più richiesti è di classificare e predire il comportamento futuro di un certo sistema, non strutturato e per alcuni aspetti non chiaro. Come visto nei capitoli precedenti il data mining è una giovane ma ben consolidata disciplina che si focalizza sull’estrazione di informazioni da grandi moli di dati. Le informazioni estratte possono essere correlazioni tra eventi o comportamenti ricorrenti di entità. Gli ultimi sviluppi del datamining hanno portato la materia a svilupparsi in molti domini applicativi complessi come gli itemset (ovvero eventi che accadono simultaneamente), sequenze (serie storiche, processi stocastici, traiettorie, sequenze di eventi), e grafi (relazioni peer-to-peer, social network analysis, legami molecolari, etc). La metodologia della simulazione basata su agente (MABS) se- 144 7.3 Il modello ad Agenti: RepAge gue invece un primo passo orientato alla teorizzazione di fenomeni complessi, poi il modello viene implementato per essere simulato. I risultati alla fine sono verificati con la loro coerenza sia con il modello, e laddove possibile, con una funzione di verosimiglianza con i dati reali. Si potrebbe dire che la metodologia MABS sia debole dal punto di vista della validazione, la nostra soluzione è quella di applicare massivamente strumenti e tecniche di datamining mirate a classificare l’interazione per sfruttare l’interazione che è comune alla simulazione, agli interaction patter ed ai sistemi complessi. 7.3.4 Interaction: Agents Communication in Repage Nei nostri esperimenti il processo decisionale è un punto cardine che determina le performance e le dinamiche di tutto il sistema. Dal lato dei seller, la procedura è limitata alla vendita dei prodotti, Dal punto di vista dei buyer per ogni turno loro devono chiedere informazioni ad una altro buyer e acquistare sulla base delle loro credenze. Tutte vengono implementate come interazione. Le azioni interazioni dei buyer possono essere riassunte in tre macro classe di seguito riportate che poi verrano presentate algoritmicamente. • Buying Action • Asking Action • Answering Action 145 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Buying action In questa azione/interazione la domanda che si pone l’agente è relativa a quale agente scegliere per acquistare. Repage fornisce informazioni riguardo l’immagine e la reputazione di ogni seller. L’opzione più semplice potrebbe essere quella di prendere l’agente con la migliore immagine, o nel caso di L2 quello con la miglior reputazione nel caso l’immagine non fosse disponibile. Nel modello viene impostata una soglia sopra la quale l’agente è considerato accettabile per procedere all’acquisto. Inoltre, la possibilità di cercare nuovi venditori è limitita. In generale comunque, l’immagine è sempre da considerarsi prioritaria rispetto alla reputazione, visto che l’una è verifica mentre l’altra no. Algorithm 3 Buy Action pseudo code L1 1: Candidate Seller := Select randomly one good enough image’s seller; 2: If Candidate Seller is empty or decided to risk then Candidate Seller := select randomly one seller without image; 3: Buy from Candidate Seller; Asking action Come nell’azione precedente, la prima decisione è a quale agente richiedere informazioni, e la procedura è esattamente la stessa nel caso del processo decisionale relativo alla scelta del seller, con l’unica differenza che l’immagine e la reputazione hanno come target l’informatore, ovvero la sua attendibilità. Negli agenti è stata implementata anche la paura della ritorsione, quindi l’immagine, ovvero 146 7.3 Il modello ad Agenti: RepAge Algorithm 4 Buy Action pseudo code L2 1: Candidate Seller := Select randomly one good enough image’s seller; 2: If Candidate Seller is empty then Candidate Seller := select randomly one good enough seller reputation; 3: If Candidate Seller is empty or decided to risk then Candidate Seller := select randomly one seller without image; 4: Buy from Candidate Seller; l’esperienza diretta che implica responsabilità, viene trasmessa solo se c’è un certo grado di confidenza sulla valutazione (per maggiori dettagli si guardi [40]). Algorithm 5 Asking action pseudo code L1 1: Candidate Informer := Select randomly one good enough informer image; 2: If Candidate Informer is empty or decided to risk then Candidate Informer := select randomly one buyer without image as informer; 3: Ask to Candidate Informer; Una volta scelto l’informatore a cui chidere, va scelto il tipo di domanda. Ovvero, nel modello si contemplano solo due possibili domande: • Q1: Chiedere informazioni riguardo un buyer come informatore ovvero quanto è onesto il buyer X come informatore • Q2: Chiedere un po’ di buoni e cattivi seller 147 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Da notare che Q2 non si riferisce ad uno specifico individuo, ma a tutto il dominio informativo che pu avere l’agente richiedente. Questo è stato necessario per consentire l’interazione con un numero elevato di seller, quando la probabilità di scegliere un seller di cui l’agente ha informazioni è molto bassa. Answering action Sia l’agente S l’agente che fa la domanda e R l’agente interrogato. Gli agenti possono mentire, sia perchè sono cheater sia perchè si stanno vendicando. Quando un buyer è un cheater l’informazione viene cambiata nel suo valore opposto. Mentre la vendetta è somministrata mandato informazioni non precise dal punto di vista del mittente, per esempio rispondendo “I don’t Know” anche quando l’informazione richiesta è effettivamente disponibile nella mente dell’agente quando R ha una cattiva immagine di S come informatore. In L1 ovvero quando circola solo immagine il cheating avviene mandando “Idontknow” anche quando R ha l’informazione. Questo evita possibile vendette su informazioni incerte perchè il loro rilascio non comporta nessun impegno di responsabilità. Se è ammessa la reputazione, ovvero in L2, invece è fatta convertendo tutta l’immagine posseduta in reputazione, sempre per evitare possibili ritorsioni. Algorithm 6 Answering Q1 Decision Procedure R in L1 1: ImgX := Get image of agent X as informant; 2: if ImgX exists and strength(ImgX) ≥ thStrength then send ImgX to agent S, END else send Idontknow to agent S, END; 3: if ImgX does not exist then send Idontknow to agent S; 148 7.3 Il modello ad Agenti: RepAge Algorithm 7 Answering Q1 Decision Procedure R in L2 1: ImgX := Get image of agent X as informant; 2: if ImgX exists and strength(ImgX) ≥ thStrength then send ImgX to agent S, END; 3: else convert ImgX to RepX and send RepX to S, END 4: if ImgX does not exist then RepX := Get reputation of agent X as informant; 5: if RepX exists then send RepX to S, END; 6: if RepX does not exist then send Idontknow to agent S; Algorithm 8 Answering Q2 Decision Procedure R in L1 1: IG := Get good enough images of sellers; IB := Get bad enough images of sellers; 2: if IG is not empty then CandImage := Pick one randomly from IG1; 3: else if IB is not empty then CandImage := Pick one randomly from IB; 4: if CandImage is not empty and strength(CandImage) ≥ thStrength then sent CandImage to S, END; 5: if CandImage is not empty and strength(CandImage) < thStrength then send Idontknow to S, END; 6: if CandImage is empty then send Idontknow to agent S; 7.3.5 Discussione sui Risultati 7.3.6 Valutazioni Sociali ed Incertezza La reputazione riduce l’incertezza 7.2. Il risultato è relativo ad un esperimento simulativo 149 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Tabella 7.1: Experiments Settings Experiment Code Level Settings Percentage of Cheaters A L1 0% B L1 10% C L1 20% D L1 30% A1 L2 0% B1 L2 10% C1 L2 20% D1 L2 30% Lo scenario di questo esperimento simulativo consiste in un mercato fisso dove il numero di buyer e seller è fissato rispettivamente a 100 e 15. Gli agenti che agiscono come cattivi informatori, ovvero cheater informazionali sono fissati al 20%. Per ogni scenario le simulazioni sono eseguite sia in modalità L1, ovvero con solo immagine circolante, che in L2, con sia immagine che reputazione. La figura mostra che il L1 e L2 nonostante ci sia la stessa quantità di informazione circolante c’è un forte calo della curva delle risposten incerte quelle del tipo Idontknow La nostra teoria della reputazione suggerisce che i fenomeni di riduzione dell’incertezza sono effetti emergenti non solo per la maggior quantità di informazione circolante, ma anche un effetto qualitativo dovuto a differenti fonti di informazioni disponibili. Ovvero, fonti eterogenee di informazione rendono il sistema decisionale più tollerante all’incertezza, permettendo di conseguenza prestazione del mercato molto superiori, sia per la più efficace scoperta dei mentitori, 150 7.3 Il modello ad Agenti: RepAge Figura 7.2: Trend of Idontknow answers in L1 and L2 sia per la più efficace scoperta di buoni venditori. 7.3.7 Valutazioni Sociali e False Informazioni Un altro aspetto molto importante che è stato oggetto di studio attraverso la piattaforma Repage è stato la relazione tra la credibilità dell’informazione e la formazione delle opinioni. Che cosa succede quando il dominio informativo è poco credibile a il livello di fiducia è basso? Possono le false informazioni indurre in uno stato di immobilizzazione e polarizzazione delle opinioni? Qual’è il ruolo dell’incertezza e delle valutazione sociali nelle profezie autoavveranti? Nel mondo reale ogni decisione necessità di strategie atte a ridurre l’incertezza rispetto allo stato di natura, ovvero lo stato dei fatti percepito da cui deriva la determinazione del costo di una scelta. In accordo con quanto sostiene Shannon [42], c’è incertezza quando un 151 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Figura 7.3: Distribution of Good Image and Good Sellers Discovery in L1 152 7.3 Il modello ad Agenti: RepAge Figura 7.4: Distribution of Good Image and Good Seller Discovery in L2 153 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Figura 7.5: Answers Given with a motivation of Bad Reputation 154 7.3 Il modello ad Agenti: RepAge agente non riesce a distinguere rispetto a tutto lo spettro di alternative con uguale probabilità di reificazione. In particolare il processo decisionale impone agli agenti la necessità di avere strumenti cognitivi atti a ridurre l’incertezza, che nel caso in esame passa per il gossip. Questa fase del lavoro quindi cercava di studiare la relazione che intercorre tra affidabilità dell’informazione e il processo cognitivo di formazione e revisione delle credenze rispetto ad un processo decisionale, quale quello della scelta di un partner. Gli esperimenti sono stati studiati proprio al fine di stressare l’importanza della qualità dell’informazione. Si suppone infatti, che piu il mercato sia influenzato da false informazioni circolanti, più gli agenti saranno costretti a ridurre l’incertezza per cercare di selezionare il miglior partner. Dato che la reputazione ha dimostrato di ridurre l’incertezza nei nostri lavori precedenti, ci aspettiamo che in questo caso la reputazione amplifichi l’effetto della falsa informazione portando il mercato al collasso per scarsità di informazioni veritiere. Nel dettaglio si è cercato di capire come un canale di trasmissione dell’informazione veloce come la reputazione possa inficiare sul livello di trust e quindi sulle performance del mercato. 7.3.8 Simulazioni e Risultati Ogni scenario simulativo è descritto da sei parametri : il numero di buyers (N B), il numero di sellers (N S), il numero di cheaters (C), lo stock per ogni seller (S), i buoni venditori che sono seller che forniscono la qualità massima (GS) e i bad sellers (BS). 155 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Ogni scenario è visto sia con immagine circolante (L1), sia con immagine e reputazione (L2). L’esperimento esplora 28 scenari differnti con un gran numero di cattivi venditori rispetto ai buoni che invece sono fissati ad un numero molto basso. Lo scenario è esplorato per un numero incrementale della percentuale di cheater. Per ogni scenario ci sono 50 buyer, e 25 seller, in modo che l’offerta sia anche scarsa. I cheater variano in percentuale da 0 a 100 a passo 10. Tutti gli scenari quindi sono simulati in L1 e L2 per 10 volte per avere poi possibilità di mediare il risultato rispetto alla stocasticità indotta. Guardando alla Figure 7.8(a), dove viene mostrata il trend della quality, si pu notare che le curve sia in L1 che L2 convergono per tutti i turni simulativi. Figure 7.8(b) mostra che sono scoperti più good seller in L1 che in L2, indicando che c’è un maggiore consumo di risorse e quindi maggiore richiesta. Figure 7.8(c) mostra che la reputazione ha migliori performance anche ad alti livelli di cheating informazionale, per l’esattezza fino al 60% del totale dell’informazione circolante. Quando l’informazione non è attendibile, essendo il mercato popolato solo da cheater, i differenti impatti delle valutazione circolanti sulla qualità sono visibili in Figure 7.9(a), dove la curva di L2 è a valori di qualità più bassi rispetto ad L1. La scoperta dei buoni venditori, mostrata in Figure 7.9(b) presenta valori piu alti in L2 che in L1. Il trend dell’incertezza in Figure 7.9(c) mostra che in ogni caso la reputazione riduce sempre bene l’incertezza anche quando circola solo falsa informazione. La reputazione, secondo il nostro modello, fa collassare il mercato 156 7.3 Il modello ad Agenti: RepAge NS 25 25 NB 50 50 L L1 L2 S 30 30 GS 15% 15% BS 50% 50% Tabella 7.2: Experiment Settings. The simulation settings which remains the same for all the experiments. The scenario is investigated for increasing number of cheaters starting in absence of false information (0%) to arrive with all the population composed by cheaters (100%). Each scenario is characterized by an increasing rate of 10% of the number of cheaters until the 60%, after that, for a better investigation of the social evaluation and information trustworthy phenomena the interval of 10% is reduced to 5%, for a total of 28 simulated scenarios. The table parameters are: the number of buyers N B, the number of sellers N S, C the number of cheaters, the stock for each seller S, GS the good sellers (sellers providing the maximum quality) and BS the bad sellers. Both the settings are simulated with only image circulating (L1) and with both image and reputation (L2). 157 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione Figura 7.6: Global quality with increasing number of cheaters. The curves represent quality in the stabilised regime for L1 and L2. Until cheaters remain below the threshold of 60% reputation allows for quality to reach higher values than happens in the complementary condition. The truth circulates faster providing social evaluations which are coherent with the reality. Coherence between information and reality, shared by a larger amount of agents in L2, increases the trust and the market is more efficient. Over the threshold of 60%, false information floods in, hence social evaluations, circulating faster with reputation, are often distorted with respect to reality. 158 7.3 Il modello ad Agenti: RepAge (a) Quality of Contracts (b) Good Sellers Discovery (c) Uncertain Answers Figura 7.7: Simulation Results in L1 and L2 with 0% of Cheaters for 100 turns 159 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione (a) Quality of Contracts (b) Good Sellers Discovery (c) Uncertain Answers Figura 7.8: Simulation Results in L1 and L2 with 60% of Cheaters for 100 turns. (a) Quality. The two curves represent Quality with Image (L1) and with both Image and Reputation (L2) when the number of cheaters inhibits the good effect of Reputation. Reputation and Image are on the same levels. (b) Good Sellers Discovered. The two curves are average values of Good Sellers found out for each simulation turn. (c) “i don’t know” answers. The two curves are average values of “i don’t know” answers for each simulation turn. The L2 curve shows the ability of reputation in reducing uncertainty. 160 7.3 Il modello ad Agenti: RepAge (a) Quality of Contracts (b) Good Sellers Discovery (c) Uncertain Answers Figura 7.9: Simulation Results in L1 and L2 with 100% of Cheaters for 100 turns. (a) Quality. The two curves represent Quality with Image (L1) and with both Image and Reputation (L2) when there are only cheaters. Image performs better.(b) Good Sellers discovered. The two curves shows the average values of Good Sellers found out for each simulation turn. In L2 more good sellers are discovered. (c) “i don’t know” answers. The two curves are average values of “i don’t know” answers for each simulation turn. The L2 curve shows the ability of reputation in reducing uncertainty also when the positive effects of reputation on the quality are neutralized and only false information circulates. 161 Valutazioni Sociali ed Incertezza: Modellazione, Simulazione e Classificazione se il livello di alta informazione è superiore al 60%. 162 Capitolo 8 Conclusioni Nel complesso del lavoro si é introdotta una metodologia in corso di raffinamento orientata alla analisi dei sistemi complessi che si basa su sistemi basati su agenti e tecniche di data mining orientate alla classificazione delle interazioni tra entitá. Entrambe le componenti del metodo sono state sviluppate in collaborazione con altri ricercatori la cui attivitá risulta essere di rilievo sia nell’ambito della simulazione basata su agente, sia per la classificazione. Piú precisamente per la simulazione il lavoro stato portanto avanti per il lato simulativo durante i 3 anni di collaborazione con il LABSS (laboratorio di simulazione sociale basata su agente), capitanato splendidamente da Rosaria Conte, del Istituto di Scienze e Tecnologie della Cognizione del CNR. Mentre la parte relativa alle tecniche di data mining per la classificazione é stata sviluppata con il KddLab del ISTI anch’esso afferente al CNR. Tutti i passi e le concettualizzazioni metodologiche sono state sviluppate in un percorso scientifico, giudicato positivo in diverse sedi 163 Conclusioni internazionali, sono stati pubblicati sia su rivista che a conferenze internazionali articoli che utilizzano questa metodologia nel processo di indagine. I lavori pubblicati relativi a questa dissertazione sono in totale 11 tra pubblicazioni su rivista, che conferenze internazionali. La necessitá di un paradigma pi attento alle strutture dei sistemi complessi viene individuata principalmente dal consistente interessamento della scienza rispetto a problematiche relative alla concettualizzazione di dinamiche molto complicate e non riassumibili in schemi o modelli di semplice rappresentazione e quindi non facilmente fruibili. Questo fatto viene palesato, reso evidente e condiviso da diversi contesti a partire dalle problematiche relative alla genomica, alla proteomica, ai sistemi meterologici, ai processi cognitivi, passando per i sistemi sociali fino ad arrivare alle neuroscienze sia dalla prospettiva dell’individuo che sociale. É sempre più chiara la sensazione che il paradigma di indagine, di analisi, di verifica e di fruizione presenta dei limiti: (i) limiti concettuali di rappresentazione poichè rimane molto difficile modellare un sistema ed i legami che intercorrono tra tutte le sue componenti; (ii) limiti economici, in quanto lı́ndagine sperimentale é cresciuta nei costi in maniera spaventosa di paripasso con il progredire scientifico che sempre di più si é trovato ad affrontare problematiche con alti livelli di incertezza, dove le relazioni fondanti tra le componenti cambiano con il tempo e nel tempo, cambiando a loro volta la natura stessa del sistema rendendo di fatto molto difficile sia la validazione sperimentale sia la classificazione dei fenomeni. Problematiche afferenti a questa classe definita “Sistemi Com- 164 plessi” richiedono una teorizzazione che esclude a priori ogni centralizzazione, ripartizione e riduzione dell’interazione che é indissolubile dal concetto stesso di evoluzione che é a sua volta dipendente strettamente dall’equilibrio generato dalle componenti e dalla loro interazione mutevole. L’interazione esiste in quando manifestazione fenomenologica della combinazione di determinati fattori, riconducibili a loro volta in termini di interazione. Sempre in termini di interazione si verifica un’emergenza che porta ad un cambiamento di stato del sistema stesso, ma nel sistema stesso in quanto si ha una chiusura operazionale del sistema in se stesso. L’emergenza é la nozione che dati alcuni processi in un universo, retti da regole locali e mossi da piccole interazioni locali, che messi in condizioni appropriate danno origine ad un nuovo livello a cui bisogna riconoscere una specifica identità. Si evidenzia per tanto, la necessità evolutiva del sistema stesso in base ad un determinato verificarsi di una o più emergenze che pu sfociare in uno stato di organizzazione gerarchicamente superiore nella struttura di incapsulamento. I fenomeni di emergenza sono necessariamente non lineari, quindi non prevedibili poich fortemente caotici, di conseguenza di presuppone una risposta in ambito di reazione evolutiva sia ontologica sia di organizzazione della struttura sociale del sistema. Senza una rivisitazione del concetto stesso di evoluzione, classificazione e correlazione. L’ontogenesi - cioé la storia delle trasformazioni di un unità come risultato della storia delle interazioni, a partire da una sua struttura iniziale - é sempre legata al divenire di continue interazioni che, in modo dinamico, indirizzano, mantengono o cambiano il suo particolare sviluppo. In pratica il 165 Conclusioni sistema é definito dalla sua stessa dinamica di interazione. I sistemi complessi, sono una materia di studio che nasce al confine tra diverse discipline scientiche come i sistemi non lineari, il chaos, i sistemi autorganizzanti, società, società artificiali, questa prossimità ontologico scientifica fa si che i sistemi complessi e quindi nè ereditano sia le teorie fondative sia gli strumenti e le tecniche di indagine dando vita ad una commistione emergente molto ben fornita, ma a nostro avviso ancora incompleta. In concomitanza con il sempre maggior numero di sistemi di indagine scientifica riconducibili per proprietà e natura ai sistemi complessi, negli ultimi decenni lo studio di questa materia sta rifiorendo e riprendendo forte vitalità, soprattutto nelle aree scientifiche che si servono per la modellazione dell’approccio classico dei modelli matematici, che spesso diventa sempre più complesso e difficilmente fruibile e che, lato assolutamente non banale, produce modelli non scalabili e che sono rappresentati in maniera riduzionista, e non in grado di cogliere a pieno le caratteristiche principali di un sistema complesso. Per riduzionista si intende quella pratica comune alle scienza che tende ad eliminare dettagli ritenuti non rilevanti per la dinamica o per l’essenza del modello in indagine. Il punto è che spesso, questo lasciar fuori dettagli comporta la perdita di elementi fondamentali per le dinamiche sistemiche, sia da un punto di vista ontologico sia da un punto di vista prettamente funzionale. Se un sistema caotico è un sistema molto sensibile alle condizioni iniziali, come si fa a scegliere, per via del loro gran numero, quali parametri includere e quali no, visto che non siamo ingrado di distinguere quelli significativi? Come si può eludere il grande livello di ignoranza rispetto alla materia 166 di indagine e arrogarsi la responsabilità di tagliare via dal modello parti non ritenute significativamente rilevanti? Molto spesso si parla di sistemi complessi, non tanto come materia, ma come approccio di indagine, non a caso sempre di più si incontra il termine sistema complesso per indicare un approccio di ricerca comune a diverse discipline come le neuroscienze, le scienze sociali, la metereologia, la chimica, la psicologia, la vita artificiale, il calcolo evolutivo, la biologia molecolare. Dopo aver introdotto nei capitoli precedenti il panorama dei sistemi complessi, il suo intersecare il percorso di molte discipline, e avendo presentato i sistemi multi-agente ed il data mining, che sono gli elementi costituenti del framework di indagine dei sistemi complessi, é stata introdotta un’esemplificazione relativa sia alla modellazione dei fenomeni sia alla loro possibile interpretazione. Il metodo proposto si basa essenzialmente sul concetto di interazione. Con una modellazione computazionale basata sui sistemi ad agente, mentre per la parte di analisi e validazione empirica agli Interaction Pattern. Sono stati introdotti due casi di studio, il primo orientato alla classificazione stretta di entitá a partire dalle loro interazioni, il secondo invece propone un sistema di analisi mirato alla costruzione di un modello simulativo basato su agenti per l’analisi dei processi cognitivi pro-sociali. Ovvero in questo lavoro fa riferimento alla tentativo di classificare e predire il comportamento di individui pericolosi nel traffico che fa riferimento ad un articolo recentemente pubblicato nell’ambito di un progetto europeo [4], in cui vi è una vera e propria trattazione della metodologia di classificazione basato sul tracciamento dell’inte- 167 Conclusioni razione. Ovvero, gli individui vengono catalogati come serie spazio temporali di interazioni in relazione agli individui afferenti al loro stesso gruppo. Nel secondo esempio a differenza del precedente che presenta un applicazione parziale, ovvero orientata solo all’aspetto predittivo, viene presentata un applicazione completa della metodologia per l’analisi, modellazione e simulazione dei sistemi complessi. L’esempio in esame parte dalla modellazione di una teoria, la implementa come sistema ad agenti e gli interaction pattern vengono utilizzati da un lato per la classificazione degli individui, dall’altra per la validazione della teoria. Un aspetto molto importante nell’esempio in questione è che l’uso degli interaction pattern, ha permesso di individuare caratteristiche proprie del modello teorico che non erano state prese in considerazione, ma sono emerse come proprietà intrinseche del sistema complesso in esame. Per l’esattezza la teoria in indagine è quella sulla teoria della reputazione [37] che introduce una distinzione fondamentale tra i tipi di valutazioni circolanti nel contesto sociale: l’immagine e la reputazione. 168 Bibliografia [1] Benvenuto Sergio. Consciousness in the neurosciences. a conversation with francisco varela. Journal of European Psychoanalysis - www.psychomedia.it/number14/varela.htm, 14:109–122, 2002. [2] Paul K. Feyerabend. Against method: Outline of an anarchistic theory of knowledge. Humanities Press. [3] B. Edmonds. Against: a priori theory, For: descriptively adequate computational modelling, pages 175–179. Routledge, 2003. [4] Mirco Nanni and Walter Quattrociocchi. Representation, synthesis and classification of trajectories from dynamicity descriptors. In Technical report GeoPKDD Project, 2007. [5] Cristiano Castelfranchi. The theory of social functions. challenges for multi-agent-based social simlation and multi-agent learning. Cognitive Systems, 2001. 169 BIBLIOGRAFIA [6] Rosaria Conte and Jaime Sichman. Dependence within and between groups. Computational and Mathematical Organization Theory, 2002. [7] L. Marengo, G. Dosi, P. Legrenzi, and C. Pasquali. The structure of problem-solving knowledge and the structure of organizations. Ind Corp Change, 9(4):757–788, December 2000. [8] John H. Holland. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence. MIT Press, Cambridge, MA, USA, 1992. [9] Friedrich Hayek. Economics and knowledge. Economica, 4:33– 54, 1937. [10] Kirk A. Abbott, Benjamin A. Allan, and Arthur W. Westerberg. Global Preordering for Newton Equations Using Model Hierarchy. AIChE Journal, 1997. In press. [11] Cangelosi A., Nolfi S., and Parisi D. On Growth, Form, and Computers, chapter Artificial life models of neural development, pages 339–354. London UK, Academic Press, 2003. [12] S.W. Mahfoud. Boltzmann selection. In T. Bäck, editor, Proceedings of the 7th International Conference on Genetic Algorithms, pages C2.5:1–4. Morgan Kaufmann, San Francisco, 1997. 170 BIBLIOGRAFIA [13] John H. Holland. Adaptation in natural and artificial systems: An introductory analysis with applications to biology, control, and artificial intelligence. University of Michigan Press. [14] Daniel C. Dennett. Consciousness Explained. Gardners Books, June 2004. [15] Jeffrey Travers and Stanley Milgram. An experimental study of the small world problem. Sociometry, 32(4):425–443, 1969. [16] Fan R. K. Chung, Paul Erdős, and Ronald L. Graham. Erdős on Graphs: His Legacy of Unsolved Problems. AK Peters, Ltd., 1 edition, January 1998. [17] Albert-László Barabási. Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life. Plume Books, April 2003. [18] Gerald S. Wilkinson. Reciprocal food sharing in the vampire bat. Nature, 308(5955):181–184, March 1984. [19] Paul S. Adler. Market, hierarchy, and trust: The knowledge economy and the future of capitalism. Organization Science, 12(2):215–234, March 2001. [20] Paul Resnick and Richard Zeckhauser. Trust Among Strangers in Internet Transactions: Empirical Analysis of eBay’s Reputation System. Elsevier Science, November 2002. [21] Brian S. Everitt and Torsten Hothorn. A Handbook of Statistical Analyses Using R. Chapman & Hall/CRC, 1 edition, February 2006. 171 BIBLIOGRAFIA [22] B. . G. Rosen, C. Anderberg, and R. Ohlsson. Parameter correlation study of cylinder liner roughness for production and quality control. Proceedings of the I MECH E Part B Journal of Engineering Manufacture, 222(11):1475–1487. [23] Boris Mirkin. Clustering for Data Mining: A Data Recovery Approach (Computer Science and Data Analysis). Chapman & Hall/CRC, April 2005. [24] P. H. SNEATH and R. R. SOKAL. Nature, 193:855–860, March 1962. Numerical taxonomy. [25] James C. Bezdek. Cluster validity with fuzzy sets. Cybernetics and Systems, 3(3):58–73, 1973. [26] Walter Quattrociocchi, Daniela Latorre, Mirco Nanni, and Elena Lodi. Dealing with interaction for complex systems modelling and prediction. INTERNATIONAL JOURNAL OF ARTIFICIAL LIFE RESEARCH (IJALR), 1:00, 08. [27] Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, second edition, December 2002. [28] Anand S. Rao and Michael P. Georgeff. Decision procedures for bdi logics. J Logic Computation, 8(3):293–343, June 1998. [29] John R. Searle. Expression and Meaning: Studies in the Theory of Speech Acts. Cambridge University Press, October 1979. 172 BIBLIOGRAFIA [30] M. Luck, M. D’inverno, M. Fisher, and Fomas’97 Contributors. Foundations of multi-agent systems: Techniques, tools and theory. Knowledge Engineering Review, 13(3):297–302, 1998. [31] R. A. Barman, S. J. Kingdon, A. K. Mackworth, D. K. Pai, M. K. Sahota, H. Wilkinson, and Y. Zhang. Dynamite: A testbed for multiple mobile robots. In in ‘Proceedings, IJCAI93 Workshop on Dynamically Interacting Robots, pages 38–44, 1993. [32] A. Balluchi, A. Balestrino, and A. Bicchi. Efficient parallel algorithm for optimal block decomposition of transfer function matrices for decentralized control of large-scale systems. In Decision and Control, 1993., Proceedings of the 32nd IEEE Conference on, pages 3750–3755 vol.4, 1993. [33] T. Balch and M. Hybinette. Social potentials for scalable multirobot formations. volume 1, pages 73–80 vol.1, 2000. [34] Kiminori Matsuyama. Growing through cycles. Econometrica, 67(2):335–347, 1999. [35] Masakazu Seno and George Karypis. Slpminer: An algorithm for finding frequent sequential patterns using length-decreasing support constraint. In In Proceedings of the 2nd IEEE International Conference on Data Mining (ICDM, pages 418–425, 2002. [36] Weka Machine Learning Project. http://www.cs.waikato.ac.nz/˜ml/weka. Weka. URL 173 BIBLIOGRAFIA [37] Rosaria Conte and Mario Paolucci. Reputation in Artificial Societies: Social Beliefs for Social Order. Springer, October 2002. [38] Jordi Sabater-Mir, Mario Paolucci, and Rosaria Conte. Repage: REPutation and imAGE among limited autonomous partners. JASSS - Journal of Artificial Societies and Social Simulation, 9(2), 2006. [39] R. Dunbar. The social brain hypothesis. Anthropology, 6:178–190, 1998. Evolutionary [40] Isaac Pinyol, Mario Paolucci, Jordi Sabater-Mir, and Rosaria Conte. Beyond accuracy. reputation for partner selection with lies and retaliation. In Eighth International Workshop on MultiAgent-Based Simulation, pages 134–146, 2007. [41] M. Sunnafrank. Predicted outcome value during initial interactions: A reformation of uncertainty reduction theory. volume 13, pages 191–210, 1986. [42] CE Shannon and W Weaver. The Mathematical Theory of Communication. University of Illinois Press, Urbana, Illinois, 1949. 174 BIBLIOGRAFIA 175