Marcello Sala

AUTOMI BOOLEANI AD ANELLO

E ALTRI AUTOMI

- pubblicato in-   

NTE COMPUSCUOLA

n. 48 / 1990

Jackson

 

Dice il fisico Fritjof Capra [1]:

   <<Oggi sta diventando evidente che un'insistenza eccessiva sul metodo scientifico e sul pensiero razionale, analitico, ha condotto ad atteggiamenti che sono profondamente antiecologici. In verità la comprensione di ecosistemi è ostacolata dalla natura stessa della mente razionale. Il pensiero razionale è lineare, mentre la consapevolezza ecologica sorge da una comprensione intuitiva di sistemi non lineari. Una fra le cose più difficili da capire nella nostra cultura è il fatto che, se si fa qualcosa che è buono, una quantità maggiore della stessa cosa non sarà necessariamente migliore. Questa è per me l'essenza del pensiero ecologico.>>

   La questione sollevata è per me esistenziale, per due motivi: il primo è che personalmente sono convinto che nella crisi ecologica attuale, intendendo il termine "ecologico" nel senso più ampio, sia in gioco la sopravvivenza del pianeta, o almeno della specie umana sul pianeta, e il secondo è che sono un educatore, cioè sono in qualche misura responsabile del tipo di pensiero con cui le nuove generazioni affrontano la vita.

PENSIERO ECOLOGICO

   L'aspetto di questo problema che interessa in questa sede può essere condensato in una domanda: la scienza e la tecnologia del computer sono una espressione forte di quel pensiero lineare, di quel paradigma scientifico che da Cartesio e Newton in poi ha dato forma all’epistemologia dominante della civiltà occidentale e che ci ha trascinato sull’orlo della crisi finale? Una risposta affermativa vuol dire per me porre la contraddizione tra una mia ricerca svolta in questi anni sull’informatica a scuola e le nuove finalità che la crisi attuale pone al mio lavoro di insegnante.

   Prima però di concludere in tal senso, vorrei esplorare due possibilità. La prima assume il computer come strumento in un certo senso "neutro", o meglio "modellabile", e sposta l'accento sui contenuti di una attività didattica svolta attraverso l'uso del computer: ecco allora il filone del software di argomento ecologico, che propone giochi, simulazioni, integrazione di informazioni, strumenti di analisi.

   La seconda possibilità è quella di verificare se la flessibilità del computer trascende i confini del pensiero che l'ha generato. In altre parole: è possibile usare il computer per un lavoro che costruisca frammenti di pensiero ecologico, che dia un minimo spazio germinale a quella che viene identificata come "epistemologia della complessità"?

   La ricerca che propongo trae spunto da interventi di F.J. Varela e di H.Atlan [2] in cui gli autori ripropongono gli orientamenti di Wiener, il padre della cibernetica. L'interesse di Wiener era rivolto alle macchine che avessero attività finalizzate (riflessi, controlli, autoregolazioni); la cognizione per lui era un'azione autonoma autocreatrice; le sue "macchine" erano sistemi autonomi determinati dall’interno, organizzati con chiusura operazionale, basata sulla coerenza e capace di produrre un mondo.

   Questa impostazione risultò storicamente perdente rispetto a quella di Von Neumann, che proponeva lo sviluppo di meccanismi booleani in grado di calcolare qualunque problema avesse soluzione e venisse presentato nel loro linguaggio. Egli era orientato alla ricerca di procedimenti universali per risolvere problemi ed era convinto che la cognizione fosse fondamentalmente un'attività di problem solving (sia per l'Intelligenza Artificiale che per i sistemi viventi) in cui la nozione centrale è quella del trattamento delle informazioni. Il suo interesse era rivolto a sistemi eteronomi, determinati dall’esterno, con una organizzazione del tipo input/output e operazioni basate sulla corrispondenza. Idee queste che hanno dato origine alla scienza del computer quale oggi conosciamo come dominante.

   Rifarsi all’orientamento di Wiener significa, secondo Varela recuperare dall’oblio l'aspetto autonomo e produttore di senso degli esseri viventi, cioè derivare modelli cibernetici di autoorganizzazione per gli organismi viventi capaci di rendere ragione delle loro capacità di adattamento al cambiamento, di creazione di significati. Sono modelli capaci di reagire a perturbazioni casuali con una riorganizzazione che consenta l'emergenza di nuove proprietà (strutture o comportamenti); aspetti che, come si vede, hanno un eccezionale interesse nell’ambito del pensiero ecologico.

MATERIALI PER UNA RICERCA

   Nel lavoro che sto conducendo in una prima media il computer viene utilizzato sia come strumento di riproduzione visiva e sonora sia come "scatola di montaggio" di automi.

