Una macchina di Turing è un modello teorico del calcolo, proposto da Alan Turing nel 1936. Consiste di parecchie componenti che permettono che esegua i calcoli. Le parti principali di una macchina di Turing sono:
Nastro: Il nastro è una sequenza infinita delle cellule, ogni capace di tenuta del simbolo da un alfabeto limitato. Estende infinitamente in entrambe le direzioni. Il nastro serve da stoccaggio primario per i dati durante il calcolo.
Testa: La testa è un meccanismo lettura /scrittura che esplora i simboli sul nastro. Può leggere il simbolo alla posizione attuale, scrivere un nuovo simbolo e muove la sinistra o continuamente il nastro.
Controllo dello Stato limitato: Questa componente funge da cervello della macchina di Turing. Determina il comportamento della macchina basato sullo stato corrente e sul simbolo che sono esplorati dalla testa. Il controllo dello Stato limitato è responsabile del transitioning fra gli stati e dell'aggiornamento del nastro.
Registro di stato: Il registro di stato tiene lo stato corrente della macchina di Turing. Il comportamento della macchina dipende sia dallo stato corrente che dal simbolo che sono esplorati.
Alfabeto: L'alfabeto è un insieme limitato dei simboli che la macchina di Turing può indicare e scrivere sul nastro. Comprende tipicamente sia i simboli dell'input che i simboli speciali usati per gli scopi di controllo.