Simulazione Basata su Agente e Interaction Pattern

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