La filosofia dell’informatica - Intranet...
Transcript of La filosofia dell’informatica - Intranet...
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)
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
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 è la filosofia dell’IA, che è inclusa ma ne è solo una parteProblematiche 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)
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?
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
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)
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
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
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
11
Temi filosofici dell’informatica
Computer come un’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 oggetti empirici
Per capire questi sistemi è necessario costruirli ed osservare il loro 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)
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
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)
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
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)
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
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
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)
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
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 Per esempio il principio della spazialità locale
Informatica e ingegneria informatica
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
21
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