Le Voci dell’AI – Episodio 56: Pianificazione automatica, un problema aperto

Ciao a tutti, sono Vincenzo Lomonaco, ricercatore all’Università di Pisa.

Nella puntata di oggi discuteremo di Pianificazione Automatica, un’intera branca di ricerca applicativa nel mondo dell’intelligenza artificiale per lo sviluppo di ragionamenti logici complessi, per la pianificazione.

Quali sono le metodologie che ce lo consentono? E soprattutto possono i grandi modelli fondazionali del linguaggio di cui parliamo spesso essere usati in tal senso? Scopriamolo insieme in questa puntata di Le Voci dell’AI.

Il problema del planning in intelligenza artificiale riguarda la capacità di un sistema di generare una sequenza di azioni che trasformi uno stato iniziale in uno stato desiderato, raggiungendo quindi obiettivi specifici.

Questo processo implica la definizione di un insieme di azioni, ognuna con delle precondizioni che devono essere soddisfatte per poter essere eseguite e con effetti che modificano lo stato del sistema.

L’obiettivo è trovare una sequenza ottimale di tali azioni, nota come piano che porta dallo stato iniziale allo stato obiettivo.

Uno degli esempi classici di problemi di planning o pianificazione è il problema del Blocks World, in cui il sistema deve pianificare una serie di mosse o azioni per spostare blocchi in una configurazione obiettivo sulla destra, partendo da una disposizione iniziale che vedete sulla sinistra.

In particolare vediamo in questa figura come attraverso il Planning Domain Definition Language – PDDL, siamo in grado di definire non solo lo stato iniziale e quello desiderato, ma anche una serie di azioni possibili, Move, Move to Table, con le loro precondizioni, ossia quando possono essere applicate e relativi effetti, i cambiamenti nello stato del mondo o meglio il risultato di queste azioni.

E lo possiamo fare in un modo piuttosto formale. Ecco, questo esempio, benché banale, evidenzia le sfide principali del planning ed è anche il motivo per il quale viene spesso utilizzato nei corsi universitari di intelligenza artificiale, come la gestione di precondizioni complesse e la necessità di garantire che ogni azione conduca progressivamente verso l’obiettivo finale senza violare le condizioni necessarie per l’esecuzione delle azioni successive.

Qui in basso vediamo un possibile piano, o meglio una sequenza di azioni che ci porta efficacemente allo stato obiettivo.

[MoveToTable(C,A), Move(B,Table,C), Move(A,Table,B)]

Quindi abbiamo semplicemente tre azioni che ci portano alla configurazione dei blocchi sulla sinistra, a quella sulla destra.

Il planning è cruciale in molte applicazioni di intelligenza artificiale, tra cui la robotica, la logistica, la medicina, dove la capacità di pianificare ed eseguire sequenze di azioni complesse è essenziale per il successo operativo.

La difficoltà principale risiede nella gestione della complessità combinatoria, poiché il numero di possibili sequenze di azioni cresce esponenzialmente con il numero di azioni e stati possibili.

Ma cosa succede se proponiamo ai nostri Large Language Models di risolvere un problema di planning per noi? Vediamolo insieme con un prompt di esempio che io stesso ho testato con GPT-4.

Supponiamo di avere otto blocchi quadrati ciascuno colorato in verde di rosso R o bianco B e impilati uno sopra l’altro su una griglia due per due formata dalle quattro celle adiacenti del piano, le cui coordinate inferiori sinistre sono (0,0), (0,1), (1,0) e (1,1).

La configurazione iniziale è questa in (0,0) abbiamo B ed R, il che significa che la cella (0,0) ha un blocco bianco su di essa e poi un blocco rosso sopra quel blocco bianco (0,1)0 è costituito dalla sequenza VV, (1,0) dalla sequenza BV e (1,1) da una sequenza, o meglio da una pila, di blocchi bianchi.

L’unica mossa che ci è permesso fare è prendere uno dei blocchi superiori, quindi più in alto sulla pila da una cella non vuota e metterlo sopra un altro blocco superiore.

