La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent thinkers. Indeed, it is not even clear how one could assess.

Presentazioni simili


Presentazione sul tema: "Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent thinkers. Indeed, it is not even clear how one could assess."— Transcript della presentazione:

1 Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent thinkers. Indeed, it is not even clear how one could assess intelligence in a system that never acted -- or, put otherwise, how a system could exhibit intelligence in the absence of action. Martha Pollack, from Computers and Thought Lecture, IJCAI-91.

2 Cosa è un agente ? Dare una definizione unica non è facile. Perché? I ricercatori tendono a dare una definizione di agenti rimanendo troppo legati al loro contesto di lavoro. Il termine agente è un ombrello sotto il quale ricade una quantità eterogenea di ricerca Infatti,… The MuBot Agent The term agent is used to represent two orthogonal concepts. The first is the agent's ability for autonomous execution. The second is the agent's ability to perform domain oriented reasoning.

3 Cosa è un agente ? The AIMA Agent [Russell and Norvig] An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors. The Maes Agent [Maes 1995] Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed. The KidSim Agent [Smith, Cypher and Spohrer 1994] Let us define an agent as a persistent software entity dedicated to a specific purpose. 'Persistent' distinguishes agents from subroutines; agents have their own ideas about how to accomplish tasks, their own agendas. 'Special purpose' distinguishes them from entire multifunction applications; agents are typically much smaller.

4 Cosa è un agente ? The Hayes-Roth Agent [Hayes-Roth 1995] Intelligent agents continuously perform three functions: perception of dynamic conditions in the environment; action to affect conditions in the environment; and reasoning to interpret perceptions, solve problems, draw inferences, and determine actions. The IBM Agent Intelligent agents are software entities that carry out some set of operations on behalf of a user or another program with some degree of independence or autonomy, and in so doing, employ some knowledge or representation of the user's goals or desires. The Brustoloni Agent [Brustoloni 1991, Franklin 1995] Autonomous agents are systems capable of autonomous, purposeful action in the real world.

5 Un caso estremo…. An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future. Temperatura acquaAttivazione dispositivo Percezione ambiente Reazione Possiamo definire agente uno scaldabagno? Cosa manca?

6 E lintelligenza? Cosa ci aspettiamo da un agente? Perché non adottare un paradigma più convenzionale? Cosa è un agente intelligente? Ce la deve fare da solo Deve sopravvivere in ambienti ostili Deve saper ragionare Deve saper parlare ed organizzarsi …

7 The Wooldridge­Jennings Agent [Wooldridge and Jennings 1995] "... a hardware or (more usually) software-based computer system that enjoys the following properties: autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state; social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language; reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, a collection of other agents, the INTERNET, or perhaps all of these combined), and respond in a timely fashion to changes that occur in it; pro-activeness: agents do not simply act in response to their environment, they are able to exhibit goal-directed behavour by taking the initiative." Cosa è un agente intelligente ?

8 Che altro ci possiamo aspettare? learning: the capability of learning from the experience; adaptability:the ability of an agent to modify its behavior over time in response to changing environmental conditions or an increase in knowledge about its problem solving role ; mobility: the ability of an agent to change its physical location to enhance its problem solving; collaborative behavior: the assumption that an agent will work with other agents to achieve a common goal; inferential capability: the possibility for an agent to act on abstract task specification using prior knowledge of general goals and preferred methods to achieve flexibility; temporal continuity: the persistence of identity and state over long periods of time; personality: the capability of manifesting the attributes of a 'believable' character such as emotion; learning: the capability of learn from the experience;

9 Come è possibile creare un agente? Un agente completo, sia esso biologico, software o robot, ha bisogno di un insieme integrato di diverse ma correlate capacità, cioè di una ARCHITETTURA. autonomia reattività pro-attività abilità sociale learning mobilità personality …

10 Un primo passo Un agente è un computer system situato in un dato ambiente e capace di azioni autonome nellambiente stesso. Esso agisce per raggiungere ben determinati obiettivi AGENTE AMBIENTE

11 Cominciamo a formalizzare lambiente attraverso una architettura astratta (Wooldridge) AMBIENTE Definiamo gli stati dellambiente come: S={s 1,s 2,…,s n } Ad un dato istante, supponiamo che lambiente si trovi in uno di questi stati. Lagente percepisce lambiente attraverso una apposita funzione see: see: S P dove P è linsieme delle percezioni dellagente. Il comportamento dell ambiente può essere modellato come: env: S X A (S) che prende uno stato s ed una azione a e li mappa nellinsieme env(s,a)

12 Lambiente e lagente influiscono luno sullaltro con una certa continuità. Questa interazione può essere rappresentata come una storia h : h: s 0 s 1 s 2 s 3 … s n … alle seguenti condizioni: n N, a n = action((s 0,s 1,…s n )) n N tali che n>0, s n env(s n-1, a n-1 ) Storia dellinterazione tra agente ed ambiente a0a0 anan a1a1 a n-1 a2a2 a3a3 Il comportamento caratteristico di un agente action: S* A in un ambiente env:S x A (S) è linsieme di tutte le storie che soddisfano queste proprietà. Se lagente svolge compiti delicati, controllore di un reattore nucleare, lo studio del comportamento caratteristico può verificare proprietà invarianti.

13 Ora formalizziamo un agente reattivo Sia A linsieme delle azioni che lagente può compiere: A={a 1,a 2,…,a n } Un agente puramente reattivo mappa le sequenze di percezioni in azioni. action: P A Un agente puramente reattivo assomiglia ad uno scaldabagno. seeaction

14 Se un Agente è omnisciente Sia s 1 s 2 ed see(s 1 )=see(s 2 ) Due stati differenti sono mappati alla stessa percezione! Supponiamo che: x=la temperatura della stanza è OK y=Ciampi è il presidente della Repubblica S={ ( x, y), ( x,y), (x, y), (x,y) s1s1 s2s2 s3s3 s4s4 Se il termostato è sensibile solo alla temperatura accade che la temperatura non è OK e Ciampi non è presidente della Repubblica genera la stessa percezione di la temperatura non è OK e Ciampi è il presidente della Repubblica Se il numero delle percezioni è equivalente al numero degli stati dellambiente, allora lagente è omnisciente

15 Agenti con Stato seeaction next state see: S P action: I A next: I X P I Stato interno iniziale dellagente s 0 next(i 0,see(s)) action(next(i 0,see(s))) La funzione next aggiorna lo stato interno dellagente a partire dalle percezioni esterne, mentre la funzione action determina lazione che lagente deve compiere e che influirà sullambiente esterno. Dopo aver compiuta lazione, lagente torna a percepire, ad aggiornare lo stato interno, a compiere unaltra azione e cosi via.

16 Architetture concrete per Agenti Intelligenti Finora siamo rimasti nellastratto. Costruire concretamente la architettura di un agente intelligente, richiede di specificare in maniera più approfondita le funzioni finora viste. Studieremo le architetture secondo le classi individuate da Wooldridge, ma possono essere adottate anche altre classificazioni. Architetture per Agenti basati sulla logica Architetture per Agenti reattivi Architetture BDI Architetture layered

17 Architetture per Agenti basati sulla logica Lidea di base Il comportamento intelligente può essere generato: dando una rappresentazione simbolica dellambiente e del comportamento desiderato manipolando sintatticamente questa rappresentazione formule logiche logical deduction theorem prover Data una teoria che specifica il comportamento di un agente (come genera goals, come interfoglia reattività e proattività,…) : approccio tradizionale di implementazione prevede raffinamenti approccio logico prevede lesecuzione diretta di tale teoria (executable specification) Φ

18 Architetture per Agenti basati sulla logica Sviluppiamo un semplice esempio di agente basato sulla logica (deliberate agent) Stato interno database di formule (classical first-order predicate) apri(valvola221) temperatura(reattore4726,321) pressione(serbatoio776,28) Informazioni sullambiente Beliefs Le informazioni del database, così come quelle del nostro cervello, vanno aggiornate perché mantengano la loro validità. !

19 Architetture per Agenti basati sulla logica L è un insieme di sentenze della logica del primo ordine D = (L) è un insieme di L databases, un insieme di insiemi di L- formule Lo stato interno di un agente è un elemento di D Siano, 1,... elementi di D Il processo di decisione dellagente viene modellato attraverso un insieme di regole di deduzione, Φ Se la formula può essere provata dal database utilizzando le regole di deduzione Φ Le funzioni dellarchitettura astratta diventano… see: S P next: D x P D action: D A

20 Architetture per Agenti basati sulla logica La funzione action si comporta come segue: function action ( : D ) : A begin for each a A do if Do (a) then return a end-if end-for for each a A do if Do (a) then return a end-if end-for return null end function action Le regole di deduzione restituiscono una azione a Lagente cerca una azione consistente con le regole del database

21 Architetture per Agenti basati sulla logica La funzione action si comporta come segue: seeaction next database Il comportamento dellagente è determinato dalle regole di deduzione e dal database corrente Consideriamo un piccolo esempio

22 Architetture per Agenti basati sulla logica Supponiamo di avere un piccolo robot che pulisca la casa: Il robot ha: un sensore per individuare la spazzatura un dispositivo per aspirare la spazzatura la capacità di muoversi a nord, sud, est ed ovest con un angolo di 90° il robot può andare avanti, aspira, gira (0,2)(2,2)(1,2) (2,0) (0,1) (2,1)(1,1) (1,0)(0,0) Lobiettivo è di girare nella stanza e trovare la spazzatura Predicati: in(x,y) il robot è nella posizione (x,y) spazzatura(x,y) la spazzatura è in (x,y) direzione(d) lagente va in direzione d

23 Architetture per Agenti basati sulla logica La funzione next deve percepire informazioni dallambiente (spazzatura, niente) generare un nuovo database rimuovere le vecchie informazioni calcolare il nuovo orientamento e la nuova locazione dellagente (0,2)(2,2)(1,2) (2,0) (0,1) (2,1)(1,1) (1,0)(0,0) old( ) = {P(t1,…,tn) | P {in, spazzatura, direzione and P(t1,…,tn) next: D x P D next(, p) = ( \ old()) new(, p ) Prima regola: come pulire… in(x,y) spazzatura(x,y) Do(aspira)

24 Architetture per Agenti basati sulla logica Se il robot è nella stessa casella della spazzatura, deve aspirare; altrimenti deve girare nella stanza per individuarla. Il robot si moverà come da figura: (0,2)(2,2)(1,2) (2,0) (0,1) (2,1)(1,1) (1,0)(0,0) in(0,0) direzione(nord) spazzatura(0,0) Do(avanti) in(0,1) direzione(nord) spazzatura(0,1) Do(avanti) in(0,2) direzione(nord) spazzatura(0,2) Do(avanti) in(0,2) direzione(est) Do(avanti) Attraverso le funzioni next and action viste precedentemente il robot sarà in grado di pulire la stanza Ma la costruzione di agenti basati sulla logica nasconde delle insidie? Quali?

25 Architetture per Agenti basati sulla logica Supponiamo di avere un database ed un insieme di regole tale che possiamo provare Do(a) con a migliore azione da compiere sullambiente in quel dato istante. Al tempo t 1, lagente ha generato il database 1 ed inizia ad applicare le regole per trovare lazione migliore da compiere. Al tempo t 2, egli avrà stabilito che: Do(a) Quindi, avrà trovato una azione da compiere. Ma t2>t1, quindi è passato un intervallo consistente dallultimo aggiornamento del database. E se nel frattempo il mondo è cambiato? Chi ci assicura che a sia ancora lazione ottimale da compiere?

26 Architetture per Agenti basati sulla logica L approccio logico contiene altre difficoltà intrinseche: la funzione see trasforma le percezioni in rappresentazioni interne al database, ma ciò non è sempre facile. Se un agente percepisce un immagine, è difficile trasformare questa in una forma simbolica; risulta piuttosto difficile rappresentare le proprietà dinamiche dellambiente. cè il problema della pianificazione e ripianificazione Larchitettura logica finora utilizzata è troppo semplice per costruire agenti intelligenti capaci di vivere in ambienti aperti e dinamici. E necessario che un agente possa costruirsi una esatta rappresentazione del mondo in cui vive. Mondo Rappresentazione del Mondo

27 Architetture per Agenti basati sulla logica Corretta conoscenza del mondo Un sistema efficiente di ragionamento PERCEZIONE/REATTIVITA PRO-ATTIVITA Ci deve essere un buon bilanciamento tra reattività e pro-attività In un ambiente dinamico e caotico

28 Architetture per Agenti basati sulla logica I primi tentativi di creare un agente capace di vivere in un contesto dinamico furono: LUPS: un linguaggio di programmazione logico capace di rappresentare dinamicamente levoluzione della conoscenza. LUPS mette a disposizione delle funzioni per aggiornare la conoscenza attraverso delle regole di transizione; AGENT- 0: Shoman, nel 1993, unificò in una semplice architettura la ricezione dei messaggi (percezione), laggiornamento degli stati mentali (conoscenza) e lesecuzione dei commitments. Il comportamento dellagente è gestito da un loop che interfoglia le differenti attività senza una particolare politica d gestione.

29 Architetture per Agenti basati sulla logica Reactive + Rational thinking In a rational agent, goals are represented explicitly and knowledge is represented as goal reduction rules. In a reactive agent, goals are achieved by condition-action rules ? Come è possibile combinare entrambe le cose in una unica architettura?

30 Kowalski and Sadri in Towards a unified architecture that combines rationality with reactivity definiscono una proof procedure che ragiona sia con definizioni in if-and-only-if form utilizzate per goal reduction che con integrity constraints in forma clausale. Architetture per Agenti basati sulla logica To cycle at time T i)observe any input at time T, ii)record any such input, iii)resume the proof procedure by ¯rst propagating the inputs, iv)continue applying the proof procedure using for steps (iii) and (iv)a total of R units of time, v)select an atomic action which can be executed at time T+R+2 from among the alternatives, vi)execute the selected action at time T+R+2 and record the results (success or failure), vii)cycle at time T+R+3.

