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
t0puo 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:
- M8 - Logic and Computation - basi logiche per computazione, inferenza e programmazione logica.
- M9 - Automated Reasoning - dimostrazione automatica, SAT, model checking e logiche non classiche.