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