• Non ci sono risultati.

Sciami di Agenti

N/A
N/A
Protected

Academic year: 2021

Condividi "Sciami di Agenti"

Copied!
51
0
0

Testo completo

(1)

EMERGENCE OF SELF ORGANIZATION AND SEARCH FOR OPTIMAL ENTERPRISE STRUCTURE:

AI EVOLUTIONARY METHODS APPLIED TO AGENT BASED PROCESS SIMULATION

Marco Remondino

remond@di.unito.it

Department of Computer Science

(2)

Struttura del Seminario

• Introduzione: modelli informatici per la simulazione di sistemi sociali complessi.

Come e perchè.

• Tre esempi molto diversi tra loro di modellazione di sistemi complessi:

HeatBugs, SUM e jES

• Modellazione di impresa: due paradigmi

• Metodologia ibrida (ABPS): una proposta

(3)

Parte 1: INTRODUZIONE

(4)

Perchè simulare sistemi sociali?

• L’idea non è creare un modello

matematico con le conclusioni implicite nelle premesse

• Simulazione intesa come esperimento: ciò che interessa non sono (solo) i risultati

finali, ma soprattutto il modo in cui il sistema funziona

(5)

• Un modello di un sistema sociale

complesso si ottiene stabilendono regole generali per l’ambiente e regole di

comportamento per gli “agenti” coinvolti

• L’interazione tra le parti non è definita

staticamente, ma si crea autonomamente sulla base delle regole definite per i singoli agenti e per l’ambiente

(6)

• Si assiste spesso all’emergenza di

comportamento complesso, cioè non

derivabile semplicemente come somma delle parti in gioco e non definibile a priori dal programmatore, bensì come risultato dell’interazione spontanea tra le parti

(7)

• Si tratta del corrispettivo degli esperimenti condotti in laboratorio per scienze quali la chimica e la fisica: ovviamente l'economia, la sociologia o altre scienze sociali non

possono essere sperimentate in

laboratorio, dunque l’idea è quella di far ricorso al modello simulato (società

artificiali)

(8)

“LA SIMULAZIONE AL COMPUTER PUO’ ESSERE CONSIDERATA COME UNA TERZA VIA PER

RAPPRESENTARE MODELLI SOCIALI”

(Ostrom, 1998)

Alternativa ad altri due sistemi simbolici:

1.Linguaggio naturale (altamente

descrittivo, difficilmente computabile)

2.Formalizzazione matematica (altamente computabile, non sempre

sufficientemente descrittiva)

(9)

• La simulazione al computer può essere utilizzata per riprodurre sistemi dal punto di vista quantitativo e qualitativo. In

particolare è valida per modellare processi e, sebbene le relazioni non lineari possano generare problemi metodologichi, esse

possono comunque essere rappresentate in un programma

(10)

Sciami di Agenti

• Una tecnica molto utile per riprodurre sistemi complessi che ha origine diretta nel paradigma di programmazione ad oggetti

• Una moltitudine di agenti, generalmente semplici, che interagiscono tra loro e con l’ambiente in cui operano

(11)

Parte 2: ESEMPI

(12)

Tre Esempi

1) HeatBugs (www.swarm.org/examples- heatbugs.html)

2) SUM (http://web.econ.unito.it/terna/sum) 3) jES (http://web.econ.unito.it/terna/jes)

(13)

HeatBugs (Swarm)

E’ una dimostrazione di come regole semplici e locali possano generare l’emergenza di un comportamento globale complesso. Tutti gli agenti in gioco hanno uguali proprietà:

1) Generano una limitata quantità di calore 2) Possiedono una funzione di “felicità”

3) Più sono al caldo, più sono felici

4) Possono muoversi liberamente per cercare maggior calore

(14)

HeatBugs (2)

• L’ambiente in cui gli agenti agiscono ha a sua volta alcune proprietà:

1) Consente mobilità degli agenti su celle 2) Gestisce la diffusione calore prodotto

(che aumenta quando più agenti sono in celle contigue)

3) Gestisce l’evaporazione del calore in funzione al tempo trascorso

(15)

HeatBugs (3)

calore calore

calore calore

calore calore

più calore AGENTE

più calore calore

AGENTE calore

più calore AGENTE

più calore calore

calore calore

calore calore

calore

(16)

HeatBugs (4)

• Gli agenti (verdi) si muovono al fine di

cercare zone con maggior calore (rosse):

(17)

HeatBugs (5)

La simulazione può essere intesa come la risoluzione sperimentale ad un problema di ottimizzazione: ogni agente cerca di

massimizzare la propria “felicità”

(18)

HeatBugs (6)

• In brevissimo tempo l’“infelicità” media del sistema raggiunge un minimo locale

• Emergenza di comportamento

complesso: si osserva la formazione di

“stormi” di agenti che si muovono

all’unisono, al fine di rimanere all’interno della zona calda da essi generata

(19)

SUM (Pietro Terna)

• SUM = Surprising (Un)realistic Market

• Si intende creare un modello di un mercato di borsa

• Non si vuole simulare il mercato di borsa reale, ma crearne uno virtuale, con tutte le proprietà di quello vero

(20)

SUM (2)

• Gli agenti impiegati sono “no minded”, cioè agiscono sulla base di semplici regole e

non vi è apprendimento

• La struttura dell’ambiente in cui operano è costruita con precisione e dovizia di regole

(21)

SUM (3)

• Gli agenti inviano i loro ordini (di acquisto o vendita) al book, con i relativi prezzi limite

• Il book esegue immediatamente gli ordini se trova una controparte adatta all'interno del proprio log

• Altrimenti registra separatamente gli ordini di

acquisto o vendita, al fine di accoppiarli con altri ordini futuri

(22)

SUM (4)

Gli agenti:

• Conoscono solamente l'ultimo prezzo eseguito

• Scelgono a caso, in modo bilanciato, se vendere o acquistare

• Fissano il loro limite di prezzo moltiplicando l'ultimo prezzo eseguito per un coefficiente casuale

(23)

SUM (5)

• Già con queste semplicissime regole si

assiste alla formazione di “bolle” e “crash”, e la struttura globale del mercato è

sorprendentemente realistica. Questo può significare che sono le regole del mercato la causa principale per la creazione di un determinato trend, qualunque sia il

comportamento degli agenti coinvolti

(24)

SUM (6)

• Un esempio grafico del trend

autonomamente

generato dagli agenti operanti nel mercato artificiale:

(25)

SUM (7)

• SUM è attualmente molto più evoluto rispetto a quanto detto qui; vi è stata

l’introduzione di agenti in grado di imitare il comportamento di altri, utilizzare tecniche evolute (quali stop-loss) e altre

caratteristiche

(26)

jES (Pietro Terna)

• jES: Java Enterprise Simulator

• Software basato su Swarm per la modellazione e simulazione di due realtà: imprese reali ed

imprese virtuali

• Imprese reali: quelle esistenti (rappresentazione del comportamento ed ottimizzazione)

• Imprese virtuali: quelle concettuali (come hanno origine e come interagiscono con il contesto

sociale circostante)

(27)

jES (2)

Agenti utilizzati nella simulazione:

• Ordini da produrre

• Unità produttive

• Nodi di decisione (basati su regole)

• Avatar di utenti umani

(28)

3

2 1

3

1 5

3

1,3,4

Rappresentazione:

Unità produttive, imprese e

distretti industriali

jES (3)

(29)

jES (4)

# Recipes ;

recipeA 101 1 s 1 p 1 10 2 s 1 3 s 1 ;

recipeB 100 1 s 3 \ 3 2 s 1 3 s 3 \ 2 e 10 ;

• Ricette: un potente formalismo per

rappresentare gli ordini ed il loro stato di completamento

(30)

jES (5)

• Struttura decentralizzata: gli ordini

contengono tutte le informazioni per la loro produzione

• Gli ordini possono essere generati a caso oppure obbedire a particolari sequenze (nel caso si desiderino simulare imprese reali)

