Architetture per Agenti Intelligenti

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

Termodinamica Chimica
Procedure e funzioni A. Ferrari.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP.
1 Defect testing Lobiettivo: scoprire difetti in un programma Un test ha successo se forza il programma a comportarsi in modo anomalo I test provano la.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
POLITICA ECONOMICA A. A. 2008/2009 Linda Meleo l.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Intelligenza Artificiale 1 Gestione della conoscenza lezione 7 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
TEORIA RAPPRESENTAZIONALE DELLA MISURA
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Testing e Debugging.
eliana minicozzi linguaggi1a.a lezione2
Università degli Studi di Parma
Case Based Reasoning
1 Programmazione = decomposizione basata su astrazioni (con riferimento a Java)
Struttura di un neurone

Secure Socket Layer (SSL) Transport Layer Security (TLS)
Distribuzione del numero di alleli condivisi da coppie di fratelli e di non-parenti tipizzati rispettivamente per 5, 9 e 13 markers.
Le intenzioni nellazione collaborativa fra agenti Guido Boella Dipartimento di Informatica Università di Torino.
From: G Johnson and K Scholes, Exploring Corporate Strategy, 4th edition I PROCESSI DI SVILUPPO STRATEGICO.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Gian Luca Pozzato. AgentSpeak (L) & Jason AgentSpeak(L): linguaggio di programmazione per agenti BDI introdotto da Rao nel 1996 Si propone di colmare.
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
Whole-body dynamic behavior and control of human-like robots. Analisi di un articolo del dipartimento di scienze informatiche dell’università di Stanford.
1 Progettazione Architetturale. 2 Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Robotica Lezione 6. Paradigma Gerarchico Il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato.
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Lo SNAP Agreement Protocol Il nucleo dell’architettura di gestione delle risorse è rappresentato da un’interazione tipo client-server utilizzata per negoziare.
Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.
Robotica Lezione 4. 2 Attributi dell’Intelligenza Pensiero Capacita’ a risolvere problemi Apprendimento e Memoria Linguaggio Intuizione e Creativita’
UNIVERSITA’ DEGLI STUDI DI NAPOLI FEDERICO II A.A GENGHIS Dario Romano, matr. 50/957 Alessandro Senatore, matr. 50/749 Giovanni Tessitore, matr.
Ontologia AA F. Orilia. Lez. 16 Discussione dell'approccio controfattualista di lewis condotta da Antonio De Grandis.
4/20/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.
UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot,
MRS: an Introduction © A. D’Angelo Multi Robot Systems: an Introduction Antonio D’Angelo.
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
( Art. 14 ) 1. Ogni bambino ha diritto all’istruzione senza distinzioni razziali. 1. Every child has the right to be brought up without.
Taccani1 7.4 Identification ANALISI DEI PERICOLI Hazard Analysis Identificazione Valutazione Misure di Controllo Control Measures Assessment.
Capitolo 14 Il presente del congiuntivo (the present subjunctive)
1 Interpretazione astratta: un approccio sistematico all’analisi statica.
ANNUNCIO DI SEMINARIO Il giorno Venerdi' 21 Maggio 2004 alle ore 11:30 presso l'Aula C3.4 della Facolta' di Scienze Matematiche Fisiche e Naturali dell'Universita'
Siete i proprietari di una squadra di corse NASCAR. E’ l’ultima gara di un’ottima stagione e sarà trasmessa in Mondovisione vecchio sponsor (comunque.
Specifiche. Scopo e significato delle specifiche (1) Lo scopo di una specifica è di definire il comportamento di un ’ astrazione. Gli utenti si baseranno.
Un problema multi impianto Un’azienda dispone di due fabbriche A e B. Ciascuna fabbrica produce due prodotti: standard e deluxe Ogni fabbrica, A e B, gestisce.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 2 Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza (agenti intelligenti) Prof. M.T. PAZIENZA a.a
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Prof. M.T. PAZIENZA a.a
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
1 SYNCHRONOUS/ REACTIVE PROGRAMMING In Sistemi Software Concorrenti.
Automi temporizzati.
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
Viruses.
SUMMARY Quadripoles and equivalent circuits RIEPILOGO Quadripoli e circuiti equivalenti RIEPILOGO Quadripoli e circuiti equivalenti.
The people side of Change management Leadership e Stakeholder nei processi di cambiamento delle organizzazioni DIPARTIMENTI DI GIURISPRUDENZA, INGEGNERIA.
Gestione trasferte SAP Best Practices. ©2013 SAP AG. All rights reserved.2 Finalità, vantaggi e passi fondamentali del processo Finalità  Fornire una.
Filtri del secondo ordine e diagrammi di Bode
Le basi di dati.
Ricerca online Maria Simi a.a. 2011/2012 Ambienti più realistici  Gli agenti risolutori di problemi “classici” assumono:  Ambienti completamente osservabili.
Oggi è il quattordici maggio LO SCOPO: Date la prova e cominciamo il ripasso per l’esame finale. FATE ADESSO: Studiate per cinque minuti.
Crescita I: Paolo Sospiro Università di Macerata Macerata 29 Settembre 2014 Economia dello Sviluppo Università di Macerata.
A Tiny Voice Inside Una piccola Voce interiore By Carole Smith Gaetano Lastilla.
WRITING – EXERCISE TYPES
Transcript della presentazione:

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? 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 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."

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} 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) a0 a1 a2 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 next: I X P I state 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 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: function action (∆ : D) : A begin for each a  A do if ∆ ├ Do(a) then return a end-if end-for if ∆ ├ Do(a) then 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)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 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 suo ambiente. 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 CYCLE THEORY Planning KBGD Goal introduction Goal Decision KBreact Reactivity Reactivity AMBIENTE KB0 Goal Revision KBTR Plan Revision Temporal Reasoning Action Execution CONTROL TRANSITIONS CAPABILITIES KNOWLEDGE

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 “ ۷ ۷ ۷ function action (p : P) : A var fired : (R) var selected : A begin fired := { (c,a) | (c,a)  R and p  c} for each (c,a)  fired do if ( (c’,a’)  fired such that (c’,a’) (c,a)) then return a end-if end-for return null end function action Vengono selezionati tutti i comportamenti innescati ۷ Se non c’è tra i comportamenti innescati uno a più alta priorità…

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

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

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