Funzioni binarie (booleane) sull’insieme {0,1}

   Il concetto centrale è quello di "automa booleano ad anello (ABA)". Un automa booleano è una macchina capace di assumere due stati. Un anello booleano è una sequenza lineare chiusa di automi booleani in cui ogni automa cambia il proprio stato in dipendenza dallo stato dei due automi adiacenti secondo una delle 16 funzioni di Boole.

L'anello funziona "in parallelo" cioè tutti gli automi cambiano stato contemporaneamente calcolando lo stato successivo a partire dagli stati attuali degli automi adiacenti.

   Il software utilizzato comprende:

un generatore di ABA con possibilità di perturbazioni ambientali

un generatore di ritmi lineari grafici

un generatore di ritmi sonori

un codice di corrispondenza suono-grafica

una "macchina di Ashby" programmabile

una "macchina di Boole" programmabile

fig. 1   ABA a 15 elementi

funzione booleana Þ (implicazione) per tutti gli elementi

   La scelta di LOGO come linguaggio di programmazione, oltre ad essere imposta dalla mia ignoranza di altri linguaggi, è giustificata dalla sua "trasparenza"        cioè dalla possibilità di "andare a vedere" con i ragazzi le procedure significative, di ritrovarvi descritto in modo intelleggibile il funzionamento dell’automa.

   Quello che traccio qui è solo uno dei percorsi che è possibile costruire con questo materiale.

   La prima proposta può essere semplicemente quella di giocare con gli ABA. Una volta scelta la lunghezza dell’anello, cioè il numero di automi che lo compongono, il primo stato dell’anello viene generato casualmente e compare sullo schermo sotto forma di una sequenza rettilinea di segni binari (idealmente l'ultimo automa a destra si ricollega con il primo a sinistra); sotto la prima sequenza compaiono quelle successivamente generate, costruendo delle tessiture grafiche (fig. 1). Ciò che si verifica è che l'ABA, dopo una prima fase che comprende un numero variabile di stati successivi, si stabilizza su strutture periodiche.

fig. 2   ABA a 15 elementi

funzione booleana

diversa per ogni elemento

   In questa fase non si chiede neppure ai ragazzi di ipotizzare il funzionamento dell’automa; tuttalpiù si può condurre una osservazione globale sulle dinamiche di sviluppo dell'ABA; e si può introdurre il lavoro sui ritmi, chiedendo loro di identificarne la ciclicità (ogni quanti anelli ricomincia la successione delle sequenze) (fig. 2). Una diramazione interessante è la ricerca delle relazioni tra lunghezza dell’ABA (numero di automi per anello), il periodo di stabilizzazione e la ciclicità.

   Lo sviluppo del lavoro consiste nell’affrontare separatamente le due componenti dell’esperienza precedente: quella visibile dei ritmi, quella sottostante della logica di generazione di un anello dal precedente.

PERCORSI

   Nel lavoro sui ritmi il concetto di ritmo si presenta nella sua forma più semplice, che sfrutta l'isomorfismo tra una sequenza lineare di due tipi di segni grafici e la sequenza temporale di due tipi di suoni. Il software, che introduce il codice di corrispondenza suono-segno grafico, semplicemente produce ritmi lineari a partire dalla definizione di un modulo, ovvero gestisce interattivamente sotto forma di gioco l'individuazione del modulo a partire dalla visione e/o dall’ascolto di un ritmo composto dalla ripetizione di un certo numero di moduli.

   Il lavoro sui meccanismi degli automi invece può utilizzare le "macchine di Ashby", scatole nere in cui è possibile, introducendo un dato numerico, osservare il corrispondente dato in uscita. Ciò che si propone ai ragazzi è di fare e verificare ipotesi sul funzionamento della macchina prevedendo le uscite. Una macchina di Ashby "banale" può ad esempio limitarsi a raddoppiare il dato in entrata, ma è possibile incontrare macchine che, ad esempio moltiplicano x 2 se il dato in ingresso è pari e moltiplicano x 3 se è dispari. L'identificazione risulta molto più difficile per il salto di livello e non per la difficoltà del calcolo. Una diramazione di questo lavoro è quella che utilizza le funzioni che operano su sequenze di segni come l'inversione e la traslazione, o le permutazioni. In questa direzione si può proseguire con la composizione di funzioni semplici. Il computer in questo caso serve a generare ingressi e corrispondenti uscite secondo certe progressioni di difficoltà combinate con la casualità e a verificare se la funzione individuata dall’utente è quella corretta.

   Quando i ragazzi hanno formulato l'ipotesi e ritengono di averla verificata sulle uscite previste, si va a vedere con loro nel "cuore" dell’automa la procedura che utilizza la funzione, e, se è quella ipotizzata, si chiede loro di modificarla per riproporre il gioco ai compagni.

   Dalle macchine di Ashby a quelle di Boole il passo può essere quello di macchine di Ashby a funzione binaria, cioè con due dati numerici in ingresso e uno in uscita, a partire dalle familiari operazioni aritmetiche.

   Con le macchine di Boole il lavoro consiste sempre nell’individuare la tabella della funzione, con un salto di difficoltà insito nella novità dell’operazione non aritmetica. Uno sviluppo interessante può essere allora quello di cercare di definire a parole il funzionamento della macchina e la strada è aperta per una ricerca sui modelli linguistici o logico-formali di tali funzioni e sui loro isomorfismi.

   Nella fase seguente del lavoro si può tornare agli automi ad anello per conseguire un controllo sul loro funzionamento. L'esperienza può essere fatta con modelli viventi degli automi booleani in cui una serie di ragazzi seduti in cerchio con in mano una carta a due facce rappresenta l'ABA: ogni ragazzo deve calcolare, in base alla propria tabella di funzionamento e al segno delle carte dei ragazzi seduti di fianco, il valore che dovrà assumere la propria carta. Si può partire con una uniformità delle funzioni booleane per ognuno degli automi, per passare ad una loro diversificazione individuale. Se si dispongono in linea le sedie mantenendo però le relazioni di contiguità per il calcolo, si riporta la situazione a quella rappresentata sullo schermo.

   Quello che si può chiedere ai ragazzi è di prevedere lo sviluppo dell’ABA e ciò introduce all’ultima fase, che possiamo definire come una verifica dei limiti del determinismo meccanicistico verso una coscienza della complessità. Le capacità di previsione dei tempi di stabilizzazione o della lunghezza dei cicli infatti si rivelano del tutto inadeguate già con anelli di pochi elementi; la ragione non sta solo nella complicazione quantitativa dei calcoli, ma nell’emergere di significati nuovi e imprevisti dalle dinamiche di sviluppo dell'ABA.

fig. 3  ABA a 3 elementi

funzione booleana OR (disgiunzione inclusiva) per tutti gli elementi

   Ciò è ancor più evidente se si introduce l'elemento casuale sotto forma di "perturbazione". La perturbazione è presente nell’ambiente come segnale booleano che interferisce nel calcolo dello stato dell’automa che la incontra (fig. 3). Ciò che avviene è che l'ABA esce dal ciclo per poi stabilizzarsi su un ciclo diverso (fig. 4/5). L'osservazione di queste dinamiche porta i ragazzi non certo a "comprendere" il fenomeno nelle categorie analitiche del "nostro" pensiero scientifico, ma a farne esperienza.

   Ciò che i ragazzi hanno sotto gli occhi è un modello di organizzazione capace di modificarsi da sé, di creare dei significati imprevisti. E questa è la condizione minimale per parlare di autocreazione di significati. Autoorganizzazione significa permettere al caso di acquisire significato, a posteriori e in un determinato contesto di osservazione. Da un lato una certa quantità di indeterminazione (il caso) nella fabbricazione e nell’evoluzione del modello consente alla novità di avere un suo ruolo. Dall’altro lato il ruolo dell’osservatore e del contesto nella definizione del significato permette alla novità di non essere caos ma di acquisire eventualmente un significato a posteriori, in un determinato contesto e per questo contesto.

fig.4  ABA a 3 elementi

funzione booleana AND (congiunzione) per tutti gli elementi

fig. 5   ABA a 3 elementi

funzione booleana AUT (disgiunzione esclusiva) per tutti gli elementi

   Un osservatore esterno potrebbe attribuire all’ABA intenzionalità, perché ogni processo di creazione di significato osservato in maniera globale dall’esterno sembra essere presieduto da intenzionalità. Ma la barriera causale/ intenzionale non sta nelle cose in sé. L'intenzione si trova nel significato che noi diamo alle cose (interpretazione) e il significato è prodotto dall’osservazione degli effetti funzionali delle cose.

   Attribuire intenzionalità dove c'è significato funzionale ci fa ricadere nello spiritualismo, mentre non riconoscerla, a causa del metodo di analisi riduzionista, ci riporta al meccanicismo. Imparare a sfuggire all’uno e all’altro mi sembra un contributo ad un pensiero ecologico.

 



[1]  Fritjof Capra, Il punto di svolta, Feltrinelli 1982.

[2]  Francisco Varela, Complessità del cervello e autonomia del vivente, in Bocchi G. e Ceruti M., La sfida della complessita, Feltrinelli 1985.

   Henri Atlan, Complessità, disordine e autocreazione del significato, in Bocchi G. e Ceruti M., La sfida della complessita, Feltrinelli 1985.