La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia...

23
La filosofia dell’informatica Temi filosofici dell’informatica 30 marzo 2011

Transcript of La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia...

Page 1: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

La filosofia dell’informaticaTemi filosofici dell’informatica30 marzo 2011

Page 2: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

2

Temi filosofici dell’informatica

“PSC is concerned with philosophical issues that arisefrom reflection upon the nature and practice of the academic discipline of computer science” (SEP)Che cos’è la ‘computer science’?

Meta-attività associata alla programmazioneProgettazione, sviluppo e investigazione dei concetti e delle metodologie che facilitano la specifica, lo sviluppo, l’implementazione e l’analisi dei sistemi computazionali

Il ruolo della filosofiaChiarificazione concettualeImplicazioni per le scelte progettuali

Le connessioni con la filosofiaA livello delle domande più generali (ontologia, etica, epistemologia, filosofia della matematica, della fisica, del linguaggio)A livello delle applicazioni (IA e filosofia della mente, computational science e filosofia della scienza)

SEP (Turner ed Eden 2009)

Page 3: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

3

Temi filosofici dell’informatica

Che cosa sono i programmi? Sono astratti o concreti?Ci sono differenze fra programmi e algoritmi?Che cos’è un’implementazione?Che cosa distingue l’hardware dal software?Che tipo di cose sono gli oggetti digitali?Che cosa significa per un programma essere corretto?Che cos’è l’astrazione nell’informatica?Che tipo di disciplina è l’informatica?Quali sono i ruoli della modellazione matematica e della sperimentazione in informatica?I programmi devono essere considerati come delle teorie scientifiche?Come è usata la matematica nell’informatica?Che cos’è l’informazione?I linguaggi di programmazione hanno la natura di teorie scientifiche?…

Il tipo di problemi

Page 4: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

4

Temi filosofici dell’informatica

Filosofia di X (X = discipline che vanno dalla storia alla scienza)

Filosofia della scienzaFilosofia dell’informatica

La filosofia dell’informatica non è solo filosofia dell’IAProblematiche metafisiche, epistemologiche ed etiche che emergono nell’informatica (non solo nell’IA)La filosofia può essere utile per analizzare criticamente alcuni concetti fondazionali dell’informaticaAlcuni problemi dell’informatica possono contribuire a vedere sotto una nuova luce problemi tradizionali della filosofiaMa che cos’è l’informatica?

Philosophy of Computer Science (Rapaport 2005)

Page 5: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

5

Temi filosofici dell’informatica

Scienza dei computer e dei fenomeni correlati (Newell, Perlis, Simon 1967)Lo studio (e non la scienza) degli algoritmi e dei fenomeni correlati (Knuth 1974)Studio empirico (‘scienza artificiale’) dei fenomeni correlati ai computer (Newell e Simon 1976; Simon 1996)Scienza naturale, ma non dei computer e degli algoritmi bensì delle procedure (Shapiro 2001)Studio dei processi computazionali (Colburn 2004)Non una scienza, ma una branca dell’ingegneria (Brooks 1996)Studio dell’informazione (Hartmanin e Lin 1992)

Che cos’è l’informatica?

Page 6: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

6

Temi filosofici dell’informatica

Enfasi su diversi livelli nelle risposteComputer (hardware)Algoritmi, processi, procedure (software)Informazione

Prospettiva ortogonale ai livelliL’informatica è una scienza oppure qualcos’altro (studio, corpo di conoscenze, disciplina ingegneristica)Variazioni nel nome (computer science, computing science, informatics, computer engineering, informationscience, …)

Livelli e prospettive

Page 7: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

7

Temi filosofici dell’informatica

Scienza, ingegneria o tecnologia?Disciplina tecnologicamente orientata i cui fondamenti sono nella matematica e nell’ingegneriaCampo costantemente in evoluzione, quindi non esistono definizioni staticheNessuna differenza fondamentale fra computer science(informatica) e computer engineering (ingegneria informatica) ma diversa enfasi

Informatica: maggiore enfasi sull’analisi e l’astrazioneIngegneria informatica: maggiore enfasi sull’astrazione e sulla progettazione

“Computing as a discipline” (ACM Educational Board)

Page 8: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

8

Temi filosofici dell’informatica

Teoria: sviluppo di una teoria valida e coerenteCaratterizzare gli oggetti di studio (definizione)Ipotizzare relazioni possibili fra loro (teorema)Determinare se le relazioni sono vere (dimostrazione)Interpretare i risultati

Astrazione (modeling): investigazione di un fenomenoAvanzare un’ipotesiCostruire un modello e fare una predizioneProgettare un esperimento e raccogliere datiAnalizzare i risultati

Progetto (design): costruzione di un sistema per risolvere un dato problema

