Näytetään tekstit, joissa on tunniste John von Neumann. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste John von Neumann. 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.



torstai 2. marraskuuta 2023

Marsilaiset pilvin pimein

Ydinfyysikko Enrico Fermin suuhun pantu Fermin paradoksi pohtii, miksi emme havaitse muualla avaruudessa älyllistä elämää. Miten nuo avaruusolennot eivät olisi huomanneet näin ihanaa paikkaa, ja käyneet täällä ainakin pikavisiitillä. Puhumattakaan siitä että Maa olisi heille lomakohde. Ihmettely tuntuu nykyisin entistäkin perustellummalta, sillä eksoplaneettojen tutkimus vihjaa, että maan kaltaisia ja ilmeisesti elämälle otollisia planeettoja on Linnunradalla runsaasti, ja jopa lähes pikaisen käynnin etäisyydellä eli muutaman kymmenen valovuoden säteellä. Joten miksei niitä tutkimusmatkailijoita tai lomailijoita näy?

Fermin paradoksiin on parikin ratkaisua. Ensinnäkin on se, että olemme ehkä universumissa yksin. Se ei ole mitenkään uskottavaa, koska elämän synty ja kehitys näyttävät olevan luonnonlain kaltaisia ja yleispiirteiltään ymmärrettyjä luonnollisia prosesseja. Aivan omaaan arvoonsa asettuu se teologinen selitys, että Jumala ei vain ole viitsinyt luoda elämää muille planeetoille. Oma vastaukseni on, että ihmettelyssä on mittakaava- ja skaalausvirhe. Tiedemiehetkin voivat sellaiseen langeta. Fermin paradoksin muotoilussa on vahvoja kätkettyjä kulttuurisia ja loogisia oletuksia, jotka vain eivät mene oikein. Myös sanonta ”älyllinen elämä” ansaitsee kriittistä pohdintaa. Sitä olen käsitellyt hyvinkin perusteellisesti uudessa kirjassani ”Robottipuisto”.

Unkarilainen ydinfyysikko Leó Szilárd osasi antaa Fermille napakan ja huumorilla höystetyn vastauksen. ”Marsilaiset eivät tule tänne, koska ne ovat jo täällä. Niitä saanotaan unkarilaisiksi”. Aivan oikein. Tuohon aikaan unkarilaisia tieteentekijöitä suorastaan vilisi julkisuudessa. Miten voi yksi pieni kansakunta tuottaa tällaisen määrän ylivertaista tieteellistä osaamista?

Lisäperusteena sille, että unkarilaiset tieteentekijät todella tulevat Marsista on sanottu, että Kuusta löytyy enemmän heiden mukaansa nimettyjä kraattereita kuin heille nimettyjä katuja löytyy Budapestista.

Unkarilaisia marsilaisia on todella listattu melkoinen määrä, eräs lista käsittää 18 nimeä. Leó Szilárdin lisäksi meillä jossain määrin tunnettuja nimiä ovat Paul Erdős, John von Neumann ja Edward Teller. Väitetään, että Teller oli erityisen ylpeä nimilyhenteestään ET.

Edellä mainittu keskustelu marsilaista tapahtui ydinaseiden kehitttämishankkeessa. Myös matemaatikko Paul Erdős kutsuttiin Manhattan-pojektiin, mutta pyyntö peruttiin, koska häntä ei pidetty lojaalina amerikkalaisille. Sen sijaan Szilárd on saaanut lisänimen ”atomipommin isä”, ja vastaavasti Teller on ”vetypommin isä”. Katsotaan asiaa tarkemmin.

Ydinasetta on pidetty fysiikan tai ylipäätään tieteen pimeänä puolena. Toisaalta myrkkykaasut ja erityisesti ”taistelukaasut” on vastaavanlainen kemian sovellus. Ydinaseen kehittämiseen johti varsin viattoman tuntuinen löydös. Noin vuonna 1910 brittiläinen fyysikko Ernest Rutherford havaitsi, että atomissa on hyvin pieni ydin, ja joitakin vuosia myöhemmin hän päätteli, että ytimessä on positiivisesti varautuneita hiukkasia, protoneja. Tiedetään, että samanmerkkiset varaukset hylkivät toisiaan. Jos joukko protoneja pakotetaan atomin ytimen kaltaiseen hyvin pieneen tilaan, tarvitaan valtavasti voimaa voittamaan sähköinen hylkiminen. Ydin onkin pieni hitunen tavattoman tiiviisti pakattua energiaa. Salaperäinen, väkevä ja hyvin lyhyen kantaman voima, atomivoima, pitää tuon ytimen koossa.

