Uno dei motivi principali per cui trovo affascinante e che vale la pena studiare la teoria del calcolo ("la mia" branca dell'informatica teorica) è la seguente: ci fornisce un modo per investigare alcune profonde (e talvolta sconcertanti) domande filosofiche.
Uno dei fondatori della teoria del calcolo, Alan Turing, ha cercato di definire il significato di "calcolare una funzione" per un essere umano dotato di un pezzo di carta, fornendo una descrizione matematica del processo. Non sono l'unico a pensare che abbia avuto molto successo e le macchine di Turing si sono dimostrate un modello accurato di molti altri processi di elaborazione.
Ora che possediamo una classe di oggetti matematici che descrivono i calcoli, possiamo effettivamente dimostrare teoremi su di essi, cercando così di scoprire cosa può essere calcolato e come può essere calcolato; si è subito scoperto che molte funzioni perfettamente legittime non possono essere calcolate affatto e che possono essere classificate in base a un grado di incomputabilità (alcune funzioni sono semplicemente "più incomputabili" di altre).
Alcuni altri ragazzi, i primi di solito identificati con Juris Hartmanis e Richard E. Stearns, hanno cercato di descrivere matematicamente cosa significa per una funzione (resp., Un problema) essere difficile o facile da calcolare (resp., Da risolvere). Esistono diverse misure di complessità in base alle quali è possibile descrivere la durezza dei problemi; il più comune è il tempo necessario per risolverli. Alan Cobham e Jack Edmonds hanno avuto abbastanza successo nell'identificare una nozione ragionevole di "calcolo efficiente".
Nel quadro della complessità computazionale, ora possiamo dimostrare alcuni risultati coerenti con la nostra nozione intuitiva di calcolo. Il mio esempio preferito è il teorema della gerarchia temporale: se ci viene concesso più tempo per il calcolo, possiamo risolvere problemi più difficili.
Il problema aperto centrale della teoria della complessità, P vs NP , è solo una formalizzazione di un'altra domanda filosoficamente significativa: è davvero più difficile risolvere un problema che verificare se una presunta soluzione di esso è effettivamente corretta? Credo che valga la pena porre e rispondere a questa domanda, indipendentemente dal suo significato pratico.