Per esempio, applicando la mossa (0,1) a (1,1) alla configurazione iniziale si produrrebbe la seguente configurazione: in (0,0) una pila con i blocchi BR, in (0,1) soltanto il blocco B, in (1,0), i blocchi bianco e verde e infine sul blocco (1,1) la pila sulla quale abbiamo appena spostato il blocco originariamente in (0,1).

Una pila composta da tre blocchi bianco, bianco e verde fornisce una sequenza di mosse che risulta in una configurazione in cui nessun blocco bianco sia direttamente sopra un altro blocco bianco, oppure dimostra che nessuna sequenza del genere esiste.

Pensa attentamente la tua risposta e spiega perché viene effettuata ciascuna mossa.

È chiaro che in questo caso la sola azione (1,1) a (1,0), quindi spostare semplicemente il blocco bianco in (1,1) in qualsiasi altra posizione, in realtà in qualsiasi altra cella e qualsiasi altra pila basterebbe a risolvere il problema.

Tuttavia, ChatGPT – ti invito a provarlo a casa – si inerpica in una serie di mosse, quindi una sequenza di azioni molto ampia, addirittura sette, vediamo in questo esempio, che non solo non è necessaria, ma ci porta anche a un risultato errato.

Infatti vediamo come nella configurazione finale della piccola scacchiera due per due vi siano ancora delle coordinate, (1,1) in questo caso, in cui due blocchi bianchi sono uno sopra l’altro, il che viola sostanzialmente l’unico vincolo imposto dal problema.

In un articolo recente “On the Planning Abilities of Large Language Models (A Critical Investigation with a Proposed Benchmark)”, si esplora le capacità dei modelli linguistici di grandi dimensioni nel contesto dei compiti di pianificazione, focalizzandosi sia sulla pianificazione autonoma che sull’uso di questi Large Language Model come guida euristica per altri agenti di pianificazione, siano essi umani o sistemi tradizionali di intelligenza artificiale, basati, per esempio sopra la logica del primo ordine.

Gli autori di questo articolo conducono uno studio sistematico utilizzando un’intera suite di benchmark ispirati ai diversi domini ed impiegati della International Planning Competition della conferenza di riferimento sul tema, la International Conference on Automated Planning and Scheduling, ICAPS.

L’obiettivo principale è valutare l’efficacia dei Large Language Model in queste due modalità distinte di cui parlavamo poc’anzi, autonoma ed euristica.

Nella modalità autonoma il Large Language Model deve generare direttamente dei piani eseguibili in modo indipendente, come abbiamo visto nell’esempio precedente, mentre nella modalità euristica il Large Language Model fornisce suggerimenti che migliorano il processo di ricerca di piani di un pianificatore sottostante.

I risultati dell’indagine rivelano che la capacità dei Large Language Model di generare piani autonomi è piuttosto limitata.

Ad esempio, il modello migliore GPT4 ha ottenuto un tasso di successo medio soltanto del 12%, pensate, nei vari domini testati.

Tuttavia, i risultati nella modalità euristica sono più promettenti. In questa modalità, i piani generati dagli LLM possono effettivamente migliorare il processo di ricerca dei piani dei pianificatori convenzionali grazie anche al feedback di verificatori esterni che possono fornire input correttivi ai modelli.

In sintesi, mentre i Large Language Models mostrano capacità limitate nella generazione autonoma di piani eseguibili, il loro ruolo come strumenti di supporto euristico per altri pianificatori appare molto promettente per il futuro.

Va sottolineato che oggi le metodologie di allo stato dell’arte per quanto riguarda il planning sono basate su meccanismi di ricerca locale ed euristica che non coinvolgono spesso neanche l’apprendimento automatico, ma sono basati su linguaggi logico probabilistici.

Un esempio dell’applicazione del planning a problemi complessi è per esempio rappresentato da AlphaGo, il sistema di Google che è riuscito a battere per la prima volta nella storia il campione mondiale umano dell’antico gioco del GO.

In questo sistema una Montecarlo Search è una metodologia per la pianificazione utilizzata in concomitanza con tecniche di planning per definire al meglio la sequenza di mosse che possano portare ad una vittoria.

Ciao! Alla prossima puntata di Le Voci dell’AI!.

 

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome