Modifiche recenti - Cerca:

emi7oP <a href="http://etyxbsmwlbop.com/">etyxbsmwlbop</a>, [url=http://ejkbnyaqouhe.com/]ejkbnyaqouhe[/url], [link=http://iytqgxxmxvee.com/]iytqgxxmxvee[/link], http://ddjproogyauv.com/

IA /

A31Agenti

A3_1 Agenti

Autore: 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 agente

L'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'agente

Le prestazioni di un agente valutano il suo comportamento nell'ambiente. Fra esse compaiono:

  • tempo di risposta
  • correttezza della soluzione
  • ottimalità della soluzione

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:

  • data le percezioni che acquisisce (la percezione può essere incompleta o incerta);
  • data la conoscenza che possiede (la conoscenza può essere incompleta)
  • date le azioni che può eseguire

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 agente

Progettare un agente significa sostanzialmente definire:

  • ambiente
  • sensori
  • attuatori
  • funzione dell'agente
  • misura della prestazione

L'ambiente

L'ambiente determina in modo fondamentale il progetto dell'agente. Vediamo un'insieme di classificazioni dell'ambiente:

Osservabilità: completa/parziale

Un 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/stocastico

Un 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/sequenziale

Se 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/dinamico

Se 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 continuo

Si parla di discreto e continuo relativamente allo stato dell'ambiente, al trattamento del tempo, alle percezioni e alle azioni.

Agente singolo/multiagente

Nello 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 agenti

Table driven

Sono 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 reflex

Il 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 reflex

Per 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:

  • dello stato attuale del modello
  • delle percezioni (e della loro storia)
  • di alcune leggi che regolano l'ambiente
  • delle conseguenze delle azioni

Model based goal-based

Questo 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-based

Questo 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 agent

Ognuno dei tipi precedenti di agenti può essere anche un learning agent. Un learning agent ha un'architettura composta dai seguenti blocchi:

  • performance element, che è uno degli agenti appena visti
  • critic, che produce un feedback sui risultati ottenuti dall'agente rispetto a dei risultati desiderati
  • learning element, utilizza il feedback di critic per modificare l'agente
  • problem generator: propone dei problemi che permettano di estendere le capacità dell'agente
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 22/08/2007 ore 13:44 CEST (Andrea)