Sistemi Multiagente
Introduzione
I sistemi multiagente (Multi Agent Systems) sono modelli adatti per riprodurre il comportamento di sistemi costituiti da componenti autonome multiple,dette agenti;essi sono entità capaci di assumere le caratteristiche di esseri animati o inanimati, vivono all'interno di un ambiente, sono in grado di recepire gli stimoli esterni , agire e riconoscere i cambiamenti avvenuti.Grazie a queste capacita' essi possono comunicare e collaborare tra loro.
Gli agenti
Esistono diverse tipologie di agenti:gli agenti intelligenti (intelligent agents), che emulano processi mentali o che simulano un comportamento razionale,gli assistenti personali (personal assistant agents), che aiutano gli utenti a eseguire un lavoro,gli agenti mobili (mobile agents), che sono in grado di spostarsi in sistemi di reti per realizzare i propri scopi ,gli agenti informativi (information agents),che filtrano e organizzano in modo coerente dati scorrelati e sparsi e,infine,gli agenti autonomi (autonomous agents),capaci di compiere azioni senza il bisogno di un supervisore.
Viene di seguito elencata una classificazione significativa degli attributi che gli agenti possono avere:
1)Adaptivity
abilità di imparare e fare progressi con l'esperienza
2)Autonomy comportamento finalizzato,attivo e automatico
3)Collaborative behaviour
abilità di lavorare con altri agenti
per raggiungere uno scopo comune
4)Inferential capability
abilità di agire sulla base di specifiche lavorative
astratte
5)Knowledge-level communication ability
abilità di comunicare con altri agenti in un
linguaggio più simile a quello umano rispetto
al tipico protocollo simbolico programma-programma
6)Mobility
abilità di scegliere il proprio percorso per andare
da una piattaforma ospite ad un'altra
7)Personality
abilità di manifestare attributi di un carattere
umano plausibile
8)Reactivity abilità di sentire e agire selettivamente
9)Temporal continuity
persistenza di identità e stato per lunghi periodi
di tempo
Multi Agent Systems ( MAS)
I MAS sono costituiti dagli agenti e dall'ambiente in cui essi vivono,di cui devono essere specificate le caratteristiche spaziali e temporali.Lo spazio e' discretizzato in celle,ognuna delle quali e' caratterizzata da una serie di variabili,i cui valori costituiscono gli stimoli che ogni agente percepisce e utilizza per decidere come comportarsi.La dimensione temporale e' scandita da un "orologio interno" che consente ai singoli agenti di coordinare le proprie azioni in maniera sequenzialmente corretta.
L'interazione infatti è una delle più importanti caratteristiche degli agenti,poiche' consente loro di condividere informazioni ed eseguire attività per perseguire gli obiettivi.
Per realizzarla occorre pubblicizzare , trovare , fondere , usare , presentare , amministrare e aggiornare i servizi degli agenti e l'informazione.Per risolvere questi problemi, è stata introdotta la nozione di agenti intermedi (middle-agents).Essi sono entità alle quali gli altri agenti pubblicizzano le loro capacità , mentre dal punto di vista della transazione in corso non possono essere ritenuti nè richiedenti né proponenti,ma semplici intermediari..Il vantaggio dei middle-agents è che permettono ad un MAS di gestire efficacemente il problema della mobilità degli agenti.
Ci sono diversi tipi di agenti che cadono sotto la definizione di middle-agent:
1. Facilitators g
agenti ai quali altri agenti rendono la loro autonomia in cambio dei loro
servizi.I facilitators possono coordinare le attività degli agenti e possono
soddisfare richieste per conto degli agenti ad essi subordinati.
2. Mediators g
agenti che sfruttano conoscenze codificate per creare servizi per livelli
di applicazione più elevati.
3. Brokers
g agenti che ricevono
richieste ed eseguono azioni usando servizi di altri
agenti unitamente alle proprie risorse.
4. Yellow pages g
agenti che assistono i richiedenti il servizio per trovare agenti che lo
forniscano , basandosi su capacità pubblicizzate.
5. Blackboards g
agenti che ricevono e considerano richieste da processare per altri
agenti.
I Sistemi Multiagente permettono al ricercatore di agire liberamente su di un universo artificiale, di controllare le leggi che lo regolano, di seguirne la dinamica temporale ad ogni istante e di verificare la validità delle proprie ipotesi ed intuizioni.
Proprio per questo motivo sono stati applicati in innumerevoli settori ,quali ad esempio quello economico,biologico,ecologico,informatico ed urbanistico.
Il settore dell'urbanistica in cui essi possono trovare maggior impiego è senza dubbio quello della pianificazione territoriale e di settore: nell'ambito dei problemi di localizzazione permettono, infatti, di verificare a calcolatore l'efficacia delle proprie scelte pianificatorie ed eventualmente lo studio comparato di diverse alternative di progetto.
I Sistemi Multiagente si prestano molto bene ad analizzare fenomeni che avvengono a scale spaziali e temporali molto diverse tra loro: dal comportamento dei pedoni in una strada all'evoluzione urbanistica di un'area metropolitana nell'arco di qualche decennio.
La principale differenza tra esperimenti virtuali ed esperimenti compiuti nel mondo reale non sta nella procedura seguita, ma nel metodo utilizzato per trattare la successione temporale degli eventi. Nel mondo reale, infatti, tutto evolve nel tempo seguendo le leggi della fisica, mentre nel mondo virtuale é il ricercatore che deve decidere alcune regole esplicite per caratterizzare il comportamento degli agenti.
Nella applicazione presentata nel seguito questo avviene grazie ad una finestra che contiene tutti i parametri significativi che si possono modificare.
L'esempio riguarda il comportamento di pedoni in una strada in cui sia presente un restringimento (bottleneck);cliccando con il tasto destro del mouse sull'immagine si accede alla finestra di dialogo che permette di modificare i valori numerici e di rendere attivi i cambiamenti in seguito alla conferma con il tasto "Invio".
Alcuni dei parametri presenti sono elencati nel seguito:
- Time step:definisce il dettaglio temporale con cui è analizzato il movimento;varia tra 10 e 999.
- Display potential:fa apparire l'area di influenza di ciascun agente e,tramite toni di grigio,evidenzia la distribuzione di
probabilità degli spostamenti all'interno di essa.
- Choice of potential:consente di scegliere il tipo di distribuzione di probabilità degli spostamenti da usare.
- Range of interaction:definisce il raggio di interazione di ciascun agente.Varia tra 0 e 999.
- Lookahead time:indica l'anticipo con cui ciascun agente controlla la presenza di altri agenti di fronte a sé;varia tra 0 e 999.
Una immagine dell'ambiente è mostrata di seguito;per poter interagire è necessario essere collegati alla rete.Questa applicazione è stata scaricata dal sito www.red3d.com/cwr/steer / dove sono presenti altri interessanti esempi.
http://www.maml.hu sito ungherese che presenta un particolare linguaggio per l'implementazione dei MAS
http://dis.cs.umass.edu/research/agents-learn.html contiene una webliography di siti di ricerca,workshops,progetti,....
http://mas.cs.umass.edu/index.shtml sito dell'università del Massachusetts
http://jasss.soc.surrey.ac.uk/JASSS.html sito del Journal of Artificial Societies and Social Simulation
http://www.cs.wpi.edu/Research/airg/Agents-hotlist.html webliography molto fornita
http://www.cpsc.ucalgary.ca/~robertof/ sito da cui sono state tratte gran parte delle informazioni usate per redigere il testo sui MAS
http://dis.cs.umass.edu/research/agents-learn.html webliography
http://jmvidal.ece.sc.edu/ sito che si distingue per i continui aggiornamenti sottoforma di "news"
http://www.multiagent.com/ webliography strutturata come motore di ricerca sull'argomentotesto
![]() |
![]() |
![]() |