Olli-Pekka Tikkanen
Olli-Pekka Tikkanen

Tietokoneet tulevat apuun, kun kynä ja paperi eivät riitä

| | | | | Ei kommentteja

Laskennallinen fysiikka on termi, joka valitettavasti kääntyy kehnosti suomen kielelle. Eivätkö kaikki fyysikot osaakkaan laskea, voi helposti ajatella. Laskannallinen fysiikka on suora käännös englanninkielisestä termistä computational physics, jolla on suora yhteys sanoihin compute (laskea) ja computer (tietokone). Laskennallisella fysiikalla tarkoitetaan siis fysiikan ongelmien ratkaisua tietokoneen laskentatehoa käyttäen, mutta suomessa sanan computer kääntyminen tietokoneeksi aiheuttaa hämmennystä.

Tein erilliselle pdf-tiedostolle esimerkin laskennallisesta mallintamisesta, missä määritetään kalojen lukumäärän vaihteluja lammikossa suhteessa lammikolle tuleviin kalastajien määrään kahdella eri tavalla. Olen pitänyt kaikki matemaattiset merkinnät ja termit minimissään ja pyrkinyt selvittämään juurta jaksain jokaisen vaiheen mallinnuksesta. Kyseessä on Lotkan-Volterran saalistaja-saalis-mallin mukaisten differentiaaliyhtälöiden ratkaiseminen numeerisesti eri kalojen ja kalastajien alkuperäisille lukumäärille.

Kalojen ja kalastajien populaation mallintaminen on hyvä esimerkki ongelmasta, johon laskennallisia menetelmiä voidaan soveltaa: ongelma pystytään kuvaamaan matemaattisten yhtälöiden avulla tekemällä järkeviä oletuksilla. Esimerkki kuvaa hyvin ongelmaa, missä tietokoneet voittavat ihmisen nopeudessa, sillä vaikka Lotka-Volterran-mallin yhtälöt voidaan kirjoittaa paperille, ei niille kuitenkaan löydy sellaista ratkaisua, joka voitaisiin kirjoittaa lyhyesti paperille. Tällaiset yhtälöt on ratkaistava numeerisia menetelmiä käyttäen kuten yllä tehtiin. Numeerisia menetelmiä voidaan käyttää laskujen laskemiseen myös paperilla, mutta tietokoneratkaisut vievät huomattavasti vähemmän aikaa ja tilaa. Esimerkki on hyvin tyypillinen myös teknisessä mielessä, sillä yhtälöiden kirjoittaminen paperille ja järkevien kertoimien kokeilu veivät huomattavasti paljon enemmän aikaa kuin itse ratkaisun ohjelmoiminen tietokoneelle. Tosin täytyy huomata, että käytin ongelman ratkaisuun Python-kielen tarjoamaa funktiota enkä ohjelmoinut yhtälönratkaisijaa itse. Nuoremmille luonnontieteilijöille todettakoonkin, että vain idiootti yrittää keksiä pyörää uudestaan laskennallisten työkalujen osalta. Olemassaolevat paketit ovat yleensä vuosien kehitystyön tulos; niitä kannattaa käyttää. Minäkin olen joskus halunnut kirjoittaa paremman ODE-ratkaisijan parissa päivässä kuin olemassaolevat metodit.

