Turingova mašina
Turingova mašina je matematički model koji je izumio britanski matematičar Alan Turing, za stvaranje klase od predvidljivih funkcija. Predstavio ju je David Hilbert 1920, specijalno za rješavanje problema u odlučivanju, u djelu On Computable Numbers, with an Application to the Entscheidungsproblem. Alan Turing je namjeravao stvoriti jedan model matematički radećeg čovjeka. Turingova mašina se sastoji od: jedne neograničeno duge trake sa neograničeno mnogo polja. U svakom od tih polja se može snimiti jedan znak. jedne programski upravljanje čitače odnosno pisače glave, koja se po traki samo po jedno polje pokreće i znakove mijenja. Turingova mašina modificira unos na traci po jednom datom programu. Ako je preračunavanje završeno, onda se rješenje nađe na traci. Tako se svakoj ulaznoj vrijednosti dodijeljuje izlazna. Turingova mašina ne mora za sve ulazne vrijednosti da staje. U tom slučaju je funkcija unosa nedefinisana. Kao rješenje se nekad definiše redoslijed znakova, koji poslije zastavljanja na traci stoji. Turingova mašina se najčesće koristi (također sa mnogim drugim automatima) za probleme odlučivanja, znači za pitanja, koja se sa da ili ne mogu odovoriti. Pri tome se zaustavljanje Turingove mašine interpretira kao da, a ne zaustavljanje kao ne.