Informatica per le discipline umanistiche 2 - lezione 1 1.pdf · Non cʼè lezione: mercoledì 12...

43
Informatica per le discipline umanistiche 2 - lezione 1 -

Transcript of Informatica per le discipline umanistiche 2 - lezione 1 1.pdf · Non cʼè lezione: mercoledì 12...

Informatica per

le discipline umanistiche 2 - lezione 1 -

[email protected] cs.unibg.it/verdicch/idu2.html

Orariomercoledì 16-18 2S giovedì 9-11 2S

30 oreInizio: 5 ottobre 2011Fine: 14 dicembre 2011

Non cʼè lezione:mercoledì 12 ottobremercoledì 9 novembre giovedì 10 novembre giovedì 17 novembre mercoledì 7 dicembre giovedì 8 dicembre

Ricevimento:mercoledì 10-12Donizetti piano -1 [email protected]

Modalità dʼesame: esame scritto

parte A – questionario (13/20)parte B – 2 domande (5/10)

Indicazioni bibliografiche e

materiale didattico sul sito del corso

Informatica per

le discipline umanistiche 2

Il titolo del corso sembra appoggiarsi sullʼipotesi che lʼinformatica fornisca un supporto alle discipline umanistiche.Innanzitutto accertiamoci del fatto che vi sia un supporto, e poi cerchiamo di capire di che tipo di supporto si tratta.

Jonathan Franzen

Lo scrittore americano, diventato famoso a livello mondiale col suo terzo romanzo “Le correzioni”, ha di recente pubblicato “Libertà”, la cui uscita è stata accompagnata da unʼintervista con Time Magazine, di cui segue un brano.

Franzen works in a rented office that he has stripped of all distractions. He uses a heavy, obsolete Dell laptop from which he has scoured any trace of hearts and solitaire, down to the level of the operating system. Because Franzen believes you can't write serious fiction on a computer that's connected to the Internet, he not only removed the Dell's wireless card but also permanently blocked its Ethernet port. "What you have to do," he explains, "is you plug in an Ethernet cable with superglue, and then you saw off the little head of it.”

Time Magazine, agosto 2010

A giudicare dalle sue parole, lʼinformatica sembra essere più una distrazione dalla letteratura che un supporto alla letteratura. Eppure Franzen ha usato un computer per scrivere il suo romanzo, e non una macchina da scrivere o carta e penna.Diamo una rapida occhiata al momento e al personaggio storico che vengono visti come lʼinizio dellʼinformatica come la conosciamo oggi, pur dovendo riconoscere meriti a molti che hanno contribuito nel passato e hanno reso possibile tale inizio.

Alan Turing

Alan Turing, matematico inglese nato nel 1912, è universalmente considerato il padre dellʼinformatica. In realtà ci sono stati altri studiosi prima di lui, ad esempio Babbage, che avevano già lavorato alla costruzione di macchine calcolatrici, ma il contributo di Turing è stato talmente importante che i suoi articoli scientifici vengono riconosciuti come il punto dʼinizio di questa disciplina. Turing era anche un crittografo, e ha fornito un contributo fondamentale alla decifrazione dei codici segreti usati dai Nazisti durante la II guerra mondiale.

Nellʼarticolo del 1936 “On computable numbers with an application to the Entscheidungsproblem”, Turing descrive non una macchina calcolatrice fisicamente costruita o un progetto di costruzione di una tale macchina, bensì un modello astratto (chiamato da allora “Macchina di Turing”) che descrive il funzionamento di un apparato molto semplice ma generale, ossia in grado di eseguire tutte le operazioni matematiche che normalmente un essere umano esegue con carta e penna. Lo scopo di Turing era quello di fornire una dimostrazione di principio del fatto che le operazioni matematiche sono automatizzabili.

La macchina di Turing comprende: 1) Un sistema di controllo che può trovarsi in uno tra diversi stati. Il numero di possibili stati è finito.2) Un nastro infinito diviso in celle, ciascuna delle quali può contenere un simbolo di un alfabeto qualunque. Lʼinfinitezza del nastro rappresenta la possibilità di trovare sempre nuovo spazio dove scrivere e conservare informazioni.3) Una testina di lettura e scrittura che può leggere il simbolo nella cella in cui la testina si trova, oppure scrivere un simbolo nuovo. La scrittura è una sovrascrittura: se cʼè già un simbolo nella cella esso viene sovrascritto.

