Ogni disciplina scientifica si definisce pienamente nel momento in cui viene delimitata da una teoria in grado di evidenziarne i limiti e le potenzialità. Per l’informatica ciò avvenne negli anni trenta del xx secolo, in un effervescente panorama culturale e scientifico che affrontava i fondamenti della matematica, della fisica e della biologia, ben prima dell’avvento del calcolatore elettronico. Cosa significa «calcolare»? Cos’è un algoritmo? Cosa possiamo e cosa non possiamo calcolare? Ci sono dei limiti? Esiste un calcolatore universale? Cos’è un programma? Il programma che ho comperato funzionerà sempre o potrebbe entrare in loop su certi dati? Cos’è un linguaggio? Come si genera? Come si riconosce? Tra le cose che possiamo calcolare, quanti passi di calcolo dovremo ragionevolmente attendere per avere il risultato? Si può fare di meglio di quell’algoritmo per risolvere quel problema?  Tutte queste domande hanno condotto alla teoria della calcolabilità effettiva, alla teoria dei linguaggi formali, e più tardi alla teoria della complessità computazionale, che include uno dei più importanti problemi ancora aperti per la scienza contemporanea.  Questo volume illustra come sono state affrontate tali questioni. Nasce dall’esperienza ventennale degli autori nell’insegnamento del corso di Fondamenti dell’informatica, dapprima assieme, presso l’Università di Verona, poi separatamente nelle sedi di Verona e di Udine. Nato come dispensa già nel 1999, il volume è via via maturato negli anni, includendo note storiche, esempi e un gran numero di esercizi, molti dei quali assegnati come prova scritta d’esame. 

Fondamenti dell'informatica. Linguaggi formali, calcolabilità e complessità

Dovier, Agostino;Giacobazzi, Roberto
2020-01-01

Abstract

Ogni disciplina scientifica si definisce pienamente nel momento in cui viene delimitata da una teoria in grado di evidenziarne i limiti e le potenzialità. Per l’informatica ciò avvenne negli anni trenta del xx secolo, in un effervescente panorama culturale e scientifico che affrontava i fondamenti della matematica, della fisica e della biologia, ben prima dell’avvento del calcolatore elettronico. Cosa significa «calcolare»? Cos’è un algoritmo? Cosa possiamo e cosa non possiamo calcolare? Ci sono dei limiti? Esiste un calcolatore universale? Cos’è un programma? Il programma che ho comperato funzionerà sempre o potrebbe entrare in loop su certi dati? Cos’è un linguaggio? Come si genera? Come si riconosce? Tra le cose che possiamo calcolare, quanti passi di calcolo dovremo ragionevolmente attendere per avere il risultato? Si può fare di meglio di quell’algoritmo per risolvere quel problema?  Tutte queste domande hanno condotto alla teoria della calcolabilità effettiva, alla teoria dei linguaggi formali, e più tardi alla teoria della complessità computazionale, che include uno dei più importanti problemi ancora aperti per la scienza contemporanea.  Questo volume illustra come sono state affrontate tali questioni. Nasce dall’esperienza ventennale degli autori nell’insegnamento del corso di Fondamenti dell’informatica, dapprima assieme, presso l’Università di Verona, poi separatamente nelle sedi di Verona e di Udine. Nato come dispensa già nel 1999, il volume è via via maturato negli anni, includendo note storiche, esempi e un gran numero di esercizi, molti dei quali assegnati come prova scritta d’esame. 
2020
9788833933795
Calcolabilità
Complessità
Linguaggi formali
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11562/1017148
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact