Mikä on abstrakti kone?

Abstraktit koneet, joita kutsutaan myös automaateiksi, ovat osa teoreettista tietojenkäsittelyä. Abstrakti kone muistuttaa matematiikan funktiota. Se vastaanottaa tuloja ja tuottaa lähdöt määriteltyjen sääntöjen mukaisesti. Abstraktit koneet eroavat kirjaimellisimmista koneista, koska niiden oletetaan toimivan täydellisesti ja laitteistosta riippumatta. Ne on jaettu tyyppeihin niiden ominaisuuksien perusteella, kuten miten he suorittavat toimintansa ja millaisia ​​syötteitä ne voivat vastaanottaa.

Abstrakteja koneita luokiteltaessa yksi yksinkertaisimmista eroista koskee niiden toimintojen määrää, jotka niillä on lupa suorittaa missä tahansa vaiheessa. Abstraktia konetta kutsutaan deterministiseksi, jos sillä on aina vain yksi tapa edetä. Ei ole määrittävää, jos koneelle on useita mahdollisuuksia ainakin yhdessä sen mahdollisista tiloista. “Pushdown” -automaatti on sellainen, joka pystyy manipuloimaan tulopinoaan sen sijaan, että vastaisi niihin yksitellen siinä järjestyksessä, jossa ne näkyvät.

Wolfram MathWorld antaa kaksi kuuluisaa esimerkkiä abstrakteista koneista. Yksi näistä esimerkeistä on Conwayn elämänpeli, joka on deterministinen abstrakti kone, koska vain yksi kokoonpano voi nousta toisesta. Tämä peli käyttää ruudukkoa, jossa jokaisessa laatikossa tai solussa voi olla tila “elävä” tai “kuollut”. Koko ruudukon tila määritetään edellisen tilan perusteella. Jos elävä solu koskettaa täsmälleen kahta tai kolmea muuta elävää solua, se elää edelleen. Jos sillä on yksi, kaksi tai enemmän kuin kolme naapuria (enintään kahdeksan), se kuolee. Kuollut solu, jolla on täsmälleen kolme naapuria, herää eloon; muuten se pysyy kuolleena.

Toinen esimerkki, Turingin kone, on yksi tietojenkäsittelytieteen perus- ja perusrakenteista. Turingin kone suorittaa toimintoja rajoittamattoman kokoiselle nauhalle – merkkijonolle. Se sisältää ohjeet sekä symbolien vaihtamiseen että sen symbolin vaihtamiseen, jolla se toimii. Yksinkertaisessa Turingin koneessa saattaa olla vain ohje “muuntaa symboli 1: ksi ja liikkua sitten oikealle”. Tämä kone ei tuota mitään muuta kuin 1 -merkkijono. Tämä yksinkertainen Turingin kone on deterministinen, mutta on myös mahdollista rakentaa epädeterministisiä Turingin koneita, jotka voivat suorittaa useita eri toimintoja samalla syötteellä.

Näillä abstrakteilla koneilla voi olla monia tarkoituksia. Ne voivat olla hauskoja teoreettisia leluja, mutta ne voivat toimia myös mallina todellisille tietokonejärjestelmille. Abstrakti kone on tietotekniikan keskiössä.