DIGIMOLES
Le Talpe Digitali
Progetto di
Intelligenza Artificiale
e
Metodi per la rappresentazione
della conoscenza
Prof.ssa Bandini
Simone Ossola - Cristian Del Giudice
1
SCOPI




Considerare le interazioni tra agenti per capire il
funzionamento e l’evoluzione del sistema
Definire varie forme di interazione (cooperazioni,
competizioni) e unirle ai problemi dell’autoorganizzazione, delle prestazioni e della
sopravvivenza del sistema
Sottolineare il meccanismo principale per
determinare l’auto-organizzazione
(raggruppamento, specializzazione)
Definire modelli operazionali per queste
interazioni descrivendo il funzionamento degli
agenti e dei sistemi multi agente
Simone Ossola - Cristian Del Giudice
2
ARCHITETTURA DEL SISTEMA





Un ambiente E, uno spazio bi-dimensionale (Terreno).
Un insieme di oggetti O dove è possibile associare a un
oggetto una posizione in E. Questi oggetti sono passivi ma
percepiti, creati e modificati dagli agenti (Carote, Veleno).
Un insieme di agenti A (AO) che rappresentano le entità
attive (Talpe, Contadino)
Un insieme di relazioni R, che mettono in relazione i vari
oggetti.
Un insieme di operazioni OP grazie ai quali gli agenti
percepiscono, producono, consumano e manipolano gli
oggetti.
Un’ architettura di questo tipo identifica un Sistema Multi-Agente
Simone Ossola - Cristian Del Giudice
3
AMBIENTE





Il Terreno è l’ambiente su cui interagiscono gli
oggetti
E’ costituito da una matrice di Celle
Ogni cella contiene le informazioni dell’oggetto
contenuto (odore_proprio, odore_effettivo)
L’odore è rappresentato da un array di 3 elementi
L’odore_proprio si propaga nelle celle adiacenti
sommando i rispettivi valori ottenendo così
l’odore_effettivo
Simone Ossola - Cristian Del Giudice
4
odore_prorio  {0,0,0}
odore_effettivo  {?,?,?}
odore_prorio  {1,0,0}
odore_effettivo  {?,?,?}
odore_prorio  {0,1,0}
odore_effettivo  {?,?,?}
odore_prorio  {0,0,1}
odore_effettivo  {?,?,?}
Simone Ossola - Cristian Del Giudice
5
AGENTE
La Talpa è un’entità virtuale che :
 agisce nel Terreno
 comunica direttamente con le altre Talpe
 è guidata da un insieme di tendenze (mangiare, riprodursi)
 possiede delle proprie risorse
 è in grado di percepire il proprio ambiente, ma solo una
rappresentazione parziale
 possiede conoscenze e può offrire servizi
 può riprodursi
Le Talpe tendono a soddisfare il loro obiettivo primario, la
sopravvivenza, tenendo conto delle risorse e conoscenze a
sua disposizione e sono dipendenti dalle proprie percezioni,
dalla sua rappresentazione e dalle comunicazioni che esso
riceve.
Simone Ossola - Cristian Del Giudice
6
Tipi di agente:
1.
2.
3.
4.
agenti con riflessi semplici
agenti che tengono conto del mondo
agenti basati su obiettivi
agenti basati sull’utilità
Le Talpe sono agenti reattivi con riflessi semplici:

non hanno una completa rappresentazione
dell’ambiente

sono incapaci di prevedere cosa sta succedendo

sono incapaci di anticipare le azioni future con
pianificazioni

reagiscono semplicemente alle singole situazione
che si presentano
Simone Ossola - Cristian Del Giudice
7
IL CARATTERE

Ogni agente nasce con un vettore carattere che
determina il grado di discernimento nei confronto
degli oggetti percepiti.
car[0]  discernimento per le Talpe
car[1]  discernimento per le Carote
car[2]  discernimento per il Veleno


Il carattere, così come i parametri propri di ciascun
agente, può variare nel tempo per effetto di:
- fasi di invecchiamento;
- eventi eccezionali.
Il carattere viene trasmesso geneticamente, è infatti
contenuto nel vettore dei geni.
Simone Ossola - Cristian Del Giudice
8
RIPRODUZIONE



Viene affidata ad un classico algoritmo
genetico che grazie all’ereditarietà dei
caratteri genetici, permette l’affermazione di
una razza piuttosto che la sua estinzione
Quando due Talpe si incontrano, si
annusano e vedono se sono “disponibili”
sessualmente
Se l’amore sboccia, i figli nati riceveranno il
patrimonio genetico ottenuto con una
distribuzione casuale dei singoli geni da
parte dei genitori
Simone Ossola - Cristian Del Giudice
9
Vettore Genetico
Gene 1
Gene 2
Sesso
Vista
Gene 3
Gene 4
Gene 5
Metabolismo
Resistenza
Carattere 1
Gene 6
Gene 7
Gene 8
Carattere 2
Carattere 3
Anticorpi 1
Gene 9
Gene 10
Anticorpi 2
Anticorpi 3
Simone Ossola - Cristian Del Giudice
10
EREDITARIETA’
Padre
1
3
1
0.7
1
Madre
3
0
1 1 0
0
2
2
0.8
1
2
-1
0 1
0
Figlio
1
3
2
0.7
1
3
-1
1 1
0
Simone Ossola - Cristian Del Giudice
11
UN ESEMPIO
Simone Ossola - Cristian Del Giudice
12
Odore_proprio
Odore_effettivo
Odore_proprio
Odore_effettivo
Odore_proprio
Odore_effettivo
Odore_proprio
Odore_effettivo
Odore_proprio
Odore_effettivo
{ 0, 0 ,0 }
{ 0, 2, 0 }
{ 0, 1, 0 }
{ 0, 3, 0 }
{ 0, 0, 0 }
{ 0, 3, 0 }
{ 0, 0, 0 }
{ 1, 1, 0 }
{ 0, 0, 0 }
{ 1, 0, 0 }
{ 0, 0, 0 }
{ 1, 2, 0 }
{ 0, 1, 0 }
{ 2, 3, 0 }
{ 0, 1, 0 }
{ 2, 3, 0 }
{ 0, 0, 0 }
{ 3, 1, 0 }
{ 1, 0, 0 }
{ 2, 0, 0 }
{ 1, 0, 0 }
{ 1, 1, 0 }
{ 0, 0, 0 }
{ 2, 2, 1 }
{ 1, 0, 0 }
{ 2, 2, 1 }
{ 1, 0, 0 }
{ 3, 1, 1 }
{ 0, 0, 0 }
{ 2, 0, 0 }
{ 0, 0, 0 }
{ 1, 1, 0 }
{ 0, 0, 0 }
{ 2, 1, 1 }
{ 0, 0, 1 }
{ 2, 1, 2 }
{ 0, 0, 0 }
{ 2, 0, 2 }
{ 0, 0, 0 }
{ 1, 0, 1 }
{ 0, 0, 0 }
{ 0, 1, 0 }
{ 0, 1, 0 }
{ 0, 1, 1 }
{ 0, 0, 0 }
{ 0, 1, 2 }
{ 0, 0, 1 }
{ 0, 0, 2 }
{ 0, 0, 0 }
{ 0, 0, 1 }
Olfatto : 2
Carattere : {1, 3, -1}
Simone Ossola - Cristian Del Giudice
13
Inferenze della Talpa





Odore_nord  { 12, 19, 0 }
Odore_sud  { 8, 6, 12 }
Odore_est  { 15, 3, 7 }
Odore_ovest { 9, 17, 3 }
Delta_x = Odore_nord – Odore_sud  { 4, 13, -12 }
Delta_y = Odore_est – Odore_ovest  { 6, -14, 4 }
P_x = Delta_x * Carattere  { 4, 39, 12 }
P_y = Delta_y * Carattere  { 6, -42, -4 }
T_x = Σ P_x  55
 NORD
T_y = Σ P_y  -40  OVEST
|T_x| > |T_y| quindi la Talpa andrà a NORD.
Simone Ossola - Cristian Del Giudice
14
SPERIMENTAZIONE
Dimensione Mondo
30 X 30
Numero Talpe
20
Numero Carote
100
Numero Veleni
100
Energia Iniziale
60
Livello Max Energia
100
Numero Max Figli
3
Età Maturità Sessuale
10
Menopausa
50
Periodo Gravidanza
3
Metabolismo
1..4
Resistenza
0.5..1
Olfatto
0..4
Durata Stagioni
15
Simone Ossola - Cristian Del Giudice
15
Discussione


