Näytetään tekstit, joissa on tunniste Alan Turing. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste Alan Turing. Näytä kaikki tekstit

keskiviikko 23. lokakuuta 2024

Havaintoja Teuvo Kohosesta

Kuten monet panivat merkille, fysiikan Nobel-palkinnon saivat tänä vuonna John Hopfield ja Geoffrey Hinton. Ehkä nuo nimet eivät sano mitään. He kehittivät 1980- luvun alkupuolella keinotekoisten hermoverkkojen teoriaa (ANN, artificial neural networks). Tuohon aikaan työskentelin VTT:n tietokonetekniikan laboratoriossa, ja myös saman aihepiirin kimpussa. Olin tutkimassa uusia laskentarakenteita, ja nämä herrat olivat jo silloin minulle nimeltä tuttuja, ja heidän työnsä myös. En kyllä heitä koskaan tavannut. No, tuosta ajasta on kulunut jo 40 vuotta, hieman myöhässä tunnustus usein tulee. Ars longa,vita brevis. Suomalainen akateemikko ja tekoälyn tutkija Teuvo Kohonen (1934–2021) teki keskeiset tieteelliset työnsä juuri samaan aikaan kuin mainitut nobelistit, ja aivan samalla alalla. On arveltu, että jos Kohonen olisi ollut elossa, hän olisi ehkä ollut jakamassa palkintoa.

Oma työurani on muutaman kerran sivunnut Teuvo Kohosen tekemisiä. Emme ole työskennelleet yhdessä, mutta nuo sivuamiset ovat muulla tavalla kiinnostavia. Kerron nyt niistä.

Työskentelin vuodesta 1975 aina 80-luvun alkupuolelle Strömbergin Pitäjänmäen tehtailla Helsingissä. Tuo aika oli hyvin innostunutta ja omalaatuista. Tietokoneiden tekniikka kehittyi juuri silloin voimakkaasti, ja Strömberg oli siinä isolla panoksella mukana. Yhtiö näki tietokoneet liiketoiminnalleen tärkeänä teknologiana. Se halusi soveltaa niitä sekä sähkövoimatekniikassa että teollisuuden automatisoinnissa. Se oli jo vuona 1970 kehittänyt Strömberg-1000- nimisen prosessitietokoneen, niitä rakennettiin kaikkiaan yhdeksän kappaletta. Tuo kone oli kookas järkäle, se käsitti kolme kahden metrin korkuista instrumenttikaappia, ja etupaneelissa oli useita rivejä värikkäitä vilkkuvia lamppuja. Elektroniikan nopea kehitys teki koneesta pian vanhanaikaisen. Yhtiö siirtyi käyttämää amerikkalaisen Data General- yhtiön Nova- minitietokoneita, tuollainen kone painoi viitisen kiloa ja mahtui hyvin kirjoituspöydälle. Strömbergillä tehtäväkseni tuli soveltaa noita koneita mekaanisen puunjalostusteollisuuden automatisoinnissa.

Eräänä päivänä aloin ohjelmoida sahatavaran lajittelulaitoksen automaattiohjausta. Laitosta ohjaamassa oli ollut pieni Suomessa rakennettu prosessitietokone, ja sain tutkittavaksi sen teknisiä dokumentteja, ehkä niistä olisi jotain apua. Tietokoneen nimi oli S-ODA, ja nuo tekniset dokumentit oli piirretty siististi lyijykynällä, muistaakseni ruutupaperille. Muutamissa näkyi suunnittelijan tai hyväksyjän nimi, Teuvo Kohonen. Nimi oli minulle silloin tuntematon. Myöhemmin kysyin asiasta Kohoselta, mutta hän ei jostain syystä halunnut puhua siitä. Olen yrittänyt löytää tietoja S-ODA -nimisestä tietokoneesta, mutta mitään ei ole löytänyt. Kone perustui transistorilogiikkaan ja siinä oli ferriittirengasmuisti, luultavasti se oli rakennettu 1960-luvun lopulla. Tämä ensimmäinen sivuaminen Teuvo Kohosen uran kanssa noin vuonna 1977 on siis täysin oman hataran muistini varassa. Mutta miksi ihmeessä keksisin jotain tällaista?

Luodaan nyt vilkaisu 1960-70- lukujen tietokoneiden maailmaan. Suomi oli luovinut sinne hieman vaivalloisesti. Oli perustettu Valtion matematiikkakonekomitea. Komitean mielestä valtakunnassa ei ollut niin paljoa laskettavaa, että tietokonetta kannattaisi ostaa, mutta koulutusmielessä kannattaisi sellainen rakentaa. Säästösyistä hankittiin saksalaisen elektroniputkilla toimivan tietokoneen piirustukset. Projekti oli katastrofi, osoittautui että saksassa ei edes ollut toimivaa prototyyppiä, ja piirustuksetkin olivat virheelliset. Kun "elektroninen sarja-komputaattori" ESKO (1954-60) vihdoin valmistui, se toimi epäluotettavasti ja oli jo vanhentunut. Väärä konteksti, akateemiset matemaatikot kuvittelivat, että tietokone on jonkinlainen laskukone. Mutta insinöörit tiesivät paremmin. Ehkä he olivat lukeneet Norbert Wienerin kirjan kybernetikasta.

Suuri yleisö muistaa Teuvo Kohosen neuroverkkojen ja tekoälyn tutkijana, ja häntä pidetään myös aivotutkijana. Tällaiselle uralle päädytään usein hieman erikoisella tavalla. Suuri osa aivotutkijoista ei ole lääkäreitä, fysiologeja tai psykologeja, vaan muun muassa insinöörejä. Kohonen kulki tätä reittiä. Hän valmistui diplomi-insinööriksi vuonna 1957, väitteli tohtoriksi 1962 kokeellisesta fysiikasta, ja toimi Teknillisen korkeakoulun teknillisen fysiikan laitoksella elektroniikan professorina vuodesta 1965. 