31 Architetture per Agenti basati sulla logica KGP Agent: COMPUTATIONAL LOGIC + ABDUCTION KGP (Knowledge, Goals and Plans) sono particolarmente adatti ad ambienti dinamici dove i cambiamenti sono frequenti e non cè informazione completa La logica computazionale viene utilizzata per specificare: individual state di un agente; reasoning capabilities; state transitions; control. Utilizzando queste capacità, un agente mantiene il suo punto di vista dellambiente, decide quali goals raggiungere in relazione alle circostanze del momento, pianifica ed interfoglia il tutto con lesecuzione dei piani, la reazione allambiente, le informazioni ricevute e la revisione degli obiettivi e dei piani alla luce delle nuove informazioni.

32 Architetture per Agenti basati sulla logica KGP La componente che controlla il comportamento di un agente KGP è regolata da un cycle theory che permette di progettare agenti altamente eterogenei adattabili a differenti applicazioni pratiche. La base del modello KGP è la conoscenza (knowledge) ed un insieme di collezioni modulari di capacità (capabilities) che permettono allagente di pianificare, reagire, ragionare, decidere nuovi goals, verificare le precondizioni delle azioni … Le capabilities sono utilizzate in un insieme di transizioni (transitions) che descrivono come cambia lo stato interno dellagente e sono integrate nel cycle theory. Lo stato interno può cambiare per 1- losservazione dellambiente 2- lesecuzione di azioni 3- lintroduzione di nuovi goals o piani 4- la revisione di goals o piani 5- la reazione allambiente

