'n Turing-masjien is 'n teoretiese model van berekening wat deur Alan Turing in 1936 bekendgestel is. Dit bestaan uit 'n oneindig lang band wat in selle verdeel is, 'n lees-/skryfkop wat langs die band kan beweeg, en 'n beheereenheid wat die masjien se gedrag bepaal . Die band is aanvanklik leeg, en die invoer na die masjien word op 'n aparte invoerband verskaf. Die uitset van die berekening word op 'n afvoerband geskryf.
Om 'n funksie te bereken, volg 'n Turing-masjien 'n stel instruksies wat 'n program genoem word. Die program spesifiseer hoe die masjien moet optree gebaseer op sy huidige toestand en die simbool wat dit van die band lees. Die masjien begin in 'n aanvanklike toestand, en dit voer herhaaldelik die volgende stappe uit:
1. Lees: Die masjien lees die simbool tans onder die lees/skryf kop.
2. Proses: Op grond van die huidige toestand en die simbool wat gelees word, bepaal die masjien die volgende toestand en die simbool om op die band te skryf.
3. Beweeg: Die masjien skuif die lees-/skryfkop een sel na links of regs.
4. Herhaal: Die masjien gaan terug na stap 1 en gaan voort totdat dit 'n stilstaande toestand bereik.
Die rol van die invoerband is om die insette tot die berekening te verskaf. Die invoerband word aanvanklik gevul met die invoersimbole, wat tydens die berekening deur die masjien gelees word. Die invoerband is leesalleen, wat beteken dat die masjien nie die inhoud daarvan kan verander nie.
Die rol van die uitsetband is om die uitset van die berekening te stoor. Soos die masjien die invoersimbole verwerk, kan dit simbole op die uitvoerband skryf om die verlangde uitset te produseer. Die afvoerband is net-skryf, wat beteken dat die masjien slegs daarop kan skryf en nie die inhoud daarvan kan lees nie.
Die Turing-masjien se vermoë om funksies te bereken is gebaseer op sy vermoë om simbole op die band volgens 'n stel reëls te manipuleer. Hierdie reëls laat die masjien toe om rekenkundige bewerkings, logiese bewerkings en ander berekeninge uit te voer. Deur hierdie reëls te volg, kan 'n Turing-masjien enige algoritmiese berekening simuleer.
Oorweeg byvoorbeeld 'n Turing-masjien wat die som van twee getalle bereken. Die invoerband sal die twee nommers bevat, geskei deur 'n spesiale simbool. Die masjien sal die invoersimbole lees, die optelbewerking uitvoer en die resultaat op die uitvoerband skryf.
'n Turing-masjien bereken 'n funksie deur 'n stel instruksies te volg wat deur 'n program gespesifiseer word. Die invoerband verskaf die invoer na die berekening, en die uitvoerband stoor die uitset van die berekening. Die masjien manipuleer simbole op die band om berekeninge uit te voer, wat dit toelaat om enige algoritmiese berekening te simuleer.
Ander onlangse vrae en antwoorde t.o.v Berekenbare funksies:
- Wat beteken dit dat verskillende variasies van Turing-masjiene gelykstaande is in rekenaarvermoë?
- Verduidelik die verband tussen 'n berekenbare funksie en die bestaan van 'n Turing-masjien wat dit kan bereken.
- Wat is die betekenis daarvan dat 'n Turing-masjien altyd stop wanneer 'n berekenbare funksie bereken word?
- Kan 'n Turing-masjien verander word om altyd 'n funksie te aanvaar? Verduidelik hoekom of hoekom nie.
- Wat is 'n berekenbare funksie in die konteks van berekeningskompleksiteitsteorie en hoe word dit gedefinieer?