Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | cipriana-amore |
View: | 217 times |
Download: | 0 times |
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
Percezione ambiente Reazione
Possiamo definire agente uno scaldabagno? Cosa manca?
E l’intelligenza?
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
…
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 ?
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
learning
mobilità
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)
AMBIENTE
Definiamo gli stati dell’ambiente come:
S={s1,s2,…,sn}
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’ ambientepuò 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)
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)
Storia dell’interazione tra agente ed ambiente
a0 ana1 an-1a2 a3
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}
Un agente puramente reattivo mappa le sequenze di percezioni in azioni.
action: P A
Un agente puramente reattivo assomiglia ad uno scaldabagno.
see action
Se un Agente è omnisciente
Sia s1 ≠ s2 ed see(s1)=see(s2)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)
s1 s2 s3s4
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
next state
see: S P
action: I A
next: I X P I
Stato interno iniziale dell’agente s0
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 IntelligentiFinora 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 logicaL’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 logicaSviluppiamo 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 logicaL è 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 DSiano ∆ , ∆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:
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
L’agente cerca una azione consistentecon 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 logicaSupponiamo 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)
L’obiettivo è 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) l’agente va in direzione d
Architetture per Agenti basati sulla logicaLa 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
(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)
Architetture per Agenti basati sulla logicaSe 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?
Architetture per Agenti basati sulla logicaSupponiamo 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 logicaL’ 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 logicaI 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 logicaReactive + 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?
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 Ti)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.
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 logicaKGP
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 logicaKGP
Lo stato interno dell’agente KGP è la tripla KB, Goals, Plan
La knowledge base (KB) descrive: la conoscenza dell’agente stesso e del suo ambiente.
KB
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)
KB0 è la sola parte della base di conoscenza che cambia nel tempo
Architetture per Agenti basati sulla logicaKGP
Le capabilities di un agente KGP permettono all’entità di assumere differenti comportamenti nel processo di adattamento all’ambiente.
Capabilities
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.
Architetture per Agenti basati sulla logicaKGP
Le transition rules cambiano lo stato interno dell’agente.
Transition Rules
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.
Architetture per Agenti basati sulla logica
KGP
KBplan
KBGD
KBreact
KB0
KBTR
Sensing
Identification of Precondition
Planning
Goal Decision
Reactivity
TemporalReasoning
PassiveObservationintroduction
ActiiveObservationintroduction
Sensingintroduction
Planintroduction
Goalintroduction
Reactivity
GoalRevision
PlanRevision
ActionExecution
CYCLETHEORY
AMBIENTE
KNOWLEDGECAPABILITIESTRANSITIONSCONTROL
Architetture per Agenti reattiviL’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 reattiviSUBSUMPTION 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 reattiviSUBSUMPTION 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 reattiviSUBSUMPTION 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 reattiviSUBSUMPTION 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 “
۷
۷ ۷
function action (p : P) : Avar 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 reattiviSUBSUMPTION 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 reattiviSUBSUMPTION 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 reattiviSUBSUMPTION 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)
۷ ۷ ۷ ۷
Architetture per Agenti reattiviSUBSUMPTION 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)
۷ ۷ ۷ ۷ ۷
Architetture per Agenti reattiviSUBSUMPTION 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
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
Architetture per Agenti BDIOBIETTIVO
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
Architetture per Agenti BDI
IL SOLITO DILEMMA: BILANCIARE IL COMPORTAMENTO PRO-ATTIVOE REATTIVO
Michael Georgeff ha sperimentato nel proprio framework BDI dMARS
l’introduzione di un fattore chiamato rate of world change:
• è BASSO: l’ambiente 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: l’ambiente cambia abbastanza velocemente. Quale tipo di agente si comporteerà meglio?
N.B. Differenti tipi di ambienti richiedono differenti tipi di agenti
Architetture per Agenti BDI
COME POSSIAMO FORMALIZZARE UN AGENTE BDI?
a set of current beliefs: rappresenta l’informazione che l’agente ha sul suo ambiente correntea belief revision function(brf): prende una percezione e le credenze correnti dell’agente e, sulla base di queste, determina un nuovo insieme di credenzean option generation function: determina le opzioni disponibili (desideri) sulla base delle intenzioni e credenze correntia set of current options: rappresenta le possibili serie di azioni che l’agente può compierea filter function(filter): rappresenta il processo deliberativo dell’agente che determina le intenzioni sulla base dei desideri, delle credenze e delle intenzioni correnti l’informazione che l’agente ha sul suo ambiente correntea set of current intentions: rappresenta ciò che l’agente ha deciso di ottenerean action selection function(execute): determina l’azione da compiere sulla base delle correnti intenzioni
Architetture per Agenti BDI
Bel insieme di tutte le credenze
Des insieme di tutti i desideri
Int insieme di tutte le intenzioni
Stato dell’agente (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 l’agente ha deciso di fare x, deve provvede ‘praticamente’ ad assolvere il compito.
La funzione options deve controllare:
• la consistenza dell’opzione generata con le credenze e le intenzioni correnti• deve riconoscere quando I cambiamenti ambientali possono avvantaggiare la realizzazione di nuove e vecchie/accantonate intenzioni
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 l’agente 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à
Architetture per Agenti BDI
La funzione execute è: (Int) A
La funzione action è: P A
function action (p : P) : Abegin 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.
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 selectionfunctions.
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.
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(t1,t2,…,tn) 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
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, b1,…,bm sono beliefs e h1,…,hn sono goals o azioni:e: b1b2…bm h1;…;hn è un piano (plan)
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).
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
Architetture layered
vertical layering: gli strati software sono connessi uno con l’altro 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)
Architetture layered
horizontal layering:
Vantaggi: semplicità
Svantaggi: ogni layer compete con l’altro e si può determinare una incoerenza del sistema
Include una funzione mediator che determina ogni volta quale layer debba avere il controllo dell’agente
Il progettista deve considerare tutte le possibili interazioni tra gli strati
m stratiognuno n azioni
mn interazioni
Architetture layered
vertical layering:
Vantaggi: semplicità e meno problemi dell’horizontal layering: n-1 interfacce tra gli strati e m azioni per ogni strato m2(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
Architetture layered
TORINGMACHINES di Ferguson
It consists of three activity layers:
Modeling Layer: represents entities in the world (agent itself and others in theworld), predicts eventual conflicts between agents and generate newgoals 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 responseto changes of the environment through a set of situation-actionrules. 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
Architetture layered
TORINGMACHINES di Ferguson
Modelling Layer
Planning Layer
Reactive Layer
Control subsystem
Action subsystemPerception subsystem
sensor input
Action output
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)
Architetture layeredINTERRAPT di Muller
action output
cooperation layer
plan layer
behavior layer
social knowledge
planning knowledge
world model
WORLD INTERFACE
perceptual input