Kas yra abstrakčioji mašina?

Abstrakčios mašinos, dar vadinamos automatais, yra teorinės informatikos elementas. Abstrakčioji mašina panaši į matematikos funkciją. Ji gauna įvestis ir gamina išvestis pagal nurodytas taisykles. Abstrakčios mašinos skiriasi nuo pažodinių mašinų, nes manoma, kad jos veikia nepriekaištingai ir nepriklausomai nuo techninės įrangos. Jie skirstomi į tipus pagal charakteristikas, pvz., kaip jie atlieka savo operacijas ir kokių tipų įvestis gali gauti.

Klasifikuojant abstrakčias mašinas, vienas iš paprasčiausių skirtumų yra susijęs su operacijų, kurias joms leidžiama atlikti tam tikru tašku, skaičiumi. Abstrakčioji mašina vadinama deterministine, jei jai visada yra tik vienas būdas. Tai nedeterministinis, jei mašinai yra kelios galimybės bent vienoje iš galimų būsenų. „Nustumiamas“ automatas yra tas, kuris gali manipuliuoti savo įvesties krūva, o ne tiesiog reaguoti į juos po vieną ta tvarka, kuria jie pasirodo.

Wolfram MathWorld pateikia du žinomus abstrakčių mašinų pavyzdžius. Vienas iš šių pavyzdžių yra Conway gyvenimo žaidimas, kuris yra deterministinė abstrakti mašina, nes iš bet kurios kitos gali atsirasti tik viena konfigūracija. Šiame žaidime naudojamas tinklelis, kuriame kiekvienas langelis arba langelis gali turėti būseną „gyva“ arba „mirusi“. Viso tinklelio būsena nustatoma remiantis ankstesne būsena. Jei gyva ląstelė paliečia lygiai dvi ar tris kitas gyvas ląsteles, ji toliau gyvena. Jei jis turi vieną, du ar daugiau nei tris kaimynus (iki aštuonių galimų), jis miršta. Negyva ląstelė su lygiai trimis kaimynais atgys; kitaip jis liks negyvas.

Kitas pavyzdys, Tiuringo mašina, yra viena iš pagrindinių ir pagrindinių abstrakčių mašinų kompiuterių moksle. Tiuringo mašina atlieka operacijas su neriboto dydžio juosta – simbolių eilute. Jame pateikiamos instrukcijos, kaip pakeisti simbolius ir pakeisti simbolį, pagal kurį jis veikia. Paprastoje Tiuringo mašinoje gali būti tik nurodymas „pakeisti simbolį į 1, tada judėti į dešinę“. Ši mašina išvestų tik 1 eilutę. Ši paprasta Tiuringo mašina yra deterministinė, tačiau taip pat galima sukurti nedeterministines Tiuringo mašinas, kurios gali atlikti kelias skirtingas operacijas su ta pačia įvestimi.

Šios abstrakčios mašinos gali tarnauti daugeliui tikslų. Jie gali būti įdomūs teoriniai žaislai, bet gali būti ir tikrų kompiuterinių sistemų modeliai. Abstrakčioji mašina yra kompiuterių mokslo kaip disciplinos esmė.