planning AI

L’approccio dei sistemi simbolici non è affatto morto. Al contrario, è vivo e in perfetta forma, soprattutto in un sottosettore dell’IA noto come planning (pianificazione), che si occupa di sviluppare tecniche per affrontare problemi che richiedono la formulazione di passi allo scopo di compiere un dato obiettivo desiderato. Tra i possibili esempi ci sono: dare indicazioni stradali, giocare a determinati giochi, stipare scatole di forme inconsuete in un camion, dimostrare teoremi matematici, analizzare contratti e norme legali, preparare ricette, collocare transistor su chip per computer, assemblare equipaggiamento, descrivere norme e regole in forma numerica e controllare il traffico aereo.

L’elemento comune a tutti questi compiti è che c’è di solito una condizione iniziale nota, una o più condizioni finali desiderate, uno specifico set di operazioni o “mosse” disponibili per procedere dalla condizione iniziale a quella finale, e una qualche misura del valore di una soluzione, come il minimizzare il numero di passi necessari. In altre parole, sono i sistemi di planning che trovano il modo di farlo. Se vi fosse venuto il sospetto che tutto fa brodo nel risolvere i problemi di planning, è bene tenere a mente che nella pratica tutti questi compiti ricadono perlopiù in classi ben definite con caratteristiche proprietà matematiche che sono riconducibili a tecniche differenti. Nessuno affronterebbe il problema di trovare l’ago in un pagliaio allo stesso modo in cui tenterebbe di dimostrare che due triangoli sono congruenti.

Con l’eccezione di alcune tecniche probabilistiche, la maggior parte dei sistemi di planning si occupa di effettuare deduzioni simboliche con l’aggiunta di ciò che è chiamato ragionamento euristico. Il ragionamento euristico affronta un problema comune, se non universale, che affligge l’approccio dei sistemi simbolici, ossia che il numero di possibili mosse sequenziali può essere talmente grande (in gergo: un’esplosione combinatoria) che non è possibile esaminare tutte le opzioni. L’euristica tenta di ridurre il cosiddetto spazio di ricerca a dimensioni gestibili in diversi modi, alcuni dei quali garantiscono il raggiungimento della soluzione appropriata – ammesso che esista – mentre altri corrono il rischio di fallire nel tentativo di trovare una soluzione, o perlomeno di non trovare la migliore in assoluto (si parla rispettivamente di euristica “ammissibile” e “inammissibile”). Per esempio, se vi trovaste impegnati nel tentativo di scalare una montagna, una buona euristica sarebbe assicurarsi che tutti i passi che avete intenzione di compiere siano verso l’alto – come è ovvio, la cosa funziona tuttavia solo se l’altura è costantemente in salita, senza alcun dirupo. In gergo tecnico, questo approccio incrementale viene definito euristica greedy – a volte tradotto con golosa (si sceglie sempre il passo che dà il più immediato guadagno) e funziona in modo affidabile solo in domini con determinati requisiti di consistenza (nello specifico, devono essere monotoni nel loro procedere verso l’obiettivo).

I sistemi di planning impiegano numerose, diverse strategie. Alcuni partono dall’obiettivo e procedono con un ragionamento inverso, nel tentativo di individuare le condizioni iniziali che poteranno lì. Per esempio, se hai diverse commissioni da compiere ma vuoi essere certo di rientrare per cena alle sei, potresti ragionare all’indietro nel tempo, sottraendo il tempo necessario a ogni sosta, per capire quando sarà il caso di andartene. Altri ragionano direttamente, dalle ipotesi alle conclusioni, o cercano di semplificare il compito risolvendo da principio piccoli sottoproblemi, collegandoli poi in una singola soluzione comprensiva.

Le tecniche di planning sono utilizzate in un’area di ricerca nel campo dell’IA chiamata “general game playing” che consiste esattamente in ciò che sembra: a un programma vengono date le regole di un gioco fino a quel momento sconosciuto, ma non riceve alcuna indicazione sul modo migliore di giocare. Esso deve perciò, ragionando su cosa funzionerà meglio e cosa peggio, elaborare da solo le strategie di gioco che userà. Naturalmente si tengono regolari sfide tra ricercatori nel campo del game playing per determinare quali programmi giocheranno meglio. Dal 2005, in occasione del meeting annuale della AAAI (Association for the Advancement of Artificial Intelligence) si tiene un concorso riservato agli appassionati di game playing che ha richiamato di anno in anno concorrenti sempre più bravi, che spesso si sono rivelati capaci di sconfiggere, con i loro programmi, esseri umani già esperti dei giochi selezionati.

Altre applicazioni del planning largamente usate al giorno d’oggi, e che usano tecniche euristiche, sono i programmi di navigazione che forniscono informazioni stradali e quelli noti come nonplayer characters (o NPC, persone non giocanti) che nei videogiochi sono quei personaggi animati, furbi e maliziosi che ti sparano addosso o ti si oppongono in mille modi.

I sistemi di planning, e più in generale l’approccio dei sistemi simbolici, sono ciò che oggi viene chiamato in modo derisorio (o affettuoso, dipende da quale aspetto dell’IA ti appassiona di più) la “cara, vecchia intelligenza artificiale”, o GOFAI (Good, Old-Fashioned Artificial Intelligence). Ad ogni modo, gli sviluppi che si sono susseguiti hanno dimostrato che, con tutto il suo fascino, l’ipotesi del sistema simbolico fisico non è l’unica possibile.

  • Brano tratto dal libro “Intelligenza artificiale. Guida al prossimo futuro”, pubblicato da Luiss University Press,Roma, anno 2016 (pagg. 53 – 56).