• Vi è capacità di contabilità

(31)

jES (6)

• Con jES è possibile simulare diverse situazioni all’interno di imprese

(introduzione di nuovi macchinari, gestione magazzini, outsourcing...)

• Si può simulare l’emergenza di

innovazione (nuovi # all’interno delle ricette)

(32)

jES (7)

• jES è attualmente in una fase molto

avanzata del proprio sviluppo ed è stato applicato con successo a realtà aziendali esistenti. Quanto detto qui è solamente un’introduzione alla sua struttura formale di base.

(33)

Parte 3: ABPS

(34)

Due Metodologie Simulative

• E' possibile identificare due metodologie diverse per la simulazione di impresa.

Entrambe permettono la creazione di un modello computazionale, partendo da

punti di vista molto diversi tra loro

(35)

Simulazione di Impresa

Sia la Simulazione di Processo, sia quella basata su Multi-Agenti sono metodologie efficaci per creare modelli di imprese e sistemi

complessi, ma hanno alcune pecche

Process Simulation

• Il sistema che si intende simulare può essere diviso in parti elementari

• Utile come supporto alle decisioni e per analisi “what-if”

• I modelli che ne risultano sono piuttosto statici (no emergenza

Agent Based Simulation

• Deriva dalla teoria del Caos

• Adatta a sistemi in cui la somma delle parti non determina necessariamente il comportamento aggregato

• I modelli risultanti sono dinamici (emergenza di

(36)

Simulazione di processo

• Solitamente utilizzata per sistemi le cui singole parti possono essere rappresentate con modelli logico-matematici (es. Fluidodinamica,

Meccanica, Aeronautica, ecc.)

• Le singole parti sono rappresentate da blocchi con proprietà locali, attraverso le quali vi è un flusso e si produce un insieme di output dato un insieme di input

• Una simulazione di processo può essere

dunque vista come una funzione da Rn in Rm

(37)

Agent Based Process Simulation: Metodologia pensata per situazioni in cui nessuna delle tecniche precedentemente esaminate non possono essere applicate con risultati soddisfacenti

1) Molti sistemi di un’impresa possono essere descritti attraverso la simulazione basata su processo. L’interazione tra questi sistemi, tuttavia, è spesso molto complessa e generalmente richiede una partecipazione umana (e comunque non strettamente deterministica)

2) In un singolo macchinario molto complesso, non tutte le parti sono strettamente deterministiche o stocastiche, nel senso che esse potrebbero essere condizionate da qualche influenza imprevista proveniente dall’ambiente

3) L’organizzazione di un’impresa può essere simulata attraverso l’uso del paradigma “multi-agente”. Tuttavia, questo non permette di scendere nel dettaglio dei macchinari utilizzati o delle strutture

(38)

Esempi

• Un macchinario in cui una o più parti

possono essere influenzate dall'ambiente (danneggiate dall'umidità, dal fuoco,

oppure migliorate dalla presenza di altri macchinari, lubrificanti o altro)

• In un’impresa, alcuni macchinari possono essere controllati da uomini, che dunque possono ammalarsi o fare sciopero

(39)

AGENTE COME PARTE DI UN MACCHINARIO

(40)

INPUT “a” OUTPUT “a”

p p p

p p p

AGENT

ENVIRONMENT

OUTPUT

”a + delta”

(41)

AGENTI COME CONNESSIONE TRA PROCESSI

(42)

Unit 1a Unit 2a Unit 3a Unit 4a Unit 5a

AGENTS Unit 1b

Unit 2b Unit 3b Unit 4b Unit 5b

PROCESS BASED PROCESS BASED

(43)

1) Simbolico: agenti strutturati, la cui struttura è definita secondo strutture derivate dalla Logica. Questo formalismo è adatto a situazioni in cui vi è un singolo agente che interagisce con l’ambiente, oppure pochi agenti con struttura ben definita

