'n Turing-masjien is 'n teoretiese toestel wat as 'n model vir berekening dien. Dit is in 1936 deur Alan Turing voorgestel as 'n manier om die konsep van 'n algoritme te formaliseer. Die Turing-masjien bestaan uit 'n oneindige band wat in selle verdeel is, 'n lees-/skryfkop wat langs die band kan beweeg, en 'n stel toestande wat die masjien se gedrag dikteer. Die band is die enigste datastruktuur wat deur 'n Turing-masjien gebruik word om data te stoor en te manipuleer.
Die band van 'n Turing-masjien word in diskrete selle verdeel, wat elkeen 'n simbool van 'n eindige alfabet kan bevat. Die band is aanvanklik leeg, met alle selle wat 'n spesiale leë simbool bevat. Die lees-/skryfkop van die Turing-masjien kan die simbool op die huidige sel lees, 'n nuwe simbool op die huidige sel skryf en links of regs langs die band beweeg.
Om 'n berekening uit te voer, gebruik die Turing-masjien sy toestande en 'n stel oorgangsreëls. Elke oorgangsreël spesifiseer die huidige toestand, die simbool wat uit die huidige sel gelees word, die simbool om op die huidige sel te skryf, die rigting waarin die kop beweeg moet word en die volgende toestand om na oor te gaan. Die Turing-masjien begin in 'n aanvanklike toestand en volg die oorgangsreëls om sy toestand te verander, die simbole op die band te manipuleer en die kop langs die band te beweeg.
Deur die band as die enigste datastruktuur te gebruik, kan 'n Turing-masjien enige algoritme of berekening simuleer. Die band bied 'n oneindige hoeveelheid stoorplek, wat die Turing-masjien toelaat om arbitrêr groot insette te verwerk. Die lees-/skryfkop kan heen en weer langs die band beweeg, wat die Turing-masjien in staat stel om toegang te verkry tot enige deel van die invoer soos nodig.
Die band stel die Turing-masjien ook in staat om verskeie bewerkings uit te voer, soos om data te kopieer en te wysig. Byvoorbeeld, om 'n reeks simbole van een deel van die band na 'n ander te kopieer, kan die Turing-masjien elke simbool lees, dit op 'n ander deel van die band skryf en dan terugbeweeg na die oorspronklike posisie om voort te gaan met verwerking.
'n Turing-masjien gebruik die band as die enigste datastruktuur om data te stoor en te manipuleer. Die band bied 'n oneindige hoeveelheid stoorplek en laat die Turing-masjien verskeie bewerkings uitvoer. Deur die band te gebruik, kan 'n Turing-masjien enige algoritme of berekening simuleer.
Ander onlangse vrae en antwoorde t.o.v EITC/IS/CCTF Computational Complexity Theory Fundamentals:
- Is daar 'n teenstrydigheid tussen die definisie van NP as 'n klas besluiteprobleme met polinoom-tyd-verifieerders en die feit dat probleme in die klas P ook polinoom-tyd-verifieerders het?
- Is verifieerder vir klas P polinoom?
- Kan 'n Nondeterministic Finite Automaton (NFA) gebruik word om die toestandsoorgange en aksies in 'n firewall-konfigurasie voor te stel?
- Is die gebruik van drie bande in 'n multiband TN gelykstaande aan enkelbandtyd t2(vierkant) of t3(kubus)? Met ander woorde is die tydskompleksiteit direk verwant aan die aantal bande?
- As die waarde in die vastepuntdefinisie die limiet van die herhaalde toepassing van die funksie is, kan ons dit steeds 'n vaste punt noem? In die voorbeeld wat gewys word as ons in plaas van 4->4 4->3.9, 3.9->3.99, 3.99->3.999 het, … is 4 steeds die vaste punt?
- As ons twee TM'e het wat 'n beslisbare taal beskryf, is die ekwivalensievraag nog onbeslisbaar?
- In die geval van die opsporing van die begin van die band, kan ons begin deur 'n nuwe band T1=$T te gebruik in plaas daarvan om na regs te skuif?
- Hoe groot is die stapel van 'n PDA en wat bepaal die grootte en diepte daarvan?
- Is daar huidige metodes om Tipe-0 te herken? Verwag ons dat kwantumrekenaars dit haalbaar sal maak?
- Hoekom is LR(k) en LL(k) nie ekwivalent nie?
Sien meer vrae en antwoorde in EITC/IS/CCTF Computational Complexity Theory Fundamentals