Gestione dei dati e della conoscenza (agenti intelligenti) M.T. PAZIENZA a.a
Agenti Un agente è qualcosa che percepisce ed agisce in un ambiente, che fa qualcosa relazionandosi con lambiente. Agenti umani Agenti robotici Agenti software Il concetto di agente è solo uno strumento adatto allanalisi dei sistemi e non una caratterizzazione assoluta che divide il mondo in agenti e non agenti!
Un agente (concetto) è uno strumento adatto allanalisi di sistemi
Agenti Un agente può essere, per esempio, linsieme di un sistema di calcolo e di attuatori fisici e sensori (robot) un sistema esperto ed un umano che fornisce le informazioni (percezioni) al sistema un programma che agisce in un ambiente puramente computazionale (info-robot).
Agenti Un agente intelligente è un sistema che agisce intelligentemente; fa ciò che è appropriato per la situazione e per i suoi obiettivi, è flessibile al variare dellambiente e degli obiettivi, eventualmente impara dallesperienza e fa scelte appropriate date le sue percezioni (limitate) ed i limiti della capacità computazionale.
Agenti E importante capire i principi che rendono possibile realizzare un comportamento intelligente di un agente sia in un ambiente naturale che artificiale. Lagente intelligente di più immediata definizione è quello che si comporta come un umano. Lipotesi principale è che lagente intelligente sappia ragionare. Lobiettivo dellingegneria della conoscenza è quello di specificare le metodologie per disegnare artefatti intelligenti ed utili, e quindi realizzarli.
Agente logico basato su conoscenza Parte con una conoscenza generale del mondo e delle proprie azioni Usa il ragionamento logico per : 1.Mantenere una descrizione del mondo consistente allarrivo di nuove percezioni 2.Dedurre una sequenza di azioni che porteranno al raggiungimento dei propri obiettivi
Agenti intelligenti Un agente è una entità in grado di percepire il proprio ambiente attraverso sensori e di agire in quellambiente attraverso degli attuatori Un agente software possiede stringhe di bit al posto delle proprie percezioni e azioni La nozione di agente è intesa come strumento per lanalisi di sistemi
Progettazione di un agente
Agire razionalmente Agire razionalmente significa agire: per raggiungere i propri obiettivi, date le proprie conoscenze, in funzione della sequenza di percezioni ricevute, date le azioni che si è in grado di compiere. Le nuove percezioni non influenzano la descrizione (rappresentazione) del mondo dellagente
Agire razionalmente (2) Un agente razionale fa la cosa giusta, ovvero quellazione che procurerà allagente il maggior successo massimizzando la misura di prestazione attesa Misura di prestazione (valutare – come e quando – il successo atteso, considerato ciò che è stato percepito).
Descrizione/costruzione di un agente Corrispondenza tra sequenze di percezioni ed azioni Un agente può essere descritto attraverso: un elenco completo delle azioni che può compiere in risposta ad ogni possibile sequenza di percezioni o la definizione delle corrispondenze (funzione di corrispondenza) senza dover fornire un elenco esaustivo
Agenti razionali Un agente è unentità/funzione che agisce, date alcune percezioni Un agente razionale ideale si descrive attraverso la specifica della lista di azioni che può compiere in risposta a qualsiasi sequenza possibile di percezioni. (progetto/programma di agente ideale) Un agente è autonomo se è dotato di capacità di apprendimento (che gli permettono di aggiornare le sue conoscenze iniziali) APf *:
Agenti razionali reali Limiti computazionali impediscono di raggiungere la perfetta razionalità Negli agenti razionali reali esisteranno varie modalità per la modellazione di Autonomia e capacità di apprendimento Valutazione delle prestazioni Agente con la migliore prestazione come per un qualunque sistema
Progettazione di un agente Progettare il programma di un agente significa implementare la funzione corrispondenza dalle percezioni alle azioni allinterno di un ambiente e con prestazioni predefinite Agente = architettura + programma
Progettazione di un agente La funzione agente è una descrizione matematica astratta, formale Il programma agente è una sua implementazione concreta in esecuzione sullarchitettura dellagente Larchitettura (meccanismo di calcolo) fornisce le percezioni al programma, esegue il programma e trasmette agli attuatori le azioni scelte dal programma.
Progettazione di un agente Prerequisiti: Conoscenza dettagliata di: tutte le percezioni e le possibili azioni conseguenti ambiente (= il problema di cui lagente costituisce la soluzione) per scegliere tra tutte le possibili azioni quelle che saranno applicabili misura delle prestazioni (definita a priori per non alterare la valutazione) obiettivi (per selezionare/valutare percezioni ed azioni)
Programma di un agente Schema: A fronte della conoscenza precedente e delle percezioni provenienti dallambiente (che aggiornano eventualmente la conoscenza <> incrementalità) vengono generate delle azioni congruenti i risultati delle procedure di decisione. Lobiettivo e la misura delle prestazioni vengono applicate esternamente allagente.
Schema di agente (semplice) Mantiene memoria della sequenza di percezioni (incrementalità) Si possono definire sistemi ad agenti cooperanti per applicazioni più complesse
Agente basato su tabella Tabella totalmente e precedentemente specificata Agente tiene conto della sequenza delle percezioni consultando la tabella La tabella non viene aggiornata (in quanto totalmente e precedentemente specificata)
Agente basato su tabella Vantaggi: Progettazione semplice, completa, efficace Svantaggi: Dimensioni sempre crescenti (funzione della complessità dellapplicazione) Time-consuming per il progettista Nessuna autonomia è prevista per lagente (non necessaria a causa della totale definizione delle corrispondenze) In ambiti limitati funzionano bene (ruolo dellambiente)
Tipologie di programmi di agente Agente con riflessi semplici (rispondono alle percezioni) Agenti che tengono conto del mondo (considerano levolversi del mondo circostante) Agenti basati su obiettivi (agiscono per raggiungere i propri obiettivi) Agenti basati su utilità (cercano di massimizzare le propria utilità) Sono agenti specializzati, ovvero ottimizzati rispetto a ciò che vogliamo misurare
Agente con riflessi semplici regole di produzione if-then-else
Agente con riflessi semplici Trova la prima regola di produzione in accordo con situazione corrente (definita da percezione in un ambiente completamente osservabile). Compie azione associata. Cambiando le regole, cambia il tipo di agente.
Agente che tiene conto del mondo La conoscenza che lagente ha del mondo (state), di come esso evolve (how…) e di cosa fanno le proprie azioni (what…), si chiama modello del mondo.
Agente che tiene conto del mondo Trova regola in accordo situazione corrente (definita da percezioni e stato interno) Compie azione associata Aggiorna lo stato del mondo
Agenti basati su obiettivi (goal) / Pianificatori attuale Conoscere lo stato attuale dellambiente non è sufficiente per decidere cosa fare Bisogna avere un obiettivo La ricerca di una soluzione e la pianificazione permetteranno di identificare la sequenza di azioni che mettono in grado un agente di raggiungere i propri obiettivi
Agenti basati su utilità Teoria delle decisioni
Lutilità è una funzione predefinita che associa ad uno stato (o sequenza di stati se stiamo misurando lutilità a lungo termine) dellagente un numero reale che descrive il grado associato di felicità Uno stato del mondo preferibile ad un altro ha per lagente una maggiore utilità. Si definisce una funzione di utilità.
Agenti Tutti gli agenti possono migliorare le loro prestazioni mediante lapprendimento. Per apprendimento di un agente intelligente si intende il processo che modifica ogni suo componente affinché si accordi meglio con linformazione di feedback disponibile, migliorando così le prestazioni dellagente.
Agenti ed ambienti Indipendentemente dal tipo di agente, la natura della sua connessione con lambiente è di un unico tipo: le azioni sono fatte dallagente sullambiente, che a sua volta fornisce percezioni allagente Lo stato dellagente dipende dalle sue percezioni Lo stato dellambiente dipende dalle azioni di ogni singolo agente
Proprietà degli ambienti Accessibile (osservabile) / Inaccessibile (nonosservabile) Deterministico / Non deterministico (stocastico) Episodico / Non episodico (sequenziale) Statico / Dinamico Discreto / Continuo Agenti vengono progettati per classi di ambienti
Tipi di ambienti Il tipo di ambiente determina fortemente il disegno dellagente Il mondo reale è: Inaccessibile, stocastico, sequenziale dinamico e continuo
Argomenti trattati in questa lezione Definizione di un agente Diverse tipologie di agenti Progettazione di un agente Ruolo del contesto nella progettazione di un agente