2) Sub-simbolico: agenti con struttura molto semplice. Un contesto multi-agente di questo tipo permette l’emergenza di comportamento complesso e auto organizzazione. Il comportamento “intelligente” è spesso frutto dell’interazione tra agenti ed ambiente e tra molti comportamenti semplici

VARI PARADIGMI AD AGENTI

3) Architetture Ibride: a basso livello troviamo agenti reattivi, mentre ai livelli più alti agiscono agenti più complessi e strutturati. In questo modo è possibile combinare capacità reattive e pianificazione

(44)

AGENTI SIMBOLICI RAPPRESENTANO I PROCESSI

(45)

Formalizzazione

• Poiché i processi possono solitamente essere modellati come flussi deterministici o stocastici, la mia proposta consiste nell'utilizzare logica

proposizionale o modale per descrivere la loro struttura

• Per modellare un processo semplice, la logica proposizionale è sufficiente, poiché permette di creare tavole di verità per i singoli sub-processi e dunque per l'intero processo da essi composto

• Un sub-processo produce output_1 quando la formula è True oppure Output_2 quando è

False; uno dei due output può essere "void"

(46)

2

N

A and B

A B

C 1

D

D or N

C and E

1

E F

2

F F 1

2

1

1 2

(47)

AGENTI SUB-SIMBOLICI DI TIPO MINDED RAPPRESENTANO IL “FATTORE

UMANO”

(48)

Metodi Evolutivi

• Gli Algoritmi Genetici sono la

trasposizione computabile della teoria evolutiva di Darwin, spesso definita

“sopravvivenza del più adatto”

• I Classifier System derivano dagli AG, nel senso che usano stringhe di caratteri per codificare regole per condizioni e azioni conseguenti

(49)

Applicazione ad ABPS

• Le tecnologie evolutive possono essere incorporate in sciami di agenti sub-

simbolici, tra essi interagenti, per

massimizzare localmente alcune funzioni

• Per esempio agenti basati su AG

potrebbero eseguire azioni macchinari modellati con logica proposizionale per ottenere il miglior set-up

(50)

Local Output (to maximize)

10011000 01111001 10000110 11110100

………….

A & B

GLOBAL OUTPUT

C & E

D v N F

G L O B A L I N P U T

(51)

Conclusioni

• La simulazione nel campo delle scienze complesse

permette di osservare il sistema come se lo si studiasse in laboratorio

• Le applicazioni al campo aziendale esistono e sono efficaci, e sono basate generalmente su processi o su sciami di agenti (solitamente no-minded)

• Per le situazioni che non possono essere simulate con nessuno dei due approcci esistenti, si propone l’uso di ABPS

• Grazie ai metodi evolutivi applicati ad essa, è possibile ricercare la struttura ottimale dell’impresa o parti della stessa

Riferimenti

Documenti correlati

I E possibile utilizzare costanti di tipo stringa (stringhe letterali) scritte ` tra doppio apice e senza scrivere esplicitamente il carattere di fine stringa... Lettura

Nelle centrali termoelettriche gli uomini usano i combustibili fossili (carbone, petrolio e metano) per avere energia termica, poi trasformano l’energia termica

Nel campionamento casuale semplice ogni campione di una determinata dimensione ha la stessa probabi- lit` a di essere selezionato di qualsiasi altro campione della stessa

 L’aritmetica (= gli asserti veri sui numeri) non corrisponde alla sua “teoria logica formalizzata”.  vi sono asserti veri che non

Procedura e scadenze per la selezione delle strategie di sviluppo locale I riferimenti sono contenuti nelle informazioni specifiche della misura. Giustificazione della selezione,

Le schede delle unità amministrative verranno ordinate per , provincia (colonne 12 e 11) e nell'ordine tabulate per avere il numero di queste unità (contaschede) e il numero degli

E’ un albero sempre verde appartenente alla famiglia delle mirtacea, originaria dell’Australia meridionale. In Italia ha uno sviluppo più contenuto e in genere non supera

Se vuoi inviare una cartella o un file ad altre persone in modo che possano visualizzarli, modificarli o aggiungere commenti, puoi condividerli con loro