Seconda parte

Fisica e Metafisica

K.R.Popper

 

Il neopositivismo logico nei primi decenni del ‘900 sosteneva  che la Metafisica, esempio assoluto di pensiero non calcolante e non algoritmico, fosse  totalmente insensato  in quanto composto da enunciati non empirici, in nessun modo verificabili.  Il killer ufficiale di questo movimento, Karl Popper, pur essendo d’accordo sul fatto che gli enunciati della Metafisica non possano essere falsificati e siano quindi privi di fondamento scientifico,   non è però d’accordo sul fatto che la Metafisica sia inutile o dannosa.  Facciamo qualche esempio per dimostrare che Popper  aveva ragione.  Zenone di Elea, filosofo quasi-napoletano del  V secolo a.c., per difendere il suo maestro Parmenide sull’ Unicità e Immutabilità dell’ Essere, dimostrò che i ragionamenti degli avversari portavano a paradossi. Lungi dall’essere dei raccontini come spesso vengono presentati, i paradossi di Zenone rappresentano la scoperta dell’Infinito e verranno risolti  solo con la  distinzione chiara e rigorosa delle serie numeriche convergenti rispetto a quelle divergenti. Si parte quindi dalla difesa di un amico e si arriva a scoprire un problema estremamente fecondo  che porterà alla scoperta dell’analisi infinitesimale.  Democrito di Abdera,  anche lui filosofo del  V / IV secolo a.c., proprio per evitare i paradossi di Zenone introdusse la teoria atomica della materia. Non osservò ovviamente alcun atomo ma ci arrivò per via deduttiva e metafisica. Se la infinita divisibilità della materia porta ai paradossi di Zenone, l’ovvia soluzione è pensare che la divisione all’infinito si possa avere solo in matematica ma non in fisica. Qui, prima o poi, si incontrano delle particelle non ulteriormente divisibili, gli atomi appunto.  Quindi la metafisica, in certi casi, lungi dall’essere inutile, si rivela addirittura preziosa. Ridurre il  pensiero a semplice calcolo espunge troppo dalla nostra base conoscitiva e così si perde ciò che è più caratteristico dell’agire umano: la creatività.

Deduzione, induzione, abduzione

Si dice che il ragionamento algoritmico è basato sulla deduzione mentre la scienza si basa sull’induzione. L’abduzione invece, altro meccanismo di ragionamento studiato da Aristotele, è il regno della libertà e della creatività; in quest’ultimo procedimento  ci  si espone al  rischio, all’errore e questo fatto lungi dall’essere un limite finisce per esserne il vero vantaggio in termini di conquista di verità nuove e inaspettate, autentiche rivoluzioni del pensiero.

DEDUZIONE

La deduzione è il ragionamento logico per eccellenza, il sillogismo assolutamente sicuro che però è banale e ci dice veramente poco sul mondo. Tanto è vero che le sue verità vengono spesso definite, non a caso, sterili.

Un esempio è il famoso sillogismo di Aristotele. Tutti gli uomini sono mortali, Socrate è un uomo, quindi Socrate è mortale. Che è del tipo A implica B, ma è vero A, quindi B.

Come risulta dalla tabella di Verità,  si dimostra facilmente che il ragionamento in oggetto è una legge logica, si tratta cioè di un ragionamento valido, cioè sempre vero. Questo ragionamento può essere formalizzato con un algoritmo e ripetuto anche da una macchina. Non ci sono problemi, possiamo fare del buon coding su di esso. Ma come detto è tautologico, non è un processo fecondo. Serve per sistematizzare ma non per scoprire.

INDUZIONE

Il ragionamento induttivo è quello che molti attribuiscono alla scienza (in realtà le cose sono più complicate) e rappresenta una generalizzazione che parte dall’osservazione di un certo numero di casi fino alla formulazione di una Legge. Se faccio cadere dalla torre di Pisa un centinaio di oggetti e osservo che tutti cadono allo stesso modo (magari nel vuoto, la cosa è curiosa perché Galilei poteva solo ipotizzare l’assenza di aria) allora posso concludere che tutti i corpi cadono secondo una certa legge.

In logica questo si esprime in questo modo :

Come risulta dalla tabella di verità, l’induzione non è una legge logica (nella colonna del risultato della tabella di verità c’è una F che sta per falso) ;  ciò significa che l’induzione è vera solo in certi casi, non in tutti.  Si tratta comunque di  un procedimento fecondo, almeno nel contesto della scoperta scientifica,  esso infatti ci permette di allargare la nostra base conoscitiva e di arrivare a pensieri, idee e procedure che  non possono essere fatte in maniera diretta con il solo procedimento deduttivo.