La macchina di Turing funziona seguendo una sequenza di comandi. Tutti i comandi hanno la stessa seguente struttura:se ti trovi nello stato q, e la testina si trova in un cella con un simbolo s, allora scrivi il simbolo sʼ, muovi la testina col movimento mʼ, e passa al nuovo stato qʼ.Un movimento della testina consiste in una delle seguenti possibilità:1) spostamento alla cella subito a sinistra dellʼattuale;2) spostamento alla cella subito a destra dellʼattuale;3) nessuno spostamento: la testina rimane sulla stessa cella.

Computer. La macchina di Turing appare come uno strumento molto semplice, ai limiti del rudimentale. Risulta difficile immaginare che sia la base su cui sono costruiti i computer come li conosciamo noi oggi.Va detto che ai tempi di Turing la parola “computer” aveva un significato diverso da quello di oggi.

La parola “computer” designava in origine una persona che computa, che fa di conto, similmente a “player” che vuol dire “giocatore”, o “speaker” che vuol dire “parlante”, “oratore”.

La persona che fa di conto con carta e penna in figura (la calcolatrice è fuori luogo e deve essere ignorata) è il modello che ha ispirato Turing nella costruzione della sua macchina. Lo scopo iniziale era quello di avere una descrizione formale delle operazioni matematiche, per poi indagare sulle possibilità di automatizzarle. Ai tempi di Turing, comunque, non cʼera ancora la tecnologia per realizzare il computer come lo conosciamo noi.

Intelligenza?

In un altro suo articolo, “Computing machinery and intelligence” del 1950, Turing, a suo modo un grande visionario, spinge in avanti il discorso, considerando la possibilità non solo di poter effettivamente costruire macchine calcolatrici basate sul suo modello, ma anche di poterle utilizzare per automatizzare operazioni sempre più complesse, tali da far assumere alle macchine di Turing un comportamento che si potrebbe definire “intelligente”.

Il gioco dellʼimitazione.

Definire il concetto di “intelligenza” è tuttʼaltro che semplice, perché sotto il cappello di questo termine possiamo far rientrare numerose capacità e facoltà degli esseri umani, anche molto diverse tra di loro (ad esempio, saper fare rapidamente le moltiplicazioni, saper leggere le emozioni sui visi delle persone, saper gestire unʼimpresa commerciale).Tale complessità era ben nota anche a Turing, il quale ha infatti ribadito di voler fare unʼindagine sullʼintelligenza (e sulla potenziale intelligenza delle sue macchine) solo da un punto di vista molto ristretto e ben delimitato, che egli ha descritto col gioco dellʼimitazione.

La figura illustra il gioco dellʼimitazione nella sua forma originale.C è la “cavia”, ed è separato da A (un uomo) e B (una donna) da uno schermo, che non gli permettere di vederli né di sentirli: C comunica con loro tramite messaggi scritti. C sa che oltre lo schermo ci sono un uomo e una donna, e il suo scopo è quello di capire, per mezzo di una serie di domande, chi sia lʼuomo e chi sia la donna. Lo scopo di A è quello di ingannare C, e infatti risponde cercando di imitare una donna nelle sue risposte, mentre lo scopo di B è quello di far capire a C la verità. Turing propone di considerare intelligente quella macchina che, messa al posto dellʼuomo A, riesce a ingannare C un numero pari o superiore di volte rispetto ad A.

Turing stesso ha proposto una variante del gioco, che nel corso degli anni si è diffusa molto più della versione originale, entrando nellʼimmaginario collettivo in maniera più profonda, motivo per cui è oggi nota col nome di “versione standard”.C è anche questa volta la cavia, e sa che oltre lo schermo ci sono un computer e un essere umano che dialogano per iscritto con lui. Il computer ha lo scopo di farsi passare come essere umano, e di fare credere a C che B è una macchina che si finge umana, mentre B deve far capire a C la verità. Viene considerato intelligente il computer che riesce nei suoi intenti.Notate come la versione standard sia molto meno equa della versione originale nei confronti del computer. Nella versione originale lo scontro è tra un uomo che deve fingersi qualcosa che non è (una donna) e un computer che ancheʼesso deve fingersi qualcosa che non è (di nuovo, una donna). Nella versione standard, invece, lo sforzo della finzione è tutto a carico del computer, visto che lʼessere umano non deve fare altro che essere se stesso (senza distinzione di sesso).

