Intelligenza artificiale/Agente
In intelligenza artificiale un agente è un componente hardware o software che cerca ameno in parte di simulare il comportamento umano o il comportamento animale di interazione tra l'organismo e l'ambiente.
A livello generale un agente è composto da tre componenti, un sistema sensoriale (S), un sistema decisionale (D) e degli attuatori (A).
- Il sistema sensoriale analizza l'ambiente in cui è immerso l'agente.
- Il sistema decisionale basandosi sui dati provenienti dall'ambiente su informazioni interne dell'agente e su un insieme di regole o procedure decisionali stabilisce come deve comportarsi l'agente.
- Gli attuatori sono i componenti che vengono gestiti dal sistema decisionale e trasmettono gli stimoli all'ambiente.
Tipologie di agente
[modifica | modifica sorgente]Esistono varie tipologie di agenti. Il più semplice agente è l'agente stimolo-risposta SR. Questo agente ad uno specifico stimolo dell'ambiente risponde sempre con la stessa risposta.
Subito dopo si trova l'agente stimolo-stato-risposta SXR. Questo agente tiene uno stato interno che può influenzare l'uscita e quindi la risposta dell'agente dipende dallo stato presente e dagli stati passati che vengono memorizzati dallo stato interno.
In terzo tipo di agente è chiamato deliberativo. Questi agenti dispongono di un modello più o meno complesso dell'ambiente e utilizzano questo modello e gli stati di ingresso per decidere lo stato di uscita.
Apprendimento per rinforzo
[modifica | modifica sorgente]L'agente riceve degli stimoli dal mondo esterno. Il suo sistema decisionale comanda gli attuatori per svolgere delle azioni e in base a come queste azioni impattano sul mondo esterno l'agente può ricevere degli stimoli dal mondo esterno che lo premiano se l'azione è favorevole o che lo puniscono se invece l'azione non è favorevole per l'obiettivo dell'agente.
Descrizione dell'ambiente
[modifica | modifica sorgente]Un agente per funzionare non necessita di una descrizione completa dell'ambiente anche perché una descrizione realmente esaustiva dell'ambiente è impossibile, dato che richiederebbe troppi dati da memorizzare e troppi sensori. Ad un agente basta conoscere solo alcune proprietà dell'ambiente per poter operare correttamente. Usualmente si assume che l'ambiente possa essere descritto come un processo di decisione Markoviano. Un processo di decisione Markoviano è formato da:
- Un insieme finito di stati.
- Un insieme finito di azioni
- Un insieme finito di transizioni che associano ad ogni coppia di elementi stato-azione una certa distribuzione di probabilità.
- Una funzione di rinforzo che associa ad ogni transizione un valore numerico (il rinforzo)
La caratteristica importante dei processi di decisione Markoviani è che lo stato attuale dipende solamente dallo stato precedente e non da tutta la storia passata. Questo ovviamente non è sempre vero ma ciò semplifica molto la realizzazione degli agenti fornendo spesso buone prestazioni.
L'obiettivo dell'agente è di massimizzare il rinforzo però, essendo che ogni instante l'agente riceve un rinforzo ci troveremo di fronte ad una somma che tende all'infinito se si somma il rinforzo su tutti gli istanti temporali (che sono infiniti). Esistono diversi metodi per aggirare il problema, il più semplice prevede di limitare la somma ad un certo numero di istanti (per esempio a cento istanti a partire dall'attuale). La seconda prevede di effettuare la media del rinforzo atteso e quindi di dividere la somma per il numero di istanti. Comunque la formulazione più comune è il rinforzo atteso scontato. In questa formulazione il valore del rinforzo viene moltiplicato per una funzione che ha un valore elevato quando il tempo è prossimo al tempo presente e che decresce all'allontanarsi dell'istante temporale. Questa formulazione dà maggior peso al tempo presente rispetto al tempo futuro.
Gestione dell'agente
[modifica | modifica sorgente]Gli agenti sono guidati nelle loro azioni da una politica. La politica associa ad ogni coppia di stato azione un indice di probabilità. Questo indice indica quanto è probabile che in quello stato si esegua quella azione. Un agente in ogni stato può sapere che alcune azioni porteranno un certo risultato e può avere delle azioni che non ha ancora eseguito e di cui quindi non conosce il rinforzo. La politica gli dice se intraprendere la stessa strada e quindi scegliere tra le azioni note o se provare una delle azioni incognite alla ricerca di un rinforzo maggiore. La realizzazione di una politica ottimale è un problema difficilmente risolvibile e dipende dallo specifico problema; in generale si è visto che è meglio effettuare inizialmente una politica molto aggressiva esplorando spesso stati incogniti alla ricerca di rinforzi molto consistenti per poi spostarsi gradatamente verso una politica più conservativa che sfrutti gli stati conosciuti per ottenere un rinforzo costante.