ABDUZIONE

Un esempio è il seguente:

L’autobus è in forte ritardo.  Se c’è molto traffico, allora l’autobus arriva in ritardo, quindi è possibile che oggi ci sia traffico.
Il ragionamento abduttivo è certamente quello meno sicuro,  più esposto al rischio, comunque più vicino al procedimento della nostra intelligenza creativa, tanto che in certi casi procede anche con una   forzatura  delle regole.  Questa forzatura, che si può rivelare  infruttuosa in molti casi, ci può portare tuttavia a grandi scoperte scientifiche. In molti ambiti come le scienze sociali e la medicina, campi nei quali la scienza è tutt’altro che esatta, si procede per tentativi, intuizioni e congetture; in una parola ‘ci si butta’, ce la tentiamo, esattamente come fanno i bambini, che sperimentano, si tuffano, non hanno paura di sbagliare, prima che il mondo degli adulti, con la complicità della scuola, li standardizzi e li riduca ad unità. Il ragionamento abduttivo è la ricerca di un modello che spieghi la realtà, anche quando ci mancano alcuni o molti dati. In certi casi questa procedura ci porta a risultati stupefacenti, come nel caso della mela di Newton o di certe strategie di Galilei, in risposta al cardinale Bellarmino. Prendendo in prestito  le parole del  filosofo, matematico e logico americano C. S. Peirce  possiamo dire che  l’abduzione  ‘ è l’unica forma di ragionamento suscettibile di accrescere il nostro sapere, ovvero permette di ipotizzare nuove idee, di indovinare, di prevedere ’ .

Se questi ragionamenti sono corretti, la domanda che ci dobbiamo porre è la seguente:  vogliamo veramente ridurre l’intero sapere ad algoritmo ? Possiamo pretendere di far fare tutto alle macchine ? Vogliamo veramente mettere in secondo piano le tipologie di ragionamento che si rivelano più feconde ?
Coding, pensiero computazionale,  vari tipi di logica, pensiero critico

Tralasciamo volutamente affermazioni avventate come quelle che sostengono che il coding sarebbe utile per sviluppare l’intelligenza,  concentriamoci invece sulla pretesa identità di coding e pensiero computazionale. Ovviamente la cosa è priva di senso. Gli uomini calcolano da sempre, da tanto tempo prima che comparisse un computer o un linguaggio di programmazione. In questo caso più che scoprire l’acqua calda ci si copre di ridicolo. Esistono molti modi di calcolare, di costruire algoritmi e  il coding è solo l’ultimo arrivato e neanche, a mio parere,  il più interessante. La matematica è pensiero calcolante, fare una torta di mele significa rispondere ad una specie di diagramma di flusso, risolvere con carta e matita una delle leggi logiche enunciate sopra è pensiero computazionale.  Quindi dire che il pensiero computazionale lo si può insegnare solo con il coding è una forzatura totalmente inaccettabile. Possiamo  fare ragionamenti interessanti anche con la filosofia, con la sintassi di un linguaggio naturale o con procedure legate al mondo del lavoro. Mentre ho parecchie riserve circa il fatto che spostando dei blocchetti colorati si possa parlare di pensiero computazionale. Non che alla scuola primaria non si possa insegnare il coding, io la penso come Comenio e come Bruner: si può insegnare tutto a tutti e a qualsiasi età, a patto che si sia in grado di operare le dovute traduzioni nel linguaggio del bambino.   C’è anche un fatto molto pragmatico che mi porta a considerare il coding come un problema secondario. Le persone che sviluppano codice ad alto livello consigliano di studiare matematica, non un  linguaggio di programmazione che è solo strumentale rispetto al ragionamento vero e proprio. La matematica è il coding giusto, che non passa mai di moda. Sembra tuttavia   che abbia il difetto di potersi insegnare senza necessità di acquistare software o hardware,  senza che ci sia bisogno di riconvertire i docenti  della scuola attraverso corsi di formazione di qualche ora e con attestati che sminuiscono  soprattutto chi il coding lo pratica veramente.

Veniamo ad un’altra questione. Sappiamo bene   che non tutto il pensiero è calcolabile, chiediamoci ora se la  logica  matematica  e la stessa matematica lo sono. Chiediamoci se questa forma di pensiero sia un corpus così sicuro e monolitico,  esprimibile in termini di zero ed uno. Vedremo che le cose sono molto più complicate, come ci insegnano  K. Goedel e  A. Turing.

