Fondamenti dell'informatica. Linguaggi formali, calcolabilità e complessità
Bollati Boringhieri
Torino, 2020; paperback, pp. 320, cm 12x24.
(Programma di Matematica, Fisica ed Elettronica).
series: Programma di Matematica, Fisica ed Elettronica
ISBN: 88-339-3379-2
- EAN13: 9788833933795
Languages:
Weight: 0.65 kg
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.