Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Sistemi per il governo dei Robot , 05.11.2004 UN’INTRODUZIONE AI SISTEMI AD AGENTE E MULTIAGENTE Sommario Robot e agenti 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 Una macchina a molla è dotata di movimento e può agire !!!! Robot attuatori (effettori) Robot e agenti Un algoritmo di ordinamento può percepire e agire Robot sensori attuatori (effettori) Un robot deve percepire il suo ambiente e agire Robot e agenti Un algoritmo di ordinamento può percepire e agire Robot sensori attuatori (effettori) Un robot deve “persistere” Robot e agenti Un allarme remoto!!!!! Robot attuatori sensori (effettori) ambiente Un robot deve essere situato in un ambiente Robot e agenti … qualche ulteriore miglioramento Robot sensori attuatori Elaborazione (effettori) ambiente Un robot deve essere situato in un ambiente e rispondere Robot e agenti Robot: persistono nell’ambiente percepiscono e agiscono nello stesso ambiente (situatedness) rispondono con azioni Ambiente Robot 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 percezione osserva l’ambiente azione perceive action agente 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 1. function action(Δ:D):A 2. begin 3. for each aA do 4. if Δ ├ Do(a) then 5. return a 6. end-if 7. end-for 8. for each aA do 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 RBeh 1. function action(p:P):A 2. var fired : p(R) 3. var selected : A 4. begin 5. fired:={(p,a)R e pc} 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 deliberazione means-end opzioni disponibili scelta impegno intenzioni 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) Credenze Obiettivi sensori Intenzioni effettori Interprete Piani Linguaggi agent-oriented – Agentspeak(L) AgentSpeak(L) Modelli formali • PRS • dMARS Sistemi implementati 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 ProAgent – I schermata Definizione 1. Se pi è un simbolo di predicato e t1, t2, …, th sono termini allora pi(t1, t2, …, th), o pi(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 credenza • se pi(t) e pj(s) sono credenze, allora pi(t) /\ pj(s) è una credenza ProAgent – I schermata Definizione 3. Se g è un simbolo di predicato e t1, t2 , …, th sono termini, allora !g(t) è un achievement goal o, semplicemente, goal 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 t1, t2, …, th sono termini allora a(t) è un’azione Definizione 6. Gli operatori “\” e “/” sono detti rispettivamente operatore add e rem. Se bi(t) è una credenza base allora /bi(t) e \bi(t) sono azioni cognitive ProAgent – schema di fuzionamento Eventi di attivazione +!g(t), +!f(t), … Goal !g(t) !f(t) … Piani p1 +!g(t) : b(t) /\ … /\ c(t) ← \s(t) p2 +!f(t) : not(p(t)) /\ d(t) ← !f(t) … Selezione e Unificazione Intenzioni Insieme credenze Goal Azioni esterne Azioni cognitive b(t) /\ … /\ c(t) not(p(t)) /\ d(t) … Un esempio – Agent WiSARD Un solo punto di fuga Blocchi = parallelepipedi retti con una faccia frontale Senza punti di contatto tra di loro Esempio di ricostruzione di una scena Scena da analizzare Esempio di ricostruzione di una scena location.txt Alcune osservazioni Modulo neuronico – estrattore di caratteristiche Analisi incompleta della scena Modulo simbolico – analizzatore di insiemi di caratteristiche 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 perceptual input … Layer 2 action output Layer 1 Almeno un layer reattivo e uno deliberativo Semplicità concettuale Architetture layered orizzontali – un esempio modelling perception planning action reactive control subsystem I layer sono indipendenti, paralleli e asincroni Introduzione di una funzione di controllo Ogni layer può essere visto come un agente Architetture layered verticali out Layer n Layer n … … Layer 2 Layer 2 Layer 1 Layer 1 in in out Controllo gerarchico – sequenziale Il livello di astrazione aumenta con la posizione nella gerarchia Architetture layered verticali – un esempio cooperational social k. plan planning k. behavioral world model 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 comunicazione interazione scambiare e decodificare messaggi come avere una conversazione Sistemi multi-agente – protocolli proporre una sequenza di azioni accettare una s. di a. rifiutare una s. di a. comunicazione 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 semantica del protocollo Bla …bla …bla …bla …bla …bla 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 tell request insist demand report convince … :sender <word> :receiver <word> :language <word> :ontology <word> :content <word> …) } 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):115-152, 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 12th International Joint Conference on Artificial Intelligence (IJCAI-91), 569-595, Sydeny, Australia, 1991 Alcuni riferimenti bibliografici 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 A. R. Rao, M. P. Georgeff, BDI Agents: From Theory to Practice Technical Note 56: April, 1995 I. A. Ferguson, TouringMachines: Autonomous Agents with Attitudes, Technical Note 250: April, 1992 I. A. Ferguson, TouringMachines: An architecture for Dynamic, Rational, Mobile agents, PhD thesis, Clare Hall, University of Cambridge, UK, November 1992 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 245-260, Springer-Verlag, 1997 Alcuni riferimenti bibliografici Edmund H. Durfee, Coordination of Distributed Problem Solvers, Kluwer, 1988. Edmund H. Durfee, V. R. Lesser, D.D. Corkill, Coherent Cooperation among Communicating Multiagent Behaviors, in Proc. AAAI-90, 1990 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 187-210, 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, ESL: A Language for Supporting Robust Plan Execution in Embedded Autonomous Agents, in Proceedings of the IEEE Aerospace Conference, 1997 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