LEZIONE del 27 Gennaio

Nella breve analisi dei due paradigmi robotici, descritti nelle lezioni precedenti, si è posto l'accento sulle motivazioni epistemologiche che li sorreggono perchè la scelta di uno rispetto all'altro è indubbiamente legata ad una diversa percezione su come procedere nella realizzazione del controllo del robot.

Infatti, il paradigma gerarchico, altrimenti detto knowledge-based, procede top-down dalla definizione del compito assegnato al robot alle procedure che lo stesso deve utilizzare nelle diverse situazioni, smontando il problema in sottoproblemi finchè si dispone dell'azione ad hoc.

Il paradigma reattivo, noto anche come behaviour-based, presuppone una definizione incrementale delle abilità di base del robot fino ad ottenerne un repertorio sufficientemente ricco che possa produrre il comportamento emergente adatto a risolvere il problema assegnato grazie all'interazione dei comportamenti di base. Si tratta di un classico metodo bottom-up per il quale non necessariemente esiste la soluzione cercata.

PERCEZIONE VERSO AZIONE

Alcune considerazioni generali sono utili ad inquadrare meglio il problema del controllo di un robot autonomo. Innanzitutto, sebbene il paradigma gerarchico che si basa su una visione cognitivista dell'intelligenza richieda l'utilizzo esplicito del sistema simbolico per permettere all'intelligenza di dispiegarsi nelle sue forme osservabili, è altrettanto chiaro che la riduzione dei sistemi intelligenti a calcolatori, seppure complessi, non può essere realizzata "de facto".

L'importanza dell'apparato percettivo è troppo evidente per essere ridotta ad un semplice insieme di periferiche di input dei dati. Prima di tutto bisogna considerare il fatto che la qualità, il tipo, il significato dei dati sensoriali è talmente variegato che necessita una consistente fase di elaborazione.

Il paradigma cognitivista è, nei fatti, caratterizzato da un modulo molto importante per l'elaborazione delle informazioni sensoriali, il cui effetto è quello di produrre la necessaria fusione dei dati sensoriali provenienti dai diversi sensori eterogenei, permettendo così un aggiornamento consistente (belief revision) della rappresentazione simbolica interna (rappresentazione della conoscenza).

Pertanto, il primo collo di bottiglia con cui il paradigma gerarchico deve fare i conti è proprio il modulo SENSE il cui compito è quello di raccogliere i dati provenienti dai moduli (driver), che controllano i singoli sensori, per ottenere l'informazione sensoriale complessiva. Ad onor del vero, i sensori considerati dal modulo SENSE sono visti già ad un livello di astrazione (sensori virtuali) rispetto ai sensori reali.

Il carico computazionale del paradigmo gerarchico tende, dunque, ad essere distribuito più sull'input che sull'output per via dell'elaborazione piuttosto pesante a carico dei moduli sensoriali. Nella figura seguente tale caratteristica è evidenziata dai moduli posti in ingresso e in uscita rispetto alla sequenza SENSE-PLAN-ACT vista nel paradigma gerarchico.

Al di là di ogni considerazione epistemologica appare chiaramente che se si adotta il punto di vista dell'Intelligenza Artificiale il vero limite è pretendere che si possa realizzare una "mente" sufficientemente potente da poter controllare il "corpo" di un qualunque robot autonomo.

Ciò che differenzia il paradigma reattivo, oltre alla parallelizzazione evidente delle operazioni, è lo spostamento del carico computazionale verso l'output attuativo. Infatti, la scelta implementativa di questo tipo di controllo è quella di considerare gli input sensoriale provenienti dai diversi sensori indipendenti fra loro e, per questo, in grado ciascuno di suggerire una specifica azione attuativa.

Sorge allora il problema di selezionare le azioni più opportune per raggiungere l'obiettivo prefissato. Tuttavia, la mancanza di un modello interno del mondo non consente al robot di prendere una decisione ponderata in tal senso e, per questo, si deve appoggiare ad alcune valutazioni approssimate sullo stato di avanzamento della missione assegnatali. Tale scelta, in alcuni casi, è assolutamente necessaria perchè alcune azioni potrebbero risultare inconsistenti rispetto al mantenimento, ad esempio, dell'integrità interna del robot.

In ogni caso, non tutte le azioni hanno lo stesso peso rispetto al soddisfacimento dell'obiettivo per cui si richiede un arbitraggio dei moduli comportamentali candidati a prendere il controllo del robot. Nella figura riportata di seguito

