università degli studi di parma
Post on 19-Jan-2016
40 Views
Preview:
DESCRIPTION
TRANSCRIPT
Università degli Studi di Parma
Sistemi ad agenti
Agostino Poggi
IA - Agenti
Agostino Poggi
Cosa è un agente?
Un agente è un sistema computazionale che può vivere in ambienti dinamici e complessi; ha dei sensi che gli permettono di percepire l’ambiente e, in particolare, di interagire con i suoi simili e con gli umani; agisce autonomamente soddisfando i suoi obiettivi e eseguendo i compiti per cui è stato progettato.
IA - Agenti
Agostino Poggi
Perché servono gli agenti?
Il computer non è più uno strumento per specialisti, ma uno strumento di massa, infatti:
• molte operazioni di uso comune sono sempre più basate sul computer o potrebbero essere migliorate con l’uso del computer, ma:
– molti utenti non sono in grado di sfruttare i vantaggi del computer;
– molti utenti non sono in grado di utilizzare un computer;
– molti utenti vogliono utilizzare liberamente un computer.
IA - Agenti
Agostino Poggi
Perché servono gli agenti?
• l’informazione è ormai la risorsa più importa per ogni tipo di attività, i computer sono sicuramente lo strumento più adatto per accedervi, ma l’operazione non è semplice per:
– la quantità di informazione accessibile;
– la dinamicità del inserimento e della modifica dell’informazione;
– la strutturazione eterogenea e spesso molto soggettiva dell’informazione.
IA - Agenti
Agostino Poggi
Perché servono gli agenti?
• Esistono migliaia di prodotti software che forniscono una grande varietà di informazioni e servizi.
• il lavoro di un utente è spesso basato sull’uso combinato di più prodotti.
• questo lavoro può essere facilitato se questi prodotti sono in grado di interoperare cioè di scambiarsi informazioni e/o servizi, ma ciò e quasi sempre impossibile per l’eterogeneità dei prodotti dovuta a:
– sono sviluppati da persone diverse;
– sono sviluppati in periodi diversi;
– sono sviluppati con strumenti diversi;
– sono spesso modificati.
IA - Agenti
Agostino Poggi
Perché servono gli agenti?
Gli agenti possono semplificare l’interazione dell’utente con il computer e quindi facilitarne la diffusione in tutti i settori di applicazione.
In particolare, gli agenti possono:
• fornire una guida e un aiuto nell’esecuzione delle operazioni;
• adeguare il sistema al gusto, all’abilità dell’utente;
• eseguire automaticamente sequenze di operazioni ripetitive;
• nascondere l’eterogeneità dell’informazione e dei prodotti.
IA - Agenti
Agostino Poggi
Attività miliari : Agent0
• Agent0 può considerarsi il primo linguaggio ad agenti sviluppato da Shoham nei primi anni `90.
• I maggiori contributi di questo lavoro sono:– l’introduzione del concetto di programmazione orientata
agli agenti;
– l’introduzione di un primo linguaggio di comunicazione per gli agenti;
– l’uso delle speech acts come base di questo linguaggio di comunicazione.
IA - Agenti
Agostino Poggi
Attività miliari: DARPA Knowledge Sharing Effort
• È un progetto sponsorizzato dall’agenzia americana per i progetti di ricerca avanzata il cui scopo è quello di sviluppare tecnologie per facilitare la condivisione e lo scambio di conoscenza tra sistemi anche eterogenei.
• I maggiori contributi di questo lavoro sono:– la realizzazione di un linguaggio completo per la
comunicazione ad agenti, KQML (Knowledge Query Manipulation Language);
– la realizzazione di un formato per lo scambio di conoscenza tra sistemi eterogenei KIF (Knowledge Interchange Format);
– il loro utilizzo combinato in sistemi basati su agenti.
IA - Agenti
Agostino Poggi
Attività miliari: Telescript
• È il primo linguaggio di programmazione commerciale basato sugli agenti sviluppato dalla General Magic nel 1994.
• I maggiori contributi di questo lavoro oltre a quello di essere il primo linguaggio commerciale sono:
– l’uso della mobilità del codice in alternativa alle remote procedure call;
– lo studio e la presentazione di alcune soluzioni per la gestione della sicurezza in sistemi ad agenti distribuiti.
IA - Agenti
Agostino Poggi
Proprietà di un agente
• Un sistema computazionale per essere considerato un agente deve avere le seguenti proprietà:
– autonomia
– reattività
– intraprendenza.
– abilità sociale
– adattabilità
– mobilità
IA - Agenti
Agostino Poggi
Proprietà di un agente
• Un agente è autonomo, cioè ha controllo diretto sulle proprie azioni e sul suo stato interno.
• Un agente è reattivo, cioè è capace di percepire l’ambiente e di reagire per tempo ai suoi stimoli.
• Un agente è intraprendente, cioè è capace di mostrare comportamenti mirati alla soddisfazione dei suoi obiettivi e di prendere l’iniziativa.
IA - Agenti
Agostino Poggi
Proprietà di un agente• Un agente ha abilità sociale, cioè è capace di
interagire con degli altri agenti per coordinare il loro operato e per negoziare risorse e attività.
• Il coordinamento permette:– la risoluzione dei conflitti fra gli agenti;
– la realizzazione di compiti comuni.
• La negoziazione permette:– la risoluzione dei conflitti fra gli agenti;
– lo scambio di risorse e attività.
• L’abilità sociale di un agente è possibile grazie a:– uso di un linguaggio di comunicazione ad agente comune;
– uso di strategie di coordinamento e negoziazione.
IA - Agenti
Agostino Poggi
Linguaggio di comunicazione ad agente
• Un linguaggio per la comunicazione ad agenti dovrebbe avere le seguenti proprietà:
– esprimere i diversi atti linguistici (informare, richiedere, …);
– essere indipendente dal protocollo di comunicazione utilizzato;
– essere indifferente al contenuto e al formato dell’informazione;
– essere comprensibile da tutti gli altri agenti.
Messaggio
Contenuto
Comunicazione
IA - Agenti
Agostino Poggi
Linguaggio di comunicazione ad agente: FIPA ACL
(inform :sender agent1 :receiver hpl-auction-server :content (price (bid good02) 150) :in-reply-to round-4 :reply-with bid04 :language sl :ontology hpl-auction)
Begin message structure
Communicative act type
Message parameter
ACL message
Message content expression
Parameter expression
IA - Agenti
Agostino Poggi
Linguaggio di comunicazione ad agente: FIPA ACL
• Un agente che comprende il linguaggio ACL potrà provare a soddisfare un messaggio solo se:
– capisce il linguaggio del contenuto;– capisce l’ontologia a cui si riferisce il contenuto.
• Tuttavia:– degli agenti detti mediator o facilitator possono mediare
l’interazione tra agenti che operano con linguaggi del contenuto diversi;
– degli agenti detti ontology server possono:» offrire le ontologie necessarie a soddisfare un
messaggio;» trasformare le componenti di una ontologia nelle
componenti di un’altra ontologia.
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione
• Servono a fondere gli agenti in un gruppo di individui operanti in modo coerente:
– per evitare il caos durante eventuali conflitti di interesse tra due o più agenti;
– usufruire delle diverse abilità degli agenti;
– sincronizzare le attività degli agenti.
• L’uso di una o di un altra strategia dipende principalmente dal tipo di organizzazione:
– gerarchica;
– ad autorità strutturata;
– a mercato;
– a comunità.
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: pianificazione
multi-agente
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: pianificazione
multi-agente
• È una organizzazione completamente master-slave:
– il master:
» definisce i diversi piani parziali;
» invia i piani a un insieme di agenti (slave) che possono eseguire questi piani;
– ogni slave:
» esegue il suo piani;
» invia il risultato;
– il master:
» compone i risultati.
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: contrattazione
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: contrattazione
• È una organizzazione parzialmente master-slave
• Ad esempio in una rete di contrattazione:– un banditore annuncia un compito ad un insieme di
possibili contraenti;
– ogni possibile contraente può candidarsi presentando anche le sue credenziali;
– il banditore sceglie un contraente;
– il contraente può accettare o rifiutare il compito;
– il banditore può licenziare il contraente;
– il contraente può inviare un rapporto sull’esecuzione del compito.
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: risoluzione
distribuita dei problemi
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: risoluzione
distribuita dei problemi• È una organizzazione completamente democratica.
• Ad esempio con il metodo dei piani parziali globali:– ogni agente:
» definisce un piano locale;
» invia il piano locale agli altri agenti coinvolti nel piano;
» riceve i piani locali degli altri agenti;
» costruisce un piano parziale globale;
– e ciclicamente:
» invia il piano parziale globale agli altri agenti;
» riceve i piani parziali globali degli altri agenti;
» modifica il suo piano parziale globale;
– finché il piano inviato non è uguale ai ricevuti.
IA - Agenti
Agostino Poggi
Strategie di coordinamento e negoziazione: un esempio
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: Scelta dell’architetture
• Esistono tre tipi di architetture:– deliberative;
– reattive;
– ibride.
• Una architettura deliberata richiede che l’agente abbia un esplicito modello simbolico del mondo. L’agente agisce tramite ragionamento logico.
• Una architettura reattiva evita la necessità che l’agente abbia un esplicito modello simbolico del mondo e un sistema di ragionamento. L’agente agisce combinando le routine attivate in risposta agli stimoli esterni.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: l’architettura BDI
• Una architettura BDI si basa su tre componenti:
– Belief: informazioni che l’agente ha sul mondo;
– Desire: obiettivi che l’agente è interessato a raggiugere;
– Intention: obiettivi che l’agente può correntemente perseguire.
• Un agente BDI:– continua ad acquisire informazioni dal mondo esterno;
– ragiona su quali obiettivi poter puntare;
– esegue le azioni atte a raggiungerle.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: scelta del linguaggio
• Un linguaggio di programmazione è solo uno strumento per realizzare un agente.
• Ma:– un agente può inseguire diversi obiettivi
contemporaneamente;
– la comunicazione tra agenti avviene attraverso lo scambio di messaggi;
– non esiste conoscenza in comune se non quella scambiata con i messaggi.
• Un agente è una estensione di un oggetto.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: scelta del linguaggio
Oggetto AgenteComponenti stato e metodi convinzioni, impegni, capacità,
scelte, ...Processo computazionale passaggio di messaggi e
esecuzione metodi di rispostaTipi di messaggi richiesta di un servizio richiesta e offerta di servizi,
invio di informazioni, promesse,...
Parallelismo Multi-thread diversi comportamenti attiviCostrizione sui messaggi precondizioni consistenza, onestà, ...
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: seguire uno standard
• Per poter interoperare con sistemi sviluppati da altre aziende o da altre organizzazioni, è necessario seguire degli standard.
• Esistono varie organizzazioni interessate alla definizione di standard per le tecnologie ad agenti:
– Agent Society;
– Foundation for Intelligent Physical Agents;
– Internet Engineering Task Force;
– Object Management Group;
– WWW Consortium.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: lo standard FIPA
• La Foundation for Intelligent Physical Agents (FIPA) è una associazione internazionale non-profit di aziende il cui scopo è produrre le specifiche per una tecnologia ad agenti che possa divenire uno standard.
• In particolare, FIPA è in corso di specificare:– Agent management ;
– Agent communication language;
– Agent/software integration;
– Human/Agent Interaction;
– Agent Security;
– Agent Mobility;
– Ontology Service.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: la piattaforma FIPA
Internal Platform Message Transport
Agent
DirectoryFacilitator
AgentManagement
System
Software
Agent Platform
ACC
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: JADE
• Ambiente di sviluppo di sistemi multi-agenti in Java le cui proprietà sono:
– distribuzione degli agenti di un sistema su diversi calcolatori;
– uso di agenti leggeri multi-tasking;
– sviluppo di piattaforme conformi allo standard FIPA;
– registrazione degli agenti trasparente al programmatore;
– offre interfacce grafiche per la gestione e lo sviluppo dei sistemi;
– uso di IIOP per connettersi ad altri sistemi standard FIPA.
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: JADE
Agentcontainer
AgentManagement
System
Communication thread
DirectoryFacilitator
ACC
Agent
Agent
Agentcontainer
AgentManagement
System
Communication thread
Agent
Agent
Agent
Agentcontainer
AgentManagement
System
Communication thread
Agent
Agent
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: JADE
Communication thread
AGENT CONTAINER
Communication thread
AGENT CONTAINER (FE)
Communication thread
AGENT CONTAINER
Java RMI
Agent2
event
Localcache
AgentGlobalDescriptorTable
event Agent3
Agent1
AgentContainerTable
IA - Agenti
Agostino Poggi
Realizzazione di sistemi ad agenti: JADE
IA - Agenti
Agostino Poggi
Applicazioni
Gli agenti sono già utilizzati per un vasto insieme di applicazioni:
• per il recupero e il filtraggio delle informazioni;
• per la gestione di agende, meeting;
• per il mercato elettronico;
• per la gestione di servizi on demand;
• per la gestione di reti;
• per l’automazione di processi.
IA - Agenti
Agostino Poggi
Applicazioni: un sistema per video on demand
IA - Agenti
Agostino Poggi
Applicazioni: un sistema per video on demand
Agentcontainer
AgentManagement
System
Communication thread
DirectoryFacilitator
ACC
CA
UPA
GAAgentcontainer
AgentManagement
System
Communication thread
IA
Agentcontainer
AgentManagement
System
Communication thread
IA
Web
IA - Agenti
Agostino Poggi
Applicazioni: un sistema per il controllo di braccio robotico
Agentcontainer
AgentManagement
System
Communication thread
DirectoryFacilitator
ACC PE
Agentcontainer
AgentManagement
System
Communication thread
S
PMMI
D
SDI
top related