33 Architetture per Agenti basati sulla logica KGP Lo stato interno dellagente KGP è la tripla KB, Goals, Plan La knowledge base (KB) descrive: la conoscenza dellagente stesso e del suo ambiente. KB KB plan : contiene la conoscenza per la pianificazione KB GD : contiene la conoscenza per scegliere i nuovi goals KB react : contiene la conoscenza per reagire ai cambiamenti KB 0 : contiene la conoscenza sul mondo esterno (osservazioni, azioni eseguite, comunicazioni ricevute) KB TR : contiene la conoscenza per ragionare sulle osservazioni e fare predizioni (temporal reasoning) KB 0 è la sola parte della base di conoscenza che cambia nel tempo

34 Architetture per Agenti basati sulla logica KGP Le capabilities di un agente KGP permettono allentità di assumere differenti comportamenti nel processo di adattamento allambiente. Capabilities Planning : usa KB plan e KB 0 per generare piani parziali per raggiungere uno o più goals. Rende lagente adattabile ai cambiamenti ambientali. Identification of Preconditions: usa KB plan per identificare le precondizioni perché lesecuzione con successo delle azioni di un piano. La capacità di verificare prima di compiere permette di ripianificare e di eliminare le azioni non più valide. Goal Decision : usa KB GD e KB 0 per determinare i golas che lagente intende eseguire al momento in accordo alle preferenze in KB GD. Temporal Reasoning: usa KB TR e permette allagente di ragionare sulle osservazioni in KB0 e fare predizioni. Rende lagente adattabile ai cambiamenti ambientali e alla mancanza di informazione. Reactivity: permette allagente di ragionare ai cambiamenti ambientali ed usa KB react e KB 0 per identificare quali nuove azioni e nuovi goals devono essere aggiunti allo stato corrente alla luce delle nuove osservazioni.