Intanto sappiamo che la logica  classica, basata sugli algoritmi , non è l’unica logica possibile. Nella storia della filosofia, per primo Hegel ha posto l’accento su una logica di tipo diverso, che lui definiva dialettica, dove, lungi dal considerare assurdo il principio di contraddizione,  questo viene anzi considerato come l’unico pensiero in grado di cogliere una realtà processuale fatta di una affermazione e del suo contrario (A e non-A) non  disgiunte ma unite in una unità superiore chiamata sintesi o  Auf-Hebung:  inveramento e superamento della contraddizione, questa volta non espunta ma ammessa.

Se non piace il contesto filosofico possiamo rimanere in quello strettamente logico dove si parla di Fuzzy Logic  o  logica sfumata, dove gli enunciati possono assumere oltre che i tradizionali valori di zero e uno, anche valori intermedi, anche qui intesi come superamento della  granitica e assoluta credenza nei  principi aristotelici di non contraddizione e di terzo escluso. Del resto nell’ambito della stessa logica classica si è scoperto che se si introducono  gli operatori modali ( è possibile che, è necessario che),  ci si trova immersi nei cosiddetti    contesti  opachi  che più che agli algoritmi  rimandano alla filosofia.

In certe occasioni, quando si parla di coding, si fa riferimento anche al fatto che questo svilupperebbe  spirito critico. La cosa mi sembra un tantino avventata. Il coding consente rigore, grande attenzione per il risultato ma non credo che sviluppi la capacità critica e la creatività dei bambini.

Pensiero e Calcolabilità

Abbiamo visto che il coding si considera pensiero  fecondo perché, per il tramite di un linguaggio di programmazione, sarebbe in grado di arrivare all’obiettivo prefissato  con procedura algoritmica    in un numero finito di passi. Chiediamoci, ma tutto il pensiero può essere calcolabile ? La risposta è ovviamente negativa, la cosa sorprendente è che neanche la logica e la matematica sono completamente  calcolabili,  e quindi, ovviamente, men che meno lo può essere un programma di un computer per quel problema. Come  è noto, il programma logicista di Frege e Russell, che prevedeva la riduzione a logica di tutta la matematica, considerando la prima come la struttura della realtà ( gli atomi logici del primo Wittgenstein ), si è dimostrata falsa ed è stata abbandonata dai suoi sostenitori stessi. Come sappiamo, non tutta la matematica è completa (1° e 2° teorema  di Goedel) ed inoltre non tutta la matematica è decidibile (Alan Turing). Più precisamente, nel 1931 il logico  austriaco Kurt Goedel dimostrò  che:

In ogni teoria matematica T sufficientemente espressiva da contenere l’aritmetica, esiste una formula   ф  tale che, se T è coerente,  allora né ф   né la sua negazione non-ф,  sono dimostrabili  in T.
Ciò significa che in  ogni formalizzazione coerente della matematica, capace di esprimere almeno i numeri naturali e le operazioni di somma e prodotto,  esiste una proposizione sintatticamente corretta che non può essere dimostrata o confutata all’interno dello stesso sistema. La matematica e la logica, paradigmi di  rigore, analiticità e algoritmi per eccellenza, sono incomplete. Se questo vale per l’aritmetica, figuriamoci per  il resto del pensiero umano. Il nostro pensiero matematico lungi dall’essere completo e chiuso, risulta invece  aperto e stimolante, dove non tutto è calcolabile e quindi non tutto  è verificabile meccanicamente, considerato che  molte parti  sfuggono agli algoritmi. Si pensi ai numeri transfiniti e ai paradossi degli insiemi autoreferenziali, scoperti dai greci e formalizzati da Russell e  altri. Tutto questo suggerisce che l’operazione di riduzione dell’intero pensiero ad algoritmo meccanico è indebita sia in matematica che in  logica, figuriamoci per il pensiero empirico.

Il ragionamento che sta alla base dei  teoremi di limitazione  di Goedel viene esteso da Turing alle macchine. Da vero ingegnere della conoscenza Alan Turing, dopo aver inventato mentalmente  il primo computer ( la macchina universale ), riesce a dimostrare che esistono problemi che non possono essere decisi da queste macchine, vale a dire problemi che non possono essere decisi in un numero finito di passi  per mezzo di   un algoritmo (1937). La loro indecidibilità non è empirica ma proprio logica; ciò significa che nè oggi, nè un domani potranno essere decidibili e quindi resi formali con un algoritmo.

In considerazione di questi risultati, che cosa  facciamo, rinunciamo  a tutto quello che non è decidibile per la nostra ideologia del coding ? Direi che è molto più facile prendere il coding per il poco che è, specialmente se paragonato a questi che sono veri problemi del pensiero umano.

