Komputaatio
Komputaatio on yleinen informaation käsittelyä kuvaava termi. Se sisältää siten laajan alueen inhimillisestä ajattelusta kapea-alaiseen laskentaan. Sanalla komputaatio korostetaan hyvin määritellyn mallin (formaali malli) suorituksen seuraamista ja sitä, kuinka se voidaan ilmaista algoritmilla, protokollalla, verkkorakenteella tms.
Englanninkielestä löytyy selvä yhteys sanojen computer ja computation, välille. Suomenkielinen käännös laskenta ei kuitenkaan kuvaa hyvin komputaation monipuolista luonnetta, johon liittyy myös loogista toimintaa ja yleensä kaikki mitä tietokoneella voidaan tehdä. Siten on paikallaan käyttää omaa termiä komputaatio.
Komputaation eri muotoja
Komputaatiot voidaan luokitella kolmella ortogonaalisella kriteerillä:
- digitaalinen vs. analoginen
- perättäinen vs. rinnakkainen
- eräajo vs. interaktiivinen
Digitaalista komputaatiota käytetään tyypillisesti simuloimaan luonnon prosesseja ja ilmiöitä, joista osa voi olla analogisia. Monimutkaisimmissa tapauksissa on syytä erottaa toisistaan matemaattinen malli ja sen suorittaminen. Jos esimerkiksi sqrt tarkoittaa neliöjuuren laskentaa, sqrt(2) palauttaisi likiarvon 1.41.., mutta aivan toinen tarkastelutapa on kuinka ohjelmoida tai laskea neliöjuuri kullekin luvulle tietokoneella.
Komputaation matemaattisia malleja
Komputaatioteoriassa (myös laskennan teoria, laskettavuus) on määritelty erilaisia matemaattisia malleja tietokoneille ja ohjelmistoille. Komputaatio on tällöin kehityskulku (evoluutio), joka saa aikaan diskreettejä tapahtumia kuvatulle mallille. Tyypillisiä tällaisia malleja ovat:
Tietokoneiden matemaattisia malleja sekä ohjelmointikieliä voidaan luokitella niiden ilmaisukyvyn ja rajoitusten mukaan Chomskyn hierarkialla. Tosin on muitakin luokitteluja.
Kirjallisuutta
- Hopcroft, John E., and Jeffrey D. Ullman (2006). Introduction to Automata Theory, Languages, and Computation. 3rd ed Reading, MA: Addison-Wesley. ISBN 978-0321455369 Johdatus automaattien teoriaan, kieliin ja komputaatioon.