Download ppt

Document related concepts
no text concepts found
Transcript
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 aA do
4.
if Δ ├ Do(a) then
5.
return a
6.
end-if
7.
end-for
8.
for each aA 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 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
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