maanantai 25. toukokuuta 2009

Kognitiivinen vinouma.


Käsitykseni todellisuudesta on, kuten kaikilla, omalla tavallaan vinoutunut. Syynä on se, että olen tutkinut lähinnä mallintamisen ja mallien toimintaa ja teknologiaa, jolla mallien ominaisuuksia voi selvittää. Kontekstina on formaali verifiointi, mutta tämä on yleisluontoisempi katsaus.

Malli voidaan ajatella ajatuskoneeksi, jonka tarkoituksena on esittää "olennainen" jostakin todellisesta ilmiöstä. Mallin relevanssi viittaa yhtäältä siihen, ovatko ilmiön olennaiset piirteet mukana vai eivät ja toisaalta siihen, kuinka tarkkaan malli ennustaa "todellista" maailmaa.

Malli voi olla huono tai hyvä; se ei koskaan ole "oikea" tai "väärä". Malli voi toki olla virheellinen, eli siinä voi olla jokin sellainen piirre, joka on otettu mukaan epähuomiossa tai jätetty jokin asia pois. Malli voidaan myös operationalisoida väärin, jolloin mallin toiminnallisten osien tai muuttujien suhteet tulkitaan eri tavalla kuin on tarkoitettu.

Sana mallintarkastus on tässä kontekstissa harhaanjohtava. Sana "model" viittaa siinä logiikassa ja matematiikassa esiintyvään mallin käsitteeseen; Silloin "malli" käsitteenä viittaa johonkin struktuuriin, joka täyttää annetut aksioomat. Nykyisin maalintarkastuksen yhteydessä usein kuitenkin käytetään sanaa "malli" sillä tavalla kuin tämän merkinnän alkuosassa, eli malli on jonkinlainen "rautalankahäkkyrä" tms., ikäänkuin todellisen järjestelmän pienoismalli, jonka oikeellisuus "tarkastetaan".

Oma tietoteoriani on vinoutunut siksi, että pohdin työkseni näitä asioita. Oman alani epistemologiassa yksi kysymys liittyy siihen, miten voimme koskaan tietää, onko malli oikea. Jos tahdomme vakuuttua järjestelmän X oikeellisuudesta, haluamme tyypillisesti tietää, että järjestelmällä X on kaikki halutut ominaisuudet eikä mitään kiellettyjä ominaisuuksia. Jos järjestelmä itse on liian suuri tarkastettavaksi, rakennamme mallin Y ja tarkastamme tästä mainitut ominaisuudet. Emme kuitenkaan voi tietää, onko Y mallinnettu niin, että X todella toteuttaa sen, mitä Y:kin.

Toinen kysymys liittyy siihen, onko annettu spesifikaatio oikea. Tämä liittyy kaikkiin formalismeihin yleisemminkin. Formaali järjestelmä on tarkalleen määritelty, objektiivisesti se, mitä se on, kun se on kerran määritelty. Emme vain voi koskaan olla varmoja siitä, milloin olemme määritelleet sen, mitä lähdimmekin määrittelemään.

Radio-ohjelmassa joku mies väitti, että pitkälle keskiajalle uskottiin, että hämähäkillä on kuusi jalkaa, koska empiirinen metodi oli niin ylenkatsottu. Siis ajatus siitä, että joku olisi ottanut hämähäkin käteen ja laskenut sen jalat, oli "typerä" ja "lapsellinen". Tällainen keino hankkia tietoa oli vain yksinkertaisesti väärä.

Siitä huolimatta että mallin empiirinen verifiointi, siis havaintojen vertaaminen mallin ennusteisiin, oli hyväksytty, ihmiset eivät vieläkään ole ymmärtäneet täysin mallien roolia. Ne ovat ehkä "tietoa", mutta ne eivät ole "todellisuutta". Maailma ei ole sama asia kuin malli. Tämä liittyy ensimmäiseen kysymykseen: onko mallilla ne ominaisuudet, joita mallinnettavalla ilmiöllä.

Toisen tyypin kysymystä pidetään ns. oikeassa tieteessä kuitenkin epämielenkiintoisena tai se ainakin sivuutetaan. Se on kuitenkin yhtä tärkeä. Onko kysymys Higgsin bosonin olemassaolosta todella se, joka meitä kiinnostaa? (Tämä on retorinen kysymys, tietysti se kiinnostaa meitä, mutta syistä, jotka liittyvät malliin, ei "todellisuuteen".)