Tuohon aikaan laitoksella aloitettiin ensimmäisen suomalaisen tietokoneen kehitystyö. ESKOsta oli opittu, nyt kone suunniteltiin nimenomaan teollista automaatiota varten ja prosessien tietokonesäädön tutkimiseen. Siinä käytettiin transistoroitua logiikkaa, ja siinä oli ferriittirengasmuisti. Hanketta veti Teuvo Kohonen, ja sai nimen Reflac (reflex arithmetic computer). Kone valmistui vuonna 1967. Se ei niinkään perustunut laskukonemalliin, vaan unkarilaissyntyisen matemaatikon John von Neumannin ja ehkä myös Alan Turingin ideoihin (ks.kirjoitus Teoriassa vaikeaa ...). Myös Strömberg Oy osallistui tähän hankkeeseen, ja muutaman vuoden kulttua Aslak Savonjousi vei läpi Strömberg-1000 prosessitietokoneen kehitystyön. Koneesta tuli erinomainen, ja siinä oli paljon ainutlaatuisia ominaisuuksia. Edellä mainitsemani salaperäinen S-ODA tietokone näyttäisi myös syntyneen Reflac-hankkeen ilmapiirissä, en kuitenkaan ole löytänyt tarkempaa tietoa.

Teuvo Kohonen asetti seuraavat tavoitteensa korkeammalle. Tietokoneen tehokkuutta rasittaa eräänlainen pullonkaula. Tietokoneen yleisin tehtävä on käsitellä muistissa olevaa dataa. Mutta dataa on yleensä paljon, ja se pitää siirtää prosessoriyksikköön vaivalloisesti, pieni pala ei tavu kerrallaan. Olisi helpompaa jos dataa voisi hakea suoraan muistista ilman, että se pitää ensin tutkia prosessorissa. Kohonen alkoi tutkia assosiatiivisia eli sisältöhakuisia muisteja, joista dataa haetaan suoraan sen sisällön perusteella. Tämän linjan rinnalle tuli pian toinen idea: entä jos muistisolut pystyisivät myös itse käsittelemään dataa.

Palataan vielä työhöni Strömbergillä. Pian tapahtui seuraava tietokonesukupolven vaihdos: siirryimme minitietokoneista mikroprosessoreihin. Yhtiö kehitti mikroprosessoria hyödyntävän hyvin kompaktin prosessitietokoneen, jonka nimeksi tuli Selma (tästä tietokoneesta ei näytä löytyvän mitään tietoa internetistä). Tietokoneessa oli runsaasti tuloliitäntöjä, joiden kautta se vastaanotti eri tyyppisiä anturisignaaleja ohjattavasta prosessista, ja oli myös lähtöliitäntöjä ohjaustoimintoja varten. Ja mikä parasta, kun ohjelma saatiin valmiiksi, se ”poltettiin” pysyvästi koneen muistipiireihin. Ei enää tarvinnut sählätä reikänauhojen kanssa, niin kuin kaikissa aiemmissa tietokoneissa.

Oma tiimini kehitti tarvittavat ohjelmistorakenteet: ohjelmakirjastoja, käyttöjärjestelmän, ja jopa virtuaalimuistin. Jälkeenpäin ajatellen se tapahtui ihmeen nopeasti. Teimme tietokoneen avulla muistaakseni kymmenkunta prosessinohjaussovellusta, mm sahoille vaneritehtaille ja paperitehtaille. Muut tiimit käyttivät Selmaa muun muassa tietojenkeruujärjestelmissä ja vaihtovirtamoottoreiden ohjaussovelluksissa.

Vuonna 1982 tapahtui yritysjärjestely, jonka takia päätin siirtyä työskentelemään VTT:lle. Aloin tutkia uudenlaisia tietokoneiden laskentarakenteita. Jo edellisessä työpaikassani sain idean tietokoneesta, joka reagoisi suoraan prosessista tuleviin signaaleihin, ilman mutkikasta ja hankalasti ohjelmoitavaa kontrollirakennetta. Tällainen kone olisi hyvin tehokas, ja sen periaate muistutti myös sitä tapaa, jolla eläinten ja ihmisten aivot toimivat (olin jo alkanut seurata tiiviisti aivotutkimusta). Strömberg ei innostunut asiasta, heillä oli jo toinen Selma- tietokoneen jatkokehityshanke, joka oli pidemmällä.

Laskentarakenteiden tutkimuksen kautta, 1980- luvun alkuvuosina, löysin Kohosen tutkimukset assosiatiivisista muisteista, se oli juuri sitä, mitä olin etsinyt. Samalla törmäsin myös hänen kehittämiinsä itseorganisoituviin karttoihin (SOM). Ne olivat keinotekoisia neuroverkkoja, kussakin verkon solmussa paikallisesti toimiva algoritmi sai verkkoon syötetyn datan järjestymään kaksiulotteisiksi kartoiksi.

Olin Kohosen kanssa kirjeenvaihdossa, ja pohdin myös siirtymistä työhön hänen tutkimusryhmäänsä. Se ei kuitenkaan toteutunut. Vähitellen osoittautui, että Kohonen, samoin kun Hinton ja Hopfield, olivat paljon aikaansa edellä. Vasta internetin sisältämät valtavat datamäärät mahdollistivat sovellukset, joissa itseoppivia neuroverkkoalgoritmeja ajetaan perinteisissä tietokoneissa. Uranuurtajien ennakoimat mikropiiritason toteutukset eivät toteutuneet, eikä niitä ole vieläkään näköpiirissä.

Mietin vielä, mitä opittavaa tästä kaikesta voisi olla. Usein ajatellaan, että teoreettinen tiede olisi jotain hyvin abstraktia ja matemaattista, ja kun se tuottaa tuloksia, insinöörikunta alkaa käyttää sitä johonkin hyödylliseen. Mutta usein käykin niin, että juuri konkreettinen työ teknologian kimpussa saa aikaan ratkaisevia oivalluksia. Käytännön fysikaalinen maailma asettaa rajoituksia, jotka testaavat ja karsivat liian suoravivaiset teoreettiset ideat. Tämä näyttää soveltuvan Teuvo Kohoseen, hän oli perin pohjin perehtynyt tietokoneiden rakenteeseen, ja oli myös suunnitellut niitä. On muitakin esimerkkejä. Alan Turingin konkreettinen työ salakirjoitusta murtavien koneiden parissa tuotti luultavasti paljon sellaista, jota hän hyödynsi teoreettisessa työssään. Matemaatikko John von Neumann kirjoitti hyvin teknisiä muistioita tulevaisuuden tietokoneesta nimeltä EDVAC. Luultavasti Teknillisen korkeakoulun Reflac- ryhmä ja Strömberg-1000 tietokoneen suunnittelijat tunsivat ne, tai niihin liittyviä kirjoituksia.