35 Architetture per Agenti basati sulla logica KGP Le transition rules cambiano lo stato interno dellagente. Transition Rules Passive observation introduction: cambia KB 0 introducendo informazioni dallambiente e comunicazioni di altri agenti. Active Observation Introduction: cambia KB 0 introducendo il risultato delle sensing actions. Sensing Introduction: aggiunge il piano corrente nuove azioni per verificare le precondizioni delle azioni già nel piano. Plan Introduction: cambia parte dei Goals e Piani di uno stato in accordo con loutput del Planning capability. Goal Introduction: rimpiazza i Goals di uno stato con goals a più alta priorità che il Goal Decision capability genera. Reactivity: aggiorna lo stato corrente dellagente aggiungendo goals ed azioni restituite dalla Reactivity capability. Goal Revision: rivede i Goals eliminando quelli giàottenuti o che sono scaduti attraverso il Temporal Reasoning. Plan Revision: rivede i Piani eliminando le azioni già eseguite con successo o ce non sono più eseguibili. Action Execution: esegue tutti i tipi di azioni, cambiando KB0 aggiungendo informazioni sulle azioni eseguite.

36 Architetture per Agenti basati sulla logica KGP KB plan KB GD KB react KB 0 KB TR Sensing Identification of Precondition Planning Goal Decision Reactivity Temporal Reasoning Passive Observation introduction Actiive Observation introduction Sensing introduction Plan introduction Goal introduction Reactivity Goal Revision Plan Revision Action Execution CYCLE THEORY AMBIENTE KNOWLEDGECAPABILITIES TRANSITIONSCONTROL

37 Architetture per Agenti reattivi Lidea di base rigetto della rappresentazione simbolica e del processo decisionale basato sulla manipolazione sintattica di tale rappresentazione; il comportamento intelligente è innato ed è legato fortemente allambiente che lagente occupa; il comportamento intelligente EMERGE dalla interazione con lambiente. PADRE DI QUESTO APPROCCIO E BROOKS …mobility, acute vision and the ability to carry out survival-related tasks in a dynamic environment provide a necessary basis for the development of true intelligence. …there are no variables that need instantiation inreasoning processes. There are no rules which need to be selected through pattern matching. There are no choices to be made.[...] the complexity of behavior of a system was not necessarily inherent in the complexity of the creature, but perhaps in the complexity of the environment.

38 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Il processo di decisione dellagente è realizzato attraverso un insieme di task accomplishing behaviors Ogni comportamento(behavior) è dovuto alla percezione e alla corrispondente azione da compiere. N.B. Non cè alcuna complessa rappresentazione simbolica, né alcun tipo di ragionamento simbolico. Diversi comportamenti possono essere innescati contemporanemente. COMPORTAMENTO: situation action Come è possibile scegliere quale adottare prima?

39 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE I moduli della architettura sono posizionati in maniera gerarchica: gli strati più bassi hanno maggiore priorità Perché? Pensiamo a come pensa Brooks

40 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Costruiamo le funzioni see and action La funzione see rimane la stessa: quale è, la ricordate? La funzione action è realizzata da un insieme di comportamenti e da una relazione di inibizione tra i comportamenti. behavior è una coppia (c,a) where c P è un insieme di percezioni chiamate condition e a A è una azione Un behavior (c,a) sarà attuato quando lambiente è nello stato s S iff see(s) c. Beh = { (c,a) | c P and a A} Definiamo ora la relazione di inibizione…

41 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Associata con linsieme Beh definiamo una funzione R Beh una relazione binaria di inibizione sullinsieme dei behaviors: R x R Se b 1 b 2 se (b 1,b 2 ) vuol dire b 1 inibisce b 2 ۷ ۷۷ function action (p : P) : A var fired : (R) var selected : A begin fired := { (c,a) | (c,a) R and p c} for each (c,a) fired do if ( (c,a) fired such that (c,a) (c,a)) then return a end-if end-for return null end function action ۷ Vengono selezionati tutti i comportamenti innescati Se non cè tra i comportamenti innescati uno a più alta priorità…

42 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Un esempio: Lobiettivo è esplorare un pianeta per entrare in possesso di campioni di un particolare tipo di roccia. Non si conosce in anticipo la localizzazione dei campioni della roccia ma si sa che generalmente essi sono raggruppati in certi luoghi. Si ha a disposizione un certo numero di veicoli autonomi che possono muoversi sul pianeta raccogliendo campioni e successivamente rientrare sulla terra. Non si ha una mappa dettagliata del pianeta ma si sa che esso è pieno di valli e colline che impediscono ai veicoli qualsiasi scambio di comunicazioni. Metodo: costruire un agent control architecture per ogni veicolo Il comportamento di ogni agente è costruito attraverso un certo numero di strati, come previsto dalla subsumption architecture…

