690 likes | 803 Views
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.
E N D
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.
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.
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.
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.
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 acqua Attivazione dispositivo Reazione Percezione ambiente Possiamo definire agente uno scaldabagno? Cosa manca?
E l’intelligenza? Cosa ci aspettiamo da un agente? Perché non adottare un paradigma più convenzionale? Ce la deve fare da solo Deve sopravvivere in ambienti ostili Deve saper ragionare Deve saper parlare ed organizzarsi … Cosa è un agente intelligente?
Cosa è un agente intelligente ? • The WooldridgeJennings 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."
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;
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 mobilità … learning personality
Un primo passo Un agente è un computer system situato in un dato ambiente e capace di azioni autonome nell’ambiente stesso. Esso agisce per raggiungere ben determinati obiettivi AGENTE AMBIENTE
Cominciamo a formalizzare l’ambiente attraverso una architettura astratta (Wooldridge) Definiamo gli stati dell’ambiente come: S={s1,s2,…,sn} AMBIENTE Ad un dato istante, supponiamo che l’ambiente si trovi in uno di questi stati. L’agente percepisce l’ambiente attraverso una apposita funzione see: see: S P dove P è l’insieme delle percezioni dell’agente. 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 nell’insieme env(s,a)
Storia dell’interazione tra agente ed ambiente • L’ambiente e l’agente influiscono l’uno sull’altro con una certa continuità. Questa interazione può essere rappresentata come una storia h: • h: s0 s1 s2 s3 … sn … • alle seguenti condizioni: • n N, an = action((s0,s1,…sn)) • n N tali che n>0, sn env(sn-1, an-1) a2 a0 a1 a3 an-1 an Il comportamento caratteristico di un agente action: S* A in un ambiente env:S x A (S) è l’insieme di tutte le storie che soddisfano queste proprietà. Se l’agente svolge compiti delicati, controllore di un reattore nucleare, lo studio del comportamento caratteristico può verificare proprietà invarianti.
Ora formalizziamo un agente reattivo Sia A l’insieme delle azioni che l’agente può compiere: A={a1,a2,…,an} see action Un agente puramente reattivo mappa le sequenze di percezioni in azioni. action: P A Un agente puramente reattivo assomiglia ad uno scaldabagno.
Se un Agente è omnisciente Due stati differenti sono mappati alla stessa percezione! Sia s1≠ s2 ed see(s1)=see(s2) Supponiamo che: x=“la temperatura della stanza è OK” y=“Ciampi è il presidente della Repubblica” S={ (x, y), (x,y), (x, y), (x,y) s1 s2 s4 s3 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 dell’ambiente, allora l’agente è omnisciente
Agenti con Stato see action see: S P action: I A next: I X P I next state Stato interno iniziale dell’agentes0 next(i0,see(s)) action(next(i0,see(s))) La funzione next aggiorna lo stato interno dell’agente a partire dalle percezioni esterne, mentre la funzione action determina l’azione che l’agente deve compiere e che influirà sull’ambiente esterno. Dopo aver compiuta l’azione, l’agente torna a percepire, ad aggiornare lo stato interno, a compiere un’altra azione e cosi via.
Architetture concrete per Agenti Intelligenti Finora siamo rimasti nell’astratto. 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’
Architetture per Agenti basati sulla logica • L’idea di base • Il comportamento intelligente può essere generato: • dando una rappresentazione simbolica dell’ambiente 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 l’esecuzione diretta di tale teoria (executable specification)
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 sull’ambiente Beliefs Le informazioni del database, così come quelle del nostro cervello, vanno aggiornate perché mantengano la loro validità. !
∆ ├ Φ 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 dell’agente viene modellato attraverso un insieme di regole di deduzione, Se la formula può essere provata dal database∆utilizzando le regole di deduzione Φ Le funzioni dell’architettura astratta diventano… see: S P next: D x P D action: D A
Architetture per Agenti basati sulla logica La funzione action si comporta come segue: functionaction (∆ :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 L’agente cerca una azione consistente con le regole del database
Architetture per Agenti basati sulla logica La funzione action si comporta come segue: see action next database Il comportamento dell’agente è determinato dalle regole di deduzione e dal database corrente Consideriamo un piccolo esempio
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 L’obiettivo è di girare nella stanza e trovare la spazzatura (0,2) (1,2) (2,2) Predicati: in(x,y)il robot è nella posizione (x,y) spazzatura(x,y) la spazzatura è in (x,y) direzione(d) l’agente va in direzione d (0,1) (1,1) (2,1) (0,0) (1,0) (2,0)
Architetture per Agenti basati sulla logica • La funzione next • deve percepire informazioni dall’ambiente (spazzatura, niente) • generare un nuovo database • rimuovere le vecchie informazioni • calcolare il nuovo orientamento e la nuova locazione dell’agente old(∆) = {P(t1,…,tn) | P {in, spazzatura, direzione and P(t1,…,tn) ∆ (0,2) (1,2) (2,2) next: D x P D next(∆,p) = (∆ \ old(∆)) new(∆,p) (0,1) (1,1) (2,1) Prima regola: come pulire… (0,0) (1,0) (2,0) in(x,y) spazzatura(x,y) Do(aspira)
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: 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) (0,2) (1,2) (2,2) (0,1) (1,1) (2,1) (0,0) (1,0) (2,0) 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?
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 sull’ambiente in quel dato istante. Al tempo t1, l’agente ha generato il database ∆1 ed inizia ad applicare le regole per trovare l’azione migliore da compiere. Al tempo t2, egli avrà stabilito che: ∆ ├ Do(a) Quindi, avrà trovato una azione da compiere. Ma t2>t1, quindi è passato un intervallo consistente dall’ultimo aggiornamento del database. E se nel frattempo il mondo è cambiato? Chi ci assicura che a sia ancora l’azione ottimale da compiere?
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 dell’ambiente. • c’è il problema della pianificazione e ripianificazione L’architettura 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
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
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 l’evoluzione 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), l’aggiornamento degli stati mentali (conoscenza) e l’esecuzione dei commitments. Il comportamento dell’agente è gestito da un loop che interfoglia le differenti attività senza una particolare politica d gestione.
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?
Architetture per Agenti basati sulla logica 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. 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)cycleat time T+R+3.
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 dell’ambiente, decide quali goals raggiungere in relazione alle circostanze del momento, pianifica ed interfoglia il tutto con l’esecuzione dei piani, la reazione all’ambiente, le informazioni ricevute e la revisione degli obiettivi e dei piani alla luce delle nuove informazioni.
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 all’agente 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 dell’agente e sono integrate nel cycle theory. Lo stato interno può cambiare per 1- l’osservazione dell’ambiente 2- l’esecuzione di azioni 3- l’introduzione di nuovi goals o piani 4- la revisione di goals o piani 5- la reazione all’ambiente
Architetture per Agenti basati sulla logica KGP Lo stato interno dell’agente KGP è la tripla KB, Goals, Plan La knowledge base (KB) descrive: la conoscenza dell’agente stesso e del suoambiente. KBplan : contiene la conoscenza per la pianificazione KBGD : contiene la conoscenza per scegliere i nuovi goals KBreact : contiene la conoscenza per reagire ai cambiamenti KB0 : contiene la conoscenza sul mondo esterno (osservazioni, azioni eseguite, comunicazioni ricevute) KBTR : contiene la conoscenza per ragionare sulle osservazioni e fare predizioni (temporal reasoning) KB KB0 è la sola parte della base di conoscenza che cambia nel tempo
Architetture per Agenti basati sulla logica KGP Le capabilities di un agente KGP permettono all’entità di assumere differenti comportamenti nel processo di adattamento all’ambiente. Planning: usa KBplan e KB0 per generare piani parziali per raggiungere uno o più goals. Rende l’agente adattabile ai cambiamenti ambientali. Identification of Preconditions: usa KBplan per identificare le precondizioni perché l’esecuzione 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 KBGD e KB0 per determinare i golas che l’agente intende eseguire al momento in accordo alle preferenze in KBGD. Temporal Reasoning: usa KBTR e permette all’agente di ragionare sulle osservazioni in KB0 e fare predizioni. Rende l’agente adattabile ai cambiamenti ambientali e alla mancanza di informazione. Reactivity:permette all’agente di ragionare ai cambiamenti ambientali ed usa KBreact e KB0 per identificare quali nuove azioni e nuovi goals devono essere aggiunti allo stato corrente alla luce delle nuove osservazioni. Capabilities
Architetture per Agenti basati sulla logica KGP Le transition rules cambiano lo stato interno dell’agente. Passive observation introduction: cambia KB0 introducendo informazioni dall’ambiente e comunicazioni di altri agenti. Active Observation Introduction: cambia KB0 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 l’output 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 dell’agente 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. Transition Rules
Architetture per Agenti basati sulla logica KGP Passive Observation introduction Sensing Actiive Observation introduction Sensing introduction Identification of Precondition KBplan Plan introduction Planning CYCLE THEORY KBGD Goal introduction Goal Decision KBreact Reactivity Reactivity AMBIENTE KB0 Goal Revision KBTR Plan Revision Temporal Reasoning Action Execution CAPABILITIES KNOWLEDGE CONTROL TRANSITIONS
Architetture per Agenti reattivi • L’idea di base • rigetto della rappresentazione simbolica e del processo decisionale basato sulla manipolazione sintattica di tale rappresentazione; • il comportamento intelligente è innato ed è legato fortemente all’ambiente che l’agente occupa; • il comportamento intelligente EMERGE dalla interazione con l’ambiente. 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.
Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Il processo di decisione dell’agente è 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?
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
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 l’ambiente è nello stato s S iff see(s) c. Beh = { (c,a) | c P and a A} Definiamo ora la relazione di inibizione…
Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Associata con l’insieme Beh definiamo una funzione R Beh una relazione binaria di inibizione sull’insieme dei behaviors: R x R Se b1 b2 se (b1,b2) vuol dire “ b1 inibisce b2 “ ۷ ۷ ۷ functionaction (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à…
Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Un esempio: L’obiettivo è 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…
Architetture per Agenti reattivi SUBSUMPTION ARCHITECTURE Un esempio: L’obiettivo è 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…
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 andnot 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) ۷ ۷ ۷ ۷
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 andnot 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) ۷ ۷ ۷ ۷ ۷
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 dell’ambiente • non si capisce come gli agenti reattivi possano imparare dall’esperienza e migliorare il loro comportamento • il comportamento globale dell’agente emerge dalla sua relazione con l’ambiente 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.
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
Architetture per Agenti BDI BDI = Belief Desires Intentions COSA FARE DELLA PROPRIA VITA DOPO L’UNIVERSITA’ Prendere il dottorato Andare a lavorare in azienda Quale scegliere? UNA VOLTA FATTA UNA SCELTA, OCCORRE PERSEGUIRLA INTENZIONE
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…)
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