Uusi kirja: Perusteet ohjelmistojen symboliselle analyysille

Uusi kirja: Perusteet ohjelmistojen symboliselle analyysille
Kirja tilattavissa Amazon-kirjakaupasta (79 euroa)
Näytetään tekstit, joissa on tunniste Tiede Henkilöt. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste Tiede Henkilöt. Näytä kaikki tekstit

maanantai 12. lokakuuta 2009

Itseoppineita neroja

Koululaitoksen ja yliopistojärjestelmän tarpeellisuudesta ei tule kovin mairittelevaa kuvaa kun silloin tällöin tulee vastaan ihmisiä, jotka ovat omaksuneet tieteen periaatteet ja sisällön itse - osallistumatta alan koulutukseen.
Muutamia todella huimia tapauksia itseoppineista neroista tiedetään.

Giordano Bruno opetteli tähtitieteen ja ennusti maailmankaikkeuden



Tämä fysiikan ja tähtitieteen suuruus, Giordano Bruno poltettiin elävältä Kukkien torilla Rooman keskustassa helmikuun 16. vuonna 1600 (täällä lisää). Hänen rikoksenaan oli ajattelun harjoittaminen. Vuonna 1889, kun vapaa-ajattelijat ja järkevät uskovaiset pystyttivät hänelle patsaan tuolle samalle torille, jolla katolinen kirkko murhasi hänet, paavi Leo XIII tuomitsi heidät. Vuonna 1942 kardinaali Mercati väitti, että kirkko teki oikein, koska Bruno ansaitsi tulla surmatuksi. Vatikaani on sittemmin vaiennut asiasta.Nyt mietitään pitäisikö uuden paavin päästää Bruno vihdoin pannasta.

Alla muutamia lainauksia oheisesta viitteestä:
Bruno oli itseoppinut nero. Hänhän eli ennen Galileita. Hän väitti, että Kopernikus oli oikeassa - että maa kiersi aurinkoa. Hän jatkoi kuitenkin valovuosia tuon puolalaisen tähtitieteilijän ohi: meidän aurinkomme on vain läheinen tähti, hän väitti, ja miljoonilla tähdillä on planeettoja ympärillään juuri niin kuin meidän tähdellämme. Hän väitti, että tämä tähtien universumi on rajaton.

Näiden väitteiden vuoksi, ja koska hän esitti, että papeilla ei ollut oikeutta väkisin yrittää käännyttää epäuskoisia, Brunon entinen kirkko asetti hänet syytteeseen. Katolinen kirkko sulki hänet inkvisiition ylläpitämiin vankiloihin Roomassa ja Venetsiassa seitsemäksi vuodeksi. Amerikkalaista Starria muistuttava syyttäjä samoili Eurooppaa etsien hänen kirjoituksiaan. Hänelle tarjottiin vapautta, mikäli hän peräytyisi. Hän hymähti pelkälle ajatukselle, ja sanoi piispoille ja papeille, jotka tuomitsivat hänet kuolemaan: "Ehkäpä teidän pelkonne antaessanne tuomiota on suurempi kuin minun sitä ottaessani vastaan."

Vuosikymmeniä myöhemmin Galileo perääntyi, joten hänelle ei käynyt yhtä pahasti kuin Brunolle.
Srinivasa Ramanuja kehitti ja johti suuria osia matematiikasta aivan itse



Englantilainen matematiikan professori GH Hardy sai yllättävää postia Intiasta vv. 1913. Lähettäjänä oli nuori itseoppinut nero Srinivasa Ramanuja, joka oli johtanut suuria osia matematiikan postulaateista itsenäisesti. Siitä on lisää mm. tässä Solmu-lehdessä (sivusta 31 alkaen).