lauantai 6. tammikuuta 2024

Mitä elämä on

Mitä oikein on elämä? Kysymys tuntuu aika helpolta. Näemme elämää kaikkialla ympärillämme. Puhumme elävistä olennoista, ne ovat sellaisia jotka liikkuvat ja kasvavat, ja jotka reagoivat ympäristöönsä. Elävällä olennolla on myös eräänlainen itsenäisyyden tila ja jopa tahtomista muistuttava ominaisuus. Ne ylläpitävät,suojelevat ja kehittävät itseään, Jos se ei ole mahdollista, vaikkapa vesi tai ravinto loppuvat tai eliön luonnollinen ikä päättyy, eliöt kuolevat. Tämäkin on meille tuttua. Eliöyksilön elämään kuuluu myös sen päättyminen.

Kysymys elämästä muuttuu monimutkaiseksi, kun alamme etsiä sen rajoja. Yleensä myönnämme, että bakteeri on elävä olento, mutta onko virus myös sellainen? Entä kun puhumme älykkäistä koneista. Ovatko nekin eläviä? Nykyisiä tietokoneita, robotteja ja tekoälyohjelmia emme pidä elävinä, emme silloinkaan, kun ne alkavat haastamaan ihmisen henkistä kyvykkyyttä - ainakin pinnallisesti katsoen. Tähän liittyy kulttuurillista painolastia. Jo antiikin ajoista alkaen ihmiset ovat elollistaneet koneita. Ja erityisen elävia ovat olleet itsestään liikkuvat koneet ja laitteet. Niiden rakentelu on monituhatvuotinen traditio.

Kysymys elämästä mutkistuu myös, kun ajattelemme elämän kehittymistä maapallolla. Meillä ei ole mitään suoria todisteita varhaisimmista elämän muodoista. Onhan sellaisia tietenkin ollut, mutta, niiden jäänteitä ei ole säilynyt. Tai toinen mahdollisuus: eräät varhaiset elämän muodot ovat edelleen keskuudessamme, mutta emme osaa tunnistaa niitä. On hyvin vahvoja syitä olettaa, että ensimmäiset elämän muodot ovat kehittyneet vähitellen ja luonnollisten prosessien kautta elottomista kemiallisista yhdisteistä. Luonnolla on taipumus kehittää spontaanisti järjestystä ja säännöllisiä muotoja. Tälle prosessille on olemassa nimikin: morfogeneesi. Intuitiivisesti tuntuu luontevalta, että sama prosessi on johtanut jossain vaiheessa sellaisiin muotoihin, jotka jo tunnistamme elollisiksi. Tuntuu myös siltä, että vakiintunut jaottelu orgaaniseen ja epäorgaaniseen kemiaan voi johtaa ajatteluamme harhaan. Tuo jaottelu on toki selkeästi määritelty, mutta elollisen ja elottoman rajaa se ei mitenkään heijasta.

Vastaavaan elämän ongelmaan törmäämme kosmisessa mittakaavassa. Onko muualla universumissa elämää? Vastaus on oikeastaan aika helppo. Jos hyväksymme edellä esitetyn selityksen elämän synnystä maapallolla, vastaus on selvä. Universumissa elämää on lähes kaikkialla, jos olosuhteet vain ovat sopivat. Ja avaruuden tutkimus vahvistaa, että sopivia olosuhteita näyttää löytyvän yleisesti, jopa lähitähtien planeettakunnissa saattaisi jotain elämää olla.

Emme saa kovinkaan usein lukea elämän synnyn tutkimuksesta. Syitä voi olla useita. Ensinnä, sen vakava tutkimus on äärimmäisen vaikeaa. Toiseksi, vaikuttavia tuloksia on vaikea esitellä, ja ne hukkuvat helposti erilaisten filosofisesti väritettyjen spekulaatioiden tulvaan. Joitain yrityksiä voimme listata. Matematiikkanero Alan Turing laati vuonna 1952 tutkielman epäorgaanisten muotojen spontaanista synnystä, morfogeneesistä. Amerikkalainen matemaatikko ja kemisti Alfred Lotka on puolestaan tutkinut biologian fysikaalista perustaa (1925). Myös systeemiteoria saattaa tarjota tutkimukselle etenemisreittejä. Ja aivan uusia näkymiä voi avautua geneerisen tekoälyn soveltamisen kautta.

Voi aina toivoa, että löytyy lahjakkaita tutkijoita, jotka kaipaavat elämäänsä kovia haasteita. Ei kaikkien välttämättä tarvitse heittäytyä teoreettiseen fysiikkaan tai kosmologiaan. Vaikea ja jopa pitkälle raivaamaton tutkimuskenttä löytyy elämän synnyn ongelmasta. Ja jos aihe on liian laaja, voi rajautua vaikka johonkin materiaalifysiikan osa-alueeseen. Siellä päästään helposti myös lähemmäs käytännön sovelluksia.

Kysymys elämästä ja sen olemuksesta voi saada myös hieman toisenlaisen ja hyvin perustavan laatuisen luonnehdinnan. Esittelen nyt tämän näkökulman. Olen juuri saanut päätökseen monivuotisen tutkimus- ja kirjoitustyön, kirjani Robottipuisto ilmestyi syksyllä 2023. Teos käsittelee ihmisten, eläinten ja koneiden älykkyyttä hyvin laajasti. Jouduin väistämättä pohtimaan, mitä on tämä ympärillämme ja meissä itsessämme kihiseva elämä. Mistä se on tullut, ja mistä siinä on loppujen lopuksi kysymys. Pohdinta johti mielenkiintoiseen oivallukseen: voimme määritellä elämän älykkyytenä.

Tuntemamme elämänmuodot elävät jatkuvassa kilpailussa toisten eliöiden kanssa ja ympäristöstä tulevien uhkien ja mahdollisuuksien paineessa. Äly on elävän olennon eräs resurssi pärjätä tässä kilpailussa. Se tarkoittaa kykyä toimia tarkoituksenmukaisesti uudenlaisessa tilanteessa. Älyyn liittyy erilaisia muutoksen ja selviytymisen vivahteita. Ja voimme tarkastella yksilön, yhteisön ja lajin älykkyyttä. Voimme puhua myös erilaisista aikaskaaloista. Yksilö toimii ja reagoi nopeasti, jopa sekunni murto-osassa. Populaation älykkyys on jo hitaampaa. Kasvien älykkyys on jo kokonaan erilaista, hyvin hidasta. Voidaan puhua myös lajien älykkyydestä. Se ilmenee lajin kykynä muuttua ja sopeutua, ja aikaskaala ulottuu kymmenistä tuhansiin sukupolviin.

Voidaan sanoa, että maapallo on elämänmuotojensa kautta älykäs taivaankappale. Täällä vallitsee planetaarinen äly. Ja ihminen on tämän planetaarisen älyn eräs osa. Emme siis hallitse ekosfääriä älymme voimalla, vaan älymme ja koko elämämme on täysin sen varassa. Ihmiskunnan erityinen kyky ja mahdollisuus on päättää, haluammeko sopeutua – vai hieman ennenaikaisesti kadota.

keskiviikko 22. elokuuta 2018

Luonnonfilosofiaa

Koulussa minulle opetettiin jotain antikin filosofiasta. En vain mitenkään muista, mihin oppiaineeseen se olisi liittynyt. Minun oppikouluaikanani (ja nuorille lukijoilleni pitää selventää, että se on sama kuin yläaste ja lukio) filosofiaa ei opetettu, eikä ns. katsomusainetta edes ollut. Joten sen on pakko olla ollut osa historian kurssia. Olennaista on, että antiikissa oli sellaisia tyyppejä kuin luonnonfilosofit. Se oli siis aikaa jolloin luonnontieteitä ei ollut, ja filosofit joutui hoitamaan homman.

Joten meille annettiin seuraava kuva: luonnonfilosofia oli jonkinlaista kehittymätöntä filosofiaa. Antiikin ajan jälkeen filosofia on jakaantunut erilaisiin koulukuntiin, filosofiasta on tullut rationaalinen tiede – tai tieteiden ryväs. Ja luonnontieteet puolestaan ovat omaksuneet matemaattisen formalismin. Ei siinä ole sijaa filosofoinnille.

Lopputulos on siis, että luonnonfilosofia on kadonnut maailmasta. Tai jos se ei ole kadonnut, se on joutunut etsimään itselleen piilopaikkoja Tiedossani ei nimittäin ole, että yhdessäkään oppilaitoksessa olisi luonnonfilosofian oppituolia. Silti omien havaintojeni mukaan luonnonfilosofiaa on olemassa ja sitä harjoitetaan.

Ihan jälkiä jättämättä luonnonfilosofia ei kuitenkaan kadonnut. Koska se sulki sisäänsä matematiikan ja fysiikan, näiden aineiden opiskelijat saavat edelleen tutkintonsa filosofisesta tiedekunnasta.

Joten ryhdytään etsimään näitä piilopaikkoja, missä luonnonfilosofiaa saattaa löytyä. Ensimmäiseksi tulee mieleen tieteenhistoria ja kulttuurihistoria, Siellä luonnonfilosofialla on aivan laillinen sijainti, ja tieteen harjoittajat voivat myös kommentoida luonnonfilosofiaa tarvitsematta pelätä akateemisen poliisin kostoa. Heiltä tosin puuttuu luonnonfilosofian nykyaikainen vertailutaso. Joten he joutuvat improvisoimaan.

Vaikka fysiikka on Galileon päivistä alkaen muuttunut formaaliksi, luonnonfilosofia tunkee itsensä esiin aina, kun tiede joutuu murroskohtaan ja alkaa soveltaa uusia paradigmoja. Voisin luetella tällaisia murroskohtia. 1600- luvun astronomia, ja kiihkeä kysymys maailmanjärjestyksestä. 1800- luvulla termodynamiikka, joka muuten kiihottaa mieliä edelleen. Ja sitten tulee tieteen isot murrokset: sähkökenttien teoria ja erityinen ja yleinen suhteellisuusteoria. Joita seurasi tietyssä mielessä pahin kaikista: kvanttimekaniikka. Luonnonfilosofinen debatti koskee erityisesti yhtä asiaa: mitä uusi tiede tarkoittaa. Minkälainen on pohjimmiltaan se uusi maailma, joka alkaa paljastua.

Olen keksinyt luonnonfilosofialle nimen, ainakin silloin, kun fysiikasta puhutaan. Tuo nimi on fysiikasta puhuminen. Koska siinä siirrytään fysiikan formalismeista toiselle tasolle, merkityksiin ja tulkintoihin, tuo nimi voisi olla myös metafysiikka (vaikka sillä on jo tieteenhistoriassa hieman toinen merkitys). Luulen, että useimmat luonnontieteilijät harrastavat metafysiikkaa, ja myös silloin kun mennään fysiikasta hieman syrjään, kuten kosmologiaan, genetiikkaan ja synteettiseen biologiaan. Tai aivotutkimukseen. Kysymys on aina sama: millaisessa maailmassa me oikein elämme. Tai joskus se voi esiintyä myös kritiikkinä vallitsevia paradigmoja kohtaan.

Olen aivan hiljattain kirjoittanutkin tästä aiheesta, otsikolla Miksei fysiikka edisty?

Mutta johtopäätös näyttää silti olevan, että luonnonfilosofia on ajettu tieteiden parnassolta. Siitä on tullut lievästi paheksuttua toimintaa. Mutta ehkä meillä on edelleen keskuudessamme luonnonfilosofeja, kuten Roger Penrose. Liki legendaarinen Alan Turing oli luonnonfilosofi aivan avoimesti ja häpeämättä. Idea ei ole minun, sillä luin juuri Andrew Hodgesin oivallisen, mutta myös matemaattisesti hankalan esityksen ”Turing. Luonnonfilosofi” (Otava 1997). Ja aivan totta, Turing ei tehnyt mitään eroa matematiikan, psykologian, fysiikan ja teknisten tieteiden välillä. Hänelle ne ne olivat osa kokonaisuutta – siis luontoa tai maailmaa. Turing asetti neurotieteelle ja laskentatieteelle aivan omat askelmerkit. Hän pohti jopa elämän syntyä profeetallisessa kirjoituksessaan ”The chemical basis of morphogenesis” (1952). Turingin mielestä elämä on saman kaltainen ilmiö kun matematiikka ja fysiikka, ja hän saattoi alkuun merkittävän tutkimussuunnan. Aivan edellä aikaansa, sanoin kuin hän oli laskentatieteissä.

Turingista olen myös kirjoittanut, joten ei tässä sen enempää. Mutta jotenkin toivon, että luonnonfilosofiasta (tai metafysiikasta) tulisi kunniallinen ajattelun ja tieteen suuntaus, jota ei tarvitsisi kätkeä.

keskiviikko 28. lokakuuta 2015

Teoriassa vaikeaa - mutta mitä siitä!

Kävin katsomassa Alan Turingin elämästä kertovan elokuvan ”Imitation game”. Sen innostamana luin lopultakin Andrew Hodgesin maineikkaan elämäkerran ”Alan Turing: arvoitus” (Terra Cognita, 2000). Elokuva oli hyvä, vaikka se vetikin niin sanotusti mutkat suoriksi. Joten siitä ei sen enempää (paitsi että on syytä korostaa, että elokuvassa rakennettu koodeja murtava kone,"Bombe" ei ole maineikas ”Turingin kone” - eikä Turing ole edes keksinyt sitä, vaan puolalaiset matemaatikot). Sen sijaan tuo kirja, joka on kyllä raskasta luettavaa, lumosi minut. Ja aivan erityksestä syystä.

Tähän lumoukseen on kaksi syytä. Ensin se yksinkertaisempi. Kirjassa Turing kohtaa urallaan, useimmiten henkilökohtaisesti, ne samat legendaariset tiedemiehet, joiden ajatuksiin tutustuin itse opiskellessani teknillisessä korkeakoulussa tietokonetekniikkaa, säätötekniikkaa ja niihin liittyviä aineita 1970- luvun alussa. Näitä henkilöitä olivat Ludwig Wittgenstein, David Hilbert, Kurt Gödel, Bertrand Russell, Claude Shannon, Norbert Wiener ja John von Neumann. Turingin uran aikana, karkeasti ottaen vuosina 1932- 1952 luotiin se teoriapohja, jonka varaan syntyi meidän uusi aikamme, tietokoneiden, automaation, viestinnän ja internetin aika. Turing ei suorastaan tuottanut teorian läpimurtoja, mutta oli innokkaasti mukana, ja julkaisi myös itse lukuisia teorioihin vaikuttaneita artikkeleita. (Turingin koneeseen liittyvä teoria on kuitenkin poikkeus, ja siitä kohta lisää). Tieteen edistykseen Turing toki vaikutti. Toisin kun luullaan, tiede ei voi edistyä vain nimekkäiden tiedemiesten oivallusten varassa. On olennaista, että samoista asioita kiinnostuneet tutkijat kommentoivat, korjaavat, vastustavat ja täydentävät heidän teorioitaan.

Kun itse opiskelin samoja asioita noin 30 vuotta myöhemmin, kohtasin nuo samat tutkijat ja heidän ajatuksensa. Jouduin siihen samaan taikamaailmaan, jossa Turing vaikutti itse mukana, toimijana ja pohtijana. Ja kun nyt luin Hodgesin kirjaa, sama lumouksen ja ihmeen maailma palasi elävänä mieleeni.

Turingin keskeinen saavutus, Turingin koneiden teoria, ei liittynyt niinkään tietokoneisiin, vaan puhtaaseen matematiikkaan ja matematiikan filosofiaan. Vuonna 1936 hän julkaisi artikkelin ”On computable numbers...” (Luvuista, jotka voidaan laskea). Sen tausta on asioita rankasti yksinkertaistaen seuraava. Hilbert tavoitteli matematiikan täydellistä ja ristiriidatonta järjestelmää, ja uskoi, että sellainen voidaan luoda. Gödel osoitti, että sellaista ei voi olla. Aritmetiikka ei voi olla samalla sekä ristiriidaton että täydellinen. Toinen kysymys on matemaattisten väittämien todistettavuus (Entscheidungsproblem). Todistuksessaan Gödel rinnasti väittämät reaalilukuihin. Avoimeksi jäi, voidaanko matemaattisen väitteen mahdollinen todistettavuus osoittaa jollain mekaanisella prosessilla, joka muodostuisi sarjasta täsmällisesti kuvattuja operaatioita, vähän samoin kuin shakkipelissä noudatetaan tarkkoja sääntöjä .**

Todistettavuusongelman ratkaisemiseksi Turing kuvitteli mielessään yksinkertaisen koneen, joka laskisi väittämiä vastaavia reaalilukuja. Sitten hän osoitti, että ei voida etukäteen päätellä, saadaanko laskennasta jokin täsmällisesti määritelty tulos. Se tarkoittaisi, että kone ryhtyy tuottamaan reaalilukua eli päättymätöntä desimaalilukua. Entä miten voidaan havaita, että kone tulostaa reaalilukua, eikä tee jotain muuta? Riittää, että voidaan ajatella näin tapahtuvan: konehan on matemaattinen olio, eikä mikään oikea kone. Itse koneen konstruktio, jota en lähde nyt selittämään, on täysin looginen ja aukoton - eikä se edes ole kovin mutkikas. Sen toimivuudesta ei siten jää mitään epäilystä.

Hyvin harva pystyi aikanaan ymmärtämään Turingin artikkelia, mutta vähitellen se herätti kasvavaa huomiota. Hänen kuvitteellista laitettaan alettiin sanoa Turingin koneeksi. Artikkelissa oli myös sivujuonne, joka herätti vähintään yhtä paljon huomiota. Pitäisikö jokaista tutkittavaa väitettä varten rakentaa juuri sitä tutkiva kone? Turing totesi, että voidaan rakentaa kone, joka aluksi lukee sisäänsä ongelmaa ratkaisevan koneen kuvauksen, ja alkaa sitten jäljitellä sitä. Tällaista konetta alettiin nimittää universaaliksi Turingin koneeksi. Turingin artikkelin tiivistetty tulos on siis: kaikki mitä ylipäätään voidaan laskea tarkasti, voidaan laskea universaalilla Turingin koneella***.

On toinenkin syy, miksi Hodgesin kirja lumosi minut. Se tuntuu kertovan kummallisesta lainalaisuudesta, teorian ja käytännön mutkikkaasta suhteesta. Tietokoneen kehitys ei nimittäin saanut vauhtia Turingin tekemästä kehitystyöstä. Turing ajautui mukaan kehittämään ensimmäisiä tietokoneita aivan toisesta syystä. Hänen sodan aikainen työnsä salakirjoituskoodia murtavien koneiden parissa oli perehdyttänyt hänet konkreettisella tavalla sähkömekaaniseen elektroniikkaan, ja viimeisissä murtamiskoneissa (Colossus) kokeiltiin jo elektroniputkia. Niistä saatiin hyviä kokemuksia, joten pian sekä Britanniassa että Yhdysvalloissa alettiin suunnitella putkilla toimivia laskukoneita, muun muassa tykistön ballististen taulukoiden ja atomipommilaskelmien jouduttamiseksi.

Edellä kerroin, kuinka Turing oli 10 vuotta aikaisemmin esittänyt universaalin koneen idean, se olisi laskeva kone, jonka muistiin luettaisiin ensin sen toimintaa ohjaava koodi. Idean toteuttamista tietokoneessa ei kuitenkaan esittänyt Turing, vaan toinen nero, John von Neumann****. Siksi nykyisen kaltaisia tietokoneita sanotaan joskus von Neumannin koneiksi. Turing alkoi suunnitella ACE- nimistä elektronista tietokonetta, mutta hanke joutui vaikeuksiin. Hän siirtyi turhautuneena Manchesterin yliopiston tietokoneprojektiin, joka oli jo pitkällä. 500 elektroniputken demonstraatiokone (1948) oli maailman ensimmäinen toimiva elektroninen ”von Neumann” tietokone. Siitä kehittyi Mark I malli, jossa putkia oli jo 4000. Turingissa yhdistyi abstrakti teoreettinen ajattelu ja hyvin konkreettinen työtapa. Turing ei osallistunut vain teorian tasolla, vaan laatimalla ja testaamalla konekielisiä ohjelmia, ja rakentamalla ja korjaamalla elektronisia piirejä.

Teorian ja käytännön mutkikkailla suhteilla on historiansa. Mekaaninen laskukone voitaisiin helposti rakentaa hyvin konkreettista laskemisen tarvetta varten pelkästään käsityötaidon varassa. Kuitenkin varhaisen mekaanisiin hammaspyöriin perustuvan laskukoneen rakensi matemaatikko Blaise Pascal vasta 1600-luvulla. 1700- luvulla matemaatikko Gottfried Leibniz suunnitteli ehkä ensimmäisen mekaanisen laskukoneen, joka pystyi kertolaskuun. Ehkäpä konkreettinen työ ja mekanismien kanssa leikittely ei välttämättä olekaan abstraktin ajattelun vastakohta, vaan jopa oudolla tavalla sille sukua.

Teorian ja käytännön suhde on kirjassa vieläkin monimutkaisempi. Turingin koneen idealla on lähes käsittämätön matemaattinen voima - mutta se vaikuttaa periaatteellisella tasolla, sillä ei ole juuri mitään roolia arkipäiväisten ongelmien parissa. Ehkä tuon voiman sokaisemina Turing ja hänen kollegansa antautuivat laajoihin kybernetiikkaa ja tekoälyä koskeviin spekulaatioihin. He tuntuivat olevan uskomattoman tietämättömiä edes kielitieteen tai psykologian alkeista. Turing tosin selvitteli aivojen neuronien määrää, ja päätyi jopa 10 miljardin solun arvioihin - valtava kontrasti verrattuna sen aikaisten laskentakoneiden kapasiteettiin: muutama tuhat muistipaikkaa tai elektroniputkea.

Siitä huolimatta Turing uskoi tietokoneiden supervoimiin. Hän muotoili kuuluisan Turingin testin. Ajatellaan suljettua huonetta, jossa on joko tietokone tai ihminen, ja joka kommunikoi koneella kirjoitettujen viestien kautta. Jos huoneen ulkopuolelta ei voida päätellä, onko huoneessa tietokone vai ihminen, Turingin mukaan voidaan sanoa että tietokone pystyy ajattelemaan. Turingin testiin on vaikea suhtautua, mutta harva yhtyisi päätelmään tietokoneen ajattelukyvystä, vaikka se onnistuisikin huijaamaan ulkopuolella olijoita. Testin muunnelma on ”Searlen kiinalainen huone” (John Searle on amerikkalainen filosofi). Nyt huoneessa istuu henkilö, joka lukee huoneeseen sujautettuja kiinan kielellä kirjoitettuja lappuja. Hän ei osaa kiinaa, vaan valitsee vastaukset suuresta koodikirjasta. Kirja on niin laaja ja hyvin laadittu, että vastaukset ovat järkeviä. Kysymys kuuluu: osaako tuo huone kiinaa?

Filosofiaan taipuvat lukijat voivat huvitella pohtimalla, ovatko nämä testit syvällisiä vai lapsellisia.

Palaan vielä Turingin lumottuun maailmaan, sillä jouduin sinne uudelleen ensimmäisessä työpaikassani Strömbergillä 1970- luvun loppupuolella. Yhtiössä vallitsi suuri innostus tietokoneisiin. Se oli jo suunnitellut ja rakentanut pienen sarjan järeitä Selco-1000 teollisuustietokoneita (kone muistutti pioneeriajan tietokoneita, se käsitti useita kahden metrin korkuisia instrumenttikaappeja, joiden etupaneelissa oli riveittäin värillisiä vilkkuvia lamppuja). Sen jälkeen siirryttiin niin sanottuihin minitietokoneisiin (sellainen painoi kymmenkunta kiloa ja mahtui vaikka kirjoituspöydälle). Toteutimme näillä koneilla teollisuuden automaatiojärjestelmiä. Laadimme konekielisiä ohjelmia (tarkemmin sanoen symbolista konekieltä eli assembleria). Alkuaikojen tietokoneiden tapaan ohjelmat syötettiin koneisiin paperisilla reikänauhoilla. Työ oli laiteläheistä, toisin sanoen tiesimme ja ymmärsimme pienintä yksityiskohtaa myöten, mitä tietokoneessa ja sen oheislaitteissa sekä ohjattavissa teollisuusprosesseissa tapahtui.

Mielenkiintoisin vaihe alkoi, kun siirryimme käyttämään mikroprosessoreita - ne olivat varsinaisiin tietokoneisiin verrattuina halpoja, pieniä ja luotettavia. Tässä vaiheessa tapahtui useita kertoja, että teoria ja käytäntö joutuivat ristiriitaan - ja useimmiten käytäntö voitti. Ensimmäisen kerran se tapahtui, kun ehdotin esimiehelleni, että myös oma ryhmäni alkaisi käyttää mikroprosessoria. Strömberg oli jo valmistautunut, sillä se oli kehittämässä mikroprosessoreihin perustuvaa teollisuusjärjestelmää (tarvittaisiin mm. laskentayksiköitä, muistiyksiköitä ja prosessisignaalien liittämiseen tarvittavia yksikköjä). Mutta esimieheni selitti minulle, että mikroprosessori sopii vain hyvin yksinkertaisiin tehtäviin, se olisi vähän niinkuin taskulaskimen kaltainen laite. Sitä ei voisi käyttää vaativissa automaatiosovelluksissa. En uskonut. Tutkin teknisiä dokumentteja ja tein laskelmia. Huomasin, että mikro olisi jopa tehokkaampi kuin käyttämämme minitietokone. Joten pienen väännön jälkeen sain luvan käyttää mikroprosessoria. Ja käytäntö osoitti, että olin oikeassa.

Seuraava kriisi koski käyttöjärjestelmää. Minikoneissa oli yksinkertainen reaaliaikakäyttöjärjestelmä, joka helpotti merkittävästi ohjelmointia ja mahdollisti useiden ohjelmaprosessien samanaikaisen ajon. Mutta mikroihin sellaista ei ollut saatavilla. Ehdotin taas esimiehelleni, että tekisimme sen itse. Tällä kertaa hän oli suorastaan kauhuissaan. Hän selitti, että se olisi lähes mahdoton asia, se vaatisi vuosien työn, eikä ehkä edes onnistuisi (tietokonetekniikan historiassa tunnettiinkin katastrofeiksi muuttuneita käyttöjärjestelmäprojekteja). En saanut hänen mieltään muuttumaan, joten menin takaisin toimistooni ja aloin koodata sitä itse, ilman lupaa. Muutamassa viikossa se oli koodattu ja testattu - muun työn ohessa. Se oli hyvä ratkaisu, ilman käyttöjärjestelmää olisimme olleet todella pulassa.

Oli toinenkin syy miksi käyttöjärjestelmä saattoi arveluttaa. Akateemisessa tietokoneteoriassa prosessien vaihto-ongelma tunnettiin niin sanottuna pahana ongelmana, sen mutkikkuus kasvoi rajusti prosessien lisääntyessä. Mutta tiesin, että tarvitsisimme enintään parikymmentä samanaikaista prosessia. Näin pienessä mittakaavassa prosessien vaihto ei vaatinut paljoakaan ylimääräistä laskentaa.  Saatoin jättää akateemisen tieteen ennustaman riskin huomiotta. 
 
Viimeinen kriisi liittyi muistin riittävyyteen. Tunnetun lainalaisuuden mukaan ohjelmien koko pyrkii kasvamaan jatkuvasti. Siihen aikaan se ei ollut ongelma ohjelmien kirjoittajille, mutta käyttämämme 8 bitin mikroprosessorin muistialue oli rajoitettu. Olisimme voineet siirtyä tehokkaampiin prosessoreihin, mutta siihen ei vielä ollut valmiutta. Joten päätin tehdä virtuaalimuistin - ja tällä kertaa en edes yrittänyt kysyä lupaa esimieheltä. Akateeminen tietokoneteoria liitti virtuaalimuistiin ns. roskienkeruun, jota pidettiin niin ikään potentiaalisesti pahana ongelmana. Tarvittiin ohjelma, joka vapautti käyttöön aiemmin varattuna olleita muistilohkoja. Toisaalta meidän ohjelmiemme piti reagoida prosessista tuleviin signaaleihin lähes välittömästi, ei ollut mahdollista jonottaa esimerkiksi muistin vapautumista. Keksin kuitenkin toisenlaisen tavan tehdä virtuaalimuisti. Kävelin laitekehityksestä vastaavan Kari Matilaisen toimistoon, ja selitin, että tarvitsemme muistiyksiköitä, jotka voidaan aktivoida ja passivoida ohjelmakäskyllä. Samalle muistialueelle voitaisiin silloin latoa rajattomasti muistia. Hän piti ajatusta hyvänä, ja lupasi toimittaa tällaisia muistiyksikköjä siihen mennessä kun me saamme niitä tarvitsevan ohjelman valmiiksi. Lopuksi tein käyttöjärjestelmään pienen muutoksen, joka vaihtoi prosessia vaihdettaessa myös sen käyttämän muistiyksikön. Ohjelmoijan ei tarvitsisi koskaan murehtia muistin riittävyyttä. Riitti, kun ohjelmistoa koottaessa tietokoneelle "kerrottiin", missä lohkossa kukin ohjelmaprosessi sijaitsee.

Koetan vetää yhteen, mitä olen koettanut havainnollistaa. Teknologia ei välttämättä kehity tieteellisen teorian vaikutuksesta. Usein teorioissa esiintyvät periaatteelliset rajoitukset saattavat jopa hidastaa teknologian kehitystä****. Toisaalta, kuten esimerkit mekaanisista laskukoneista ja tietokoneiden alkuajoista osoittavat, teoria voi myös rohkaista ja oikeuttaa käytännön kehitystyötä. Teknologiaan liittyvä keskeinen teoriatausta myös muuttuu kehityksen myötä. Tietokoneiden alkuaikoina tarvittiin Alan Turingin kaltaisia matemaatikkoja löytämään ja muokkaamaan tietokoneiden ratkaistaviksi soveltuvia tehtäviä. Tällä hetkellä laskentateoriat ovat jääneet taustalle, ja tilalle on tullut esimerkiksi koodausteoriaa, tiedon pakkauksen teoriaa ja salakirjoituksen teoriaa.

Kohtasin työssäni vielä yhden Turingin taikamaailman piirteen. Koodeja murtava ryhmä toimi täysin autonomisesti, siinä ei ollut hierarkiaa eikä esimiessuhteita, vaan työt jaettiin kykyjen mukaan ja kaikki auttoivat toisiaan. Oma työympäristöni oli samanlainen, Samalla kun taistelimme teknisten ongelmien kimpussa, koetimme pitää huolta, että keksimämme uudet ratkaisut sopivat yhteen ja hyödyttivät koko yritystä. Johtajat eivät motivoineet eivätkä kannustaneet, vaan pysyttelivät poissa tieltä.

Hodgesin kirjan nimessä on sana ”arvoitus”. Selvästi se liittyy saksalaisen salakirjoituskoneen koodin murtamistyöhön, missä Turingin rooli oli aivan keskeinen. Koneen nimi ”Enigma” tarkoittaa arvoitusta. Mutta se voi viitata myös Turingin persoonallisuuteen, joka oli vähintään poikkeuksellinen. Myös Turingin itsemurha on arvoitus. Hän ei vaikuttanut masentuneelta eikä itsetuhoiselta, mutta toisaalta hän puhui itsemurhan mahdollisuudesta huolettomasti. On totta, että Yhdysvalloissa levisi sodan jälkeen moraalinen paniikki, ja he painostivat myös brittejä puhdistamaan homoseksuaalit ja muut epäilyttävät henkilöt valtion palveluksesta. Turing suhtautui avoimesti ja luontevasti seksuaalisuuteensa. Mutta epäilemättä painostus tuntui, ja hän sai myös poikkeuksellisen kovan tuomion "seksuaalisesta perversiosta". On myös mahdollista, että hänet murhattiin, vaikka selviä viitteitä ei ole. Jostain syystä Turingin sodanaikainen työ luokiteltiin myös sodan jälkeen äärimmäisen arkaluontoiseksi. Se pidettiin täysin salassa 20 vuotta, ja kirjan mukaan se on edelleen osittain salaista. Turingin homoseksuaalisuus, hänen persoonallisuutensa, hänen älyllinen kapasiteettinsa ja  lukuisat kontaktit ”epäilyttäviin” henkilöihin saattoivat tehdä hänestä uhkaavan turvallisuusriskin. 

Elokuvan nimi ”Imitation game” eli ”jäljittelypeli” voisi viitata ainakin kolmeen asiaan. Ensinnä se tuo mieleen Turingin testin, missä tietokone yrittää jäljitellä ihmistä. Toiseksi, se voisi viitata universaalin Turingin koneen toimintaan. Tuo konehan lukee minkä tahansa muun koneen rakennekuvauksen, ja ryhtyy sitten jäljittelemään sitä. Ja sitten sillä voidaan viitata siihen, miten homoseksuaali selviytyy vihamielisessä ympäristössä. Pitää jäljitellä ”tavallisia” ihmisiä. Mutta tällaisesta elämästä Alan Turing ei itse piitannut. Hän oli avoimesti vain oma itsensä. 

Jälkikirjoitus

Alan Turing oli harvinaisen monipuolinen ajattelija. Hänen ideansa "universaalista Turingin koneesta" vaikutti ratkaisevasti nykyaikaisen tietokoneen keksimiseen. Hän vaikutti vahvasti tekoälyn (AI) tutkimuksen käynnistämiseen 1950- luvulla. Hän pohti myös, miten kemialliset prosessit voisivat saada aikaan epäorgaanisten aineiden järjestäytymisen symmetrrisiksi muodoiksi, kuten tähdiksi, nauhoiksi ja spiraaleiksi. Vuonna 1952 hän julkaisi artikkelin "The chemical basis of morphogenesis" (muotojen syntymisen kemiallinen perusta). Sitä pidetään yhtenä teoreettisen biologian perusteoksena.

*) Jos lukija ei ole perehtynyt matematiikkaan ja logiikkaan, voi olla valaisevaa lukea hieno sarjakuvaromaani ”Logicomix” - se on myös suomennettu (Avain 2010). Siinä seikkailevat nämä Alan Turingin tärkeät kollegat - myös Turing mainitaan sen liiteosassa.
**) Tämä kuvaus on epätarkka, eikä se pysty valaisemaan hyvin vaikeaa ja syvällistä ongelmaa. Yllä mainittu ”Logicomix” johdattelee siihen kansantajuisesti.
***) Nykyiset tietokoneet ovat pääasiassa niin sanottuja von Neumann- koneita ja sen muunnelmia. Loogisesti ne vastaavat täysin universaalia Turingin konetta - paitsi että jälkimmäisessä on ääretön muisti. Oikeassa tietokoneessa sellaista ei tietenkään voi olla.
****) John von Neumann kirjoitti vuonna 1945 raportin "First Draft of a Report on the EDVAC", jossa kuvataan yleiskäyttöisen tietokoneen rakennetta. Turingin nimeä ei siinä mainita, mutta raportin keskeinen idea oli peräisin Turingin vuoden 1936 artikkelista "On computable numbers". Von Neumannin raporttia ei julkaistu, mutta sen kopiot kiersivät asiantuntijoiden keskuudessa. Sen takia tietokonetta ei koskaan voitu patentoida.
*****) Olen eritellyt teknologian ja tieteen suhteita ja teknologian leviämistä ja vaikutuksia kirjassani ”Tervanpoltosta innovaatiotalouteen”.