43 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Un esempio: Lobiettivo è esplorare un pianeta per entrare in possesso di campioni di un particolare tipo di roccia. Non si conosce in anticipo la localizzazione dei campioni della roccia ma si sa che generalmente essi sono raggruppati in certi luoghi. Si ha a disposizione un certo numero di veicoli autonomi che possono muoversi sul pianeta raccogliendo campioni e successivamente rientrare sulla terra. Non si ha una mappa dettagliata del pianeta ma si sa che esso è pieno di valli e colline che impediscono ai veicoli qualsiasi scambio di comunicazioni. Metodo: costruire un agent control architecture per ogni veicolo Il comportamento di ogni agente è costruito attraverso un certo numero di strati, come previsto dalla subsumption architecture…

44 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE If vedi un ostacolo then cambia direzione (1.6) If trasporti campioni and sei alla base then posa i campioni (1.7) If trasporti campioni and not sei alla base then viaggia sotto gradiente (1.8) If trovi un campione then prendi il campione (1.9) If true then muoviti intorno (1.10) I veicoli girano ma, siccome le rocce sono raggruppate, se uno le trova…lascia un segno per gli altri Relazione di inibizione: (1.6) (1.7) (1.8) (1.9) (1.10) ۷۷۷۷

45 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Come fare perché un veicolo lasci una traccia se la comunicazione è impossibile? Stell propose una soluzione adottata dalle formiche: lasciare una traccia… Quando un agente trova una roccia, deve lasciare un traccia di briciole reattive. Quando le roccie sono state tutte caricate, la traccia viene eliminata. Quali saranno i nuovi comportamenti? If trasporti campioni and sei alla base then posa i campioni (1.11) If trasporti campioni and not sei alla base then lascia cadere 2 briciole and viaggia sotto gradiente (1.12) If percepisci briciole then prendi una briciola and viaggia sotto gradiente (1.13) (1.6) (1.11) (1.12) (1.9) (1.13) (1.10) ۷۷۷۷۷

46 Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE VANTAGGI semplicità, economia, trattabilità computazionale, robustezza, eleganza VANTAGGI E PROBLEMI IRRISOLTI gli agenti hanno solo un punto di vista locale dellambiente non si capisce come gli agenti reattivi possano imparare dallesperienza e migliorare il loro comportamento il comportamento globale dellagente emerge dalla sua relazione con lambiente ma non si capiscono le modalità di questa emersione. Come può essere implementata dal progettista? quando aumentano i comportamenti generati, diventa complicato gestire la dinamica delle interazioni.

47 Architetture per Agenti BDI BDI = Belief Desires Intentions Basata su Practical Reasoning Il processo di decidere, momento per momento, quale azione compiere mentre si persegono i propri goals Practical Reasoning decidere QUALI goals si vogliono ottenere DELIBERATION decidere COME ottenere i goals MEANS-END REASONING

48 Architetture per Agenti BDI BDI = Belief Desires Intentions COSA FARE DELLA PROPRIA VITA DOPO LUNIVERSITA Prendere il dottorato Andare a lavorare in azienda Quale scegliere? UNA VOLTA FATTA UNA SCELTA, OCCORRE PERSEGUIRLA INTENZIONE

49 Architetture per Agenti BDI BDI = Belief Desires Intentions INTENZIONE VINCOLA IL FUTURO PERSISTE Se adotto una intenzione, persevererò nel realizzarla (finchè saprò di poterlo fare…)

50 Architetture per Agenti BDI BDI = Belief Desires Intentions INTENZIONE E STRETTAMENTE RELAZIONATA CON LE CREDENZE(Beliefs) INFLUENZA LE CREDENZE Se intendo fare qualcosa, crederò che io farò quel qualcosa

51 Architetture per Agenti BDI BDI = Belief Desires Intentions INTENZIONI drive means-end reasoning : se decido di fare qualcosa, devo capire come e trovare tutte le azioni possibili che mi conducono allo scopo constrain future deliberations: se decido di fare qualcosa, non accetterò opzioni inconsistenti con ciò che voglio fare persist: se decido di fare qualcosa e non ho delle buone motivazioni, persisterò nel fare quella cosa Influence beliefs: se decido di fare qualcosa, crederò di ottenerlo e ciò influenzerà le decisioni future

