38
Università degli Studi di Parma Sistemi ad agenti Agostino Poggi

Università degli Studi di Parma

  • Upload
    kamin

  • View
    42

  • Download
    1

Embed Size (px)

DESCRIPTION

Università degli Studi di Parma. Sistemi ad agenti Agostino Poggi. Cosa è un agente?. - PowerPoint PPT Presentation

Citation preview

Page 1: Università degli Studi di Parma

Università degli Studi di Parma

Sistemi ad agenti

Agostino Poggi

Page 2: Università degli Studi di Parma

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.

Page 3: Università degli Studi di Parma

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.

Page 4: Università degli Studi di Parma

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.

Page 5: Università degli Studi di Parma

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.

Page 6: Università degli Studi di Parma

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.

Page 7: Università degli Studi di Parma

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.

Page 8: Università degli Studi di Parma

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.

Page 9: Università degli Studi di Parma

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.

Page 10: Università degli Studi di Parma

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à

Page 11: Università degli Studi di Parma

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.

Page 12: Università degli Studi di Parma

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.

Page 13: Università degli Studi di Parma

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

Page 14: Università degli Studi di Parma

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

Page 15: Università degli Studi di Parma

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.

Page 16: Università degli Studi di Parma

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à.

Page 17: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Strategie di coordinamento e negoziazione: pianificazione

multi-agente

Page 18: Università degli Studi di Parma

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.

Page 19: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Strategie di coordinamento e negoziazione: contrattazione

Page 20: Università degli Studi di Parma

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.

Page 21: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Strategie di coordinamento e negoziazione: risoluzione

distribuita dei problemi

Page 22: Università degli Studi di Parma

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.

Page 23: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Strategie di coordinamento e negoziazione: un esempio

Page 24: Università degli Studi di Parma

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.

Page 25: Università degli Studi di Parma

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.

Page 26: Università degli Studi di Parma

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.

Page 27: Università degli Studi di Parma

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à, ...

Page 28: Università degli Studi di Parma

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.

Page 29: Università degli Studi di Parma

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.

Page 30: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Realizzazione di sistemi ad agenti: la piattaforma FIPA

Internal Platform Message Transport

Agent

DirectoryFacilitator

AgentManagement

System

Software

Agent Platform

ACC

Page 31: Università degli Studi di Parma

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.

Page 32: Università degli Studi di Parma

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

Page 33: Università degli Studi di Parma

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

Page 34: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Realizzazione di sistemi ad agenti: JADE

Page 35: Università degli Studi di Parma

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.

Page 36: Università degli Studi di Parma

IA - Agenti

Agostino Poggi

Applicazioni: un sistema per video on demand

Page 37: Università degli Studi di Parma

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

Page 38: Università degli Studi di Parma

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