Il Progresso Scientifico Dell'informatica
Il Progresso Scientifico Dell'informatica
Il Progresso Scientifico Dell'informatica
in prospettiva laudaniana
Marco S. N.
matr. ...
1 ottobre 2010
Indice
1 Cos’è l’informatica 2
2 L’informatica teorica 5
3 Il connessionismo 9
4 L’intelligenza artificiale 13
5 L’interazione uomo-macchina 16
1
2
1 Cos’è l’informatica
Computer Science is no more about
computers than astronomy is about
telescopes
Edsger Wybe Dijkstra
Dopo gli studi teorici di Turing e Gödel negli anni ’30 sulla realizzabilità
di macchine elementari in grado di effettuare calcoli e sui limiti delle loro
capacità, si crearono aree di ricerca incardinate sulle proprietà del calcolo
automatico, sull’analisi degli algoritmi [2], lo studio dei linguaggi di pro-
grammazione [3] [4] [5], e cosı̀ via. Ecco quindi emergere una nuova gamma
di problemi da risolvere, per usare la terminologia laudaniana, inizialmente
tutti di natura logico-matematica: la computer science (il nome in inglese è
più sincero sulla natura più intima della disciplina) plasmata da Turing, per
via del suo formalismo, ha fornito un solido punto di partenza incardinato
su rigore e determinismo: l’informatica teorica.
Nello spazio che segue non effettuerò una disamina della disciplina in-
formatica in sè, ma cercherò di entrare più nello specifico delle criticità
epistemologiche e filosofiche delle quattro aree appena introdotte.
5
2 L’informatica teorica
The idea behind digital computers
may be explained by saying that
these machines are intended to
carry out any operations which
could be done by a human
computer
Alan Turing
La macchina di Turing è alla base anche della cosidetta teoria della com-
plessità che rappresenta la tradizione imperante nell’analisi delle performan-
ce. Per dirla “a là Kuhn”, siamo in una fase di scienza normale per quanto
concerne l’evoluzione dell’analisi degli algoritmi: i programmi vengono intesi
sequenziali, deterministici, e si sfrutta il formalismo della MdT per valutare
con precisione i costi asintotici in funzione della dimensione dell’input.
Questo è stato per lungo tempo quello che Laudan definisce problema
insoluto, ovvero non risolto da alcuna teoria o modello ipotetico, all’interno
della tradizione di ricerca sui sistemi operativi. Gli scienziati si sono dun-
que concentrati sulla sua risoluzione pratica, conclusasi con l’introduzione
di primitive come i mutex, che han richiesto un’interessante regressione del
problema fino ad un livello “atomico”: è necessario che l’hardware collabori,
consentendo a un solo processo l’accesso ad una regione critica ed, eventual-
mente, la sua alterazione. La strategia funziona, ma ci si può domandare cosa
succeda se il filosofo mangione non rilascia la sua forchetta. Come garantire
che l’accesso sia fair, ovvero che a turno tutti i filosofi riescano a desinare?
Ancora una volta, dotare i processi di buona educazione è escluso. Attual-
mente ci si aspetta il verificarsi di due condizioni: il programmatore fa un
uso corretto delle primitive per la concorrenza e il sistema operativo tiene
a mente i pasti dei filosofi, cercando di servire tutti in maniera equa. Ov-
viamente, i due aspetti sono ortogonali tra loro e possono anche entrare in
conflitto. Esistono poi teorie completamente diverse (come la presenza di un
processo-arbitro che sorvegli situazioni di blocco, il dialogo tra i filosofi per
accordarsi tra loro eccetera), ma ognuna ha punti di forza e debolezze: sono
i problemi che Laudan definisce anomali, ovvero non risolti in maniera defi-
nitiva da una teoria, su cui c’è ancora margine di lavoro e che non spingono
all’abbandono dei diversi modelli.
dibattito sul fatto che sia o meno equivalente a quella dei problemi polino-
miali (P).
3 Il connessionismo
The brain is a computing machine
connected with a spirit
Kurt Gödel
Alcune delle risposte cui si è giunti sollevano quelli che Laudan defini-
sce problemi concettuali esterni al mondo scientifico, in particolare del tipo
riconducibile alla nostra visione del mondo. Se ammettiamo che il pensiero
10
Tornando allo scopo della ricerca connessionista, essa come detto voleva
indagare i meccanismi neurologici; considerata l’oggettiva difficoltà di effet-
tuare studi non invasivi sui cervelli di esseri umani, agli scienziati è parsa
ghiottissima l’opportunità, con la nascita dell’elettronica prima e dell’infor-
matica poi, di riprodurli artificialmente e studiarne i meccanismi [18]. Il pri-
mo modello fu proposto dai ricercatori McCullogh e Pitts nel 1943 [19] ed
era fondamentalmente un combinatore lineare: i segnali elettrici dagli al-
tri neuroni sono rappresentati da valori numerici reali e il neurone “spara”
un numero a sua volta se la somma di tali valori supera una certa soglia.
Nonostante l’estrema semplificazione rispetto la realtà biologica, tale unità
logico-matematica si dimostrò comunque in grado di svolgere semplici com-
piti, tra cui l’emulazione di porte logiche. Dunque, se un singolo neurone di
McCullogh-Pitts era in grado di svolgere compiti basilari, un neurone umano
probabilmente può fare altrettanto.
3
Ovvero in cui una retta separa nettamente gli elementi di un insieme sul piano delle
possibilità.
11
Nascono poi nuove concezioni di rete neurale, come le reti ricorrenti (ov-
vero con connessioni ad anello) [23] e le macchine di Boltzmann [24]; queste
ultime si basano su una analogia con la termodinamica: la rete viene lasciata
evolvere fino a dei punti di equilibrio partendo da una configurazione caotica
dei pesi. Il raggiungimento della stabilità avviene simulando il “raffredda-
mento” della rete, con la tecnica detta della simulated annealing (tempratura
simulata).
che nella rete ce ne sono altri con cui condivide un certo tipo di caratteristi-
che. Quando attiviamo i neuroni delle proprietà del nostro individuo, questi
andranno a contribuire all’attivazione delle unità nascoste che a loro volta
attiveranno i neuroni relativi alle informazioni mancanti e dedotte su base
induttivaÀ.
Viceversa, una grossa critica dai connessionisti puri alla AI è questa: l’ar-
chitettura di Von Neumann, e in particolare l’esecuzione sequenziale di dati
immagazzinati separatamente al processore centrale, non può ricreare alla
perfezione i meccanismi cerebrali. Il nostro apparato nervoso è organizzato
in decine di miliardi di piccoli processori paralleli (cioè i neuroni), del tut-
to asincroni tra loro, fortemente interconnessi. Questa differenza è notevole,
significa che nel cervello l’unità di elaborazione e di immagazzinamento non
sono separati, ovvero “dati” e “programmi” sono la stessa cosa. Dunque, i
modelli funzionali della scienza cognitiva, in cui la mente è vista come un
elaboratore “monolitico” di dati, non hanno alcuna plausibilità anatomica e
neurofisiologica [26].
4 L’intelligenza artificiale
The question of whether Machines
Can Think... is about as relevant as
the question of whether
Submarines Can Swim
Edsger Wybe Dijkstra
Una delle critiche mosse a Turing fu l’obiezione teologica: Dio ha dato l’in-
telligenza solo all’uomo. Non agli animali, non alle macchine, tantomeno ai
4
Douglas Hofstadter [31] scrive nel suo libro Gödel, Escher, Bach: ¿i calcolatori sono
(...) gli esseri più rigidi, privi di desideri e ubbidienti che ci siano, (...) sono l’essenza
stessa della inconsapevolezza. Come può allora essere programmato un comportamento
intelligente? Non è questa la più appariscente delle contraddizioni in termini?À
16
L’altra forte obiezione che gli venne mossa è di origine filosofica, già an-
ticipata in precedenza: noi non possiamo assumere che i processi mentali
siano deterministici, perché altrimenti non avremmo libero arbitrio. Hofstad-
ter paragona tale attività azione (stimolo) / reazione (processo mentale) ad
una pallina che rotola da una collina sassosa: ¿compie delle scelte? Credo
tutti diremmo di no, che non potrebbe percorrere un’altra strada ed è sem-
plicemente spinta avanti dalle inesorabili leggi della naturaÀ[31]. Ma allora
il nostro pensiero è inesorabile? Si parte con una configurazione cerebrale
iniziale che viene modificata dall’esperienza e dall’apprendimento, ma su cui
non possiamo esercitare alcun controllo? La sensazione è che non sia cosı̀, ma
questa stessa sensazione è generata, all’atto pratico, dalla fisica che avviene
nei neuroni. Due sono le soluzioni: affermare che la mente ha un’origine oli-
stica (cioè che va oltre la composizione delle sue parti) oppure che la fisica
non è totalmente deterministica (e il principio di indeterminazione di Hei-
senberg sembra fornire una via di fuga in tal senso, sebbene se la sua valenza
in questo ambito sia tutta da dimostrare).
5 L’interazione uomo-macchina
I have always wished for my
computer to be as easy to use as
my telephone; my wish has come
true because I can no longer figure
out how to use my telephone
Bjarne Stroustrup
necessario costruire un qualche artefatto per raggiungere uno scopo (ad esem-
pio, la selce tagliare la carne) la tendenza è sempre stata quella di renderlo
più efficiente e facile da usare (dunque più tagliente e con una impugnatura
più adeguata alle caratteristiche della nostra mano).
Finché siamo noi stessi a fabbricare gli oggetti, è evidente che li faccia-
mo quanto più possibile conformi alle nostre esigenze; il problema dell’u-
sabilità emerge quando la realizzazione avviene da parte di un progettista
che non è necessariamente l’utente finale. Costui potrebbe essere tentato a
dar fondo alle proprie estrosità artistiche o alle più recondite fantasie sul
suo funzionamento, o più banalmente essere un incapace, perdendo di vista
la soddisfazione dell’utente finale. Questo tipo di problemi ha dato vita ad
autentici mostri ingegneristici, completamente inutilizzabili quando non dan-
nosi per l’integrità fisica dell’utilizzatore [32] e ha ingenerato un filone teorico
chiamato - appunto - usabilità, che ha perfino una definizione ISO ben preci-
sa: ¿l’efficacia, l’efficienza e la soddisfazione con le quali determinati utenti
raggiungono determinati obiettivi in determinati contestiÀ. Se il contesto è
ristretto ai calcolatori si parla di human-computer interaction (HCI o inte-
razione uomo-macchina). In realtà, questa disciplina si compone anche di un
discorso parallelo sull’accessibilità, che non verrà affrontato in questa sede
non essendo particolarmente interessante dal punto di vista epistemologico.
Il principio della HCI è che esistono due dimensioni fondanti nello svilup-
po di un sistema interattivo: la complessità funzionale e quella strutturale[33].
Un esempio classico di sistema molto semplice sotto i due aspetti è la già ci-
tata selce: ha una sola funzione (tagliare), assolutamente autoevidente, e ha
una complessità interna pari a zero. Al contrario uno smartphone di ultima
generazione ha entrambi i valori fuori parametro: tantissime funzioni, tantis-
sima complessità interna.
ristiche perché ¿gli utenti tendono ad essere confusi dalle troppe funzioniÀ5 .
Questo approccio portò ad una feroce polemica nell’ambiente *nix quando Li-
nus Torvalds, l’inventore di Linux, annunciò di esser passato dalla interfaccia
desktop GNOME a KDE e che avrebbe consigliato a tutti di fare altrettanto
perché quest’ultima non toglieva all’utente delle funzionalità per rendergli
la vita più semplice: ¿se il programmatore pensa che gli utenti siano idioti,
allora solo gli idioti useranno il suo softwareÀ. Come dargli torto. In parti-
colare, fece notare la differenza tra il programmare codice “facile da usare”
e codice “che può esser solo facile da usare”, dicendo che nel primo caso si
è in presenza di una curva di learning poco ripida, mentre nel secondo la
curva è bassa perché non c’è nulla da imparare. La chiosa finale fu spietata:
¿GNOME sembra dirti: quando hai finito di imparare non chiedere altro,
perché non ti serve. Ma non è cosı̀À. Ignorance is not bliss, per il finlandese.
Con raggiungere uno scopo si intende che l’utente è soddisfatto dei risul-
tati e non ha riserve su quanto ha ottenuto e sul modo. Se i risultati non
sono quelli attesi, who’s to blame? E’ colpa dell’utente che ha frainteso le
indicazioni o è il software a presentare ambiguità?
Spunti per una soluzione son provenuti dalla psicologia della Gestalt [34],
una teoria incardinata sulla nostra percezione della realtà. Molta della sua
teoria è stata trasportata nella HCI, perché ben si presta allo sviluppo di
interfacce intuitive che conducano l’utente per mano lungo l’esecuzione.
non si scorgono al momento idee più efficaci: nella tradizione di ricerca della
HCI rimane la più quotata, e tanto basta.
problemi empirici;
problemi concettuali.
anomali (non sono stati risolti da una particolare teoria, ma son stati
risolti da altr in competizione con essa).
21
L’ultima classe, quella dei problemi anomali, era ritenuta pericolosa dagli
empiristi logici come Popper; una teoria con problemi anomali era da consi-
derarsi indegna di considerazione. Per Laudan, la storia della scienza insegna
che alcuni scienziati hanno appoggiato tout court teorie piene di anomalie e
ne hanno abbandonate altre in cui ve n’erano poche. Questo è spiegabile solo
se ¿non è tanto il numero delle anomalie a contare, quanto la loro importanza
cognitivaÀ; viene naturale introdurre quelli che definisce gradi di minaccia
epistemica.
Riferimenti bibliografici
[1] Philippe Dreyfus. L’informatique. Addison-Wesley Professional, 1962.
22
[14] Carl Adam Petri. Kommunikation mit Automaten. Bonn: Institut für
Instrumentelle Mathematik, Schriften des IIM Nr. 2, 1962.
[17] John R. Searle. Minds, brains, and programs. Behavioral and Brain
Sciences, 3(03):417–424, 1980.
[18] Paul Churchland & Terence J. Sejnowski. Rappresentazione neurale e
computazione neurale. Sistemi Intelligenti, 1(2):177–212, 1989.
[19] F. Hoppensteadt. Weakly Connected Neural Networks. Springer-Verlag,
Berlin, 1997.
[20] F. Rosenblatt. The perceptron: a probabilistic model for information
storage and organization in the brain. Psychological Review, 65(6):386–
408, 1958.
[21] V. N. Vapnik and A. Ya. Chervonenkis. On the uniform convergence of
relative frequencies of events to their probabilities. Theory of Probability
and its Applications, 16(2):264–280, 1971.
[22] Corinna Cortes and Vladimir Vapnik. Support-vector networks.
Machine Learning, 20:273–297, 1995. 10.1007/BF00994018.
[23] Marcello Frixione. Appunti su reti neurali e connessionismo. Technical
report, Department of Communication Sciences, University of Salerno,
2009.
[24] Geoffrey E. Hinton & Terrence J. Sejnowski. Analyzing cooperative
computation. Technical report, 5th Annual Congress of the Cognitive
Science Society, Rochester, NY, 1983.
[25] Thomas S. Kuhn. The Structure of Scientific Revolutions. University
Of Chicago Press, 1996.
[26] Marcello Frixione. Appunti su reti neurali e connessionismo. Technical
report, Department of Communication Sciences, University of Salerno,
2009.
[27] Alan M. Turing. Computing machinery and intelligence. Mind, 59:433–
460, 1950.
[28] Russell Bertrand. La filosofia dell’atomismo logico. Einaudi, 2003.
[29] Ludwig Wittgenstein. Tractatus Logico-Philosophicus (Routledge
Classics). Routledge, 2001.
[30] John McCarthy. Some philosophical problems from the standpoint of
artificial intelligence. Technical report, Computer science department,
Stanford University, 1969.
24
[34] Ernst Mach. Beiträge zur Analyse der Empfindungen. G. Fischer, 1886.