keskiviikko 30. marraskuuta 2016

Tietokone, osa 5: Konekieli

Nyt on aika pistää edellisellä kerralla esitelty prosessori tekemään hyödyllistä työtä. Prosessori suorittaa yksinkertaisia käskyjä, jotka on esitetty "konekielellä" — ne on niin ikään esitetty lukuina, joille on annettu tietty merkitys.

Konekieliohjelmointia tehdään nykyään erittäin vähän, koska se on monimutkaista ja vaatii syvällistä ymmärrystä koneen toiminnasta. On paljon järkevämpää käyttää työkaluja, jotka ovat luettavampia ihmiselle ja jotka tuottavat parempaa konekieltä kuin tavalliset kuolevaiset. Konekieli on varattu käyttöjärjestelmien ja ohjelmointikielten kehittäjille — sekä meille, jotka syvennymme prosessorin toimintaan.

maanantai 28. marraskuuta 2016

Tietokone, osa 4: Mitä tietokoneeseen kuuluu?

(NASA:n insinöörejä IBM 7094 -tietokoneen ääressä vuonna 1966.)

Viime viikolla kävimme läpi matemaattisia perusteita, joiden päälle tietokone rakentuu. Tällä viikolla on aika pistää ne hyötykäyttöön. Tässä osassa käymme (pintapuolisesti) läpi tietokoneen historian ja perusosat, jonka jälkeen siirrymme ohjelmoimaan koneen omalla kielellä. Viikon lopuksi siirrymme ihmisen luettavaksi kelpaaviin kieliin. Jatketaan!

perjantai 25. marraskuuta 2016

Tietokone, osa 3: Negatiiviset luvut

Viime osan lopuksi vihjasin, että ympäripyörähtävät luvut käyttäytyvät hyvin kummallisesti. Auton matkamittari pyörähtää miljoonan kilometrin sijaan nollaksi, mutta sen ei odoteta pystyvän esittämään negatiivisia kilometrejä. Tietokoneessa miinusmerkit ovat kuitenkin välttämättömiä, ja siksi $127+1$ voikin olla $-128$!

keskiviikko 23. marraskuuta 2016

Tietokone, osa 2: Yhteenlasku

Edellisellä kerralla aloitimme pohjalta tutustumalla loogisiin piireihin ja binäärilukuihin. Tänään siirrymme seuraavalle tasolle: tietokoneemme alkaa käsitellä luonnollisia lukuja ja laskea niitä yhteen.

maanantai 21. marraskuuta 2016

Rakennetaan tietokone!

Olen silloin tällöin ollut tilanteessa, jossa päädyn selittämään tietokoneen toimintaperiaatetta (normaali ruokatunti Clasussa!). Tietokoneita on kaikkialla, mutta ne ovat eräänlaisia mustia laatikoita, joiden toimintaperiaate on mystinen salatiede. Näin ei ole. Tietokone on pohjimmiltaan äärimmäisen yksinkertainen laite, ja tämä sarja tulee esittelemään sen alkeista ylöspäin.

Matkamme jakautuu yhdeksään osaan kolmen viikon varrella. Tällä viikolla käydään läpi perusteita, joista matematiikka ja logiikka tietokoneen sisällä saavat alkunsa. Ensi viikolla näistä kootaan yksinkertainen tietokone, ja viimeisellä viikolla palasista muodostetaan jokaisen tuntema kokonaisuus. Yritän myös sisällyttää jokaiseen osaan pari tehtävää niille, joilla on aikaa ja kiinnostusta. Viikot ovat jokseenkin erillisiä, joten jokaiselle pitäisi löytyä jotain, toivottavasti.

Jotta sarja pysyisi mielekkäänä, käsittelemme erittäin yksinkertaistettua versiota tietokoneesta. Käsittelemme ohjelmointiakin varsin pintapuolisesti — algoritmien perusteista saisi kasattua toisen samanlaisen sarjan. (Josta voin olla kiinnostunut, jos sille on lukijoita!) Tämä ei opeta rakentamaan tietokonetta tai ymmärtämään Exceliä, mutta ehkä se raottaa hieman verhoa. Aloitetaan!

torstai 17. marraskuuta 2016

Lukuvinkki: Kirjeitä nuorelle matemaatikolle

Vajaat puoli vuotta sitten minut julistettiin ylioppilaaksi, ja MAOL-Pirkanmaa onnitteli koemenestyksestä kirjastipendin muodossa. Tämä kirja oli Ian Stewartin Kirjeitä nuorelle matemaatikolle (suom. Juha Pietiläinen, Terra Cognita 2007). Osoittautui (taas kerran), että opettajat tietävät mitä tekevät kannustaessaan matemaattista uraa harkitsevia.

Kuten kirjoittaja, matematiikan professori Warwickin yliopistossa, itsekin huomauttaa, teos on eräänläinen jatko-osa G. H. Hardyn Matemaatikon apologialle (julkaistu 1940). Hardy itse perusteli matematiikan harjoittamista sen kauneuden vuoksi, ja erityisesti korosti lukuteorian täydellistä hyödyttömyyttä maailmansotien keskellä. (Ja oli väärässä, kuten pari vuosikymmentä myöhemmin nähtiin.)