Stabilire i requisitiStabilire le specificheProgettare e implementare il sistemaTestare il sistema

Paradigmi per la disciplina

Page 9: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

9

Temi filosofici dell’informatica

Nessuno dei tre paradigmi è dominante; ognuno di essi rappresenta aree separate di competenza

La teoria riguarda l’abilità di descrivere e provare relazioni fra gli oggettiL’astrazione riguarda l’abilità di usare queste relazioni per fare predizioni che possono essere confrontate con il mondoIl progetto riguarda l’abilità di implementare specifiche istanze di quelle relazioni e di usarle per compiere azioni utili

Computing è all’intersezione quindi fra teoria, astrazione e progetto

Una disciplina all’intersezione

Page 10: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

10

Temi filosofici dell’informatica

“The discipline of computing is the systematic study of algorithmic processes that describe and transforminformation: their theory, analysis, design, efficiency, implementation, and application. The fundamentalquestion underlying all of computing is, ‘What can be(efficiently) automated?’” (Denning et al. 1989)Radici nella matematica e nell’ingegneria

La matematica impartisce l’analisi; l’ingegneria la progettazione

Disciplina con una sua teoria, un suo metodo sperimentale e una sua ingegneria (diversamente dalle scienze naturali separate dalle relative ingegnerie) Dialettica costante fra il paradigma scientifico e quello ingegneristico

Una definizione

Page 11: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

11

Temi filosofici dell’informatica

Computer come organizzazione di componenti funzionali elementari in cui (molto approssimativamente) solo la funzione svolta da tali componenti ha importanza per il comportamento dell’intero sistemaComputer come oggetto empirico

Per capire un tale sistema è necessario costruirlo ed osservare il suo comportamento

Scienze artificiali come conoscenza riguardante gli oggetti e i fenomeni artificiali

Artificiale in quanto fatto dall’uomoArtefatti non ignorano né violano le leggi naturali, ma adatte agli obiettivi e agli scopi umani

Artefatto come interaccia tra un ambiente interno (materia e modo in cui è costruito) e un ambiente esterno (condizioni in cui opera)

Computer come artefatto (Simon 1996)

Page 12: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

12

Temi filosofici dell’informatica

Gli oggetti artificiali sono sintetizzati dall’uomoL’ingegnere si interessa di come dovrebbero essere le cose per raggiungere certi obiettivi e funzionare

Gli oggetti artificiali possono imitare le apparenze delle cose naturali ma, per uno o più aspetti, non posseggono la realtà di questeGli oggetti artificiali possono essere caratterizzati in termini di funzioni, scopi, adattamentoSpecialmente nella fase della progettazione gli oggetti artificiali vengono spesso discussi in termini prescrittivi oltre che descrittivi

Naturale e artificiale: criteri per la distinzione

Page 13: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

13

Temi filosofici dell’informatica

Le scienze naturali costruiscono modelli per testare ipotesi che spieghino i fenomeniL’informatica, in quanto studio dei processi computazionali, costruisce e manipola modelli non fisici

Un processo computazionale si distingue da altri processi perché è studiato in modi che ignorano la sua natura fisica

L’informatica costruisce modelli computazionali dei processi nella forma di programmi

Questi modelli possono essere testati eseguendo il programma ed osservando il suo comportamentoSu questi modelli si può anche ragionare astrattamente per rispondere a vari tipi di domande

L’unicità dell’informatica (Colburn 2004)

Page 14: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

14

Temi filosofici dell’informatica

Informatica come scienza naturale che studia procedureScienza naturale: branca della scienza che ha a che fare con la materia, l’energia, e le loro relazioni e trasformazioni o con fenomeni oggettivamente misurabiliProcedura: un modo particolare di affrontare la realizzazione di qualcosa (algoritimi come sottoclasse di procedure)

Programma come descrizione di una procedura in un linguaggio formale appropriato per dirigere un computer a compiere la procedura

Informatica come scienza naturale (Shapiro 2001)

Page 15: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

15

Temi filosofici dell’informatica

Le procedure non sono oggetti naturali, ma fenomeni naturali oggettivamente misurabili (in termini di tempo e di risorse)L’informatica è la scienza naturale delle procedureL’informatica quindi è una scienza naturale perché le procedure, sebbene non siano oggetti concreti, sono fenomeni che operano nel mondo naturale da cui sono vincolate

Procedure

Page 16: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

16

Temi filosofici dell’informatica

Distinzioni in termini di procedureDistinzione fra teoria e sperimentazione

Gli informatici teorici studiano i confini delle possibili procedure e le categorie generali di procedureGli informatici sperimentali considerano classi di comportamento, progettano procedure per eseguire questo comportamento e sperimentano le variazioni di queste procedure

Distinzione fra scienza di base e scienza applicataInformatica di base fatta per capire le procedure e le loro proprietàInformatica applicata studia le procedure utili e produce programmi e sistemi che hanno effetti su quanto viene fatto all’interno della nostra società

Distinzioni

Page 17: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

17

Temi filosofici dell’informatica

Informatica come nuova specie di ingegneriaObiettivo dell’ingegneria: produzione di cose utili (economicamente) per la societàQueste cose possono essere artefatti, ma anche processi chimici e manifatturieriUn processo è simile a un algoritmo di computazione che è il metodo per l’elaborazione dell’informazioneL’informatica è connessa alla produzione di cose utili (microprocessori, software, database) con vincoli di tipo economico che richiedono di trovare soluzioni efficienti a problemi tecnici

Informatica come ingegneria (Loui 1995)

Page 18: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

18

Temi filosofici dell’informatica

Le discipline ingegneristiche hanno una base scientifica nelle scienze ingegneristiche (statica, dinamica, meccanica dei solidi, termodinamica, fluidomeccanica, …)I fondamenti scientifici dell’informatica includono: algebra booleana, teoria della computabilità, linguaggi formaliI concetti fondamentali e i principi dell’informatica non appartengono alla fisica ma alla matematica

Le basi scientifiche dell’informatica

Page 19: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

19

Temi filosofici dell’informatica

Critica alla distinzione convenzionale fra informatica (solo teoria) e ingegneria informatica (tutto il resto)La teoria della computazione non può essere esclusa dall’ingegneria informaticaLe teorie, anche in questo caso, forniscono modelli per il progetto, l’analisi e la comprensione di programmi e circuiti

Nella pratica quotidiana gli ingegneri non applicano le teorie della disciplina direttamente ma si basano su delle euristiche

Informatica e ingegneria informatica

Page 20: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

20

Temi filosofici dell’informatica

Obiettivo Descrizione, predizione, controllo, organizzazione, spiegazione

Metodo Sperimentale nel senso di basato sull’esperimentoDeduttivo nel senso che i programmi sono espressioni matematiche

Criterio di demarcazioneVerificabilità nel senso di verifica formale del programma“Instead of debugging a program, one should prove thatit meets its specifications, and this proof should bechecked by a computer program” (McCarthy 1962)

Sulla scientificità dell’informatica

Page 21: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

21

Temi filosofici dell’informatica

Soddisfacimento di 6 criteriCorpo organizzato di conoscenzeRisultati riproducibiliMetodi sperimentali ben sviluppatiCapacità predittiveGenerazione di ipotesi aperte a falsificazioneAvere a che fare con oggetti naturali

Informatica come studio dei processi di informazione, sia naturali sia artificialiSlittamento dalla concezione di computer come oggetto di studio a quella di strumento

Informatica come scienza (Denning 2009a)

Page 22: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

22

Temi filosofici dell’informatica

Oltre la diatriba scienza-ingegneriaEspansione dell’ambito computing (Internet, Web science, mobile computing, user interface design, information visualization, …)Progressiva adozione di metodi sperimentali per comprendere le computazioni

Progetto e scoperta: il comportamento di grandi sistemi è spesso troppo complesso per una pura analisi matematica ma richiede di essere scoperto con rigorose osservazioni

Computing come nuovo dominio scientifico accanto alle scienze fisiche, alle scienze della vita e alle scienze socialiScienze della computazione dato che la computazione non èné un effetto fisico, né un’entità vivente, né un’entità sociale

Computing come nuovo paradigma (Denning 2009b)

Page 23: La filosofia dell’informatica - Politecnico di Milano · Filosofia della scienza Filosofia dell’informatica La filosofia dell’informatica non è solo filosofia dell’IA Problematiche

23

Temi filosofici dell’informatica

Colburn, T. (2004) “Methodology of Computer Science”, Philosophy of Computing and Information, Luciano Floridi (a cura di), 318-326Denning, P. et al. (1989) “Computing as a discipline”, Communications of the ACM 32(1): 9-23Loui, M. (1995) “Computer Science Is a New EngineeringDiscipline”, ACM Computing Surveys, 27(1), March 1995McCarthy, J. (1962) “Toward a mathematical science of computation”, Proceedings of the IFIP Congress 62: 21-8Rapaport, W. (2005) “Philosophy of Computer Science: AnIntorductionary Course” Teaching Philosophy 28 (4): 319-341Shapiro, S. (2001) “Computer Science: The Study of Procedures”, Department of Computer Science and Engineering, University at Buffalo, June 18, 2001Simon, H. (1996) Le scienze dell’artificiale, Il Mulino, BolognaTurner, R., Eden, A. "The Philosophy of Computer Science", The Stanford Encyclopedia of Philosophy (Summer 2009 Edition), Edward N. Zalta (a cura di)

Riferimenti bibliografici