Home » Intelligenza Artificiale » 📋 URL
Semplici agenti reattivi (reflex)
Selezionano le azioni da svolgere sulla base delle percezioni correnti, ignorando il resto della storia passata e tutte le percezioni (percepts) precedenti. Sono una tipologia molto semplice di agenti che non è però in grado di gestire situazioni molto complicate in cui è necessario un certo livello di intelligenza. Si limitano infatti ad azioni del tipo if-then. Spesso sono possibili dei loop infiniti dai quali l’agente non è in grado di uscire se non introducendo della casualità.
Agenti reattivi (reflex) Model-based
L’agente deve tenere traccia delle parti del mondo che non riesce a vedere nel momento corrente a causa della parziale osservabilità del mondo. Si rende dunque necessaria la codifica di informazioni di due diverse tipologie:
- Abbiamo bisogno di capire come il mondo si evolve in maniera indipendente dall’agente
- Ci serve sapere in che modo le azioni dell’agente modificano il mondo circostante
Rappresenteremo tali informazioni tramite il transition model per capire in che modo il mondo cambia in risposta alle azioni dell’agente, da unire a un sensor model che riesca a ottenere nuovi percepts dal mondo, trasformarli in forma computazionale, e utilizzarli per prendere le decisioni.
Agenti goal-based
Tipologia di agenti che ha bisogno—oltre alla conoscenza dell’ambiente circostante—anche di una descrizione dell’obiettivo a cui deve arrivare, per capire se la situazione attuale è effettivamente desiderabile o meno. Rende dunque necessari ragionamenti del tipo cosa succede se faccio una data cosa? oppure facendo una data azione riuscirò effettivamente ad avvicinarmi all’obiettivo? Serviranno algoritmi di ricerca e planning.
Agenti utility-based
Questo tipo di agenti non basa le proprie scelte soltanto sulla mera distinzione tra uno stato positivo e uno negativo: ogni stato viene giudicato in base a una funzione utilità che è in grado di dare dei giudizi più precisi sull’utilità dello stato attuale rispetto al raggiungimento dell’obiettivo. Questo tipo di agenti riesce quindi a compiere delle decisioni anche in situazioni più difficili in cui non è ben chiaro quale sia la cosa migliore da fare.
Grazie alla funzione utilità si è infatti in grado di specificare gli appropriati tradeoff per prendere la decisione più razionale—come anche in presenza di più di un obiettivo si è in grado di compiere la scelta corretta misurando le probabilità di successo rispetto all’importanza di un obiettivo.
Un agente razionale di questo tipo cerca, di fatto, di massimizzare l’utilità attesa proveniente dall’esecuzione di azioni specifiche.
Agenti che imparano
È anche possibile progettare degli agenti che riescano a capire autonomamente come modificare il proprio comportamento per risolvere il problema che gli viene proposto. Si hanno in questo modo degli agenti che migliorano continuamente in base alle esperienze fatte.
Possono essere posti in un ambiente inizialmente sconosciuto e reagire ai cambiamenti dinamici che accadono in esso. In questo caso si rende dunque necessaria la distinzione tra le diverse parti di un agente:
- Learning: migliora il comportamento dell’agente sulla base di ciò che impara
- Performance: seleziona le azioni che possono portare alla risoluzione del problema
- Critic: comunica feedback in base alle prestazioni dell’agente e suggerisce nuovi elementi per migliorare le performance. Ha bisogno di avere già si per sé un’idea di quali sono delle performance “accettabili” per il problema in questione
- Problem generator: suggerisce nuove azioni esploratorie per permettere all’agente di immedesimarsi in situazioni nuove
In poche parole
✅ Agenti reattivi semplici: selezionano azioni in base alle percezioni correnti senza considerare la storia o percezioni precedenti.
✅ Agenti basati su modelli: tengono traccia delle parti del mondo non osservabili e utilizzano modelli di transizione e sensori per prendere decisioni.
✅ Agenti basati su obiettivi: utilizzano la conoscenza dell’ambiente e una descrizione degli obiettivi per prendere decisioni attraverso ragionamenti di ricerca e pianificazione.
✅ Agenti basati sull’utilità: valutano gli stati in base a una funzione di utilità per prendere decisioni razionali, considerando trade-off e obiettivi multipli.
✅ Agenti di apprendimento: migliorano autonomamente il loro comportamento attraverso l’apprendimento dall’esperienza, possono operare in ambienti sconosciuti e adattarsi ai cambiamenti.