Quando si dice che il coding serve per ottenere  più facilmente una strategia didattica basata sul problem solving, come la mettiamo con le parti del nostro sapere  in cui la soluzione non esiste ed è logicamente impossibile che esista ?  Non tutto è decidibile, non tutto è risolvibile, non tutto si traduce in algoritmo, ciononostante, noi uomini  viviamo bene lo stesso. Quando proprio non ne possiamo più di ragionamenti troppo astratti, solo sintattici, piuttosto che perderci in un metalinguaggio infinito,  ci diamo un taglio e se il ragionamento ci convince dal punto di vista intuitivo, anche se non ne possediamo la dimostrazione logica, andiamo avanti lo stesso.   Per tornare al nostro problema iniziale, il coding propagandato come nuovo paradigma pedagogico, la novella teoria del tutto didattico, si scontra in maniera radicale con questi risultati che sono acquisiti e conosciuti da molto tempo.

Pensiero convergente e pensiero divergente

Ciò che manca nella scuola di oggi è l’attenzione verso la creatività, non verso il pensiero convergente. Più che coding lancerei un grande progetto per favorire la creatività. In questo sono totalmente d’accordo con sir Ken Robinson: tutti i bambini nascono creativi, poi piano piano la scuola li rende standard e ne inibisce la creatività.

Coding e sviluppo dell’intelligenza del bambino

Senza coding è possibile arrivare al pensiero logico ? Ovviamente si, che si insegni il coding oppure no,  tutti i bambini del mondo, secondo gli studi dell’ epistemologo genetico Jean Piaget  raggiungono dagli 11 ai 13 anni il pensiero formale o logico matematico. Ma se tutti raggiungono lo stadio  dell’intelligenza formale, del pensiero computazionale, a cosa serve il coding ? In termini  di raggiungimento  vero e proprio del pensiero computazionale ne possiamo tranquillamente fare a meno; non nego però che può essere  un  utile strumento per favorire o accelerare uno sviluppo che già c’è (vedi la critica di Bruner a Piaget).
L’importante è ricordarsi che il mondo lì fuori non è quello studiato dal coding, non è  quello interno al computer. Il mondo lì fuori si chiama realtà e viene studiato dalle scienze classiche come la Fisica, la Biologia ed ha come linguaggio di base  e trasversale un coding che non passa mai di moda:  la Matematica.  Una cosetta che è iniziata molto prima del coding e che penso gli sopravviverà. Quando si produce un programma software non è importante tanto la sua traduzione in un linguaggio,  il suo codice.
Importante è studiare e capire la realtà che si vuole tradurre in codice. Se non abbiamo studiato  e compreso a sufficienza questa realtà, il nostro codice sarà inutile. Per capire questa realtà serve studiare proprio questa  realtà che non è semplice, libera da incrostazioni, pulita e perfettamente analitica con nei touch screen. Si tratta di un processo lento, complesso, che rimanda a più saperi, che spesso non sono neanche decidibili o calcolabili. Quindi il coding, se proprio ci deve essere,  viene per ultimo. I progetti che servono sono quelli che ci mettono a posto in matematica e nelle scienze, dove la scuola italiana è molto debole e non certo  quelli sul coding.  Se  i nostri ragazzi hanno difficoltà in  matematica, capiscono poco i concetti scientifici di base, per cosa utilizziamo il coding, per formalizzare in un linguaggio di programmazione moderno la nostra ignoranza ?Se avessi un figlio  piccolo che vuole fare da adulto il programmatore   non lo inviterei a studiare uno qualsiasi dei tanti linguaggi di programmazione, lo  inviterei a studiare Filosofia, Matematica, Fisica, Logica, Arte, Storia, Latino e Greco:  Cultura in generale insomma. Per il coding avrà tempo. Se considerate che i ragazzi che frequentano la scuola primaria  andranno in pensione (ammesso che ci sia  ancora qualcosa come il sistema pensionistico)  intorno al 2060,  vi renderete conto  che in quel tempo, probabilmente,  si studierà  ancora  Fisica, Matematica, Biologia, Filosofia, mentre difficilmente resterà qualcosa di Scratch  o simili.

L'Autore


Luciano Pes
Laureato in Filosofia presso l'Università degli studi di Milano dove ha seguito un indirizzo Logico ed epistemologico, attualmente è docente in un Liceo di Cagliari. Ha maturato un'esperienza trentennale nello sviluppo di programmi software per la didattica costruendo diverse piattaforme. E' presidente del consorzio per la scuola digitale no profit DISCET nonchè fondatore e direttore scientifico del progetto Impari: social learning. Si è occupato di scuola digitale sia a livello istituzionale che in progetti privati.
Vai all'Autore