Tietokoneenkin rajat tulevat jossain vaiheessa vastaan. Vaikka esimerkiksi aerosolihiukkasien kasvua pystytään eri yhtälöiden avulla kuvaamaan todella tarkasti, tulee mallinnettavasta systeemistä liian monimutkainen, jotta ratkaisemin nonnistuisi edes parhailla supertietokoneilla ihmiselämän aikana. Silmäni avautuivat laskennallisten menetelmien rajoille aikoinaan luonnontieteilijöiden jouluristeilyllä lasketun esimerkin kautta: kuinka kauan tietokoneella kuluu mallintaa kaikki mahdolliset järjestykset, joihin normaali pelikorttipakka voidaan sekoittaa. Todennäköisyyslaskennasta tiedetään, että mahdollisia järjestyksiä on 52!, missä huutomerkki tarkoittaa kertoma-nimistä laskutoimitusta. 52 kertoman arvo on  noin [latex]8 \cdot 10^{67}[/latex] (8 ja 67 kappaletta nollia sisältävä luku). Oletetaan seuraavaksi, että jokainen maailman tietokone on yhtä tehokas kuin kiinalainen Tianhe-2-supertietokone, joka pystyy tekemään noin [latex]34\cdot10^{15}[/latex] (34 ja 15 kappaletta nollia sisältävä luku) liukulukuoperaatiota. Oletetaan vielä, että yhden korttipakan järjestyksen laskemiseen menee ainoastaan yksi liukulukuoperaatio, vaikka todellisuudessa jokaisen järjestyksen laskeminen vaatii useita laskutoimituksia, ja että maailmassa on näitä supertietokoneita kymmenen kertaa ihmisten lukumäärä: [latex]74 \cdot 10^9[/latex] konetta. Yksinkertaisella jakolaskulla saadaan ajaksi, joka menee kaikkien järjestysten simuloimiseen, noin [latex] 3,2 \cdot 10^{40} [/latex] sekuntia tai [latex] 10^{33} [/latex] vuotta (noin 70 000 000 000 000 000 000 000 kertaa maailmankaikkeuden ikä). Esimerkistä nähdään, kuinka nopeasti laskennan rajat tulevat vastaan ongelman koon kasvaessa. Fysikaalisissa simulaatioissa laskenta-ajan kasvaminen kohtuuttomaksi tarkoittaa, että joudutaan tekemään oletuksia tai karkeistamaan tilannetta, jotta tutkittavan systeemin ominaisuuksia pystyttäisiin mallintamaan. Oletuksien ja yksinkertaisempien yhtälöiden käyttäminen monimutkaisten tapahtumien kuvaamiseen eivät kuitenkaan tee simulaatioista tehdyistä johtopäätöksistä välttämättä vääriä vaan lisäävät niiden epävarmuutta. Laskentatehon ja fysikaalisen ymmärryksen kasvaessa epävarmuuksia voidaan pienentää.

Laskennalliset keinot ovat tutkijoille korvaamaton apu jokapäiväisessä tutkimustyössä, niiden avulla pystytään esimerkiksi mallintamaan mittaustuloksia olettamalla vain yhdenlaisia tapahtumia kokeissa, joissa monet eri tapahtumat ovat mahdollisia,  tutkimaan ennakkoon minkälaiset tapahtumat koejärjestelyissä ovat mahdollisia ja mallintamaan monimutkaisia systeemejä, joita ei suoraan voida mitata, eikä niiden käytöksestä voida sanoa mitään pelkkien yhtälöiden avulla. Viimeisten muutaman vuosikymmenen aikana tietokoneiden laskentateho on kasvanut eksponentiaalisesti, mikä on avannut luonnontieteille mahdollisuuden mallintaa aina vain monimutkaisempia systeemejä tarkemmin ja nopeammin. Tämä trendi tulee todennäköisesti jatkumaan vielä pitkään. Tässä kontekstissa tietokoneita voi helposti luulla ratkaisuksi kaikkiin luonnontieteiden ongelmiin, mutta vaikka laskennallinen fysiikka onkin äärettömän siistiä on lopulta muistettava luonnontieteiden perimmäinen empiirinen ja eksakti luonne: tuloksia on pystyttävä koettelemaan kokeellisesti ja ilmiöt on kyettävä ilmaisemaan matemaattisina yhtälöinä. Kumpaankin pystyy vain ihminen varustettuna järjellä, kynällä ja paperilla.

 

 

Jaa kirjoitus somessa

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Sosiaalinen media

Facebook343
Instagram38
RSS

Aihepilvi

Arkistot