52 Architetture per Agenti BDI OBIETTIVO TROVARE UN BUON BILANCIAMENTO TRA QUESTI CONCETTI UN AGENTE DOVRA NON SOLO ADOTTARE DELLE INTENZIONI E PERSEGUIRLE, MA ANCHE VERIFICARE CHE POSSANO ANCORA ESSERE OTTENUTE. QUELLE NON PIU OTTENIBILI, VANNO ELIMINATE Ma controllare la validità delle intenzioni ha un suo costo in termini di risorse computazionali: quale scelta fare? Continuare a tentare di realizzare intenzioni non più ottenibili non controllando la loro validità Riconsiderare continuamente la validità delle intenzioni perdendo il tempo necessario per ottenerle

53 Architetture per Agenti BDI IL SOLITO DILEMMA: BILANCIARE IL COMPORTAMENTO PRO-ATTIVO E REATTIVO Michael Georgeff ha sperimentato nel proprio framework BDI dMARS lintroduzione di un fattore chiamato rate of world change: è BASSO: lambiente cambia poco. Vivono meglio gli agenti che riconsiderano di meno le intenzioni (BOLD). Gli agenti che riconsiderano spesso le intenzioni, non hanno un comportamento desiderabile(CAUTIOUS). è ALTO: lambiente cambia abbastanza velocemente. Quale tipo di agente si comporteerà meglio? N.B. Differenti tipi di ambienti richiedono differenti tipi di agenti

54 Architetture per Agenti BDI COME POSSIAMO FORMALIZZARE UN AGENTE BDI? a set of current beliefs: rappresenta linformazione che lagente ha sul suo ambiente corrente a belief revision function(brf): prende una percezione e le credenze correnti dellagente e, sulla base di queste, determina un nuovo insieme di credenze an option generation function: determina le opzioni disponibili (desideri) sulla base delle intenzioni e credenze correnti a set of current options: rappresenta le possibili serie di azioni che lagente può compiere a filter function(filter): rappresenta il processo deliberativo dellagente che determina le intenzioni sulla base dei desideri, delle credenze e delle intenzioni correnti linformazione che lagente ha sul suo ambiente corrente a set of current intentions: rappresenta ciò che lagente ha deciso di ottenere an action selection function(execute): determina lazione da compiere sulla base delle correnti intenzioni

55 Architetture per Agenti BDI Bel insieme di tutte le credenze Des insieme di tutti i desideri Int insieme di tutte le intenzioni Stato dellagente (B,D,I) dove B Bel, D Des e I Int La belief revision function brf è: (Bel) x P (Bel) La option generator function è: (Bel) x (Int) (Des) Una volta che lagente ha deciso di fare x, deve provvede praticamente ad assolvere il compito. La funzione options deve controllare: la consistenza dellopzione generata con le credenze e le intenzioni correnti deve riconoscere quando I cambiamenti ambientali possono avvantaggiare la realizzazione di nuove e vecchie/accantonate intenzioni

56 Architetture per Agenti BDI Il BDI deliberation process (filter) è: (Bel) x (Des) x (Int) (Int) Aggiorna le intenzioni sulla base dei desideri, delle credenze e delle intenzioni Una volta che lagente ha deciso di fare x, deve provvede praticamente ad assolvere il compito. La funzione filter ha due obiettivi : elimina le intenzioni che non sono più ottenibili o che non convenga più ottenere; mantiene le intenzioni che non sono state ancora ottenute e che ci si aspetta avranno un esito positivo; adotta nuove intenzioni o per ottenere intenzioni esistenti o per esplorare nuove possibilità

57 Architetture per Agenti BDI La funzione execute è: (Int) A La funzione action è: P A function action (p : P) : A begin B:= brf(B,p) D:= options(D,I) I:= filter(B,D,I) return execute(I) end function action Alle intenzioni può essere associata una priorità o possono essere posizionate in uno stack Il problema? Come implementare efficientemente queste funzioni.

58 Architetture per Agenti BDI A BDI agent: AgentSpeak(L) AgentSpeak(L) agent consists of a set of base beliefs, a set of plans, a set of events, a set of actions, a set of intentions and, finally, three selection functions. When the agent observes a change in the world or an external user has asked the system to adopt a goal, an appropriate triggering event, called external event, is generated. At this point, a special selection function selects an event from those in the set and unifies it with the triggering events of the set of plans. The plans whose triggering events so unify are called relevant plans and the unifier is called the relevant unifier. Next, the relevant unifier is applied to the context condition and a correct answer substitution is obtained for the context, such that the context is a logical consequence of the set of base beliefs.