viene illustrato in modo generale il problema dell'arbitraggio che, al di la della particolare implementazione, si presenta come un meccanismo che, di fronte a un insieme di possibili azioni, ciascuna proposta da uno specifico comportamento, ne seleziona una o più da passare agli attuatori sotto forma di comandi motori.

Una soluzione semplice ma efficace, in molti casi dove il robot è costretto a muoversi in ambienti pericolosi, caratterizzate da dinamiche altamente imprevedibili, è quella di assegnare un livello di priorità a ciascun comportamento e scegliere l'azione suggerita dal comportamento attivo a priorità maggiore.

In altri casi, una buona soluzione è data da quella che Brooks (1991) chiama subsumption architecture con la quale si possono costruire molte creature artificiali che mostrano il comportamento degli insetti.

INTERPRETAZIONE DEL PIANO

Secondo il punto di vista dell'Intelligenza Artificiale il comportamento di un robot è controllato dal piano la cui esecuzione è resa possibile dal cosiddetto pianificatore che è soltanto una parte del programma complessivo che governa il funzionamento del robot. Se si assume l'ipotesi del sistema simbolico il significato del termine piano potrebbe essere catturato dalla definizione seguente

"Il piano è quella parte del programma di controllo su cui il robot può ragionarvi esplicitamente in vista di esecuzioni future".

cosicchè con il termine pianificare le azioni di un robot si deve intendere la generazione automatica e l'eventuale ottimizzazione dei piani per un robot.

A questo punto, ci si può chiedere se dalla definizione appena vista si possa ottenere una caratterizzazione completamente diversa di piano in esecuzione in modo da mettere in maggior evidenza sia la dipendenza dall'ambiente che gli aspetti più strettamente pragmatici legati alla sua esecuzione.

Si tratta, in effetti, di partire dall'interprete del piano che potremmo rappresentare come nella figura riportata di seguito

dove il modulo plan definisce quella parte dell'unità di governo del robot preposto alla generazione del piano. Esso prende come input il modello corrente del mondo, eventualmente aggiornato da uno o più rilevamenti sensoriali (modulo sense), e cerca di generare una sequenza di azioni che sono utilizzate sia per pilotare gli attuatori (modulo act) che per aggiornare la rappresentazione interna (modulo exec).

Come si può notare facilmente dalla figura, l'interpretazione del piano si realizza su due direzioni ortogonali e che riguardano

La forma più semplice ed immediata che può assumere un piano è, ovviamente, quella di una lista di azioni

a1 a2... an
che impone alle stesse di essere eseguite nell'ordine indicato. Un impiego così semplice dell'interprete del piano scoraggia l'impiego del modello del mondo a favore di un semplice meccanismo che tiene conto soltanto di quale azione deve essere eseguita al passo successivo. L'esecuzione del piano, invece, richiederebbe che l'azione successiva venga effettuata solo nel caso che la precedente abbia raggiunto gli scopi desiderati.

Dunque, il piano dovrebbe avere il compito di verificare se gli effetti richiesti dall'azione precedente si siano effettivamente realizzati e ciò è possibile solamente attraverso un meccanismo percettivo. Il punto della questione non è "se si debbano impiegare o meno dei sensori" ma, piuttosto, individuarne "un'opportuna politica di gestione per ottenere dal loro impiego il miglior vantaggio possibile".

Riconsideriamo, allora, la generazione del piano che dipende, come è noto, dalla disponibilità di un certo numero di azioni primitive ak la scelta di una delle quali è subordinata alla verifica di una certa condizione Bk di applicabilità. Per quanto si è visto, il pianificatore utilizza un insieme di regole del tipo

if B1 then a1;
if B2 then a2;
...
if Bn then an;
che si applica alla descrizione del mondo acquisita in anticipo, durante la fase di preparazione della missione ed, eventualmente, aggiornata con uso congruo dei sensori. Lo schema è quello delineato nella fig. 3 in cui, in generale, non è prevista alcuna relazione stretta fra l'azione eseguita ed il controllo del suo esito.

PERCEZIONE SITUATA

Nella schematizzazione precedente il funzionamento del pianificatore è del tutto equivalente a quello di un generico risolutore di problemi proprio perchè assume che "l'azione selezionata modifica lo stato del mondo in accordo con la semantica dell'azione stessa". Ma, se questa ipotesi è del tutto ragionevole nell'ambito classico dell'Intelligenza Artificiale dove è coinvolto solo l'aspetto del ragionamento, essa appare eccessivamente forte quando viene applicata ad un agente che agisce nel mondo reale.