Stewartin teos on kirjoitettu lyhyiksi kirjeiksi, jotka on osoitettu kuvitteelliselle Megille. Kaksikymmentäyksi kirjettä alkavat Megin päätöksestä opiskella matematiikkaa ja päättyvät tämän yliopistovirkaan. Matkan varrella Stewart esittää huomioita omista kokemuksistaan yliopistomaailmassa, yliopistomatemaatikon työstä ja syistä ryhtyä matemaatikoksi. Joukossa on kannustuksen ja hyvien havaintojen lisäksi hyväntahtoista huumoriakin — kohderyhmä voi kokea matikkavitsit jopa hauskoiksi.

Itse luin tämän kirjan heti ylioppilasjuhlia seuraavina päivinä ja vaikutuin. Oma päätökseni oli siinä vaiheessa jo selvä, ja teos vain vahvisti sitä. Toisaalta se herätti ajattelemaan myös akateemisen maailman ongelmia, mutta myös matematiikan filosofista puolta. Stewart itse korostaa useampaan kertaan matematiikan kauneutta, mikä on inspiroinut minua yrittämään itsekin. Pidän tekstin ansiona sen keveyttä, joka jättää jatkoajattelemisen lukijan tehtäväksi, ja toisaalta mahdollistaa selailun koska tahansa.

Matemaattista alaa harkitsevan kannattaa, tai oikeastaan pitää, lukea tämä kirja.

Syksyn ylioppilastulokset julkistetaan huomenna. Blogi puolestaan ottaa seuraavat kolme viikkoa käänteen tietojenkäsittelyn perusteisiin vastatakseen kysymykseen, miten tietokone toimii.

tiistai 15. marraskuuta 2016

Pieniä suuria todistuksia

Matematiikka on parhaimmillaan erittäin tiivis tiede. Väitteen voi todistaa vääräksi esittämällä lyhyen vastaesimerkin ja useimmat perussäännöt voidaan todistaa muutamalla lauseella. Tämä heijastuu myös matemaattisiin artikkeleihin.

Yksi tunnettu esimerkki lyhyestä todistuksesta julkaistiin vuonna 1966. Kiitos avointen julkaisuarkistojen, se on vapaasti luettavissa. Kyseessä on juurikin vastaesimerkki, ja vapaahko käännökseni menee näin:

Vastaesimerkki Eulerin konjektuuriin [valistuneeseen arvaukseen] samojen potenssien summasta

Suora haku CDC 6600 -tietokoneella tuotti lausekkeen \[ 27^5 + 84^5 + 110^5 + 133^5 = 144^5 \] pienimpänä tapauksena, jossa neljä viidettä potenssia tuottavat viidennen potenssin. Tämä on vastaesimerkki Eulerin konjenktuuriin, jonka mukaan täytyy laskea yhteen ainakin $$n$$ $$n$$:tä potenssia $$n$$:n potenssin saavuttamiseksi, kun $$n>2$$.

Puoli sivua, ja siitäkin puolet otsikkoon ja yhden lähteen luetteloon! Yksi esimerkki riittää todistamaan, ettei ehto olekaan voimassa — neljän luvun yhteenlaskeminen riitti, vaikka 1700-luvulla Leonhard Euler veikkasi tarvittavan viisi.[1]

Ehkä lyhyimpänä todistuksena voitaisiin pitää John Conwayn ja Alexander Soiferin vuonna 2005 julkaistua artikkelia. Se käsittelee tasasivuisen kolmion peittämistä pienemmillä kolmioilla. Jos ison kolmion sivun pituus on $$n$$, pieniä kolmioita tarvitaan $$n^2$$ (tarkista vaikka itse!) kappaletta. Artikkeli tarkastelee tilannetta, jossa ison kolmion sivu ei olekaan tasaluku.

Voiko $$n^2 + 1$$ tasakylkistä yksikkökolmiota peittää tasakylkisen kolmion, jonka sivu $$>n$$, vaikkapa $$n+\epsilon$$?

$$n^2+2$$ voi: [kaksi kuvaa]

Koko tarina on luettavissa niin ikään vapaasti. Kirjoittajien tavoitteena oli tehdä ennätys artikkelin lyhyydessä, mutta julkaisija ei lämmennyt ajatukselle. Lyhyen väännön jälkeen teksti julkaistiin täytemateriaalina... lehden pidentämänä versiona.


[1] Vitsin mukaan matemaattiset löydöt nimetään toisen löytäjän mukaan, koska muuten lähes kaikki olisi nimetty Eulerin mukaan. Lista hänen mukaansa nimetyistä asioista on kieltämättä pitkä, mutta sitä voinee odottaa historian ehkä tuotteliammalta matemaatikolta.

perjantai 11. marraskuuta 2016

Mahdottomat ratkaisut

(Näillä ympyrällä ja neliöllä on vain likimäärin sama pinta-ala.)