La prima generazione di individui acquisisce il
vettore genetico a caso, che verrà invece
ereditato per le successive generazioni
Gli agenti possono andare incontro a diverse
situazioni:
1. Favorevoli;
2. Sfavorevoli;
3. Eccezionali.
ciascuna delle quali può influenzare in maniera
più o meno decisiva l’andamento generale del
sistema
Simone Ossola - Cristian Del Giudice
16
Situazioni Favorevoli




Distribuzione degli Agenti a gruppi con la
conseguente esplosione di nascite
Sviluppo di una popolazione aventi i valori
dei parametri superiori alla media
Generazioni di Talpe “deboli” ghettizzate in
zone prive di risorse
Generazione di Talpe “forti” in zone ricche di
Carote
Simone Ossola - Cristian Del Giudice
17
Situazioni Sfavorevoli




Distribuzione omogenea di Talpe che rende
più difficile l’incontro e la riproduzione
Sviluppo di una popolazione aventi
parametri qualitativi sotto la media
Generazione di colonie di Talpe “deboli” che
possono affermare i propri caratteri
Agenti “forti” isolati o nati in zone senza
Carote e destinale ad una lenta agonia
Simone Ossola - Cristian Del Giudice
18
Situazioni Eccezionali
Inverni troppo lunghi / corti
 Raccolta anticipata / posticipata
 Popolazione dello stesso sesso

Simone Ossola - Cristian Del Giudice
19
CASO 1
Numero Talpe
20
Numero Carote
100
Numero Veleni
100
Energia Iniziale
60
Livello Max Energia
100
Numero Max Figli
3
Età Maturità Sessuale
10
Menopausa
50
Periodo Gravidanza
3
Metabolismo
1..4
Resistenza
0.5..1
Olfatto
0..4
Durata Stagioni
15
Simone Ossola - Cristian Del Giudice
20
Popolazione in equilibrio
Simone Ossola - Cristian Del Giudice
21
CASO 2
Numero Talpe
20
Numero Carote
100
Numero Veleni
100
Energia Iniziale
60
Livello Max Energia
100
Numero Max Figli
2
Età Maturità Sessuale
15
Menopausa
40
Periodo Gravidanza
5
Metabolismo
1..4
Resistenza
0.5..1
Olfatto
0..4
Durata Stagioni
15
Simone Ossola - Cristian Del Giudice
22
Popolazione in estinzione
Simone Ossola - Cristian Del Giudice
23
CASO 3
Numero Talpe
30
Numero Carote
100
Numero Veleni
100
Energia Iniziale
60
Livello Max Energia
100
Numero Max Figli
3
Età Maturità Sessuale
10
Menopausa
50
Periodo Gravidanza
3
Metabolismo
1..2
Resistenza
0.5..0.8
Olfatto
1..5
Durata Stagioni
15
Simone Ossola - Cristian Del Giudice
24
Popolazione in crescita
Simone Ossola - Cristian Del Giudice
25
Osservazioni
Relazione Carote_Mangiate –
Veleni_Mangiati
 Relazione Carote_Mangiate –
Crescita_Popolazione
 Relazione Stagioni –
Andamento_Popolazione
 Relazione Popolazione – Valori_Medi

Simone Ossola - Cristian Del Giudice
26
CONCLUSIONI



E’ possibile però effettuare delle previsioni
circa l’andamento della popolazione
analizzando i grafici relativi all’evoluzione
del sistema
Si sono osservati effetti di autoorganizzazione ed effetti che inducono la
comparsa di strutture emergenti
E’ stato ottenuto il risultato di simulare un
ciclo di vita più o meno stabile che si
ripetesse di generazione in generazione
secondo il modello preda-predatore
Simone Ossola - Cristian Del Giudice
27


L’universo creato da un ambiente multiagente è puramente artificiale e tutti i suoi
parametri possono essere controllati. Ciò
che ne risulta dipende solo dai parametri
selezionati. Invece le entità in un universo
sono create interamente dal pensiero
umano (modello)
I sistemi multi-agenti obbediscono ai principi
che governano i fenomeni caotici. Ogni
modifica del sistema produce effetti che
possono essere amplificati dalle interazioni
tra agenti e non è possibile conoscere in
anticipo in quale stato troveremo gli agenti
dopo un certo tempo
Simone Ossola - Cristian Del Giudice
28
FINE
Simone Ossola - Cristian Del Giudice
29
Scarica

DIGIMOLES Le Talpe Digitali