Agenti Intelligenti
Lezione 2
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
0
Sommario
♦ Architettura PAGE (Percepts, Actions, Goals (Obiettivi),
Environment (Ambiente))
♦ Funzioni e programmi di agente
♦ Tipi di agente
♦ Tipi di ambiente
♦ Il mondo dell’aspirapolvere
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
1
Agente ed ambiente
sensors
percepts
?
environment
actions
agent
effectors
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
2
PAGE
Contesto in cui progettare l’agente: un esempio, taxi automatico
Percezioni?? telecamere, tachimetro, sensori sul motore,
tastiera, microfono, GPS, . . .
Azioni?? sterzare, accelerare, frenare, suonare, parlare al
passeggero, . . .
Obiettivi?? viaggio sicuro, confortevole, arriva a destinazione,
massimizza il profitto, osserva il codice stradale, . . .
Ambiente?? strade urbane, autostrade, traffico, pedoni, clima,
clienti, . . .
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
3
Agente Robot Calciatore
Percezioni??
Azioni??
Obiettivi??
Ambiente??
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
4
Agenti razionali
Gli “obiettivi” possono essere specificati da misure di prestazioni
che definiscono un valore numerico per ogni storia dell’ambiente
Azione razionale: una qualunque azione che massimizza il
valore atteso della misura di prestazione data la sequenza di
percezioni fino al momento corrente
Razionale =
6 onnisciente
6 preveggente
Razionale =
Razionale =
6 di successo
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
5
Funzioni e programmi di agenti
Specifica dell’agente: la funzione di agente che mappa sequenze di percezioni in azioni
Un programma di agente prende una singola percezione come
input, e mantiene uno stato interno:
function Skeleton-Agent( percept) returns action
static: memory, la memoria che l’agente ha del mondo
memory ← Update-Memory(memory, percept)
action ← Choose-Best-Action(memory)
memory ← Update-Memory(memory, action)
return action
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
6
Tipi di agente
Quattro tipi base, in ordine crescente di generalità:
– agenti con riflessi semplici
– agenti con riflessi e stato
– agenti basati su obiettivi
– agenti basati su utilità
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
7
Agente con riflessi semplici
Agent
Sensors
Condition−action rules
What action I
should do now
Environment
What the world
is like now
Effectors
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
8
Agente basato su riflessi con stato
Sensors
State
How the world evolves
What my actions do
Condition−action rules
Agent
What action I
should do now
Environment
What the world
is like now
Effectors
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
9
Agente basa su obiettivi
Sensors
State
What the world
is like now
What my actions do
What it will be like
if I do action A
Goals
What action I
should do now
Agent
Environment
How the world evolves
Effectors
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
10
Agente basato su utilità
Sensors
State
What the world
is like now
What my actions do
What it will be like
if I do action A
Utility
How happy I will be
in such a state
What action I
should do now
Agent
Environment
How the world evolves
Effectors
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
11
Caratteristiche dell’ambiente
♦
♦
♦
♦
♦
Accessibile
Deterministico
Episodico
Statico (Dinamico)
Discreto (Continuo)
Il tipo di ambiente largamente determina il tipo di agente
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
12
Esempi di ambiente
Accessibile??
Deterministico??
Episodico??
Statico??
Discreto??
Soli
Backgam
I-Shop
Taxi
Si
Si
No
Si
Si
Si
No
No
Semi
Si
No
In parte
No
Semi
Si
No
No
No
No
No
Il mondo (vero) è (naturalmente): inaccessibile, stocastico,
sequenziale, dinamico, continuo,. . . .
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
13
Il mondo dell’aspirapolvere
Percezioni (<urto> <sporco> <home>)
Azioni spegnersi avanti aspirare (girare a sin) (girare a dx)
Obiettivi (misura di prestazione)
– +100 per ogni pezzo di sporcizia aspirato
– -1 per ogni azione
– -1000 per spegnersi in posizione diversa da home
Ambiente
– griglia di quadrati, con pareti/ostacoli
– creazione e distribuzione della sporcizia, sacchetto
– azioni movimento: spostano l’agente, non su ostacoli
– azione aspirazione: mette la sporcizia nel sacchetto
Accessibile? Deterministico? Episodico? Statico? Discreto?
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
14
Simulazione di ambienti
procedure Run-Environment(state, Update-Fn, agents, termination)
inputs: state, the initial state of the environment
Update-Fn, function to modify the environment
agents, a set of agents
termination, a predicate to test when we are done
repeat
for each agent in agents do
Percept[agent] ← Get-Percept(agent, state)
end
for each agent in agents do
Action[agent] ← Program[agent](Percept[agent])
end
state ← Update-Fn(actions, agents, state)
until termination(state)
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
15
Riassumendo e . . .
Paradigma dell’AI è basato su un agente con capacità di:
♦ Percezione
♦ Ragionamento
♦ Azione
Note:
♦ applicabile ad agenti robot e softbot
♦ i tre aspetti non possono essere separati
♦ un robot che gioca a scacchi deve anche riconoscere la
scacchiera . . .
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
16
. . . tornando al programma del corso
♦ Percezione
♦ Ragionamento
♦ Azione
Ragionamento:
rappresentazione della conoscenza
ricerca automatica di soluzioni
(pianificazione automatica)
ma prima: i linguaggi per l’AI
Intelligenza Artificiale – Daniele Nardi, 2003
Lezione 2
17