Sei sulla pagina 1di 1

Teoria della computabilit

Al crescere della velocit dei processori, un calcolo o una sequenza di operazioni possono essere
svolti in un tempo sempre pi ridotto, fino a diventare quasi istantanei.
Esistono per dei limiti, che possono essere determinati teoricamente.
Questi limiti vengono definiti dalla teoria della computabilit, che stabilisce quali problemi possano
essere determinati in termini di puro calcolo.
La teoria della computabilit utilizza la logica matematica, che fa uso di concetti come vero, falso,
decidibile e corretto.
Il concetto di correttezza fondamentale: se una proposizione non corretta formalmente non ha
nemmeno senso parlare della sua verit o falsit.
La logica formale stabilisce le regole che consentono di definire la correttezza e la veridicit delle
proposizioni.
La teoria della computabilit non si accontenta di un qualsiasi algoritmo funzionante, ma verifica il
fatto che l'algoritmo possa terminare in un tempo accettabile, o almeno finito.
E' quindi indispensabile imporre delle determinate prestazioni alle procedure di calcolo.
Si definisce ricorsivo ogni algoritmo che viene definito in termini di se stesso. In altri termini, per
poter essere eseguito, l'algoritmo richiama se stesso iterativamente. Tuttavia la soluzione deve
essere raggiunta entro un numero finito di passi; deve esserci la cosiddetta funzione di
terminazione.
Una volta identificate le funzioni ricorsive, i matematici si sono posti un'altra domanda, ovvero se
tutti gli algoritmi possano essere ricondotti a funzioni ricorsive. Per fare ci devono essere
soddisfatte queste condizioni:
L'algoritmo deve poter essere espresso in funzione di se stesso.
Deve sempre esistere una condizione di terminazione.
L'algoritmo deve convergere, ovvero avvicinarsi progressivamente al valore limite della
soluzione.
Un linguaggio di un certo alfabeto l'insieme di tutte le parole costruibili a partire da tali termini.
Se per l'alfabeto comprende un numero infinito di termini, non possibile applicare questa
definizione.
L'approccio generativo si basa sull'identificazione di una regola, o procedura, in rado di generare,
attraverso un automatismo, tutte le parole di un linguaggio.
L'approccio riconoscitivo invece identifica un algoritmo che verifica l'appartenenza di una parola al
linguaggio.
Un tipico esempio di approccio generativo dato dalle cosiddette grammatiche.