Sistemi ad Agenti Modulo A Berardina Nadja De Carolis www.di.uniba.it/~nadja/ decarolis@di.uniba.it Sistemi ad Agenti Testo di Riferimento: Stuart Russell e Peter Norvig, Intelligenza Artificiale: Un approccio moderno Pearson Education, 2005. 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 1. Introduzione al concetto di agente autonomo e di sistema multiagente. 2. Modelli e Architetture con particolare focus sul BDI model. 3. La comunicazione fra agenti: atti comunicativi, linguaggi standard di comunicazione fra agenti. 4. L interazione fra agenti: meccanismi di coordinamento e negoziazione. 5. Strumenti di sviluppo per sistemi software basati su agenti: JADE e JADEX 6. Agenti e Ambient Intelligence Perche studiare IA? Scienza Lavoro Tecnologia Motori di ricerca Medicina Altro?
Honda Humanoid Robot Natural Language Question Answering Walk Turn http://world.honda.com/robot/ Stairs http://aimovie.warnerbros.com http://www.ai.mit.edu/projects/infolab/ Sony AIBO Robot Teams http://www.aibo.com USC robotics Lab
Che task richiedono IA? AI is the science and engineering of making intelligent machines which can perform tasks that require intelligence when performed by humans Cosa sono gli agenti vocabolario: 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) queste definizioni sono sufficienti a caratterizzare un sistema software come agente? Agenti Razionali Comportamento Razionale: Fare la cosa giusta! La cosa giusta: massimizzare il risultato atteso Visione generale dell IA -> include: Inferenze corrette Gestione dell incertezza Considerazione delle risorse a disposizione (ad es., reattivo vs. deliberativo) Capacità cognitive (NLP, knowledge representation, ML, etc.) La nozione debole di agente (Wooldridge & Jennings 1995) agente = sistema computazionale con 4 proprieta - autonomia: capacita di controllare i propri comportamenti senza interventi esterni - abilita sociale: capacita d interagire con altri agenti, sia umani che non - reattivita : capacita di fornire risposte immediate ai cambiamenti ambientali che vengono percepiti - proattivita : capacita di prendere l iniziativa
La nozione forte di agente (Wooldridge & Jennings 1995) Tipi di agenti AI HCI agente = sistema computazionale che, oltre ad avere le 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? per meglio capire e generalizzare la loro struttura e il loro funzionamento (McCarthy, Newell) attenzione: possiamo attribuire una mente a qualsiasi oggetto, ma dobbiamo farlo solo se opportuno! DAI agenti intelligenti (Artificial Intelligence) agenti (intelligenti) distribuiti (Distributed AI) agenti d interfaccia (Human-Computer Interaction) esistono varie sovrapposizioni fra i tre tipi (fra le tre aree disciplinari) Altri attributi (Wooldridge & Jennings 1995) Classificazione 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).
Agenti Intelligenti Un agente è qualsiasi entità dotata di: - Percezione dell ambiente che la circonda (sensori) - Capacità di eseguire azioni nell ambiente (effettori). [Russel & Norvig] Visione Funzionale [f: P* A] Un agente razionale è un agente che agisce in modo da massimizzare il rendimento di una sua perfomance. Agenti Razionali 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: 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. 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.
PAGE: Percepts, Actions, Goals, Environment per definire un agente dobbiamo definire un PAGE es.: PAGE nel caso di un autista automatico di taxi Agente Percepts Actions Goals Environment Tipi di Agenti - Reattivi - Reattivi con stato interno autista di taxi telecamere, indicatore di velocita, GPS, sonar, microfono sterzare, accelerare, frenare, parlare al passeggero viaggiare in sicurezza, in regola, e confortevolmente, massimizzare i profitti 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 vs. Software - Autonomia: agiscono su delega dell utente - Intelligenza: permette di adattare il loro comportamento a cambiamenti che avvengono nell environment - Reattività e Proattività - Socialità e Cooperazione - Mobilità Agenti: Architettura Astratta 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:
Agenti: Architettura Astratta Agenti basati su riflessi (reattivi) Sia: R l insieme di tutti le possibili sequenze finite (su E e Ac) R Ac un sottoinsieme di sequenze che terminano con una azione R E un sottoinsieme di sequenze che terminano con uno stato_ambiente AGENTE 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 sensori stato del mondo AMBIENTE 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
Agenti con riflessi e stato interno Agent Control Loop AGENTE sensori AMBIENTE Questi agenti hanno una struttura dati interna che viene usata per memorizzare la history. stato interno come evolve l ambiente cosa fanno le mie azioni regole condizione-azione stato del mondo azione da compiere 1. Gli agenti si trovano inizialmente in uno stato interno i 0 2. Osservano lo stato dell ambiente e generano le percezioni relative 3. Lo stato interno dell agente viene modificato di conseguenza 4. L azione selezionata dall agente e l azione che tiene in considerazione questo stato 5. Goto 2 effettori Agenti con riflessi e stato interno function reflex-agt-with-state(prcpt) returns action static: state, current world state (description) rules, set of condition-action rules K ev, rules about how world evolves K act, description of rules state<- update-state(state, prcpt, K ev, K act ) rule <- rule-match(state, rules) action <- rule-action[rule] state <- update-state(state, action) return action Goal-based agents
Agenti basati su scopi Agenti basati sull utilita stato interno AGENTE sensori AMBIENTE stato interno AGENTE sensori AMBIENTE come evolve l ambiente stato del mondo come evolve l ambiente stato del mondo cosa fanno le azioni stato del mondo dopo aver eseguito l azione A cosa fanno le azioni stato del mondo dopo aver eseguito l azione A utilita grado di soddisfazione in tale stato del mondo scopi azione da compiere azione da compiere effettori effettori Utility-based agents Learning agents
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 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? com e l ambiente dell autista automatico di taxi? com e l ambiente nel personal assistant? Compiti tipici degli agenti in vari campi (Laurel 1990) (2) lavoro ricordare scadenze programmare fissare orari consigliare intrattenimento giocare con giocare contro rappresentare (in senso teatrale) Compiti tipici degli agenti in vari campi (Laurel 1990) (1) informazione navigare e fare browsing recuperare informazioni classificare e organizzare filtrare Esercizio 1: un agente per l help automatico 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
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.