Architetture per Agenti BDI IL SOLITO DILEMMA: BILANCIARE IL COMPORTAMENTO PRO-ATTIVO E 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 corrente a belief revision function(brf): prende una percezione e le credenze correnti dell’agente e, sulla base di queste, determina un nuovo insieme di credenze an option generation function: determina le opzioni disponibili (desideri) sulla base delle intenzioni e credenze correnti a set of current options: rappresenta le possibili serie di azioni che l’agente può compiere a 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 corrente a set of current intentions: rappresenta ciò che l’agente ha deciso di ottenere an 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) : A begin B:= brf(B,p) D:= options(D,I) I:= filter(B,D,I) return execute(I) end function action Alle intenzioni può essere associata una priorità o possono essere posizionate in uno stack Il problema? Come implementare efficientemente queste funzioni.

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

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: b1b2…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 … INPUT OUTPUT 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 … INPUT OUTPUT Layer 2 Layer 1

Architetture layered OUTPUT … … INPUT INPUT OUTPUT 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 OUTPUT Layer n Layer n … … Layer 2 Layer 2 Layer 1 Layer 1 INPUT 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 strati ognuno n azioni mn interazioni

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

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

Architetture layered INTERRAP is composed by three control layers: 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 layered WORLD INTERFACE INTERRAPT di Muller cooperation layer social knowledge plan layer planning knowledge behavior layer world model WORLD INTERFACE perceptual input action output