UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sistemi per il governo dei Robot,
Sommario Nozione di agente “intelligente” o “razionale” Architetture astratte e concrete per gli agenti Robot e agenti
Robot Un robot è una pietra? Deve muoversi e agire
Robot e agenti Robot Una macchina a molla è dotata di movimento e può agire !!!! attuatori (effettori)
Robot e agenti Robot Un algoritmo di ordinamento può percepire e agire Un robot deve percepire il suo ambiente e agire attuatori (effettori) sensori
Robot e agenti Robot Un algoritmo di ordinamento può percepire e agire Un robot deve “persistere” attuatori (effettori) sensori
Robot e agenti Robot Un allarme remoto!!!!! Un robot deve essere situato in un ambiente attuatori (effettori) sensori ambiente
Robot e agenti Robot … qualche ulteriore miglioramento Un robot deve essere situato in un ambiente e rispondere attuatori (effettori) sensori ambiente Elaborazione
Robot: Robot e agenti persistono nell’ambiente persistono nell’ambiente percepiscono e agiscono percepiscono e agiscono nello stesso ambiente (situatedness) nello stesso ambiente (situatedness) rispondono con azioni rispondono con azioni AmbienteRobot
Nozione di agente “intelligente” Un agente “intelligente” è capace di azioni autonome flessibili per soddisfare i propri obiettivi. Per flessibilità si intende: - reattività - pro-attività (comportamento goal directed – intraprendenza) - abilità sociale
Architetture astratte Un’architettura ad agente è, essenzialmente, una specifica funzionale dell’interno di un agente strutture dati operazioni eseguibili flusso di controllo
Architetture astratte – progettazione sottosistemi funzione di decisione percezioneazione perceiveactionagente ambiente osserva l’ambiente decision making
Architetture concrete agenti logic based agenti reattivi agenti Belief-Desire-Intention architetture layered
Architetture concrete – logic based Approccio tradizionale per i sistemi di IA Il comportamento intelligente può essere generato in un sistema dandogli una rappresentazione simbolica del suo ambiente e del suo comportamento desiderato e manipolando sintatticamente questa rappresentazione Rappresentazione attraverso formule logiche Manipolazione sintattica attraverso la deduzione logica o theorem proving (agenti come theorem proving)
Architetture logic based – un modello semplice Lo stato interno si suppone essere un database di formule della logica classica dei predicati del primo ordine Esempi:Open(valve221)Temperature(reactor4726,321)Pressure(tank776,28)
Architetture logic based – un modello semplice L = { predicati della logica del primo ordine } D = P(L) insieme di database L (insieme di insiemi di L-formule) Stato interno dell’agente è un elemento di D Δ sottoinsieme di D Il processo di decisione dell’agente è modellato tramite un insieme di regole di deduzione ρ Δ ├ Φ la formula Φ può essere provata dal database Δ usando solo regole di ρ ρ
Architetture logic based – un modello semplice perceive : S → P next : D × P → D azione : D → A in termini di regole di deduzione Δ:D):A 1.function action(Δ:D):A 2.begin 3.for each a A do 4.if Δ ├ Do(a) then 5.return a 6.end-if 7.end-for a A do 8.for each a A do 9.if Δ ├¬Do(a) then 9.if Δ ├ ¬Do(a) then 10.return a 11.end-if 12.end-for 13.return null 14.end function action
Architetture concrete – subsumption architecture Il processo di decisione è realizzato attraverso un insieme di comportamenti task-accomplishing Ogni comportamento può essere visto come una funzione azione individuale situazione → azione Più di un comportamento può essere azionato simultaneamente Controllo attraverso una gerarchia di subsumption
Architetture reattive – un modello semplice perceive : S → P Beh = {(c,a) t.c. c P e a A} inibizione : < R × R con R Beh 1.function action(p:P):A 2.var fired : p(R) 3.var selected : A 4.begin 5.fired:={(p,a) R e p c} 6.for each (c,a) fired do 7.if ¬( (c,a) fired t.c. (c,a) < << <(ca) then 8.return a 9.endif 10.end-for 11.eturn null 12.end function action
Architetture concrete – architetture BDI practical reasoning quali obiettivi come raggiungerli deliberazionemeans-end opzioni disponibili intenzioni scelta impegno azione ragionamento futuro persistono credenze future
Architetture BDI – ragionamento pratico 1. Insieme di Belief, Bel 2. Funzione di revisione dei Belief (br f) 3. Funzione di generazione di Opzioni (options), Des 4. Insieme di Opzioni 5. Funzione di filtraggio (filter) 6. Insieme di Intenzioni, Int 7. Funzione di selezione di azioni (execute)
Architetture BDI – ragionamento pratico Lo stato di un agente BDI è una tripla (B,D,I) con: 1.B Bel 2.D Des 3.I Int La funzione di revisione di belief: br f : P(Bel) × P → P(Bel) La funzione di generazione di opzioni: options : P(Bel) × P(Int) → P(Des)
Architetture BDI – ragionamento pratico La funzione di filtaggio (decidere cosa fare): filter : P(Bel) × P(Des) × P(Int) → P(Int) 1. abbandonare le intenzioni che non sono più raggiungibili 2. conservare le intenzioni che non sono state ancora raggiunte (... e che lo possono)
Architetture BDI – ragionamento pratico La funzione execute: execute : P(Int) → A La funzione action: action : P → A 1.function action(p:P):A 2.begin 3.B := br f(B,p) 4.D := options(D,I) 5.I := filter(B,D,I) 6.return execute(I) 7.end function action
Una schematizzazione del PRS (Procedural Reasoning System) CredenzePianiObiettiviIntenzioni Interprete sensorieffettori
AgentSpeak(L) Modelli formali PRS PRS dMARS dMARS Sistemiimplementati Componenti base del linguaggio credenze:conoscenza base dell’agente piani: i mezzi di cui è dotato per il raggiungimento dei suoi obiettivi goal: stati del sistema che si vuol raggiungere (desideri) intenzioni: adozione dei piani per il raggiungimento di uno scopo Linguaggi agent-oriented – Agentspeak(L)
Definizione 1.Se p i è un simbolo di predicato e t 1, t 2, …, t h sono termini allora p i (t 1, t 2, …, t h ), o p i (t), è un atomo credenza. Una credenza letterale è o un atomo o la negazione di un atomo Definizione 2.Classe delle credenze: una credenza letterale è una credenzauna credenza letterale è una credenza se p i (t) e p j (s) sono credenze, allora p i (t) /\ p j (s) è una credenzase p i (t) e p j (s) sono credenze, allora p i (t) /\ p j (s) è una credenza ProAgent – I schermata
Definizione 3.Se g è un simbolo di predicato e t 1, t 2, …, t h sono termini, allora !g(t) è un achievement goal o, semplicemente, goal Definizione 4. Definizione 4. Se b(t) è un atomo credenza, !g(s) è un goal, allora +b(t), +!g(t) sono eventi di attivazione (o triggering) ProAgent – I schermata
Definizione 5.Se a è un simbolo di azione e t 1, t 2, …, t h sono termini allora a(t) è un’azione Definizione 5. Se a è un simbolo di azione e t 1, t 2, …, t h sono termini allora a(t) è un’azione Definizione 6.Gli operatori “\” e “/” sono detti rispettivamente operatore add e rem. Se b i (t) è una credenza base allora /b i (t) e \b i (t) sono azioni cognitive Definizione 6. Gli operatori “\” e “/” sono detti rispettivamente operatore add e rem. Se b i (t) è una credenza base allora /b i (t) e \b i (t) sono azioni cognitive ProAgent – I schermata
Eventi di attivazione +!g(t), +!f(t), … Goal !g(t) !f(t) … Piani p 1 +!g(t) : b(t) /\ … /\ c(t) ← \s(t) p 2 +!f(t) : not(p(t)) /\ d(t) ← !f(t) … Insieme credenze b(t) /\ … /\ c(t) not(p(t)) /\ d(t) … Selezione e Unificazione Intenzioni Goal Azioni esterne Azioni cognitive ProAgent – schema di fuzionamento
Un solo punto di fuga Blocchi = parallelepipedi retti con una faccia frontale Senza punti di contatto tra di loro Un esempio – Agent WiSARD
Scena da analizzare Esempio di ricostruzione di una scena
location.txt
Alcune osservazioni Modulo neuronico – estrattore di caratteristiche Modulo simbolico – analizzatore di insiemi di caratteristiche Analisi incompleta della scena L’agente può guidare nuove analisi (se necessario) Possibilità di spiegare la scena
Architetture concrete – architetture layered Creazione di due sistemi separati: 1.capacità reattiva 2.comportamento goal-directed I due sottosistemi vengono scomposti in moduli che interagiscono in maniera gerarchica layering orizzontale layering verticale
Architetture layered orizzontali Layer n … Layer 2 Layer 1 perceptual input action output Semplicità concettuale Almeno un layer reattivo e uno deliberativo
Architetture layered orizzontali – un esempio modellingplanningreactiveperceptionaction control subsystem Ogni layer può essere visto come un agente I layer sono indipendenti, paralleli e asincroni Introduzione di una funzione di controllo
Architetture layered verticali Layer n … Layer 2 Layer 1 Layer n … Layer 2 Layer 1 in out inout Controllo gerarchico – sequenziale Il livello di astrazione aumenta con la posizione nella gerarchia
Architetture layered verticali – un esempio behavioral plan cooperational world model planning k. social k. world interface Ogni modulo è capace di trattare una classe di percetti Poco fault tolerant
Sistemi multi-agente Casi in cui un approccio centralizzato non è conveniente Problema da risolvere è esso stesso distribuito Ragioni di privacy o sicurezza
Sistemi multi-agente Società di agenti: quando si parla del comportamento collettivo di un sistema con più agenti Infrastrutture per l’interazione multi-agente. protocolli comunicazioneinterazione scambiare e decodificare messaggi come avere una conversazione
Sistemi multi-agente – protocolli comunicazione proporre una sequenza di azioni accettare una s. di a. rifiutare una s. di a. ritrattare una s. di a. disapprovare una s. di a. controproporre una s. di a.
Sistemi multi-agente – protocolli interazione proposta valutazione (eventuale) risposta
Protocolli di comunicazione – KQML Bla …bla …bla …bla …bla …bla semantica del protocollo semantica del messaggio Knowledge Query Manipulation Language KQML è un protocollo per lo scambio di informazioni e conoscenza
Protocolli di comunicazione – KQML Struttura base del protocollo di comunicazione (KQML-performative :sender :sender :receiver :receiver :language :language :ontology :ontology :content :content …) tellrequestinsistdemandreportconvince… } delineano la semantica del messaggio
Protocolli di interazione DPS – agenti che hanno compiti simili o problemi comuni - determinare goal condivisi - determinare task comuni - evitare conflitti non necessari - raccogliere prove e conoscenza
Protocolli di interazione – cooperazione Meccanismi usati per task distribuiti Market Contract net Multiagent planning Sistemi Blackboard Negoziazione Multiagent Belief Maintenance
Protocolli di interazione – cooperazione Tecniche per la decomposizione e la distribuzione di task Il processo di decomposizione deve tener conto delle risorse e capacità degli agenti Possibili criteri per la distribuzione dei task: -Evitare il sovraccarico delle risorse -Assegnare task ad agenti con le appropriate capacità -Assegnare responsabilità coincidenti per ottenere una certa coerenza
Protocolli di interazione – coordinazione In ambienti con risorse limitate, gli agenti devono coordinare le loro attività per perseguire i propri interesse e realizzare i goal del gruppo Tecniche per la distribuzione del controllo e dei dati
Suggestioni Architetture layered come sistemi multiagente Introduzione della logica nella percezione - in una singola modalità sensoriale - per la fusione sensoriale Logiche reattive (Horn senza negazione) Sistemi NSP (elaborazione neurale di logiche reattive)
Alcuni riferimenti bibliografici M. Wooldridge, N. R. Jennings, “Intelligent agents: Theory and practice”, The Knowledge Engineering Review, 10(2): , 1995 S. Russell, P. Norvig, Artificial Intelligent: a Modern Approach, Prentice-Hall, 1995 L.P. Kaelbling, “An architecture for Intelligent Reactive Systems”, Georgeff and Lansky eds., Reasoning About Actions & Plans – Proceedings of the 1986 Workshop, 1986 R. Fagin, J.Y. Halpern, Y. Moses, M.Y. Vardi. Reasoning About Knowledge, The MIT Press: Cambridge, MA, 1995 M.R. Genesereth, N. Nilsson, Logical Foundation of Artificial Intelligence, Morgan Kaufmann Publisher: San Mateo, CA, 1987 R.A. Brooks, “Elephants don’t play chess”, Designing Autonomous Agents, P. Maes edt., The MITT Press: Cambridge, MA, 1990 R.A. Brooks, “Intelligence without reason”, Proceedings of the 12 th International Joint Conference on Artificial Intelligence (IJCAI-91), , Sydeny, Australia, 1991
Alcuni riferimenti bibliografici M. E.Bratman, Intention, Plans and Pratical Reson,Harvard University Press: Cambridge, MA, 1987 M. E. Bratman, Intention, Plans and Pratical Reson,Harvard University Press: Cambridge, MA, 1987 P. R.Cohen, H. J.Levesque, “Intention is choice with commitment”, Artificial Intelligence, 42, pp.213–261, 1990 P. R. Cohen, H. J. Levesque, “Intention is choice with commitment”, Artificial Intelligence, 42, pp.213–261, 1990 A. R.Rao, M. P.Georgeff, BDI Agents: From Theory to Practice Technical Note 56: April, 1995 A. R. Rao, M. P. Georgeff, BDI Agents: From Theory to Practice Technical Note 56: April, 1995 I. A.Ferguson, Technical Note 250: April, 1992 I. A. Ferguson, TouringMachines: Autonomous Agents with Attitudes, Technical Note 250: April, 1992 I. A.Ferguson, I. A. Ferguson, TouringMachines: An architecture for Dynamic, Rational, Mobile agents, PhD thesis, Clare Hall, University of Cambridge, UK, November 1992 J. Muller, J. Muller, A cooperation model for autonomous agents, in J.P. Muller, M. Wooldridge, N.R. Jennings eds Intelligent Agents III (LNAI volume 1193), pp , Springer-Verlag, 1997
Alcuni riferimenti bibliografici Edmund H. Durfee, Coordination of Distributed Problem Solvers, Kluwer, Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Coherent Cooperation among Communicating Multiagent Behaviors, in Proc. AAAI-90, 1990 T. Finin, D. McKay, R. Fritzson, An Overview of KQML: A Knowledge Query and Manipulating Language, Technical Report, U. of Maryland CS Dept., 1992 N. R. Jennings, Coordination Techniques for Distributed Artificial Intelligence, in G. M. P. O’Hare and N. R. Jennings eds, Foundation of Distributed Artificial Intelligence, pp , John Wiley & Sons, Inc., New York, 1996 Y. Labrou, T. Finin, A Semantic Approach for KQML – A General Purpose Communication Language for Software Agents, in Proc. Int. Conf. on Information and Knowledge Management, 1994 J. R. Searle, Speech Acts: An Essay in the Philosophy of Language, Cambridge U. Press, 1970 H. Simon, The Sciences of the Artificial, MIT Press, Cambridge, MA, third edition, 1996
Alcuni riferimenti bibliografici M. P. Singh,Considerations on Agent Communication, presented at FIPA workshop, 1997 E. Gat, On Three-layer Architectures, in D. Kortenkamp et al. eds. AI and Mobile Robots, AAAI Press, 1998 E. Gat,, in Proceedings of the IEEE Aerospace Conference, 1997 E. Gat, ESL: A Language for Supporting Robust Plan Execution in Embedded Autonomous Agents, in Proceedings of the IEEE Aerospace Conference, 1997 J. Bryson,, in The Sixth International Conference on the Simulation of Adaptive Behavior (SAB2000), 2000 J. Bryson, Hierarchy and Sequence vs. Full Parallelism in Reactive Action Selection Architectures, in The Sixth International Conference on the Simulation of Adaptive Behavior (SAB2000), 2000