Anche le formiche, nel loro piccolo

Transcript

Anche le formiche, nel loro piccolo
DIESSE FIRENZE
Didattica e Innovazione Scolastica
Centro per la formazione e l’aggiornamento
SCIENZAFIRENZE
OTTAVA EDIZIONE
Docenti e studenti a confronto su:
IL LINGUAGGIO DEL LIBRO DELLA NATURA
La dimensione matematica dei fenomeni naturali
Aula Magna
Polo delle Scienze Sociali, Università di Firenze
Firenze, 13 – 14 aprile 2011
Menzione d’onore – Sezione Triennio
Titolo: Anche le formiche, nel loro piccolo,…matematizzano!
Di: Lotti Emilia, Casale Anna, Montecorboli Chiara
Scuola: Liceo della Comunicazione San Benedetto - Piacenza
Docente: Farina Giorgia
Motivazione: In modo interessante, nonostante i limiti dovuti alla complessità
dell’oggetto di studio, il lavoro utilizza concetti matematici e informatici per analizzare
alcuni aspetti del comportamento delle formiche. Per questo gli studenti hanno dovuto
imparare contenuti di tipo informatico che non si sviluppano nel normale curricolo
scolastico e hanno simulato in modo autonomo fenomeni ed esperimenti tratti dalla
letteratura. La scoperta che, almeno in parte, la vita delle formiche può essere descritta
con il linguaggio matematico sembra aver suscitato il desiderio di nuove sperimentazioni
sul campo. Ben strutturata la relazione.
PRESENTAZIONE DELL'INSEGNANTE
Il lavoro è stato svolto da tre ragazze di III e IV Liceo della Comunicazione, indirizzo Sportivo e
Tecnologico; e lo stupore di trovare la matematica anche nelle cose più piccole è stato grande. Le
ragazze hanno suggerito di vedere se anche l'animale all'apparenza più "insignificante" ha una
regola matematica che lo descrive. Hanno quindi considerato l'animale più piccolo che è venuto in
mente: le formiche.
Inizialmente abbiamo studiato come si comportano le formiche da un punto di vista biologico, poi
ci siamo addentrati in aspetti matematici e informatici in grado di descrivere il fenomeno e di
simularlo.
A livello concettuale, soltanto la base di probabilità era stata affrontata dalle ragazze di IV durante
l'anno, e quindi ci siamo dovute confrontare con gli aspetti più specifici della distribuzione e della
probabilità di un evento. Gli argomenti erano difficili, basti pensare che la teoria dei grafi e il
problema del commesso viaggiatore non si affrontano in ambito curricolare nemmeno in V. In
ambito informatico solo la ragazza di IV tecnologico sapeva a grandi linee cosa fosse la
completezza. È stato quindi necessario effettuare un approfondimento di complessità algoritmica
e grafi.
Lo sviluppo del software ha richiesto da parte delle ragazze notevole impegno data la complessità
logica dell'evento da tradurre poi in programmazione.
Il lavoro ha richiesto una quindicina di ore in classe, dove le ragazze hanno approfondito i concetti
matematici e informatici necessari per sviluppare il lavoro in autonomia.
ANCHE LE FORMICHE,
NEL LORO PICCOLO,…
…MATEMATIZZANO!
III e IV
Liceo della Comunicazione
1
Introduzione
Il nostro lavoro verte sullo studio di due particolari comportamenti delle formiche. Perché proprio le
formiche? Volevamo vedere se davvero la matematica può descrivere tutta la natura e così abbiamo
considerato un fenomeno che ci sembrava distante dal mondo matematico: l’organizzazione di un
formicaio e particolari movimenti delle formiche. Al contempo ci siamo domandate se la descrizione
matematica di questo fenomeno può avere degli sbocchi applicativi nella vita pratica o se rimane una
semplice descrizione della realtà.
Abbiamo quindi studiato il comportamento delle formiche da un punto di vista biologico e abbiamo provato
a descriverlo con la matematica, implementando poi un software che ci permettesse di simulare il
comportamento delle formiche.1
Il recruitment e l’esperimento del duplice ponte
Il primo comportamento che analizziamo è la scelta della strada da percorrere per arrivare in un
determinato punto. Le formiche scelgono sempre la strada più breve. Questo perché tali insetti
trasudano feromone, una sostanza che attrae altre formiche; tale processo prende il nome di
recruitment, come definito da J. L. Deneubourg.
Immaginiamo che le formiche possano muoversi su un ponte, con due bracci di ugual lunghezza,
che separa il cibo dal nido. In pochi minuti le formiche seguono, in maggioranza, un unico percorso.
Senza considerare l’evaporazione del feromone, si assume che l’aumento di feromone su un braccio
sia proporzionale al numero di formiche che usano lo stesso per attraversare il ponte. Le formiche,
quindi, si scambiano informazioni tramite feromoni lasciando una traccia sulla via che ritorna al
nido quando hanno trovato cibo; in tal modo sviluppano collettivamente una complessa rete di
sentieri che collega il nido nella maniera più efficace alle fonti di cibo. Quando l’insetto esce dal
nido per andare alla ricerca di cibo viene stimolato dalle tracce di feromone, che saranno più
marcate sul sentiero maggiormente utilizzato. Questi insetti scelgono la strada solamente
considerando il sentiero più trafficato e quindi più marcato.
Esiste un famoso esperimento, chiamato “dei due ponti”, dove delle formiche vengono poste in un
contenitore collegato con due ponti di lunghezza identica ad un altro recipiente colmo di cibo2. Le
formiche inizialmente tenderanno a privilegiare uno solo dei due ponti e successivamente
utilizzeranno esclusivamente quello. Ripetendo l’esperimento si osserva che la “scelta” del ponte
avviene senza un criterio ed è soltanto un fatto di stigmergy3 se le formiche prediligono il ponte con
maggiore densità di feromone.
Sia il numero di formiche che attraversa il braccio A del ponte e il numero di quelle che
transitano sul braccio B.
+ = Usando la definizione classica di probabilità, possiamo dire che la probabilità che la + 1 −
formica scelga il braccio A è data da = = 1 − , dove
1
A tal proposito annotiamo che utilizzeremo fin dall’inizio un linguaggio valevole sia in ambito biologico che in ambito
informatico.
2
Proveremo a fare l’esperimento appena la stagione ci permetterà di reperire formiche!
3
Si veda pag. 7 e seguenti.
2
n rappresenta il grado di non linearità delle funzioni: se n è grande, anche una via poco odorosa ha
grande probabilità di essere scelta;
k quantifica il grado di attrazione del percorso non marcato: più k è grande, più deve essere grande
la quantità di feromone per far sì che le formiche non scelgano a caso.
= , con δ variabile casuale
uniformemente distribuita sull’intervallo0;
sull’intervallo 1 . Stesso ragionamento per il braccio B.
La scelta dinamica successiva è data da
Possiamo ora considerare due
ue bracci di diversa
lunghezza e abbiamo visto che le formiche scelgono
sce
il braccio più breve.
Può accadere che le formiche si fossilizzino sulla via
più lunga; se il tempo di evaporazione del feromone
fer
è abbastanza lungo, questo è fuorviante e le
formiche sceglieranno una via sfavorevole. Se il
feromone durasse di meno, il sistema avrebbe più
flessibilità
e
quindi
sarebbe
possibile
un’autocorrezione più rapida.
È quindi importante considerare l’evaporazione
l’evaporazione del feromone nella nostra matematizzazione.
Immaginiamo di considerare il primo percorso riportato nella foto precedente: intanto che una
formica percorrerà il braccio a sinistra, un’altra formica avrà percorso in andata e ritorno quello di
destra;
ra; quindi su questo braccio ci sarà più feromone che sull’altro. Molto probabilmente una terza
formica sceglierà immediatamente quello di destra.
Questo meccanismo può essere utilizzato per risolvere problemi NP-hard
NP hard, ovvero problemi di
decisione le cui soluzioni positive possono essere verificate in tempo polinomiale avendo le giuste
informazioni, o equivalentemente, la cui soluzione può essere trovata in tempo polinomiale con una
macchina non deterministica.
Teoria dei grafi e il problema del Commesso Viaggiatore
La teoria dei grafi appartiene a un filone matematico-informatico
matematico
detto Operations Research che
studia il problema visualizzandolo graficamente mediante archi, nodi e flussi. Questa teoria utilizza
diversi algoritmi4 per poter risolvere problemi di carattere reale e non. La particolarità di questa
teoria consiste nel diminuire i tempi di risoluzione di qualsiasi problema.
Un grafo si indica con G = (V,E),
(V,E) indicando con V l’insieme dei nodi (vertex) e con E l’insieme
degli archi (edge). Due nodi collegati da un arco sono detti “estremi dell’arco”; se un arco ha due
nodi coincidenti viene detto loop
oop,, mentre se più archi collegano due stessi nodi vengono detti archi
multipli.. Un grafo semplice è un grafo che collega
collega punti diversi con un solo arco, quindi un grafo
senza archi multipli e loops; in caso contrario viene detto multigrafo.
4
Un algoritmo consiste in una procedura prestabilita per la risoluzione di un problema in un numero finito di passi.
3
Un grafo si può definire completo nel caso in cui a un grafo semplice non è più possibile aggiungere
degli archi senza creare degli archi multipli. Per esempio, se consideriamo un triangolo, assumendo
i 3 vertici di questo come nodi e i 3 lati come archi, non è possibile collegare in nessun altro modo i
tre vertici senza ricreare un arco già presente. Se un grafo G non è completo, cioè possono essere
creati degli archi non ancora esistenti, esiste il suo grafo complemento, un grafo formato da tutti gli
archi non presenti nel grafo G, ma che se uniti gli permetterebbero di diventare un grafo completo.
Un esempio pratico della teoria dei grafi può essere il dover pianificare un viaggio in più tappe;
ipotizziamo che un commesso viaggiatore debba visitare un certo numero di città (che
rappresentano i nodi), conoscendo le distanze tra queste (i pesi) e le varie strade (gli archi), ma
volendo terminare il percorso nel più breve tempo possibile passando per ogni città una e una sola
volta. Questo problema prende il nome di problema del commesso viaggiatore, Traveling
Salesman’s Problem (TSP), uno dei problemi matematici maggiormente studiati nell’ambito
informatico. Esso risale al 1857 e fu inventato dal matematico irlandese William Rowan Hamilton,
inventore dell’icosian game.
Problema del commesso viaggiatore e NP-completezza.
Riuscire a trovare la soluzione del TSP è complicato: la difficoltà sta nel dover trovare tutti i
percorsi possibili per poter successivamente scegliere quello più breve. Se, per esempio, dobbiamo
visitare 10 città, decisa la prima ne abbiamo ancora 9 tra cui scegliere; decisa la seconda ne
abbiamo ancora 8; decisa la terza ancora 7; e così via, quindi avremmo 10! possibilità, quindi
3.628.800 possibilità. Pertanto per riuscire a risolvere questo tipo di problema dobbiamo affidarci a
un elaboratore. Lo studio degli algoritmi per la risoluzione di problemi del tipo del TSP rappresenta
uno dei principali obiettivi dell’informatica.
Consideriamo quindi il nostro problema riportandolo ad un grafo pesato (N,E) i cui N nodi
corrispondono alle città ed E è l’insieme degli archi; i pesi sono le distanze relative.
(
(
Consideriamo !" = #$%& − &" ' + %) − )" ' * come l’usuale distanza euclidea tra i e j, dove & e
) sono le coordinate di una generica città i. Consideriamo anche !" = !" .
Utilizzando il metodo Ant System si ha che una k-esima formica costruisce la sua soluzione
compiendo un giro completo del grafo, cioè in + = |-| passi, toccando ogni nodo una sola volta. Si
ha quindi la seguente probabilità che il k-esimo agente che parte dal nodo i scelga il nodo j durante
[τ (t )] ⋅ [η ]
α
la t-esima iterazione: Pij (t ) =
k
ij
β
ij
α
β , dove indichiamo
∑ [τ (t )] ⋅ [η ]
l∈J i k
il
il
η il la visibilità, ovvero l’inverso della distanza: più il percorso è breve più il nodo è visibile;
τ ij (t ) la traccia feromonica presente sull’arco che lega la città i con la città j;
k
Ji
l’insieme dei nodi che non sono ancora stati visitati dal k-esimo agente e che sono raggiungibili
dall’i-esimo nodo;
α è la sensibilità dell’agente al feromone: se α=0 le città sono scelte solo in base alla distanza
β è la sensibilità dell’agente k all’attraversare la rete: se β=0 si considera solo l’attrazione
feromonica.
4
Durante il suo tour sul grafo, la k-esima di m formiche presenti sul grafo depone una certa quantità
0 di feromone:
∆/"
2
0
∆/"
= 1 ∆/"
3
Considerando l’evaporazione del feromone, con ρ coefficiente di decadimento, 0 ≤ 5 < 1:
1 − 5 ∙ /" 0,
aggiorniamo il feromone presente su ogni specifico arco ad ogni iterazione:
/" 0 = 1 − 5 ∙ /" 0 + ∑2
3 ∆/" 0,
si riesce così a guidare le formiche (per virtuali che esse siano) verso percorsi migliori per giungere
in un minor tempo ad una soluzione ottimale, evitando il rischio di stagnazione.
L’aspetto su cui maggiormente ci siamo soffermate è però l’interessante comportamento di
organizzazione del nido che possiedono le formiche. Cerchiami quindi di capire cosa succede nel
formicaio e quindi lo analizziamo.
La vita delle formiche
Le strutture emergenti nel foraggiamento delle formiche includono le tracce di feromone5 con la
loro organizzazione nello spazio e nel tempo. Le formiche creano un insieme di meccanismi
dinamici che attraverso semplici componenti creano strutture che appaiono a livello globale. Tutto
ciò prende il nome di self-organization (SO). Essa si basa sui seguenti meccanismi:
1. Feedback positivo: alta capacità di cambiare strategia di fronte a un problema improvviso.
2. Feedback negativo: controbilancia il feedback positivo ed è in grado di assumere una forma
di saturazione, esaurimento, ammassamento del cibo nel nido.
3. Amplificazione delle fluttuazioni: le fluttuazioni, cioè gli errori o i cambiamenti, possono
essere il trampolino di lancio per nuove attività.
4. Interazioni multiple: sono le azioni reciproche di più insetti.
Le formiche comunicano in diversi modi fra di loro: con danze, con il movimento delle antenne,
con lo scambio di cibo e liquidi da bocca a bocca (trophellaxis), con contatti mandibolari, ecc…
Comunicano anche con un metodo “indiretto”, ovvero attraverso modifiche ambientali.
Nel 1959 l’entomologo P.P. Grassè osservò la costruzione del nido da parte delle termiti: ogni
insetto crea una pallina di fango che impregna con un particolare feromone e la depone in modo
casuale; successivamente la probabilità di depositare una pallina, in un luogo particolare, è
proporzionale alla presenza di altre palline e alla concentrazione di feromone. Ciò significa che tutte
le termiti, dopo un certo tempo, tenderanno ad accumulare fango sempre nello stesso posto. È stata
così creata una configurazione stimolante per altre operaie. Grassè introduce quindi il termine di
stigmergy.
5
Una sostanza chimica utilizzata dagli animali per comunicare.
5
Stigmergy
Il termine Stigmergy6 indica un meccanismo per cui l’azione di un agente è influenzata da azioni
precedenti di altri agenti che hanno modificato l’ambiente. La stigmergia è dunque una forma di
auto-organizzazione; essa produce complesse strutture senza alcuna necessità di pianificazione,
controllo o comunicazione tra gli agenti.
Chi comunica tramite lo stigmergy non ha un preciso scopo; semplicemente gli item reagiscono.
Non avendo un piano particolare sono in grado di reagire ai più svariati cambiamenti. Lo stigmergy
diventa quindi sinonimo di flessibilità: quando l’ambiente muta per una causa esogena, gli insetti
rispondono in modo appropriato alla perturbazione come se questo cambiamento fosse uno stimolo
per la colonia. Questo vuole anche dire che non è necessario conoscere a priori il numero di item, e
quindi di cluster, che si dovranno formare, ma che è addirittura possibile aggiungere nuovi dati
senza creare alcun problema.
Formiche e insiemi
Alcuni scienziati hanno effettuato esperimenti riguardanti l’organizzazione del cimitero7.
1
2
3
4
Come si può vedere nell’immagine 1 sopra riportata8, i cadaveri sono stati sparsi casualmente in
un’area circolare di 25 cm; se lo spazio preso in considerazione fosse stato più piccolo o la
distribuzione dei corpi troppo differenziata, le formiche avrebbero spinto i cadaveri lungo la
circonferenza per fare in modo che i cluster9 fossero sufficientemente lontani. Nel giro di poche ore
si può già notare come si siano creati dei cluster con un’area più densa di oggetti (immagine 2); le
formiche inizialmente depositano gli individui in modo casuale, ma poi sono stimolate a collocare
gli item10 dello stesso genere vicini, creando man mano dei gruppi sempre più densi.
Il meccanismo che sta alla base di questo fenomeno viene chiamato stigmergy e gioca un ruolo
basilare in questo esperimento.
Qual è il meccanismo che porta alla formazione di cluster? Quando una formica incontra un corpo,
lo raccoglierà con probabilità crescente in modo proporzionale al grado di isolamento di quel
cadavere, mentre se sta già trasportando un oggetto lo depositerà con probabilità proporzionale al
numero dei corpi nelle vicinanze. Tutto ciò favorisce il feedback positivo, ovvero la capacità di
reagire ai cambiamenti in ogni istante, dal quale dipende la formazione di cluster sempre più grandi.
Inizialmente si creano tanti piccoli cluster che mano a mano vengono uniti fino ad ottenere poche
aree ad alta densità, come è ben evidenziato dall’immagine 4.
Questo comportamento non è ovviamente utilizzato esclusivamente per riordinare i cadaveri, ma sta
alle fondamenta dell’organizzazione dell’intero nido.
Cerchiamo di addentrarci maggiormente nella vita delle formiche per capire meglio le cose
6
Dal greco stigma – pungiglione e ergon – lavoro. Lo stesso fenomeno è anche chiamato sematectonic dal semiotico,
relativo al segnale, e dal greco tecton – artigiano.
7
Anche questo esperimento verrà effettuato con l’arrivo dei primi caldi.
8
Immagine di repertorio.
9
Il cluster è un raggruppamento di oggetti simili, cioè un insieme. Possiamo dire che il cimitero è l’insieme Universo e
i cluster sono i suoi sottoinsiemi. Ci addentreremo in seguito in questo argomento.
10
Gli item sono gli oggetti.
6
Clustering
Il modello di clustering è un caso particolare di modello di smistamento e analisi multivariata dei
dati che viene adoperato per suddividere e/o raggruppare elementi. L’idea generale è che oggetti
isolati possano essere raccolti e raggruppati in luoghi dove siano presenti altri item dello stesso
genere. Gli algoritmi di clustering raggruppano gli elementi sulla base della loro distanza reciproca,
da cui deriva l’appartenenza o meno ad un gruppo.
Le tecniche di clustering si basano su due “filosofie”:
dal basso verso l’alto: tutti gli elementi vengono considerati cluster a sé e poi l’algoritmo
provvede a unire i cluster più vicini. Unendo sempre più gli elementi si arriverà ad ottenere o un
numero prefissato di cluster o una situazione per la quale la distanza minima tra i cluster non
superi un certo valore.
dall’alto verso il basso: all’inizio tutti gli elementi sono un unico cluster e poi l’algoritmo
comincia a suddividerlo in tanti piccoli cluster inferiori in modo da ottenere gruppetti di
elementi omogenei. L’algoritmo procede fino ad ottenere un numero prefissato di cluster.
Oltre alle tecniche di clustering esiste anche la necessità di creare delle condizioni per le quali
l’oggetto possa o meno essere assegnato a più cluster:
clustering esclusivo: ogni elemento può essere assegnato a uno e a un solo insieme;
clustering non-esclusivo: un elemento può appartenere a più cluster con differenti gradi di
appartenenza.
Nel caso che noi abbiamo considerato, gli insetti utilizzano uno stigmergy di tipo quantitativo. Se si
ipotizza che nell’ambiente preso in esame vi sia solo un tipo di articolo, la probabilità pp di
raccoglierlo da parte di una formica che si muove in modo casuale è data da:
pp = 8
9
9
;
:
(
dove f indica la concentrazione di item nelle vicinanze percepita dall’agente e < è una costante che
indica una soglia.
Quando = ≪ < ,?@ = 1: la probabilità di raccogliere un articolo è alta quando è isolato. Al
contrario ?@ = 0 quando = ≫ < : in quel determinato posto ci sono molti articoli dello stesso
genere che quindi non devono essere spostati in un altro posto.
La probabilità pd di depositare un articolo, quando lo si sta trasportando, è molto simile:
con <( costante di soglia.
pd = 8
:
B :
;
(
Se = ≪ <( allora ?C = 0, se = ≫ <( allora ?C = 1.
J. L. Deneubourg calcolò f attraverso la memoria short-term11 posseduta da ogni agente. Un agente
infatti mantiene traccia dell’ultima unità di tempo T e f è semplicemente il numero N di articoli
incontrati durante queste ultime unità di tempo, diviso il maggior numero possibile di articoli che
11
Un agente può tenere memoria degli ultimi m item depositati sul percorso. Ogni volta che una formica raccoglie un
item, confronta la caratteristiche dell’oggetto con quelli degli m item precedentemente depositati e torna indietro alla
posizione di quello più simile. Tale comportamento ha il preciso compito di evitare la formazione di troppi cluster,
perché vi è una probabilità molto bassa di iniziare un nuovo mucchio.
7
può essere incontrato durante ogni unità T.. Se si ipotizza che in un’unità di tempo si possa
incontrare
trare al più un oggetto, allora = =
I
J
.
Rianalisi dell’esperimento di Deneubourg,
De
Lumer e Faieta.
Il problema che ci siamo posti è stato quello di capire come le formiche suddividano, per
caratteristiche comuni, un insieme di oggetti in un numero variabile di cluster senza conoscere il
numero di caratteristiche differenti presenti. Questo interrogativo se lo sono posto anche vari
var esperti
tra cui Deneubourg,
neubourg, Lumer e Faieta.
Consideriamo che ogni oggetto abbia un numero finito di attributi e ogni attributo è identificato da
un numero.
Deneubourg fece un esperimento per cercare di risolvere questo problema, considerando una
popolazione di formiche (distribuite
distribuite in modo casuale su una griglia 2D) cui è permesso muovere
oggetti secondo il loro tipo. L'esperto adoperò un modello chiamato BM (Basic Model)
Mode nel quale il
tempo influenzava il movimento dell'oggetto: gli oggetti incontrati prima risultavano più pesanti
rispetto a quelli trovati successivamente. Viene inoltre definita una distanza d tra gli oggetti nello
spazio. Per esempio, nel BM, due oggetti
oggett simili oi e oj possono essere simili o diversi, in modo da
definire una distanza binaria:
D
!%E
% , E" ' = 0 E E" E+E EKK00 L
!%E
% , E" ' = 1 E E" E+E EKK00 !L
L'analisi dei dati ha una distribuzione di oggetti che può essere rappresentata da un numero n finito
di attributi; ogni attributo rappresenta qualcosa di reale, così che gli oggetti possano essere visti
come punti dello spazio G H e d(oi ,oj) è la norma euclidea tra essi.
Questo modello è stato poi rivisto da Lumer e Faieta che proiettarono lo spazio degli attributi su
uno spazio più piccolo (dimensione z = 2), così che le distanze tra gli oggetti presenti nello stesso
cluster (intra-cluster) sono piccole rispetto alla distanza tra attributi di oggetti appartenenti a cluster
differenti (inter-cluster) (Modello LF).
LF). Le proiezioni servono per ridurre informazioni e mappare
alcuni punti ben distinti.
Invece di immergere gli oggetti in 2 o in un sottospazio, in LF si
2
immergono in una griglia sottospazio di
, ovvero una
discretizzazione
retizzazione dello spazio reale.
Gli agenti che si muovono all'interno di questo spazio sono in grado
di percepire direttamente un certo numero di celle attorno alla
propria posizione: una regione circostante s2 attorno all'area corrente
r su cui è posizionato l'agente (vedi figura).
Sia d(oi ,oj) la distanza tra due oggetti oi e oj nello spazio degli attributi. Consideriamo che un'agente
è posizionato su r ,all'istante t , e che sta cercando un oggetto oi che si trova in quell'area.
La densità locale f(oi ) rispetto ad oi in r è dato da: =E = & 0, ∑MNOIPQ
IPQUVWV X R1 −
C%M ,MN '
S
TY,
f(oi ) è una misura media della similarità degli oggetti oi con gli altri oj presenti nelle vicinanze di
oj ;
8
α è un fattore che definisce la scala della diversità: permette di determinare quando due item
possono essere posizionati vicini;
Neigh(sxs) è l’area s x s circostante alla zona r, in cui l’agente può percepire gli oggetti oj;
Se tutto lo spazio s2 attorno a r è occupato da oggetti simili ad oi , si ottiene:
?Z EK+ E ∈ -Kℎ\]\ Z, !%E , E" ' = ^, LLEZ =E = 1
Tale densità indica che l’oggetto oi ha una probabilità molto bassa di essere raccolto. Se lo spazio s2
attorno a r è occupato invece da oggetti molto differenti da oi, si ottiene:
?Z EK+ E" ∈ -Kℎ\]\ Z, !%E , E" ' = ^, LLEZ =E = 0
In questo caso l’oggetto ha una probabilità molto alta di essere spostato.
Un terzo caso considera che la zona attorno a r possa essere vuota, allora f(oi ) = 0 e quindi l’oggetto
verrà rimosso. Si può quindi affermare che oi può essere raccolto con probabilità inversamente
proporzionale alla densità degli oggetti.
 k1

2 f (oi ), f (oi ) < k 2
 e pd (oi ) = 
Le probabilità definite da Lumer e Faieta sono: p p (oi ) = 
f (oi ) ≥ k 2
1,
 k1 + f (oi ) 
Per evitare che vengano a crearsi più cluster di quelli che vogliamo, Lumer e Faieta hanno
introdotto 3 caratteristiche:
2
1. Agenti con differenti velocità di movimento: consideriamo v la velocità di un agente,
_ ∈ 1, _2`] . Questo parametro influenza la funzione di densità f che viene allora
modificata in questo modo:
=E = & a0,
!%E , E" '
1
1
b1 −
ch
(
_−1
MN ∈dPQU efe g
^ 81 +
;
_2`]
Le formiche che si muovono più velocemente sono meno selettive rispetto a quelle lente e
creano cluster grossolani; quelle lente dispongono gli oggetti con più cura, dando più
attenzione alle loro somiglianze.
2. Una memoria short-term. Un agente è in grado di tenere memoria degli ultimi m item che
ha depositato lungo il percorso. Ogni volta che una formica raccoglie un item, confronta le
sue caratteristiche con quelle degli m item depositati e ritorna indietro alla posizione di
quello più simile. Questo comportamento è importante per evitare la formazione di troppi
cluster, in quanto vi è una probabilità molto bassa di creare un cluster nuovo.
3. Cambiamento comportamentale. Se un cluster non subisce mutamenti per un determinato
numero di iterazioni o unità di tempo, è possibile che gli agenti lo distruggano. Questo
comportamento permette al sistema di evitare la formazione di configurazioni errate.
La simulazione di questi algoritmi mostra che la disposizione spaziale dei cluster è molto complessa
in quanto la dislocazione dei cluster è arbitraria e non riesce ad ottenere una perfetta correlazione tra
distanza nello spazio e distanza nel piano a causa delle informazioni perse nelle proiezioni. Nella
maggior parte dei casi queste informazioni non sono utilizzate quindi i due studiosi, non inserendo
come vincolo la posizione spaziale, danno all’algoritmo una maggiore velocità di calcolo.
L’algoritmo LF non è parametrico nè rispetto al numero di classi che possono emergere né rispetto
alla loro posizione rispetto al piano.
9
LF è simile agli algoritmi gerarchici in quanto tutti gli elementi vengono inseriti in un cluster,
successivamente si comporta invece come un algoritmo di partizione che comparano gli attributi
degli elementi con la media degli attributi degli elementi dei cluster.
LF è stato utilizzato da Lumer e Faieta per effettuare l’analisi dei dati ricavati. Nel 1995
dimostrarono che il modello fornisce un metodo per esplorare completamente uno spazio di
informazioni, di documenti o un database.
La nostra simulazione.
Abbiamo ritenuto interessante creare un programma in visual
basic 6.0 che potesse riprodurre in un mondo virtuale la
clusterizzazzione, da parte delle formiche del nido, di larve (L),
cibo (O) e cadaveri (X) presenti in esso. Nel nostro programma
l’utente può scegliere quanti item inserire nel mondo virtuale e
osservare come “ragionano” le formiche. Una volta lanciati i
dati attraverso il pulsante “distribuisco casualmente nel mondo
virtuale”, essi vengono sparsi casualmente in un mondo virtuale
finito, diviso in quadranti tramite i quattro punti cardinali.
Figura 1 - Distribuzione casuale
Figura 2 – Step by step
Le formiche prelevano un oggetto alla volta e andranno
a creare un’area con maggiore densità di item dello
stesso genere. Prelevato l’oggetto, la formica sceglie
casualmente il percorso da fare per arrivare al cluster
dell’item che, nel nostro caso, non coinciderà
generalmente con la strada più breve12. Per riprodurre
questa operazione svolta dalle formiche all’interno del
mondo virtuale abbiamo due possibilità: la prima
consiste nell’utilizzare dei pulsanti step by step che mostrano
lo spostamento attuato dalla formica e la posizione finale
dell’item, la seconda invece mostra immediatamente quale
sarà la situazione finale dopo l’intera procedura di picking
simulata.
Il risultato finale sarà un mondo organizzato, con gruppi di
item di diverso genere lontani tra loro e il più reale possibile.
Figura 3 - Situazione finale
12
Si sarebbe dovuto tener in considerazione tutta l’analisi svolta per il primo argomento affrontato, arrivando a
combinare troppi dati.
10
Applicazioni tecnologiche dal mondo delle formiche
In informatica il cluster è l’unità logica nella quale viene suddiviso un file quando viene registrato
su hard disk.
Per velocizzare il trasferimento dei dati tra memoria RAM e memoria di massa si raggruppano i
settori in blocchi.
Un’altra applicazione nel mondo dell’informatica si ha nel campo delle reti, dove una rete svolge
diversi compiti in un cluster:
•
•
•
•
In una rete privata supporta le comunicazioni interne del cluster.
In una rete pubblica consente ai sistemi client l’accesso ai servizi delle applicazioni cluster. Le
risorse indirizzo IP vengono create sulle reti che consentono ai client di accedere ai servizi
cluster.
In una rete mista, ossia pubblica e privata, consente le comunicazioni interne del cluster e
connette i sistemi client ai servizi delle applicazioni cluster.
In una rete non abilitata per l'utilizzo da parte del cluster, ossia né pubblica né privata, supporta
il traffico non correlato alle operazioni del cluster.
Sitografia e Bibliografia
•
•
•
•
•
•
•
•
E. Bonabeau, M. Dorigo, G. Theraulaz, Aggregation and Segregation Mechanism.
M.R. Garey, D.S. Johnson, Computers and Intractability: a guide to the Theory of NPCompleteness USA 1979.
M. Dorigo, L.M. Gambardella, Ant Colony System: A cooperative Learning Approach to the
travelling salesman problem.
Gianni Di Caro E Marco Dorigo, Ant net: A mobile Agents Approach to Adaptive Routing Technical
Report IRIDIA 97-12.
Tony White, Routing with swarm intelligence SCE Technical Report SCE-97-15.
D.Steinberg, N. Monmarchè. M. Slimane, G. Venturini, Discovery of clusters in numeric data by an
hybridization of ant colony with minimum distance classification.
Vittorino JC Ramos, Swarm on Continuos Data Int. Conf. on Recent Advances in Soft Computing,
Nottingham, UK, Dec. 2002.
http://www.math.unipd.it/~luigi/courses/mmsd_fermo/MMSD_20_TSP.pdf
Sommario
Introduzione ...................................................................................................................................................... 1
Il recruitment e l’esperimento del duplice ponte ............................................................................................. 1
Teoria dei grafi e il problema del Commesso Viaggiatore................................................................................. 2
Problema del commesso viaggiatore e NP-completezza. ................................................................................. 3
La vita delle formiche ........................................................................................................................................ 4
Stigmergy ........................................................................................................................................................... 5
Formiche e insiemi ............................................................................................................................................ 5
Clustering ........................................................................................................................................................... 6
Rianalisi dell’esperimento di Deneubourg, Lumer e Faieta. ............................................................................. 7
La nostra simulazione. ....................................................................................................................................... 9
Applicazioni tecnologiche dal mondo delle formiche ..................................................................................... 10
Sitografia e Bibliografia ................................................................................................................................... 10