Macchina di Turing, Dialogo Interno e Senso di Colpa

Macchina di Turing

Premessa

Più volte, in questo blog, ho sottolineato come il linguaggio di programmazione sia stato edificato sul modello di funzionamento del nostro cervello e oggi intendo fornirne un esempio concreto.

Diverso tempo fa, fui attratto da un testo dal titolo: C++ Tecniche di Programmazione di H. M. Deitel & P. J. Deitel (Ed. Apogeo). All’epoca avevo, già da un paio d’anni, iniziato a interessarmi ai linguaggi informatici grazie (ahimè) a VBA, acronimo di Visual Basic for Applications, ossia un ibrido partorito da Microsoft e dedicato alla scrittura di codice di programmazione esclusivamente riservato agli applicativi del pacchetto Office (Word, Excel e Access).

Devo ammettere che, grazie a tali accrocchi, iniziai ad approcciare la scrittura di codice di programmazione leggermente più serio, mi riferisco a Visual Basic (VB), linguaggio (ormai defunto da tempo) anch’esso di proprietà di Microsoft.

Tuttavia, fu solo con la  scoperta di C++ e della c.d. programmazione orientata agli oggetti (OOP) che, non solo rivoluzionai il mio modo di scrivere codice,  ma riuscii a vedere con estrema chiarezza come e quanto tale stile di programmazione fosse derivato in modo immediato e diretto dai meccanismi che stanno alla base del funzionamento del cervello umano.

La macchina di Turing (MdT)

La macchina di Turing e descrivibile come segue:

  • È una macchina che manipola dati;
  • Tali dati giungono ad essa in modo continuo (modo reso dall’immagine di un nastro di lunghezza infinita);
  • La manipolazione dei dati in entrata (input) avviene secondo un insieme di regole predefinite (interne alla macchina);
  • Per ciascun dato, o insieme di dati, la macchina può (o non può) fare qualcosa (ciò dipende dalle regole predefinite nel senso proprio che se, ad esempio, la macchina elabora in modo nativo dei valori numerici, è chiaro che non saprà che fare con valori che numerici non sono).

Ora, questo modello così fortemente astratto, sta alla base di ciò che abbiamo definito programmazione orientata agli oggetti. Pensate a una scatola dentro la quale passa un nastro sul quale sono scritte coppie di numeri interi e che, per ciascuna coppia, essa esegua una somma aritmetica, restituendone il risultato. Ebbene, in informatica una scatola simile prende il nome di funzione. Funzione che, in C++, si concreta nella seguente formulazione:

int somma( int a, int b)

{

                return a + b;

}

Il costrutto è molto semplice e leggibile nel seguente modo:

  • int è il tipo di dato restituito dalla funzione (un numero intero);
  • somma è il nome della funzione che sarà invocata quando necessario dal programma principale (main);
  • (int a, int b) sono i due numeri interi da sommare e che sono passati alla funzione dalla main;
  • return a + b è il corpo della funzione (che sta fra parentesi graffe) e che, di conseguenza, determina il risultato (output) restituito al chiamante (sempre la main).

Di seguito riporto un esempio molto semplice di una main che invoca la funzione  appena descritta:

Invocazione di Funzione
Figura 1: Invocazione di funzione

Ebbene, confermo che il linguaggio di programmazione ricalca in modo fedele il funzionamento del cervello umano.

In specifico, il programma principale (main) è proprio dell’Io Osservatore (IO), ossia di quell’istanza di origine animica che, al risveglio, si identifica con il brain stesso (Ego) e che si spegne con l’entrata nel sonno. L’ubicazione dell’IO durante l’intero periodo di veglia, quindi, è precisamente l’ipofisi o, come si legge nel Mistero del Fiore d’Oro (Lu-Tzu), il luogo fra gli occhi ed è qui che, sempre in costanza del periodo di veglia, si succedono numerose main. Si pensi, ad esempio, a Tizio che, appena sveglio, compie una serie di atti dettati da un’abitudine derivante da anni di reiterazione dei medesimi: minge, si lava i denti, il viso, si rade, si pettina, si veste e fa colazione. Ebbene, quanto descritto è solo la prima main che caratterizza la giornata di Tizio, ossia una procedura principale la quale, per giungere a compimento, invocherà numerose funzioni (oggetti), a partire da quella che gli permette di vuotarsi la vescica senza bagnare i bordi della tazza o il pavimento, sino a quella che gli permetterà di calibrare la giusta quantità di zucchero da aggiungere al suo caffè.

Terminata questa procedura principale, se ne apre immediatamente un’altra e poi un’altra, sino al successivo addormentamento. Ad esempio, può senz’altro accadere che, passando dal giornalaio, a Tizio (che in tal caso si presume scolarizzato) si presenti il problema specifico di sommare due numeri interi. In un caso simile, Tizio anzitutto contestualizza il problema (dichiarazione e valorizzazione delle variabili) e, di conseguenza, invoca la funzione neurale deputata a tale risoluzione. Infine, visualizza il risultato dentro la specifica main attiva in quella circostanza.

Ora, premesso che anche la predetta fase di contestualizzazione del problema si vale di funzioni specifiche (che in neuroscienze prendono il nome di memoria di lavoro ma che, in realtà, sono solo funzioni dedicate tutte attivate dal focus attentivo), la cosa interessante è che una simile manovra si compie assai velocemente, al punto che nello stesso esempio proposto in Figura 1, le fasi di invocazione, soluzione e visualizzazione del risultato sono comprese nella stessa riga di codice. E questo, in effetti, è ciò che accade normalmente qualora l’individuo si trovi a confronto con problemi molto semplici da risolvere quali la somma di due interi. Tuttavia, si consideri che, almeno per la maggioranza delle persone, sommare due numeri ciascuno dei quali sia, per esempio, composto da dieci cifre diverse fra loro comporta un significativo aumento della complessità e, quindi, la necessità di invocare altre funzioni. Funzioni che, nella migliore delle ipotesi, prevedano l’ausilio di un foglio di carta e una matita, nella peggiore, l’uso di una calcolatrice.

