M7. Reasoning Agents

Slide: <file:///C:/UNI/Magistrale/ISE/M7 – Reasoning Agents.pdf>

Indice


Agenti, Azione e Percezione

Definizione

Un agente intelligente e un sistema computazionale capace di azione autonoma e percezione in un ambiente.

Un agente non e una semplice funzione chiamata dall’esterno. Incapsula controllo: nessuno “invoca” direttamente il suo comportamento interno. L’ambiente e altri agenti possono inviare informazioni, eventi o messaggi, ma il flusso di controllo resta dentro l’agente.

Il ciclo base e: percepire, aggiornare cio che si sa, decidere, agire. La percezione mappa stati dell’ambiente in percept; l’azione mappa sequenze di percept o stati interni in azioni.

Esempio: un robot aspirapolvere percepisce ostacoli e sporco, decide se avanzare, girare o pulire, e modifica l’ambiente spostandosi.

Note

Le azioni hanno precondizioni e postcondizioni: possono essere applicabili solo in certe situazioni e sono progettate per cambiare l’ambiente in modo atteso.


Ambienti e Architetture Astratte

Definizione

Un ambiente di agente e il contesto in cui l’agente percepisce e agisce; puo essere accessibile o no, deterministico o no, statico o dinamico, discreto o continuo.

Giocare a scacchi e guidare un’auto sono casi opposti. Gli scacchi sono discreti, quasi pienamente osservabili e deterministici. La guida e continua, dinamica, parzialmente osservabile e incerta.

La distinzione tra sistemi funzionali e reattivi aiuta:

  • Sistemi funzionali: trasformano input in output, come un compilatore.
  • Sistemi reattivi: mantengono interazione continua con l’ambiente, come un sistema operativo o un agente.

Un agente situato non puo essere capito separatamente dal contesto: le sue azioni hanno senso solo rispetto all’ambiente in cui vive.

Sfida Principale

In ambienti dinamici, informazioni incomplete, risorse scarse e effetti non deterministici rendono insufficiente una reazione puramente stimolo-risposta.

Per questo gli agenti hanno spesso stato interno. Una funzione Next aggiorna lo stato interno a partire da stato precedente e percept; poi una funzione di azione seleziona cosa fare in base allo stato interno.


Sistemi Intenzionali

Definizione

Un sistema intenzionale e un’entita il cui comportamento puo essere spiegato e predetto attribuendole credenze, desideri e razionalita.

Daniel Dennett chiama questo approccio intentional stance. Non significa necessariamente che la macchina abbia davvero una mente umana; significa che parlare di credenze e desideri e utile per descrivere, prevedere o progettare il comportamento.

Esempio: dire “il navigatore vuole portarci sulla strada piu veloce e crede che questa uscita sia bloccata” e una scorciatoia utile. Tecnicamente ci sono dati, mappe e algoritmi, ma la descrizione intenzionale e piu compatta.

McCarthy osserva che attribuire qualita mentali a macchine puo essere corretto se fatto in modo conservativo, quando aiuta a capire la struttura, il comportamento passato o futuro, o come migliorare il sistema.

Note

L’intentional stance e prima di tutto uno strumento di astrazione ingegneristica: semplifica la comprensione di sistemi complessi.


Stati Mentali e Ragionamento Pratico

Definizione

Gli stati mentali di un agente sono strutture interne che rappresentano aspetti cognitivi come conoscenza, obiettivi e impegni verso l’azione.

Le architetture con stati mentali sono utili quando l’ambiente puo evolvere in molti modi, l’agente ha molte azioni possibili, ci sono piu obiettivi concorrenti e la percezione e solo locale.

Si distinguono due famiglie:

  • Goal-oriented / teleo-reactive: il goal non e necessariamente rappresentato come oggetto esplicito; e incorporato nel controllo.
  • Goal-directed / deliberative: i goal sono rappresentati simbolicamente e manipolati dal ragionamento.

Definizione

Il ragionamento pratico e il processo con cui un agente decide cosa fare per ottenere cio che desidera, usando cio che crede del mondo.

Il ragionamento pratico si divide in due attivita:

  • Deliberation: scegliere quale stato di cose perseguire.
  • Means-ends reasoning: scegliere come raggiungerlo tramite un piano.

Esempio: uno studente desidera passare tutti gli esami, ma deve deliberare quale preparare ora. Poi deve scegliere i mezzi: leggere slide, fare esercizi, ripassare con flashcard.


Intenzioni

Definizione

Un’intenzione e un desiderio adottato dall’agente come impegno pratico, collegato alla ricerca o esecuzione di un piano.

Le intenzioni hanno un ruolo speciale. Non sono semplici desideri: filtrano altri obiettivi, richiedono risorse, tendono a essere stabili e orientano l’azione.

Se intendo andare dal dentista, non sto solo considerando l’idea. Ho deciso di farlo e normalmente smetto di valutare pro e contro a ogni istante. Inoltre, se andare dal dentista implica dolore, non significa che io intenda il dolore: questo e il side effect problem.

Bounded Rationality

Deliberare e pianificare costa tempo. In ambienti dinamici, un’intenzione ottima al tempo t0 puo non essere piu utile quando il piano e pronto.

Un agente razionale funziona bene se ragionamento e pianificazione sono abbastanza rapidi rispetto ai cambiamenti dell’ambiente, oppure se l’ambiente resta stabile durante la scelta. Queste condizioni spesso non valgono nei sistemi reali.


Agenti BDI

Definizione

Un agente BDI e un agente basato su tre strutture principali: Beliefs, Desires e Intentions.

Nel modello BDI:

  • Beliefs: conoscenza corrente sul mondo, derivata da percezioni, messaggi e informazioni interne.
  • Desires: stati del mondo che l’agente vorrebbe ottenere.
  • Intentions: desideri selezionati e trasformati in impegni operativi, spesso implementati come stack di piani.

La plan library contiene ricette procedurali scritte dal programmatore. A differenza del planning da primi principi, molti sistemi BDI non generano piani completamente nuovi: selezionano e specializzano piani predefiniti in base al contesto.

Il ciclo tipico include: aggiornare credenze, generare opzioni, deliberare, aggiornare intenzioni, eseguire, acquisire nuovi eventi, scartare obiettivi riusciti o impossibili.

Esempio

Un agente di consegna crede che un pacco sia in magazzino, desidera consegnarlo, adotta l’intenzione di usare un certo percorso, ma cambia piano se riceve un evento esterno di traffico bloccato.


Piattaforme BDI

Definizione

Una piattaforma BDI fornisce linguaggi, runtime e costrutti per implementare agenti con credenze, obiettivi, intenzioni, eventi e piani.

Le slide citano piattaforme come Jason, JADEX, 2APL, JACK e ASTRA. JaCaMo integra Jason per agenti, CArtAgO per ambienti e Moise per organizzazioni.

In pratica: il modello BDI non e solo una teoria filosofica. E anche un modo concreto per programmare sistemi multi-agente dove comportamento, interazione e organizzazione devono restare comprensibili.

Note

La forza del BDI e la leggibilita progettuale: ragionare in termini di credenze, desideri e intenzioni aiuta anche debugging, spiegazione e verifica.


Prossimi Argomenti

Continueremo con: