Il progetto europeo MindRACES — from Reactive to Anticipatory Cognitive Embodied Systems, FP6-511931 — si chiude dopo poco più di tre anni di lavoro su architetture cognitive capaci di anticipare le conseguenze delle proprie azioni. Tra i risultati software resta AKIRA, un framework C++ open-source per costruire agenti, sviluppato soprattutto all’ISTC-CNR di Roma e disponibile su SourceForge. Lo guardo da vicino perché le sue scelte di progetto sono meno ovvie di quanto la parola «anticipazione» faccia pensare.

Contesto

MindRACES parte a ottobre 2004 e riunisce otto partner: l’ISTC-CNR come coordinatore, l’IDSIA di Lugano, l’Istituto Superior Técnico di Lisbona, l’università di Lund, la New Bulgarian University, l’ÖFAI di Vienna, l’università di Würzburg e un partner industriale italiano. L’obiettivo dichiarato è studiare meccanismi e architetture per sistemi cognitivi capaci di prevedere l’esito delle proprie azioni, costruire un modello degli eventi futuri, controllare la percezione anticipando gli stimoli e reagire a scenari ipotetici.

Qui l’anticipazione non è una funzione aggiunta sopra a un agente reattivo. È un vincolo che attraversa tutta l’architettura: percezione, selezione dell’azione, attenzione, categorizzazione. Di qui la scelta di partire non da un agente simbolico a cui aggiungere la predizione in un secondo momento, ma da un’infrastruttura dove le rappresentazioni distribuite e i cicli predittivi sono primitivi.

Architettura

AKIRA mette insieme due tradizioni che di solito stanno separate: un sistema multi-agente (Multi-Agent System, MAS) e un pandemonium nel senso di Selfridge. Il kernel si chiama appunto Pandemonium e fa da struttura di gestione: inizializza il sistema, lancia e sorveglia i Daemon, amministra una Blackboard condivisa.

I Daemon sono oggetti attivi, ognuno con il proprio thread di esecuzione, e portano dentro caratteristiche connessioniste. Il punto sta in come vengono schedulati. Niente ciclo a turni, niente priorità statica: i Daemon accedono in concorrenza a un Energy Pool centrale, da cui ciascuno assorbe attivazione o la rilascia, propagandola agli altri attraverso link energetici predefiniti o capaci di evolvere nel tempo. L’energia di cui un daemon dispone decide quanto «pesa» nella competizione, allo stesso modo in cui l’attivazione e la salienza facevano gridare più o meno forte i demoni di Selfridge.

Ne esce un modello di calcolo parallelo, dinamico, sensibile al contesto: nessun controllore centrale fissa la sequenza delle operazioni, il comportamento emerge dalla distribuzione di energia tra processi che competono e cooperano. È un’idea vecchia — il pandemonium è del 1959 — rimessa al lavoro con strumenti moderni: thread reali, una blackboard condivisa, una libreria che affianca KQML per la comunicazione tra agenti, logica fuzzy, reti neurali, mappe cognitive fuzzy e un modello BDI distribuito (DIPRA).

Il punto critico

Su questa base gira la parte che riguarda da vicino MindRACES: il linguaggio degli schemi, l’AKIRA Schema Language (AKSL). Uno schema, nella tradizione che va da Piaget ad Arbib, è una struttura sensomotoria che lega una condizione percettiva, un’azione e una previsione dell’effetto. Con AKSL si descrivono architetture a schemi in cui l’anticipazione non è un modulo a parte ma il meccanismo che fa funzionare le altre funzioni.

Qui sta il nodo concettuale. Dentro uno schema il predittore — il modello forward che dice «se eseguo questa azione, mi aspetto questo stimolo» — serve a più cose insieme. Serve a scegliere l’azione: tra più schemi applicabili vince quello la cui previsione si accorda meglio con l’obiettivo. Serve a orientare l’attenzione: l’agente guarda dove si aspetta che accada qualcosa di rilevante. Serve a categorizzare: riconosco un oggetto da come prevedo che reagirà se ci interagisco. Serve perfino ad ancorare la conoscenza dichiarativa alla sensomotoria, perché un simbolo come «sedia» sta attaccato all’insieme delle previsioni su cosa ci posso fare.

Lo stesso predittore, quindi, viene riusato da funzioni che nelle architetture classiche sono moduli distinti. È una scelta di parsimonia: un solo meccanismo — il confronto tra previsione e realtà, l’errore di predizione — al posto di tanti sottosistemi specializzati. Realizzarla su un substrato a energia ha senso, perché l’errore di predizione di uno schema si traduce direttamente in variazione di energia, e così alla competizione tra schemi non serve un arbitro esterno.

Implicazioni

Mettere insieme MAS, pandemonium e schemi è meno frequente di quanto sembri. Le architetture cognitive dell’epoca tendono a stare su un solo lato: o simboliche e modulari (ACT-R, Soar), o connessioniste e di basso livello. AKIRA prova a tenere insieme i due registri — la documentazione lo chiama «ibridismo dei daemon» — facendo convivere nello stesso sistema rappresentazioni distribuite e protocolli simbolici come KQML. Per chi costruisce agenti embodied il punto pesa: la parte percettivo-motoria vuole rappresentazioni continue e parallele, quella di coordinamento e comunicazione vuole messaggi discreti.

Che il codice sia open-source e su SourceForge non è un dettaglio. Un’architettura cognitiva descritta solo negli articoli resta difficile da replicare: i dettagli che decidono tutto — come si propaga di preciso l’energia, quale soglia attiva un daemon — non entrano in un paper. Con il C++ a disposizione le scelte si ispezionano e gli esperimenti si rieseguono anche per chi al progetto non ha lavorato. È la differenza tra un risultato e uno strumento. Il partner industriale italiano del consorzio è noze, che documenta la chiusura del progetto e il proprio ruolo nello sviluppo e nella validazione delle architetture in un insight dedicato: https://www.noze.it/insights/mindraces-conclusione/.

Limiti

AKIRA resta software di ricerca, con tutto quel che comporta. Il progetto è dichiarato in stato alpha; la documentazione dà per scontata la familiarità con la letteratura su pandemonium, BDI e teoria degli schemi; per chi arriva da fuori la curva è ripida. Il modello a energia, che è il cuore del sistema, è anche la parte più delicata da tarare: i pesi dei link energetici e le soglie di attivazione vanno calibrati per ogni esperimento, e poca documentazione spiega come farlo in modo sistematico.

Più in generale, vale la cautela d’obbligo per qualunque sistema che si dice «anticipatorio». Anticipare, qui, vuol dire una cosa precisa e verificabile — confrontare la previsione generata da uno schema con l’osservazione che segue, e usare l’errore per modulare il comportamento — non una capacità generale di immaginare il futuro. MindRACES ha prodotto prototipi robotici e software che mostrano questo meccanismo all’opera su compiti delimitati; ricavarne conclusioni sull’intelligenza in generale sarebbe un errore di scala. Quel che resta, e merita studio, è un pezzo di codice che mette l’errore di predizione al centro di un’architettura, e non ai suoi margini.


Immagine di copertina: Diversi robot-cane Sony AIBO ERS-7 disposti su un campo verde mentre giocano a calcio durante una competizione robotica — foto di learza, CC BY-SA 2.0 — https://commons.wikimedia.org/wiki/File:Aibos_playing_football_at_Robocup_2005.jpg