Poimintoja Wikistä:
Born and raised in Erode, Tamil Nadu, India, Ramanujan first encountered formal mathematics at age 10. He demonstrated a natural ability, and was given books on advanced trigonometry by S L Loney. He had mastered them by age 13, and even discovered theorems of his own. He demonstrated unusual mathematical skills at school, winning accolades and awards. By 17, Ramanujan conducted his own mathematical research on Bernoulli numbers and the Euler–Mascheroni constant. He received a scholarship to study at Government College in Kumbakonam, but lost it when he failed his non-mathematical coursework. He joined another college to pursue independent mathematical research, working as a clerk in the Accountant-General's office at the Madras Port Trust Office to support himself. In 1912–1913, he sent samples of his theorems to three academics at the University of Cambridge.
Ainoastaan Hardy suvaitsi lukea Ramanujanin kirjeen, mutta sen ansiosta hän pääsi perille siitä, että kaukainen lähettäjä on joko nero tai joku umpihullu tyyppi, joka tekee asioista pilaa. Kirje kuului kuulemma näin:
S. Ramanujan G.H. Hardylle, Madras 16. tammikuuta 1913:
”Hyvä herra,
pyydän esittäytyä Madrasin satamasäätiön tiliosaston virkailijana, joka ansaitsee vuodessa 20 puntaa. Olen nyt noin 23 vuoden ikäinen.Minulla ei ole yliopistollista koulutusta, mutta olen suorittanut tavanomaiset kouluopinnot.
Koulun päätettyäni olen käyttänyt vapaaaikani matematiikan parissa työskentelemiseen. En ole seurannut yliopistokurssien tavanomaista kulkua, vaan olen etsinyt uusia teitä. Olen tutkinut hajaantuvia sarjoja yleisesti. Paikalliset matemaatikot kuvailevat saavuttamiani tuloksia ’järisyttäviksi’.

Harkinnan jälkeen Hardy päätti ryhtyä toimeen ja niinpä hän hankki tämän intialaisen käymään yliopistoonsa. Tuloksena yhteistyöstä syntyi runsaasti uutta tiedettä. Myöhemmin Ramanujanin muistikirjoista on löydetty kaikkiaan kaksitoista aluetta (1. alkeismatematiikka,
2. lukuteoria, 3. äärettömät sarjat, 4. integraalit,  5. asymptoottiset ekspansiot ja approksimaatiot,
6. gammafunktio ja siihen liittyvät funktiot, 7. hypergeometriset funktiot,  8. q-sarjat,  9. ketjumurtoluvut, 10. thetafunktiot ja modulaariset yhtälöt,  11.Ramanujanin teoria elliptisistä funktioista ja 12. luokkainvariantit).

Hardy arvioi Ramanujanin merkitystä toteamalla hänellä olleen erinomaisen muistin, mikä ei kuitenkaan ollut poikkeuksellista matemaatikoilla: ”Hänen näkemyksensä algebrallisista kaavoista, äärettömien sarjojen muunnoksista, jne. oli hämmästyttävä. Tässä suhteessa en ole koskaan tavannut hänen veroistaan, ja voin verrata häntä vain Euleriin tai Jacobiin.” ... ”Muistillaan, kärsivällisyydellään ja laskentakyvyllään hän yhdisti tehokkaan yleistyksen, herkkyyden muodon hahmottamiseen ja kyvyn nopeasti muunnella oletuksiaan, mitkä olivat usein järisyttäviä tehden hänestä omalla erityisalallaan (osaajan), jolla ei ollut vertaa omana aikanaan.

Voiko tietojenkäsittelytieteen huipulle päästä "koukaten" - muiden ohi?
Nykyisin henkilöllä, joka rupeaa omatoimisesti tutkimaan tiedettä haluamaansa alaan liittyen on huomattavasti parempi tilanne kuin Giordano Brunolla ja Srinivasa Ramanujanilla. Meillä on nimittäin ainakin kolme asiaa paremmin:
  1. Internet tarjoaa valtaisan määrän tietoa, suuri osa tieteellisistä artikkeleistakin on ilmaisia.
  2. Enää ei tarvitse pelätä, että joutuisi inkvisition uhriksi.
  3. Sähköpostin avulla voi tavoittaa kaukaisiakin professoreita, paremmin kuin 100 vuotta sitten
  4. Yliopistolaitos, ainakin teoriassa, on tarjoavinaan opetusta ja kursseja. Itse en tosin niistä ole juuri ollenkaan päässyt hyötymään, eikä minua päästetty tutkijakoulun viikkopalavereihinkaan mukaan.
  5. Konferensseissa pääsee tapaamaan alansa huippuja (edellyttäen, että on varaa matkustaa).
Ongelmia on edelleen:
  1. Informaatioähkyn takia ihmisiä ei tavoita juuri sen paremmin kuin 100 vuotta sittenkään
  2. Kilpailun takia kilpa-asenne estää vapaata kommunikaatiota vielä kielteisemmin kuin 100 vuotta sitten. Hyvin harvat ovat halukkaita puhumaan suunnitelmistaan.
  3. Sadan vuoden aikana ilmapiiri on muuttunut katkeranoloiseksi. Löytämisen ilo on tieteestä kadonnut, sen sijalle on tullut tulostehtailua. Kirjoittamisesta on tullut itse tarkoitus. Tutkijat taistelevat tänään asemastaan paljolti epärehellisin, vilpillisin keinoin. Ennenkaikkea tämä tulee esille kotimaassa. On aiheetonta solvausta ja toisen työn vähättelyä. 
  4. Rahoitusta tutkimukselle on vielä vaikeampi saada kuin 100 vuotta sitten, sillä pyrkijöitä on pilvin pimein. Rahoittajilla ei ole kykyä tunnistaa niistä kelvollisia.
