Što je Turingov stroj?

Turingov stroj je filozofska konstrukcija za funkcioniranje računala, koju je 1936. izumio Alan Turing, poznati engleski matematičar i logičar 20. stoljeća. Ideje iza Turingovog stroja osnova su za sve moderne računalne softverske i hardverske sustave koji postoje od 2011., iako stvarni koncepti koje je Turing stvorio nikada nisu korišteni za izgradnju stvarnog uređaja u to vrijeme, već su izumljeni prije nego što su digitalna računala postojala u bilo kojem pravi oblik. Načela na kojima funkcionira Turingov stroj uključuju skup kontrola za ulazne i izlazne podatke, stroj za obradu podataka u nekom obliku i skup utvrđenih pravila kako te podatke obrađuje stroj.

Genij iza otkrića Alana Turinga bio je u tome da se svaka konzistentna skupina simbola koji predstavljaju značajne informacije, kao što su matematički simboli ili slova koja se sastoje od jezika, može mehanički obraditi od strane stroja ako se dobije odgovarajući skup pravila za njihovu obradu. To bi rezultiralo stvaranjem mehaničkih uređaja kojima bi se mogla postavljati logična pitanja za složene probleme i brzo doći do nepristranih odgovora. Turingov stroj u tom je pogledu bio preteča računalnog algoritma, koji je sastavljeni popis računalnih uputa na koje se oslanjaju središnje procesorske jedinice (CPU) u računalima da bi funkcionirale od 2011. godine.

Dizajn Turingovog stroja bio je pojednostavljen prema modernim računalnim standardima 21. stoljeća, a njegova fizička funkcija imala je nepraktičnost u pogledu implementacije, ali ideje na kojima je izgrađen imale su čvrste temelje. Stroj se sastojao od vrpce ili vrpce s utisnutim simbolima, koje je glava mogla čitati dok se traka prelazila preko njega. Kako bi se simboli čitali, oni bi dozivali određena stanja u stroju, što bi usmjeravalo kretanje vrpce i utjecalo na izlazne vrijednosti koje proizvodi stroj. Analogno modernim računalnim sustavima iz 2011. bilo bi da traka predstavlja računalni softverski kod ili algoritme, čitač je CPU, a izlaz bi bili sustavi za prikaz i prijenos kao što su monitori, zvučnici i pisači, mrežni promet i drugo.

Ideje iza Turingovog stroja smatrane su temeljnom funkcijom izvođenja bilo kojeg niza proračuna i također se mogu usporediti s načinom na koji ljudski mozak radi. Turing sam i drugi iz njegovog vremena vjerovali su da se Turingov stroj može prilagoditi za obavljanje praktički bilo koje vrste zamislivih računanja i djelovati kao univerzalni stroj za rješavanje svih ljudskih problema. Problem koji se ubrzo pojavio s konceptom, međutim, poznat je kao Turingova tarpit, a odnosi se na činjenicu da, iako Turingov stroj može obraditi bilo koji samodosljedan skup simbola, dobivanje takvog stroja da proizvede smislene odgovore na pitanja se u potpunosti oslanja na sve složenije i višeslojne skupove pravila obrade.

Računalna znanost ubrzo se susrela s problemima kako se softverski i hardverski sustavi temeljeni na principima Turingovog stroja mogu zaglaviti u besmislenim izračunima poznatim kao programske petlje. Logička ograničenja dovela su do prilagodbi na principima Turingovih strojeva, kao što su kvantni i vjerojatnosni Turingovi strojevi. Vjerojatni Turingov stroj koristi ideju više traka koje se pokreću u stroju istovremeno kako bi proizvele različite rezultate paralelno, koji se zatim međusobno ponderiraju na temelju vjerojatnosti čiji je rezultat najvjerojatnije točan. Takvi bi strojevi donosili zaključke na način sličan načinu na koji softver neizrazite logike radi u naprednim kontrolnim sustavima od 2011.

Kvantno računalo zasnovano na principu Turingovog stroja imalo bi traku beskonačne duljine sa ćelijama simbola u trajnom neodređenom stanju do čitanja. To bi omogućilo oblik paralelne obrade koja bi bila znatno superiornija od postupaka obrade podataka koji se koriste u računalima od 2011. Quantum Turing strojevi nude mogućnost pohranjivanja više vrijednosti u pojedinačne ćelije memorije dok im se ne pristupi, što standardna računala zasnovana na logici ne mogu čini.