+ All Categories
Home > Documents > Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent...

Architetture per Agenti Intelligenti We want to build intelligent actors, not just intelligent...

Date post: 01-May-2015
Category:
Upload: cipriana-amore
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
69
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.
Transcript
Page 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.

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.

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

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.

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

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.

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

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.

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

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?

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

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

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

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 ?

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

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;

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

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

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

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

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

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)

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

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.

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

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

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

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

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

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.

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

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’

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

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)

Φ

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

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

!

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

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

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

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

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

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

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

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

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

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)

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

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?

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

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?

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

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

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

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

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

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.

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

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?

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

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.

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

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.

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

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

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

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

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

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.

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

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.

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

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

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

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.

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

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?

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

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

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

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…

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

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

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

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…

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

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…

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

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)

۷ ۷ ۷ ۷

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

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)

۷ ۷ ۷ ۷ ۷

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

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.

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

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

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

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

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

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…)

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

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

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

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

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

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

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

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

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

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

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

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

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

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à

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

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.

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

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.

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

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

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

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)

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

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

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

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

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

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)

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

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

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

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

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

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

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

Architetture layered

TORINGMACHINES di Ferguson

Modelling Layer

Planning Layer

Reactive Layer

Control subsystem

Action subsystemPerception subsystem

sensor input

Action output

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

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)

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

Architetture layeredINTERRAPT di Muller

action output

cooperation layer

plan layer

behavior layer

social knowledge

planning knowledge

world model

WORLD INTERFACE

perceptual input


Recommended