Vuonna 1930 keksittiin varsin monen vaiheen kautta protonin massainen mutta varaukseton hiukkanen, neutroni. Tällainen varaukseton hiukkanen pystyisi tunkeutumaan atomin ytimeen ja aiheuttamaan ehkä jonkun reaktion. Fyysikot Lise Meitner, Fritz Strassman ja Otto Hahn onnistuivatkin saamaan tällaisen reaktion aikaan, mutta eivät ymmärtäneet, mitä siinä tapahtui. Otto Frisch ja suomalainen ydinfyysikko Lennart Simons onnistuivat tekemään tarvittavan mittauksen Kööpenhaminassa vuonna 1939: osoittautui, että atomin ydin oli haljennut. Samalla huomattiin, että haljenneen ytimen puoliskot tarvisevat vähemmän protoneja yhdssä pitävää atomivoimaa, joten ylimääräinen energia purkatuu säteilynä ja liike-energiana.

Ja nyt eräs marsilainen, Leó Szilárd oivalsi, että halkeamisessa vapautuu ylimääräisiä neutroneita, jotka voivat synnyttää ketjureaktion eli kiihtyvän räjähdyksen. Fyysikoille se ei enää ollut kovin kiinnostavaa, mutta poliitikot ja sotilaat näkivät mahdollisuuden, josta Einstein varoitti. Vain kuuden vuoden kuluttua räjähti ensimmäinen atomipommi.

Atomipommissa on eräs tekninen ongelma. Pommin räjäyttämiseksi riittää, että kasataan hyvin nopeasti kokoon riittävän suui määrä eli kriittinen massa uraania tai plutoniumia. Mutta kun tuo väkivaltaisen nopea räjähdys käynnistyy, ydinpolttoaine lentää hajalleen ja reaktio sammuu itsestään. Hiroshiman pommissa vain 1,6 % uraanista aiheutti räjähdyksen, ja Nagasakin pommissa räjähti 6 % plutoniumista. Siksi pommin koolla on käytännöllinen yläraja, joka vastaa noin 20 kilotonnia trotyylia.

Atomipommi on hirvittävän tuhoisa, mutta tämä ei riittänyt vielä poliitikoille ja sotilaille. Toinen marsilainen, Edward Teller keksi, että ydinvoimaa voidaan vapauttaa myös sulattamalla yhteen kevyitä atomin ytimiä, kuten deuteriumia ja litiumia. Sulattamiseen tarvittava korkea lämpötila saadaan aikaan käyttämällä sytyttimenä ”tavallista” atomipommia. Nyt ylärajaa ei enää ollut, tällaiset ns lämpöydinpommit voidaan tehdä tuhansia kertoja atomipommeja voimakkaammiksi, ja tietysti sellaisia on valmistettukin.

Ydinaseiden moraalinen dilemma on, että fyysikoiden tekemien ja tieteen kannalta tärkeiden löydösten pohjalta voidaan rakentaa äärimmäisen vaarallisia tuhoaseita, vaikka se ei enää ole fysiikan kannalta kovin kiinnostavaa. Koska sotilaat ja poliitikot niin tahtovat. Ovatko he sitten syyllisiä? Mutta myös Teller oli fyysikko. Sitäpaitsi sotilaat ja poliitikot ovat pohjimmiltaan ja ajattelutavaltaan aivan samanalaisia ihmisiä kuin fyysikot tai me kaikki. Ja insinöörit, joista on jännittävää kyhätä erilaisia härveleitä vain jotta nähtäisiin, toimivatko ne. Sekin kuulostaa sinänsä aivan viattomalta.

 

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.