“Loren Ipsum” di Carlos Bueno Carlos Bueno, ingegnere informatico, esperto di linguaggi di programmazione, ci mostra quanto sia affascinante il mondo dell’informatica e, più in generale, della creatività umana. Chi ha amato Alice nel suo fantastico viaggio nel Paese delle Meraviglie, non potrà non amare Loren, che ci guida alla scoperta di Userland. Questo libro – tra gli altri – ha un grande pregio: è già un laboratorio in sé. Contiene tutto, dalla narrazione (avvincente e ricca di colpi di scena) ai contenuti specialistici che si trovano in Appendice (il Manuale di Userland, che consiglio vivamente di consultare dopo ogni capitolo). Senza dimenticare gli esercizi, che si trovano in abbondanza. Qual è la grande differenza, oggi, tra uomo e macchina? Mano a mano che l’intelligenza artificiale imparerà ad inventare problemi e soluzioni di sua iniziativa, otterremo sempre di più un sistema di euristica. In questo piccolo percorso creativo, mi permetto di soffermarmi su due aspetti e sulle rispettive differenze: l’algoritmo da una parte e l’euristica dall’altra. A volte si ritiene che, concepire un’idea, significhi in parte trovarla, in parte inventarla. Il verbo greco eurìskein significa sia inventare che trovare. Ovvero, per concepire un’idea, 1 bisogna da una parte ricavarla dalla tradizione (cioè dal passato), dall’altra presentarla in maniera nuova e originale. Pertanto: 1)Recupero della tradizione 2)Confutazione 3)Combinazione e sostituzione (nascita della nuova idea) Lo studio dell’euristica ha fini pratici: la risoluzione di problemi di ogni tipo, anche quelli che “banalmente” affrontiamo ogni giorno. Si tratta quindi della ricerca di un metodo. Che tipo di ragionamento offre l’euristica? Esempio: Colombo e i suoi compagni di viaggio, mentre veleggiano verso occidente, vedono uno stormo di uccelli e si sentono rinfrancati. “La terra non può essere troppo lontana”, pensano. Ragionamento: 1)Quando ci si avvicina alla costa, spesso si vedono uccelli in volo 2)Adesso si vedono numerosi uccelli in volo 3)È plausibile la supposizione che la terra sia vicina Il ragionamento euristico NON è dimostrativo, ma ci avvicina a un certo grado di credibilità. L’algoritmo, invece, è un procedimento che risolve un problema attraverso una serie di passaggi elementari. Per quanto possa sembrare banale (ma non lo è!) anche una ricetta in fondo è una specie di algoritmo. L’algoritmo deve avere passaggi semplici e non ambigui. Quindi l’algoritmo, come procedimento di risoluzione di un problema, necessita di input, ovvero dati precisi e chiari. Tutto ciò per arrivare all’output, la risposta finale. Perché una macchina non può guarire una persona malata? Perché eseguire una diagnosi perfetta è quasi sempre impossibile: mancano infatti input precisi (l’interpretazione dei sintomi). PROBLEM SOLVING 1° ESEMPIO Luca prende il sole in spiaggia, e dopo pochi minuti vede arrivare una ragazza incantevole. È sola. Anche lui è solo. L’idea di attaccare bottone gli passa subito per la testa. La ragazza porta in spalla uno zaino piuttosto grande, dal quale estrae un grande telo, circa due metri per due. Poi, nell’ordine: i racchettoni per il tennis da spiaggia, una piccola borsa frigo, un thermos, un 2 mazzo di carte e un libro di puericultura. A quel punto, rassegnato, Luca chiude gli occhi e torna a prendere il sole. Per quale motivo? Qual è l’incognita? La ragazza ha un fidanzato? Luca pensa di si. Ma può affermarlo con certezza? Quali sono i dati che ha a disposizione? (Ciò che la ragazza ha nello zaino: racchettoni, borsa frigo, thermos, mazzo di carte, libro). 2° ESEMPIO Un uomo primitivo deve attraversare un torrente, ma non può tentare di passarlo a guado come fa di solito, perché la pioggia, caduta abbondantemente durante la notte, ha paurosamente innalzato il livello dell’acqua. Ecco che l’attraversamento del torrente diviene l’oggetto di un problema; “attraversare il torrente” è l’incognita x del problema iniziale. Quell’uomo si ricorda, ad un tratto, di avere superato altri corsi d’acqua camminando sul tronco di un albero caduto di traverso fra le due rive opposte; allora si guarda attorno, alla ricerca di un comodo albero abbattuto, che diviene la nuova incognita, y. Lungo i margini del torrente si elevano moltissime piante dal grosso fusto, ma nessuna di esse giace a terra sradicata; il nostro uomo primitivo, logicamente, vorrebbe abbatterne una. Come è possibile farne cadere una attraverso il torrente? Ecco una nuova idea, un nuovo problema , una nuova incognita: in che modo lanciare un tronco tra le due rive opposte? Questa sequenza di idee potrebbe dirsi analisi. Se riuscirà a condurre a termine questa analisi, quell’uomo potrà essere considerato l’inventore del ponte e della passerella. Quale sarà poi la sintesi? La traduzione in atto delle idee. L’ultimo stadio della sintesi sarà camminare sul tronco gettato tra le acque del torrente. Quali sono le caratteristiche del problem solving? 1)L’interpretazione e 2)La decodificazione Fasi della risoluzione a)Comprendere il problema b)Scoprire i legami tra ciò che si cerca e ciò che abbiamo a disposizione (conoscere le informazioni di cui disponiamo) c)Procedere con un piano di risoluzione d)Esaminare il risultato ottenuto e verificarlo. Verificare ogni passaggio ed essere sicuri di averlo capito Pensando ad un lavoro in classe, qual è il ruolo dell’insegnante in tutto questo procedimento? Guidare la classe attraverso una serie di suggerimenti ad hoc. 3 Ad esempio (domande dell’insegnante): -E’ noto un problema connesso con questo? -Qual è l’incognita? Si rifletta sull’incognita. Ci si sforzi di ricordare qualche problema precedentemente risolto avente la stessa incognita oppure un’incognita analoga. -Si può enunciare il problema in altra forma? Se non si riesce a risolvere il problema proposto, si tenti di risolvere prima qualche problema connesso con questo. -Si è fatto uso di tutti i dati? E’ stata considerata l’intera condizione? Una proposta di laboratorio: inventiamo un gioco. Una nuova versione del gioco dell’oca (ad esempio). L’invenzione di un gioco è una forma di euristica. Secondo il filosofo E. Cassirer, “il gioco serve a preparare azioni future, pertanto ha un valore propedeutico.” Per Huizinga, invece, “il gioco è un’azione fine a se stessa, accompagnata da un senso di tensione e di gioia, e dalla coscienza di essere diversi dalla vita ordinaria.” Perché si inventa? Perché l’unica alternativa all’invenzione è la ripetizione e la ripetizione uccide l’iniziativa dell’intelligenza. 4