59 Architetture per Agenti BDI A BDI agent: AgentSpeak(L) Such plans are called applicable plans. Applicable plans can be more than one. So, a selection function is applied to choose one of these plans. Instantiated plans become intentions. An other selection function will choose one of intentions in order to execute it. When the agent executes an intention, it executes the first goal or action of the body of the top of the intention. Beliefs b(t 1,t 2,…,t n ) belief atom b(t) e c(s) sono belief atoms b(t) c(s), b(t) sono beliefs Goals !g(t) (goal da ottenere) o ?g(t) (goal da testare) sono goals

60 Architetture per Agenti BDI A BDI agent: AgentSpeak(L) Triggering events Se b(t) è una belief e !g(t) e ?g(t) sono goals, allora: +b(t), -b(t)+!g(t), +?g(t), -!g(t), -?g(t) sono triggering events Actions a(t) è una azione Plans Se e è un triggering event, b 1,…,b m sono beliefs e h 1,…,h n sono goals o azioni: e: b 1 b 2 … b m h 1 ;…;h n è un piano (plan)

61 Architetture per Agenti BDI A BDI agent: AgentSpeak(L) Un esempio +location(waste,X) : location(robot,X) location(bin,Y) pick(waste); !location(robot,Y); drop(waste). +!location(robot,X) : location(robot,X) true. +!location(robot,X) : location(robot,Y) (not(X=Y)) adjacent(Y,Z) (not(location(car,Z))) move(Y,Z); +!location(robot,X).

62 Architetture layered Visto che un agente ha un comportamento reattivo e pro-attivo, perché non creare sottosistemi divisi, ognuno dei quali implementi una delle due funzioni? Il numero di strati minimi è due: reattivo e pro-attivo ma possono esserci anche molti strati. TIPI DI STRATI horizontal layering: gli strati software sono ognuno direttamente connesso alla parte sensoriale (input) e alla parte esecutiva delle azioni (output) … Layer n Layer 2 Layer 1 INPUT OUTPUT

63 Architetture layered vertical layering: gli strati software sono connessi uno con laltro ed i sensori di input e di output sono collegati agli strati più esterni … Layer n Layer 2 Layer 1 INPUT OUTPUT … Layer n Layer 2 Layer 1 INPUT OUTPUT (one pass control) (two pass control)

64 Architetture layered horizontal layering: Vantaggi: semplicità Svantaggi: ogni layer compete con laltro e si può determinare una incoerenza del sistema Include una funzione mediator che determina ogni volta quale layer debba avere il controllo dellagente Il progettista deve considerare tutte le possibili interazioni tra gli strati m strati ognuno n azioni m n interazioni

65 Architetture layered vertical layering: Vantaggi: semplicità e meno problemi dellhorizontal layering: n-1 interfacce tra gli strati e m azioni per ogni strato m 2 (n-1) Svantaggi: poca flessibilità perché, per prendere una decisione occorre che il controllo passi per tutti gli strati fallisce uno strato fallisce tutto il sistema Qualche esempio? TOURINGMACHINES e INTERRAPT

66 Architetture layered TORINGMACHINES di Ferguson It consists of three activity layers: Modeling Layer: represents entities in the world (agent itself and others in the world), predicts eventual conflicts between agents and generate new goals in order to overcome these conflicts Planning Layer : generates pro-active behavior of the agent. It uses a library of plan skeletons called schema in order to decide what to do Reactive Layer: provides a more or less immediate response to changes of the environment through a set of situation-action rules. These rules map sensor input directly to effector output Control subsystem decides which layer must have control and is implemented as a set of control rules

67 Architetture layered TORINGMACHINES di Ferguson Modelling Layer Planning Layer Reactive Layer Control subsystem Action subsystemPerception subsystem sensor input Action output

68 Architetture layered INTERRUPT di Muller INTERRAP is composed by three control layers: the lowest behavior based layer: furnish to agent reactive capabilities; the middle local planning layer: allows an agent to construct plans in order to reach desired goals; the uppermost cooperative planning layer: deals with social interactions. Two types of interactions between layers: bottom-up activation: occurs when a lower layer passes control to a higher layer because it is not competent; top-down execution: occurs when a higher layer uses lower layers in order to obtain something (reach a goal)

69 Architetture layered INTERRAPT di Muller action output cooperation layer plan layer behavior layersocial knowledgeplanning knowledge world model WORLD INTERFACE perceptual input


Scaricare ppt "Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent thinkers. Indeed, it is not even clear how one could assess."

Presentazioni simili


Annunci Google