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