La visione di Turing ha avuto un enorme impatto sulla nascente disciplina dellʼinformatica, e molti studiosi si sono imbarcati nellʼimpresa di studiare i diversi aspetti dellʼintelligenza umana e di descriverli in una maniera tale da renderli automatizzabili ed eseguibili su una macchina calcolatrice modellata su quella originariamente proposta da Turing, con eventuali migliorie e sofisticazioni.Questa branca dellʼinformatica prende il nome di “intelligenza artificiale”, e si è sviluppata dagli anni ʻ50 in poi.Nonostante i grandi sforzi e nonostante i risultati anche notevoli ottenuti nel corso degli anni (“Spirit”, il robot che autonomamente ha esplorato il terreno di Marte è forse lʼesempio più eclatante), ancora non si è riusciti a catturare con una macchina lʼaspetto dellʼintelligenza che le permette di dialogare con noi come un essere umano.Cerchiamo ora di capire quali sono le difficoltà che si incontrano in questa impresa.

Proviamo a seguire il percorso inverso rispetto a quello di Turing: anziché far imitare gli esseri umani alle macchine, proviamo a metterci nei panni di una macchina calcolatrice che ha il compito di dialogare con gli esseri umani, ossia di padroneggiare almeno quanto noi il linguaggio che usiamo per comunicare. Ecco un esempio dalla mensa.Dovessimo seguire fedelmente quanto scritto (come ci immaginiamo faccia una macchina governata da comandi ben precisi), ci dovremmo sentire in obbligo di prendere due tovaglioli, e dovremmo considerare le persone con un solo tovagliolo o addirittura senza tovaglioli come dei trasgressori.Ovviamente questo non avviene nella realtà, ma perché?

Lʼassurdità di unʼipotetica situazione del genere ci appare immediatamente ovvia, eppure se vogliamo metterne nero su bianco le motivazioni le cose non sono così immediate.Da esseri umani nati e cresciuti nel contesto in cui viviamo, siamo abituati a dare per scontato un numero enorme di informazioni che sono necessarie perché il significato dellʼavviso sui tovaglioli sia chiaro: si possono prendere al massimo due tovaglioli perché i tovaglioli sono fatti di carta e la carta viene fatta col legno degli alberi e dobbiamo preservare gli alberi perché ci aiutano ad assorbire lʼanidride carbonica presente nellʼaria emessa dai mezzi di trasporto e dalle industrie, inltre gli alberi svolgono un ruolo fondamentale nellʼequilibrio dellʼecosistema etc etc…Queste informazioni, necessarie per un dialogo “normale” tra esseri umani o tra esseri umani e macchine, possono essere date per scontate tra persone che provengono dallo stesso contesto, ma devono essere specificate tutte per poter istruire unʼentità che non conosce tale contesto (un bambino piccolo oppure una macchina di Turing, ad esempio).

Ecco un altro esempio dalla mensa. Se devo uscire dallʼedificio per andare a lezione, non mi trovo forse in un caso di necessità? Dovrei in teoria sentirmi perfettamente legittimato a usare la porta con la manigli antipanico. Eppure tutti gli studenti e i docenti presenti hanno usato lʼuscita principale.

Il problema del buonsenso.

Quello del buonsenso (o “common sense” in inglese) diventa un problema nel momento in cui devo fare un elenco esaustivo di tutta lʼinformazione che lo compone per poter istruire in maniera adeguata una macchina di Turing per poterla considerare intelligente secondo il gioco proposto da Turing stesso.

Hubert Dreyfus

Il problema del buonsenso è stato già più e più volte affrontato in passato, senza che si fosse trovata una soluzione soddisfacente.Di seguito riportiamo un esempio ben più illustre di quelli della mensa, proposto dal filosofo Dreyfus, professore presso lʼUniversità di Berkeley in California.