Tuttavia e in ordine a ciò che qui rileva, il meccanismo di base non cambia giacché lo schema decisionale, che farà optare Tizio per la matita o la calcolatrice, si compie comunque in frazioni di secondo. E questo è un fatto davvero decisivo per spiegare la formidabile inerzia di ciò che va sotto al nome di Dialogo Interno (DI).

Dialogo Interno

Specificando che più le funzioni sono semplici e astratte, meglio lavorano (in altre parole, possono essere usate per un numero indefinito di casi simili nel medesimo codice o in codici diversi che saranno scritti in futuro … in tal caso e in informatica, si parla di portabilità del codice, nel caso del cervello umano di capacità cognitive), quel che un brain solitamente espone è una congerie sterminata di Macchine di Turing (MdT), ossia ciò che sul Filo indichiamo come macchine neurali o, anche, parco golemico.

Come affermato altrove, infatti, il brain fisico è propriamente descrivibile come un insieme di funzioni, tutte capaci di accedere in modo specifico ai banchi di memoria residenti nel Doppio Mnestico. Ne consegue che l’IO in stato di veglia è immerso in un oceano sconfinato di MdT le quali, da creature meccaniche quali sono, ripetono all’infinito sempre e soltanto la sola cosa per la quale sono state create.

Ora, se il tutto si fermasse qui, il DI non sarebbe un grande problema giacché una volta terminata una main, il sistema si ritroverebbe in uno stato di quiete (silenzio interiore). In sostanza, vivremmo in un mondo di santi yogi (penso che ciascuno sia ben consapevole che così non è). Ebbene, il motore che sollecita senza tregua l’IO immerso nel parco golemico è la nostra Parte Immortale tramite i coaguli monadici che abbiamo definito Nuclei Alogeni.

Ciò che accade, quindi, è che ciascun NA produce pulsioni le quali si qualificano diversamente in base ai centri (rettile, emotivo, logico) che le processano. Si tratta del fenomeno di ibridazione delle pulsioni approfondito nel lavoro dal titolo Dialogo Interno e che qui non cade di riprendere. Ciò che, però, dovrebbe apparire chiaro è come, presenti tali irriducibili impulsi, l’IO sia costretto a generare di continuo nuove main le quali, a loro volta, invocheranno funzioni d’ogni tipo e dimensione, giacché il brain è così: una macchina totalmente reattiva. La cattiva notizia, però, è che le cose non sono affatto così semplici.

Il Senso di Colpa (SdC)

A suo tempo, pubblicai un lavoro specifico sul Senso di Colpa. Lavoro che non rinnego in alcun modo ma che, con il senno di poi (del quale, as always, son piene le fosse), mostra limiti che intendo qui superare.

Ebbene, ciò che va chiarito con decisione è che il Senso di Colpa appartiene all’IO e non all’Ego. L’Ego è nulla più di una macchina biologica, un accrocchio che, per quanto complesso e potente, è incapace di andare oltre la propria meccanicità. Di conseguenza, non ha alcuna possibilità conferire un senso alla colpa, piuttosto che al piacere così come alla sofferenza. Chi soffre, gode, piange o ride è sempre e solo l’IO, mentre il brain (l’Ego) resta solo il mezzo che consente tale esperienza. Tuttavia, se la sofferenza, così come la gioia o il piacere sono un frutto esperito dall’IO rispetto agli effetti dell’attività neurale, la colpa preesiste a qualsiasi altra cosa poiché appartiene alla Coscienza Creatrice e, di conseguenza, alla nostra parte Immortale che di tale Coscienza è un frammento.

Se, dunque, a ciò si unisce la velocità con la quale i golem (o MdT) reagiscono a ciascuna invocazione da parte della main di turno, diviene evidente perché sia così difficile per l’IO spegnere o anche solo controllare il Dialogo Interno o, detta diversamente, disidentificarsi dall’Ego. Se, infatti, da una parte l’IO è immerso nelle tempeste ormonali scatenate dalle pulsioni animiche, dall’altro conosce un ostacolo atroce proprio nel SdC che è insito in lui e che deriva, come descritto più volte, dall’incapacità di comprendere ciò che va descrivendo.

Di conseguenza, l’invocazione di funzioni neurali, scatenata dalle pulsioni animiche, si salda al SdC in una micidiale combinazione di eventi neurali e di colpa immanente che, nella quasi totalità dei casi, impedisce al singolo IO di riconoscere la drammatica diversità che intercorre fra se stesso e la prigione dentro la quale è tenuto, ossia il brain fisico, condannandolo a un’esistenza profondamente meccanica e schiacciata da un Dialogo Interno semplicemente insopprimibile.

Per questo motivo l’Agguato (1 e 2) è l’unica leva capace di disidentificare l’IO dall’Ego, perché agisce su due fronti nel medesimo tempo: su quello meccanico (il parco golemico), destrutturando le macchine una alla volta e, su quello animico, sganciando l’IO dal Senso di Colpa. Questo perché ridere in faccia alla follia e alla morte equivale a fare a pezzi il SdC e, di conseguenza, a spegnere il Dialogo Interno.

Il fine di tutto ciò? Vedetevi questi due lavori e vi sarà chiaro come la luce del sole a mezzodì: Il Doppio Immortale – Parte I e Il Doppio Immortale – Parte II.

4 Likes