Miten pääsin MDE-tutkimuksen kärjen tasalle?
Läpäisin yliopistossa maisterivaiheen ja tohtorikoulutusvaiheen lähes käymättä läpi montaakaan oikeaa tietotekniikan tai tietojenkäsittelytieteen kurssia. Kokemukseni perusteella minut päästettiin vähällä, mutta kääntöpuolena en päässyt tuntemaan vertaisopiskelijoita enkä päässyt oppimaan oppimismenetelmiäkään - paitsi kantapään kautta ja itseopiskelemalla. Siinä suhteessa olin tavallaan samassa tilanteessa kuin äskeiset nerotkin.

Lokakuulla (2009) Denverin SLE-konferenssissa aiheena oli formalien kielten suunnittelu (Source Language Engineering), mitä teknologiaa nimitetään nykyisellään Grammarwareksi. Tämän alueen olin opetellut Prolog-kirjoista pitkän ajan kuluessa. Prolog-tekniikan ansiosta oli tehnyt translaattoripatentin kuinka muuntaa lähdekieltä mahdollisimman automaattisesti tehdyllä translaattorigeneraattorilla toiseen kieleen. Tämä innovaatio sai minut perustamaan yrityksen lähdekoodin analysointiinkin.

Mietittyäni lähdekoodin olemusta ja tietomalleja vuosikausia pääsin väitöksessäni johtamaan atomistisen lähdekoodin mallin. Denverissä SLE-teemaan liittyen puhuttiin mallintamisteknologioista (Modelware), jonka pääkäsitteitä ovat Model Driven Engineering (MDE) ja Model Driven Architecture (MDA). Olin jo väitöshankkeeni alussa päättänyt, että parannan MDA-malleja merkittävän paljon (siis yksinkertaistan niitä). MDE:n pääkehittäjä Jean Bezivin oli paikalla Denverissä ja piti pääpuheen (Jim Cordyn toisen puheen ohella). Hän otti MDE:n yhteydessä puheeksi käsitteen technological spaces (teknologia-avaruudet), mikä on olennaisen tärkeä mallintamista ja tietojenkäsittelytiedettä yleensä tarkentava tarkastelun rajaus. Yhden teknologia-avaruuden sisällä tyypillisesti käytetään samantapaisia peruskonstruktioita, menetelmiä, työkaluja ja ratkaisuja. Teknologia-avaruuksia esitellessään Bezivin toi esille kalvossaan kirjani ja kertoi, että mainioita kirjoja teknologia-avaruuksista on jo olemassa.

Jean Bezivin on perehtynyt symbolisen analyysin menetelmääni ainakin blogini kautta. Sieltä hän on voinut havainnoida, että olen parantanut GrammarWare-aluetta muutamilla pienillä, mutta merkittävillä oivalluksilla. ModelWare-puolta olen parantanut merkittävästi atomistisella mallilla. Jutellessani myöhemmin hänen kanssaan kyselin häneltä, onko mitä hänellä on mielessä jatkotutkimuksen suhteen. Hän sanoi, että heidän porukkansa ei aio MoDisco-ohjelmassaan keskittyä imperatiivisiin kieliin, eikä tavoittekaan suoritettavan mallin kehittämistä. Siten SimulationWare ei suoraan kiinnosta heitä, eikä tietämyksen poimiminen Javan koodista lausetasolla. Näissä kahdessa teknologia-osuudessa olin edennyt heitä pidemmälle.  Bezivinillä on Inria-organisaationsa kautta kymmenen vuoden ja satojen miestyövuosien kokemus, mutta käsittelyn linjaukset poikkeavat melkoisesti siitä mihin itse olen päätynyt kymmenen vuoden aikana.


Oheisessa kuvassa kehittämäni teknologia-avaruudet. Ne tukevat huomattavasti paremmin sekä tietokoneen perustoimintojen simulointia että ihmisen ajatteluprosessin synkronointia koodin toimintoihin, kuin mikään muu menetelmä tähän asti.