Today was Jack's birthday. Penny and Janet went to the store. They were going to get presents. Janet decided to get a kite. "Don't do that," said Penny. "Jack has a kite. He will make you take it back."

Il significato del breve racconto appare chiaro ai nostri occhi, ma provate a controllare quante cose abbiamo dato per scontato e che non sono esplicitamente dette nel testo. La seguente lista non ha affatto la pretesa di essere completa.1) I regali si comprano nei negozi 2) I compleanni si festeggiano con regali 3) Janet e Penny vogliono comprare un regalo per Jack4) Jack non vuole avere due aquiloni 5) Jack farà riportare indietro lʼaquilone nuovo, non quello vecchio 6) Lʼaquilone sarà riportato indietro al negozio dove è stato acquistato

La stanza cinese.

Lʼimpresa che Turing aveva prospettato sembra quindi trovare un ostacolo davvero difficile da superare, forse addirittura insormontabile, nella necessità di dover specificare interamente il mondo di consocenze che sostiene gli esseri umani quando comunicano tra di loro.Ma cʼè chi ha prospettato uno scenario ancora più buio, almeno dal punto di vista della possibilità di avere macchine intelligenti, cercando di dimostrare che non solo non saremo in grado di insegnare il contesto della vita umana alle macchine, ma che anche il significato delle parole con cui noi descriveremmo questo contesto è di fatto una realtà non accessibile alle macchine. Vediamo come questo enorme limite è stato paventato con lʼesperimento della cosiddetta “stanza cinese”.

John Searle

La “stanza cinese” è un esperimento mentale (Gedankenexperiment, in tedesco), ossia non è un esperimento scientifico nel senso classico del termine, in cui dei dispositivi sono stati usati in un laboratorio per verificare una teoria. Si tratta bensì del frutto del pensiero del filosofo Searle, che nellʼarticolo “Minds, brains, and programs” del 1980 ha illustrato a parole una situazione immaginaria, ma non assurda e in teoria realizzabile, per dimostrarci la sua tesi.

La stanza cinese funziona come segue.Bisogna immaginare di avere una stanza chiusa, con dentro una persona (ad es. John Searle stesso) che ha tutto quanto necessario alla sopravvivenza (cibo, acqua, aria, etc), e che non conosce la lingua cinese. Dallʼesterno la stanza appare come un grande cubo, con solo una tastiera cinese su una parete, e una fessura sulla parete opposta, da cui possono uscire dei fogli. La tastiera permette a una persona esterna alla stanza che conosce il cinese di immettere delle frasi nella lingua. La tastiera è collegata con un monitor allʼinterno della stanza che visualizza gli ideogrammi digitati sulla tastiera. Searle, pur non conoscendo il cinese, ha a sua disposizione un manuale che gli indica, per ogni sequenza di ideogrammi sul monitor, unʼaltra sequenza di ideogrammi che lui deve prelevare da uno schedario e mandare verso lʼesterno della stanza attraverso la fessura. Pur non capendo niente di cinese, seguendo il manuale Searle risponde alle frasi sul monitor, e se il manuale è scritto bene, la persona allʼeterno della stanza avrà lʼimpressione che la stanza sappia parlare il cinese, insomma che si tratti di una stanza cinese.

Che cosa vuol dimostrare Searle con lʼesperimento della stanza cinese? Che è possibile creare un sistema automatico di dialogo in una certa lingua (proprio come aveva proposto Turing nel suo articolo) senza però che vi sia comprensione delle parole di tale lingua. Di fatto, il Searle dellʼesperimento continua a non capire il cinese e ad appoggiarsi sul manuale allʼinterno della stanza, ed essendo lʼunico essere vivente allʼinterno di essa, se non capisce lui il cinese, sicuramente nientʼaltro presente nella stanza può farlo. Il suo punto è: se anche dovessimo riuscire a scavalcare lʼenorme ostacolo della formalizzazione del buonsenso per poter dialogare (di fatto, tutto il contesto comune alle persone che parlano cinese dovrebbe essere scritto nel manuale allʼinterno della stanza) e realizzare il sogno di Turing, comunque non staremmo assistendo a un fenomeno paragonabile allʼaspetto linguistico dellʼintelligenza umana, dal momento che il Searle nella stanza non capisce la lingua cinese, nonostante sia parte di un sistema che riesce a dialogare in tale lingua.

