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 (AO) 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