Sistemi ad Agenti Sistemi ad Agenti Perche` studiare IA?

Transcript

Sistemi ad Agenti Sistemi ad Agenti Perche` studiare IA?
Sistemi ad Agenti
Modulo A
Sistemi ad Agenti
• Testo di Riferimento:
Stuart Russell e Peter Norvig, “Intelligenza
Artificiale: Un approccio moderno” Pearson
Education, 2005.
Berardina Nadja De Carolis
www.di.uniba.it/~nadja/
[email protected]
• Articoli a disposizione degli studenti sul sito del
corso.
• Modalità di valutazione:l’esame consiste nella
valutazione del caso di studio concordato con il
docente e nella presentazione del lavoro svolto in
cui viene posta particolare enfasi sugli aspetti di
metodo utilizzati.
Sistemi ad Agenti
Perche’ studiare IA?
1. Introduzione al concetto di agente autonomo e di
sistema multiagente.
2. Modelli e Architetture con particolare focus sul
BDI model.
Motori di ricerca
3. La comunicazione fra agenti: atti comunicativi,
4.
5.
6.
Scienza
linguaggi standard di comunicazione fra agenti.
L’interazione fra agenti: meccanismi di
coordinamento e negoziazione.
Strumenti di sviluppo per sistemi software basati
su agenti: JADE e JADEX
Agenti e Ambient Intelligence
Medicina
Lavoro
1
Tecnologia
Altro?
2
Natural Language Question Answering
Honda Humanoid Robot
Walk
Turn
http://world.honda.com/robot/
http://aimovie.warnerbros.com
Stairs
Sony AIBO
http://www.ai.mit.edu/projects/infolab/
Robot Teams
USC robotics Lab
http://www.aibo.com
3
4
Che task richiedono IA?
Cosa sono gli agenti
• vocabolario:
• “AI is the science and engineering of
– “qualcosa che produce o e’ capace di produrre un
effetto: una causa attiva o efficace” (es.: agente
chimico, atmosferico, ecc.) (Webster)
– “chi e’ incaricato di svolgere dati servizi o funzioni per
conto o rappresentanza di altri” (es.: agente di cambio,
di commercio, teatrale, turistico, immobiliare, ecc.)
(Zingarelli)
making intelligent machines which can
perform tasks that require intelligence
when performed by humans …”
queste definizioni sono sufficienti a
caratterizzare un sistema software come
“agente”?
La nozione “debole” di agente
Agenti Razionali
(Wooldridge & Jennings 1995)
• Comportamento Razionale: Fare la cosa giusta!
agente = sistema computazionale con 4 proprieta’
• La cosa giusta: massimizzare il risultato atteso
- autonomia: capacita’ di controllare i propri
comportamenti senza interventi esterni
• Visione generale dell’IA -> include:
- abilita’ sociale: capacita’ d’interagire con altri
– Inferenze corrette
– Gestione dell’incertezza
– Considerazione delle risorse a disposizione (ad es.,
reattivo vs. deliberativo)
– Capacità cognitive (NLP, knowledge representation,
ML, etc.)
agenti, sia umani che non
- reattivita’: capacita’ di fornire risposte immediate
ai cambiamenti ambientali che vengono percepiti
- proattivita’: capacita’ di prendere l’iniziativa
5
6
La nozione “forte” di agente
Tipi di agenti
(Wooldridge & Jennings 1995)
• agente = “sistema computazionale che, oltre ad avere le
•
•
AI
HCI
DAI
proprieta’ sopraindicate, viene concettualizzato o
implementato usando concetti che sono piu’ spesso applicati
agli esseri umani”
concetti mentali “ingenui”: scopi, credenze, intenzioni,
emozioni...
perche’ applicare questi concetti ai sistemi computazionali?
• agenti “intelligenti” (Artificial Intelligence)
• agenti (intelligenti) distribuiti (Distributed AI)
• agenti “d’interfaccia” (Human-Computer
Interaction)
– per meglio capire e generalizzare la loro struttura e il loro
funzionamento (McCarthy, Newell)
• esistono varie sovrapposizioni fra i tre tipi (fra le
• attenzione: possiamo attribuire una “mente” a qualsiasi
tre aree disciplinari)
oggetto, ma dobbiamo farlo solo se opportuno!
Altri attributi
Classificazione
(Wooldridge & Jennings 1995)
• · mobilità: abilità di un agente di spostarsi in rete (White,
1994);
• · veridicità: assunzione che l’agente non comunicaherà
•
•
•
volontariamente informazioni false (Galliers, 1988b, pp159–
164);
· benevolenza: assunzione che l’agente non ha goal che sono
in conflitto fra loro e, quindi, che cercherà sempre di fare
quello che gli viene chiesto (Rosenschein and Genesereth,
1985, p91); e
· razionalità : assunzione che un agente agirà in modo da
raggiungere e soddisfare i suoi goal, e non agirà in modo da
prevenirne il raggiungimento— almeno finchè i suoi beliefs lo
consentono (Galliers, 1988b, pp49–54).
7
8
Agenti Intelligenti
Agenti Razionali
Un agente è qualsiasi entità dotata di:
- Percezione dell’ambiente che la circonda (sensori)
- Capacità di eseguire azioni nell’ambiente (effettori).
[Russel & Norvig]
Un agente si può considerare composto da:
1. organi sensori per percepire l'ambiente
2. organi attuatori per agire in quell'ambiente
3. una "razionalità" che lo guida nelle azioni
Un agente razionale è quello che fa la "cosa giusta“ che
dipende da:
·
·
·
·
Visione Funzionale
[f: P* Æ A]
la misura di prestazione che definisce il grado di successo
tutto ciò che l'agente ha percepito (sequenza di percezione)
ciò che l'agente conosce circa l'ambiente
le azioni che l'agente può eseguire
Per ogni sequenza di percezioni, l'agente dovrebbe
compiere azioni che massimizzino la misura di
prestazione, sulla base della descrizione della realtà
fornita dalla sequenza di percezioni, e sulla base delle sue
conoscenze predefinite.
Un agente razionale è un agente che agisce in modo da
massimizzare il rendimento di una sua perfomance.
Agenti Razionali
• Agire razionalmente significa perseguire i
•
propri obiettivi, a partire da una certa
percezione della realtà circostante, o credenza
(belief).
Un agente è semplicemente un’entità che
percepisce ed agisce di conseguenza.
9
10
PAGE: Percepts, Actions, Goals,
Tipi di Agenti
Environment
- Reattivi
• per definire un agente dobbiamo definire un PAGE
• es.: PAGE nel caso di un autista automatico di taxi
Agente
autista di
taxi
Percepts
telecamere,
indicatore di
velocita’,
GPS, sonar,
microfono
Actions
sterzare,
accelerare,
frenare,
parlare al
passeggero
Goals
viaggiare in
sicurezza,
in regola, e
confortevolmente,
massimizzare
i profitti
- Reattivi con stato interno
Environment
strade, traffico,
pedoni, clienti
- Basati su scopi
- Basati su una funzione di utilità
• quali tipi di agenti possiamo definire in questo e in altri
PAGE? pulitore automatico del parabrezza
Agenti: Architettura Astratta
Agenti vs. Software
- Autonomia: agiscono su delega dell’utente
- Intelligenza: permette di adattare il loro comportamento
a cambiamenti che avvengono nell’environment
„
Assumiamo che l’ambiente sia in uno stato discreto
e istantaneo di un set finito E :
„
Assumiamo che gli agenti abbiano un repertorio di
azioni possibili che trasformano lo stato
dell’ambiente:
„
Un run, r, di un agente in un ambiente e’ una
sequenza di stati_ambiente e azioni:
- Reattività e Proattività
- Socialità e Cooperazione
- Mobilità
11
12
Agenti: Architettura Astratta
„
Agenti basati su riflessi (reattivi)
AGENTE
Sia:
‰
‰
‰
AMBIENTE
sensori
R l’insieme di tutti le possibili sequenze finite
(su E e Ac)
RAc un sottoinsieme di sequenze che terminano
con una azione
RE un sottoinsieme di sequenze che terminano
con uno stato_ambiente
stato del mondo
function simple-reflexagent(percept)
returns action
static: rules, a set of condition-action
rules
state <- interpret-input(percept)
rule <- rule-match(state, rules)
action <- rule-action[rule]
return action
regole
condizione-azione
azione da compiere
effettori
Agenti
„
Reactive Agents
Agent e’ una funzione che mappa run ad
azioni:
„
Alcuni Agenti basano le loro decisioni
solamente sullo stato corrente dell’ambiente
Questi sono agenti puramente reattivi:
„
Termostato
„
13
14
Agent Control Loop
Agenti con riflessi e stato interno
AGENTE
Questi agenti hanno una struttura dati interna che
viene usata per memorizzare la history.
AMBIENTE
sensori
stato interno
1.
stato del mondo
come evolve l’ambiente
cosa fanno le mie
azioni
2.
3.
4.
regole
condizione-azione
azione da compiere
5.
Gli agenti si trovano inizialmente in uno stato
interno i0
Osservano lo stato dell’ambiente e generano le
percezioni relative
Lo stato interno dell’agente viene modificato di
conseguenza
L’azione selezionata dall’agente e’ l’azione che
tiene in considerazione questo stato
Goto 2
effettori
Agenti con riflessi e stato interno
Goal-based agents
function reflex-agt-with-state(prcpt) returns action
static:
state, current world state (description)
rules, set of condition-action rules
Kev, rules about how world evolves
Kact, description of rules
state<- update-state(state, prcpt, Kev, Kact)
rule <- rule-match(state, rules)
action <- rule-action[rule]
state <- update-state(state, action)
return action
15
16
Agenti basati su scopi
AGENTE
stato interno
come evolve l’ambiente
Agenti basati sull’utilita’
AMBIENTE
AGENTE
sensori
stato interno
come evolve l’ambiente
stato del mondo
cosa fanno le azioni
stato del mondo
cosa fanno le azioni
stato del mondo dopo aver
eseguito l’azione A
stato del mondo dopo aver
eseguito l’azione A
utilita’
scopi
AMBIENTE
sensori
azione da compiere
grado di soddisfazione in
tale stato del mondo
azione da compiere
effettori
effettori
Utility-based agents
Learning agents
17
18
Compiti tipici degli agenti
in vari campi (Laurel 1990) (2)
Tipi di ambienti
• accessibile / inaccessibile: quanto sono complete, accurate e
aggiornate le informazioni sull’ambiente a cui l’agente può accedere?
• deterministico / non deterministico: ogni azione dell’agente ha un
• lavoro
solo effetto garantito? Lo stato successivo dell’ambiente e’
determinato completamente dallo stato corrente e dall’azione
eseguita dall’agente?
• episodico / non episodico: l’agente può considerare una sequenza di
espisodi o accedere solo a quello corrente?
• statico / non statico: l’ambiente cambia independentemente dalle
azioni dell’agente?
• discreto / continuo: esistono solo un numero fissato di azioni e di
percezioni?
– ricordare scadenze
– programmare
– fissare orari
– consigliare
• intrattenimento
• com’e’ l’ambiente dell’autista automatico di taxi?
• com’e’ l’ambiente nel personal assistant?
– giocare con
– giocare contro
– rappresentare (in senso teatrale)
Esercizio 1:
un agente per l’help automatico
Compiti tipici degli agenti
in vari campi (Laurel 1990) (1)
• informazione
– navigare e fare browsing
– recuperare informazioni
– classificare e organizzare
– filtrare
• definire il PAGE e le caratteristiche di un
agente che svolga compiti di help
automatico nell’ambito di un text editor
• apprendimento
– far esercitare
– fare tutoring
– aiutare
19
20
Esercizio 2:
un agente per la ricerca bibliografica
• definire il PAGE e le caratteristiche di un
agente che svolga compiti di ricerca
bibliografica, anche su Internet
Agenti Intelligenti
- Stan Franklin and Art Graesser, Is it an Agent, or
just a Program?: A Taxonomy for Autonomous
Agents, in Proceedings of the Third
International Workshop on Agent Theories,
Architectures, and Languages, Springer-Verlag,
1996
- M. Wooldridge and N. R. Jennings. Intelligent
Agents: Theory and Practice, in Knowledge
Engineering Review 10(2), 1995.
21