Noniin, suonette anteeksi. Alan rakentaa mallintarkastinta Petriverkoille.

6 kommenttia:

Jukka Aakula kirjoitti...

Jaa-a, olen aikoinaan tentannut matemaattista logiikkaa ja viime aikoina olen tutustunut mallintamiseen biologiassa, antropologiassa ja taloustieteessä.
Harrastuksena.

Mutta en ole kyllä varma kuinka paljon ihan aikuiseen oikeesti ymmärrän ko. asiasta. Siis siinä mielessä että osaisin jotain kriittisesti itse tehdä.

Mallin rakentelun "seuraaminen" ja käytetyn matematiikan jonkinlainen "ymmärtäminen" on kuitenkin aivan eri asia kuin oikea mallintaminen.

Tiedemies kirjoitti...

Itseasiassa, en mallintamista sinänsä ole paljoa tehnyt, vaan tutkinut lähinnä mallien ominaisuuksia ja mallintarkastuksen problematiikkaa. Suurin osa siitä on algoritmiikan soveltamista, ei niinkään mallinnosproblematiikkaa.

Mallinnoksessa minulla on kokemusta lähinnä abstrahoinnista. Tietojenkäsittelyssä tilanne on sikäli "huijaamista" ns. oikeiden asioiden mallintamiseen verrattuna, että ohjelmisto tms. on jo valmiiksi "malli", jota voi manipuloida matemaattisesti, se rautalangan vääntäminen joka todellisen elämän mallintamisessa vaaditaan, jää väliin kokonaan.

Mikko kirjoitti...

Hmm, mitäs tarkoitat tuolla jälkimmäisellä kappaleella? Eikö tietojenkäsittelyssä ole valmiina pikemminkin menetelmä mallien tekemiseksi kuin malli? Voitko antaa jonkun esimerkin?

Anonyymi kirjoitti...

Kvanttimekaniikan kurssilla, jonka kävin joskus ratkaistiin eksaktisti Schrödinger yhtälö ainoastaan vetyatomin tapauksessa. Jo silloin kun elektroneja oli kaksi jouduttiin turvautumaan approksimoiviin malleihin tai perburaatioteoriaan. Tämä johtui siitä, että olennaisesti mihin jouduttiin oli 3-kappaleen ongelma. Eli joudutaan ottamaan huomioon elektronien vuorovaikutus toistensa kanssa ytimen lisäksi. 2-kappaleen ongelman ratkaisi mekaniikassa jo Newton, ja siitä saadut liikeradat olivat muistaakseni joko ellipsejä tai hyperboleja, kuten aurinkokunnasta voidaan todeta, sillä koska Aurinko on niin massiivinen ollaan lähellä 2-kappaleen ongelmaa jokaisen muun kappaleen kanssa erikseen. 3-kappaleen ongelmassa taas on mahdotonta saada kaikki liikeradat jossakin algebrallisessa muodossa.
On olemassa ilmeisesti kuitenkin ratkaisuna joku sarja, jonka on löytänyt suomalainen Sundman, mutta tämä sarja kuitenkin suppenee liian hitaasti käytännön laskujen kannalta.
n-kappaleen ongelmaOngelman vaikeuteen on helppo uskoa jos leikkii näillä java appleteilla.
Appletit

Tiedemies kirjoitti...

Tietokoneohjelma on jo valmiiksi "malli" siinä mielessä että sillä on tarkalleen määritelty semantiikka ja periaatteessa se tekee tarkalleen sen minkä se tekee. Se on oman toimintansa malli siinä mielessä kuin yllä esitetään, eli se on jo itsessään rakennettu "rautalangasta", eli on formaali olio.

Yleisessä tapauksessa tietokoneohjelma tietenkin tekee äärettömän monta askelta, joten sen tiloja ei välttämättä voi esittää suoraan, mutta tietokoneohjelma on aina oman käyttäytymisensä eksakti esitystapa.

Oma tutkimukseni siis rajoittuu mallien sisään, en siis ole oikeasti tutkinut mitään muuta kuin malleja, en siis mitään "todellista".

Toisaalta tietokoneohjelma myös tekee jotain todellista, joten sen toimintaa voi tutkia myös empiirisesti; joko se tekee sen mitä sen sanotaan tekevän tai sitten se ei tee.

Mikko kirjoitti...

Luulin jotenkin, että puhuit ohjelmointikielistä etkä ohjelmistoista. Luin todella huonosti. En tiedä mikä nykyään vaivaa että lukeminen ei enää onnistu.