|
emi7oP <a href="http://etyxbsmwlbop.com/">etyxbsmwlbop</a>, [url=http://ejkbnyaqouhe.com/]ejkbnyaqouhe[/url], [link=http://iytqgxxmxvee.com/]iytqgxxmxvee[/link], http://ddjproogyauv.com/ |
IA /
A31AgentiA3_1 AgentiAutore: Andrea Rota Sommario
Questo riassunto è una rielaborazione della lezione A3_1_Agenti del corso di Intelligenza Artificiale e contiene le nozioni base sul concetto di agente come concetto unificante della IA e alcune classificazioni relative all'ambiente in cui l'agente agisce.
Il concetto di agenteL'IA lavora in svariati campi, storicamente molto frammentati e separati dalle altre discipline. Si pensi ad esempio alla ricerca automatica, alla pianificazione e all'apprendimento automatico. Da questa separazione nasce l'esigenza di una visione unificante: essa coincide con il concetto di agente. L'agente è un'entità che interagisce con l'ambiente, ricevendo stimoli attraverso sensori (percezione) ed eseguendo azioni attraverso attutatori (azione). La funzione dell'agente specifica quale azione viene scatenata in seguito ad una sequenza di percezioni. Non è detto che l'azione sia necessariamente fisica: potrebbe trattarsi semplicemente di fornire un'interpretazione di un processo, lasciando ad un umano la decisione finale sull'azione da intraprendere. La definizione è così generica che può essere applicata praticamente in ogni campo dell'IA, dai riconoscitori vocali ai controllori di robot. Le prestazioni dell'agenteLe prestazioni di un agente valutano il suo comportamento nell'ambiente. Fra esse compaiono:
Non sempre è facile misurare le prestazioni: si pensi ad esempio ad un agente in grado di discriminare fra falsi allarmi e allarmi reali. Questo agente porta ad un risparmio relativo alle chiamate causate da falsi allarmi, che è facilmente misurabile, ma porta anche ad un incremento della sicurezza generale, che è difficilmente quantificabile. L'agente agisce in un contesto di:
e intraprende l'azione che massimizza il valore della prestazione desiderata. La conoscenza cablata all'interno dell'agente ne determina una base di partenza, dalla quale l'agente può prendersi una certa autonomia. La conoscenza interna può essere aumentata attraverso processi d'apprendimento. Progettazione di un agenteProgettare un agente significa sostanzialmente definire:
L'ambienteL'ambiente determina in modo fondamentale il progetto dell'agente. Vediamo un'insieme di classificazioni dell'ambiente: Osservabilità: completa/parzialeUn ambiente è detto completamente osservabile se i sensori sono in grado di acquisire tutti gli aspetti che sono significativi per la scelta delle azioni. Se i sensori non sono in grado di catturare tutte gli aspetti, si dice che l'ambiente è parzialmente osservabile: questo può significare che le informazioni sono complete (mancano sensori) oppure che le informazioni sono affette da incertezza (provvengono ad esempio da stime). Ambiente deterministico/stocasticoUn sistema è detto deterministico se lo stato successivo dell'ambiente è completamente determinato dallo stato attuale e dall'azione dell'agente. Se il sistema è parzialmente osservabile, allora può apparire come stocastico. In ogni caso si considera la visione che l'agente ha del sistema. Ambiente episodico/sequenzialeSe l'attività dell'agente è suddivisa in episodi completamente scorrelati fra loro, si dice che l'ambiente è episodico. Viceversa, se l'azione attuale influenzerà quelle future, l'ambiente è detto sequenziale. Ambiente statico/dinamicoSe l'ambiente evolve nel tempo, viene detto dinamico e nella progettazione dell'agente ci si dovrà preoccupare dello scorrere del tempo. Se invece l'ambiente non varia con il tempo, viene detto stazionario o statico. Esistono ambienti detti semidinamici, nei quali l'ambiente è stazionario, ma il passare del tempo è importante per la valutazione della prestazione (si pensi al gioco degli scacchi con l'orologio). Discreto e continuoSi parla di discreto e continuo relativamente allo stato dell'ambiente, al trattamento del tempo, alle percezioni e alle azioni. Agente singolo/multiagenteNello stesso ambiente possono agire uno o più agenti: l'ambiente può essere competitivo, parzialmente cooperativo o cooperativo. In un ambiente con più agenti bisogna tenere conto della comunicazione, della cooperazione e dei conflitti. Se l'ambiente è deterministico e multiagente, si dice che è strategico. La realtà soltamente è parzialmente osservabile, stocastica, sequenziale, dinamica, continua e multiagente. Tipi di agentiTable drivenSono agenti basati su una tabella che associa le percezioni alle azioni che devono essere intraprese. Questo tipo di tecnica comporta però un crescere esponenziale delle righe della tabella al crescere degli ingressi. Simple reflexIl modello simple reflex agent agisce sulla base di un insieme di regole condizione->azione. La percezione viene acquisita e interpretata, senza tener conto della precedente storia delle percezioni. Sulla base dell'interpretazione viene scelta una regola che viene applicata producendo l'azione. Lavorare solo su come appare l'ambiente al momento dell'acquisizione implica che l'ambiente sia completamente osservabile: questo riduce enormemente le possibilità di impiego di agenti di questo tipo. Esempi di agenti simple reflex sono le regole euristiche (ad esempio la diagnosi che si trova in fondo ai manuali degli elettrodomestici, "Se la lavatrice non si accende, allora controlla se la spina è collegata correttamente"). Model based reflexPer ridurre l'incertezza/incompletezza del mondo esterno, questo tipo d'agente tiene una rappresentazione interna, un modello appunto, dell'ambiente. Questo modello viene aggiornato tenendo conto:
Model based goal-basedQuesto tipo di modello aggiunge al precedente la definizione dell'obiettivo da raggiungere: non è detto che un agente necessiti sempre di un obiettivo da raggiungere. L'obiettivo è di tipo binario, ovvero che può presentare solo due valori, raggiunto o non raggiunto. L'agente lavorerà, attraverso funzioni di search e planning, per determinare la sequenza di azioni per raggiungere l'obiettivo. Questo implica che prima di attuare azioni, l'agente dovrà essere in grado di valutarne le conseguenze relativamente all'obiettivo ed eventualmente correggere l'azione (una sorta di retroazione). Model based utility-basedQuesto modello è un ulteriore sofisticazione del precedente: invece di usare una rappresentazione binaria dell'obiettivo, prevede l'uso di una funzione d'utilità, che fornisce una prestazione più generale di prestazione. Questa complicazione permette di lavorare in situazioni in cui due o più obiettivi siano in conflitto o che non possano essere raggiunti con certezza (ad esempio in ambienti incerti o incompleti). Prima di intraprendere l'azione viene calcolata tale funzione. Learning agentOgnuno dei tipi precedenti di agenti può essere anche un learning agent. Un learning agent ha un'architettura composta dai seguenti blocchi:
|