Viime kerralla esitellyt kolme klassista ongelmaa työllistivät matemaatikkoja parin vuosituhannen ajan. Niiden ratkaiseminen itsessään ei ollut mahdotonta: jo antiikin kreikkalaiset tiesivät menetelmiä, joilla ne pystyttiin ratkaisemaan tehokkaasti. Näihin ratkaisuihin kuitenkin liittyi liikkuvia janoja, spiraaleja ja muita tekniikoita, joita ei voinut toteuttaa pelkästään harpilla ja viivaimella.

Tehtävä oli selvä: joko nämä ratkaisutavat oli johdettava lähtöoletuksista, tai ongelmat todistettava mahdottomiksi vain niitä käyttäen. Jälkimmäinen tapahtui. Matematiikka on siitä hieno laji, että asioiden todistaminen mahdottomaksi on mahdollista. (Mainittakoon, että tästä huolimatta matematiikan laitokset ympäri maailman saavat ilmeisen paljon postia henkilöiltä, jotka ovat "ratkaisseet" jonkun klassisista ongelmista.)

keskiviikko 9. marraskuuta 2016

Kreikkalaisten päänvaivoja

(Säännöllistä seitsemänkulmiota ei voi piirtää käyttäen vain harppia ja viivainta.)

Viime kerralla tutustuimme Eukleideen jäsentämään geometriaan. Vaikka kreikkalaiset ottivatkin ensimmäisinä käyttöön loogisen menetelmän, hekään eivät osanneet ratkaista kaikkia ongelmia. Niiden kanssa painiessaan he loivat paljon uutta, mutta he eivät osanneet päästää irti kaikista rajoituksistaan.

Ensimmäinen isku kreikkalaisille tuli kuitenkin jo aikaisemmin.

maanantai 7. marraskuuta 2016

Harppi ja viivain

(Tasasivuisen kolmion piirtäminen harpilla ja viivaimella.)

Geometria syttyi kukoistukseensa antiikin Kreikassa. Aiemmat kansat olivat kyllä mitanneet kuvioita ja tehneet oikeaoppisia päätelmiä, mutta geometria ei vielä loistanut tieteenalana. Muinaiset babylonialaiset ja egyptiläiset, kummatkin jo 3000-2000 eaa. alkaen, osasivat laskea kolmion alan ja tunsivat Pythagoraan lauseen. Toisaalta vaikkapa nelikulmion alan laskemiseen oli mitä luovimpia päin paikallista puulajia olevia kaavoja.

Luultavasti kaikkien aikojen tunnetuin geometrikko on Eukleides Aleksandrialainen. Eukleideesta tiedetään hyvin vähän — hän vaikutti vuoden 300 eaa. tienoilla Aleksandriassa, jossa hän ilmeisesti opetti yliopistoa muistuttavassa laitoksessa. Kaikki elämäkerrallinen tieto on kirjattu vasta vuosisatoja myöhemmin. Se, mitä hänestä on jäänyt jäljelle, ovat hänen kirjansa. Hänen tutkielmansa peileistä ja perspektiivistä ovat säilyneet, mutta kartioleikkauksista kertovat työt ovat kadonneet. Hänen päätyönsä on kuitenkin oppikirjaksi luotu Alkeet.

Alkeet (muinaiskreikaksi Stoikheia, latinaksi Elementa) on matematiikan historian bestseller. Sitä käytettiin oppikirjana aina 1900-luvun taitteeseen asti, koska sen 13 kirjaa käsittävät lähes kaiken aikanaan tunnetun matematiikan geometriasta lukuteoriaan. Eukleides ei itse keksinyt kuin joitakin todistuksia: hänen saavutuksensa oli tiedon järjestäminen yhdeksi loogiseksi järjestelmäksi.

torstai 3. marraskuuta 2016

Loogisesta kielestä

(Kuva: Jo Naylor (Flickr). CC-BY 2.0.)

Matematiikan ja arkielämän kielet eivät aina kohtaa: Vaikkapa kysymykseen "Otatko teetä tai kahvia?" pätevä vastaus on "Kyllä." Niin ikään loogikko voi luvata pysyvänsä kirkkaana päivänä sisätiloissa sanomalla "Jos huomenna sataa, en mene rannalle."

tiistai 1. marraskuuta 2016

Veikkaamalla voi voittaa

Arvostettu fyysikko Enrico Fermi (1901–1954) tuli tunnetuksi paitsi ydinpommiin johtaneesta tutkimuksestaan, myös hyvistä arvauksistaan. Fermin menetelmäksi kutsutaan tapaa, jossa arvio tuotetaan laskemalla suuntaa-antavilla arvauksilla. Kun arvaukset ovat edes sinnepäin, niissä olevat virheet kumoavat toisensa, ja lopputulos on yllättävän hyvä!

Menetelmää voi käyttää menestyksekkäästi vaikkapa kokeessa ennen todellisen ratkaisun tekemistä, kunhan muistaa sen tuottavan vain osapuilleen oikean suuruusluokan. Otetaan pari esimerkkiä.