Si ottiene un funzionamento più realistico del pianificatore quando si fa dipendere l'esecuzione di ciascuna azione dalla contemporanea verifica che un certo insieme di condizioni q sono ancora rimaste vere al termine di ciascuna azione ak. In questo caso la struttura del pianificatore assumerebbe la forma

when q do begin
if B1 then a1;
if B2 then a2;
...
if Bn then an;
end
dove il test per la condizione di consistenza q e le condizioni di selezione B1, B2,..., Bn andrebbero eseguiti contemporaneamente.

Tuttavia, prendendo a prestito la terminologia tipica della teoria del controllo, l'ambiente non può assumersi nè completamente controllabile nè tantomeno completamente osservabile e il cui grado di osservabilità dipende sensibilmente dalla scelta dei dispositivi sensoriali in dotazione al robot. Si tenga presente, ad esempio, che la "massa" fa si che questo debba necessariamente "sentire" le forze agenti su di esso e che, per questo, non possono mai essere ignorate.

Le azioni eseguite dall'agente possono avere l'effetto di modificare lo stato del mondo che non è automaticamente osservato, seppure parzialmente, dal robot; questo perchè è sempre necessaria l'esecuzione di un'appropriata azione percettiva la quale, attraverso il proprio apparato sensoriale lo traduce in grandezze osservabili.

Dunque, l'azione percettiva ha l'effetto di modificare la rappresentazione dello stato del mondo all'interno dell'agente consentendogli di selezionare l'azione più opportuna per conseguire il risultato voluto. Si può dire, allora, che l'agente è dotato di un repertorio P1, P2,..., Pm di azioni percettive e a1, a2,..., an di azioni attuative che, nel loro complesso, costituiscono gli elementi base delle sue abilità sensomotorie.

L'azione percettiva Pi è definita come risposta al "riconoscimeto che un certo evento Ei si è verificato" in maniera tale che se un aspetto dello stato del mondo è descritto da B'i, allora tale descrizione deve modificarsi in B''i. Tutto ciò si traduce in quanto segue

when Ei do begin
if B'1 then B'1 -> B''1;
if B'2 then B'2 -> B''2;
...
if B'r then B'r -> B''r;
end
Se ne conclude che le azioni percettive non sono altro che procedure mirate di revisione della conoscenza il cui effetto è quello di modificare la descrizione dello stato del mondo Br, precedentemente l'ultima percezione, al nuovo stato Bs successivo la suddetta percezione. Si vede, allora, che la percezione attiva può essere descritta da

{p & Ei & Br} Pi(r) {p & Bs}
{q & Bk} ak {q}

impiegando il ben noto schema classico per il quale l'esecuzione di una qualsivoglia azione del pianificatore è controllata dalla guardia delle precondizioni e determina la validità delle postcondizioni. Per completezza, nella tabella precedente è stato riportato anche lo schema dell'azione attuativa.

Il termine p esprime la condizione di persistenza dell'azione percettiva per cui, quando p diventa falso significa che tale azione non è più disponibilite o necessaria. Il termine q, analogamente, indica le condizioni di default che devono essere soddisfatte per l'applicabilità dell'azione attuativa.

Si può allora verificare abbastanza facilmente che, al di la di ogni motivazione epistemologica, lo schema reattivo rilegge l'implementazione del pianificatore classico in modo da eliminare tutta la parte di manipolazione di simbolica in esso presente.

Infatti, invece, di realizzare un sistema di pianificazione "general purpose" si osserva che nell'insieme degli elementi sensomotori che appaiono nella suddetta tabella, si possono identificare alcuni che si riferiscono allo stesso sottoinsieme di precondizioni {B'1, B'2, ..., B's}. Si sostituisca alle rappresentazioni simboliche B'i le etichette Si, ottenendo la funzione di transizione di stato di un automa a stati finiti FSA. Si associ, infine, per ciascun Si la corrispondente azione attuativa ai.

Così facendo si è ottenuta la descrizione di un particolare comportamento che, in base alla sua definizione ordinaria, è un metodo ben specificato che consente al robot di raggiungere o mantenere un certo obiettivo.

Proseguendo allo stesso modo si ottengono i vari comportamenti del robot il quale, poichè non impiegherà più il pianificatore per raggiungere l'obiettivo assegnato (comportamento emergente) deve necessariamente servirsi di un modulo ad hoc per combinare l'azione dei vari moduli comportamentali (arbitro).