Qui si va di male in peggio: non solo sembra impossibile descrivere tutte le conoscenze che abbiamo che ci rendono in grado di dialogare, ma a quanto pare se anche un giorno si riuscisse a costruire una macchina in grado di dialogare con gli esseri umani, essa non sarebbe caratterizzata dallʼintelligenza che gli esseri umani usano per parlare.Innanzitutto una precisazione: lʼesperimento mentale di Searle continua a suscitare critiche e polemiche, e se molti lo ammirano per questo modo di presentare la questione, non sono pochi quelli che non lo ritengono valido (ad es. dicono che il manuale non può esistere, e che quindi una delle premesse del suo ragionamento è falsa, oppure dicono che se anche Searle non capisce il cinese, il sistema Searle + stanza lo capisce, etc. etc.)Se però abbassiamo le nostre mire, e non pretendiamo di voler definire oppure ricreare lʼintelligenza, può darsi che riusciamo comunque a lavorare con i computer di oggi senza incappare nei problemi teorici e nelle polemiche che abbiamo visto sinora.Basandoci sul modello astratto delle macchine di Turing, non possiamo vedere i computer come delle macchine costruite per lavorare con i segni (gli stessi segni che sono presenti sul nastro di una macchina di Turing, sul monitor nella stanza cinese, sul monitor del vostro portatile).

Segni. Comʼè lavorare con dei segni di cui non si conosce il significato?

犬 赤 道�Allʼinterno della stanza cinese.

Significati.

Che cosa vogliono dire quei segni?

Sbagliato.

Informatica per

le discipline umanistiche 2

Però, a pensarci bene, nella slide precedente non cʼè un cane vero e proprio, ma una rappresentazione di un cane, per di più fatta per mezzo di un programma di un computer (in questo caso, Microsoft PowerPoint). Se anche Searle ha ragione, e non riusciremo mai a creare significato allʼinterno del computer, abbiamo la prova concreta nella slide precedente del fatto che si riesce comunque a trasmettere del significato (in questo caso, lʼidea di “cane”) per mezzo del computer. Allora, forse, cʼè un modo di sostenere le discipline umanistiche per mezzo dei computer e dellʼinformatica.

Strumenti per elaborare segni

(simboli). Se vediamo i computer come degli strumenti per lʼelaborazione automatica di segni, e lasciamo la briga di associare a tali segni un significato agli esseri umani che usano i computer, forse non realizzeremo il sogno di Turing, ma magari riusciamo comunque ad aiutare delgi umanisti nel loro lavoro (come ad esempio lo scrittore Franzen).Attenzione: spesso useremo il termine “simbolo” al posto di “segno”, perché tradizionalmente in informatica si parla di “elaborazione simbolica” e non di “elaborazione dei segni”.

8 simbolo simbolo

Questa è una semplificazione introdotta dagli informatici, che ignorano la grande differenza che cʼè, ad esempio, tra il leone, che è simbolo di coraggio, forza, maestà, etc. etc. e un semplice segno come la cifra ʻ8ʼ (che a sua volta può acquistare valore simbolico in determinati contesti).Questa, però, non è una colpa grave: abbiamo ben visto quanto difficile sia inglobare i significati negli strumenti utilizzati dagli informatici, quindi è quasi naturale che in informatica non si faccia distinzione tra simboli e segni.

Strumenti per elaborare simboli

Studieremo quindi lʼinformatica come la disciplina che si occupa delgi strumenti per lʼelaborazione automatica di simboli.

Strumenti per elaborare simboli

Vedremo quali sono i simboli con cui si tende a lavorare in informatica.

Strumenti per elaborare simboli

Vedremo che cosa si intende per elaborazione.

Strumenti per elaborare simboli

E vedremo, cercando di non scendere troppo nei dettagli tecnici, come sono fatti questi strumenti.