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 tai muulla vastaavalla.
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
muokkaaKomputaatiot 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
muokkaaKomputaatioteoriassa (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
muokkaa- 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.