sunnuntai 18. kesäkuuta 2023

Tekoäly, faktat ja laskeminen

Helsingin korkein rakennus?
(© Joneikifi, CC BY-SA 4.0)

Jatkan edellisessä blogipostauksessa aloittamaani tekoälyn pohdiskelua. Viime aikoina paljon huomiota herättänyt tekoälybotti ChatGPT juttelee sujuvasti ja inhimillisesti, mutta faktat ja matemaattinen laskeminen eivät ole sen vahvoja puolia. Eikä muuta toki ole väitettykään, kyseessä on ennen muuta ns. kielimalli, ts. se on opetettu isolla tekstimassalla, minkä perusteella se rakentaa oman tekstinsä, mutta ajattelua tai edes faktakokoelmia sillä ei ole. Matematiikastakaan se ei kovin hyvin suoriudu, vaikka saa myös oikeita tuloksia; esimerkkinä vaikkapa YouTube-video Can ChatGPT Pass the Oxford University Admissions Test?.

ChatGPT muodostaa yhden askelen siinä jatkumossa, jonka tunnetuimpia palasia ovat hakukoneet, Wikipedia ja lukuisat muut verkon informaatiolähteet. Tällainen on myös kesäkuussa 1988 symbolisen laskennan ohjelmistona syntynyt Wolfram Researchin Mathematica. Historiansa aikana siihen on ympätty — usein ilmeisesti kokeellisina hankkeina — monenlaisia piirteitä: ohjelmointikieli (Wolfram Language) on monipuolistunut, on luotu käsite computable document format (CDF), tarjolla on alkeisgeometrista päättelyä, monenlaista dataa sisältäviä tietokantoja jne. Käyttöliittymänä on Mathematica-ohjelmiston lisäksi verkkosivusto Wolfram|Alpha.

Kovin kaukana ei ole ajatus yhdistää ChatGPT:n kielimalli ja Mathematican laskentakyky sekä Wolfram Researchin tietokannat. Tämä antaa mahdollisuuden paikata ChatGPT:n faktatiedoissa ja matemaattisissa kyvyissä olevia puutteita. Itse asiassa yhdistämiseen tarvittava plugin on olemassa, kuten Stephen Wolfram kirjoittaa blogissaan. Pluginin avulla ChatGPT käy tarvittaessa tutkimassa tietokantoja.  En ole kokeillut, ainakaan vielä. Ei ilmeisesti ole vapaasti käytettävissä.

ChatGPT pystyy myös ainakin periaatteessa kirjoittamaan ohjelmakoodia Wolfram Languagea käyttäen. Koodi voidaan sitten ajaa Mathematicalla tai Wolfram Researchin pilvipalvelussa (jonka käyttöön tarvitaan sopimus).

Wolfram Researchin resurssit eivät luonnollisestikaan ole ainoa mahdollisuus laajentaa tekoälyjärjestelmien kykyjä. Tähän suuntaan varmasti edetään emmekä vielä ole nähneet alkua enempää.

Missä sitten tällä hetkellä ollaan? Miten luotettavia vastauksia ja miten helposti tekoälyltä saadaan? Seuraavassa kuvaan muutamia kokeilujani.

Yksinkertaista faktaa koskeva kysymys

Esitin ChatGPT:lle kysymyksen: Which is the highest building in Helsinki? Se ilmoitti tietojensa ulottuvan vain syyskuuhun 2021 ja tällöin korkein rakennus oli 134 metriä korkea 'the Maamerkki Tower, also known as the Landmark Tower or Pasila Tripla Tower'. En kommentoinut vastausta, mutta kysyin uudelleen. Tällä kertaa vastaus oli 19-kerroksinen 'the Helsingin Pörssitalo (Helsinki Stock Exchange Building), also known as the KPMG Tower'. Kysyin kolmannen kerran, jolloin vastaukseksi tuli 70-metrinen 'Torni Hotel'.

Kysyin samaa asiaa Mathematicalla Wolfram Researchin tietokannoista. Saman voisi tehdä Wolfram|Alphaa käyttäen. Vastaukseksi tuli 74-metrinen Johanneksen kirkko.

Seuraavaksi kysyin kummaltakin, oliko Englannin kuningas Henrik VIII naimisissa. Molemmat antoivat oikean vastauksen ja luettelivat kaikki kuusi vaimoa avioliittovuosineen.

Epämääräisempi pyyntö

Pyysin luetteloa Helsingissä syntyneistä merkittävistä henkilöistä. (Give a list of the most notable persons born in Helsinki.) Tähän ei tietenkään ole yhtä oikeata vastausta, mutta tulos kertonee jotakin tekoälyn luotettavuudesta. Kärkikymmenikkö:

ChatGPT: Jean Sibelius, Linus Torvalds, Aki Kaurismäki, Tove Jansson, Renny Harlin, Armi Ratia, Tarja Halonen, Juha Kankkunen, Tom of Finland, Esa-Pekka Salonen.

Wolfram Research: Linus Torvalds, Ville Valo, Teemu Selänne, George Gaynes, Tarja Halonen, Tove Jansson, Sam Lake, Michael Monroe, Pihla Viitala, Lauri Ylönen.

Kysyin kummaltakin myös syitä Suomen kansalaissotaan. (What are the reasons for the Finnish civil war in 1918?) ChatGPT antoi noin 300-sanaisen jokseenkin paikkansapitävän selostuksen. Wolfram|Alpha antoi sekalaista faktatietoa sodasta,  kun kysymys tehtiin verkkosivulla, Mathematicasta lähetettyä kysymystä se ei ymmärtänyt.

Ohjelmakoodit

Wolfram|Alpha-spesialisti Michael Trottin artikkelissa 100+ ChatGPT-generated Wolfram Language codes on esimerkkejä ChatGPT:n generoimista koodeista erilaisiin laskentatehtäviin. Ohjelmointikielenä on Mathematican käyttämä Wolfram Language.

Yhtenä esimerkkinä on Wolfram Researchin tietokantoja hyödyntävä koodi, joka tuottaa kartan Saksan dorf-, bach-, berg-, burg- ja feld-loppuisista kaupungeista eri väreillä merkittyinä. Trottin mukaan koodi on ChatGPT:n generoima. Kokeilin vastaavaa Suomen mäki-, järvi-, joki-, salmi- ja lahti-loppuisiin kuntiin sovellettuna. Pyysin ChatGPT:tä kirjoittamaan Wolfram Language -koodin tällaisen kartan tekemiseen käyttäen samoja ilmaisuja kuin Trott. Koodi tuli hetkessä ja siirsin sen ajettavaksi Mathematicaan. Ei toiminut, syntaksivirheitä. Valitin tästä ChatGPT:lle, se pyysi anteeksi ja teki uuden koodin. Ei taaskaan toiminut. Tämä toistui muutaman kerran eikä lopultakaan syntynyt toimivaa. Olisin voinut paikata koodin itse, mutta sen sekavuuden takia muunsin mieluummin Trottin esittämän koodin Suomea koskevaksi. Tulos alla.



Todennäköisesti Trottilla on ollut käytössään uudempi versio ChatGPT:stä, joten hän on voinut saada suoraan toimivan koodin. Toisaalta ChatGPT ei ole deterministinen, vaan se tekee samaankin pyyntöön eri kerroilla erilaisia koodeja. Virheellinenkin koodi voi tietenkin antaa hyvän pohjan kehittelyyn, mikäli sen rakenne on selkeä.

Esimerkki osoittaa myös tietokantojen mukaan kytkemisen mahdollisuudet. Koodi hakee ensin tietokannasta kaikki Suomen kunnat ('cities'). Wolfram Language tarjoaa suhteellisen valmiin keinon verrata näiden nimiä tarkasteltuihin loppuihin. Tietokannasta löytyvät myös kuntien maantieteelliset koordinaatit ja Wolfram Languagesta työkalut karttaprojektioihin ja grafiikkaan. Alla kuva koodista joki-päätteen osalta.



Toisena esimerkkinä pyysin ChatGPT:tä tekemään kartan lyhimmästä reitistä, jolla kierretään kaikki Euroopan pääkaupungit. Mathematica, Wolfram Language ja tietokannat antavat tähän tarvikkeet, myös valmiin funktion lyhimmän reitin laskemiseen. Tämäkään ei onnistunut. En saanut toimivaa koodia, vaikka yritin antaa yksityiskohtaisia ohjeita koodin kirjoittamiseen. Tein sitten itse. Ei ollut ihan helppoa, sillä vaikka Wolfram Languagessa tarvikkeet ovat olemassa, niiden logiikan hahmottaminen ei ole selkeää. (Lieneekö ChatGPT:lläkin ollut tässä vaikeuksia?) Kuva alla.



Miten luotettavia tekoälyn vastaukset sitten ovat?

Helsingin korkeinta rakennusta koskeva kysymys ei mennyt hyvin, mutta Henrik VIII:n vaimot olivat oikein. Erona tietenkin on, että jälkimmäinen on jo pysyvää tietoa, edellisessä täytyy pysyä ajan tasalla. Kriittisyyden merkitys korostuu, ja tieto lähteestä ja sen ajankohdasta olisi tarpeen. Epämääräisempiin kysymyksiin saadaan tietenkin epämääräisiä vastauksia, mutta ne saattavat olla kelvollisia lähtökohtia omalle pohdiskelulle. Faktoihin ja näkökulmiin ei kuitenkaan voi luottaa ja muitakin lähteitä on syytä katsoa. ChatGPT vähät välitti vaatimuksesta, että olisi pitänyt syntyä Helsingissä, mutta ei esittänyt mitään varauksia.

Ohjelmakoodin generointi ei esimerkeissä sujunut. Riittävän yksinkertaisissa tapauksissa kuitenkin syntyy toimivaa koodia, tai ainakin koodia, joka kelpaa kehittelyn pohjaksi. Wolfram Languagen liittymä tietokantoihin ei minusta myöskään ole selkeä, jolloin edellä olevat esimerkit saattoivat olla hieman epäreiluja ChatGPT:llekin.

Tarkkaavainen lukija on saattanut havaita, että kartta tiettyihin päätteisiin liittyvistä kunnista ei vastaa nykyistä kuntajakoa. Tietokantojen perusteella muodostettu kuntalista on nimittäin vanhentunut. Ongelmallista on myös, mihin termi 'city' oikeastaan viittaa. Ns. ääkkösissä on myös horjuvuutta. Esimerkin kaltaisissa tilanteissa tällaiset puutteet eivät ole kovin merkityksellisiä, mutta tietokannoissa on paljon dataa, joka on pidettävä ajan tasalla (tai lähteistettävä tarkasti). Suhtaudun tietyllä epäluulolla Wolfram Researchin tietokantoihin.

Kaikkiaan: Tekoälyllä on hauska leikkiä, ja hyötyäkin siitä on sopivissa tehtävissä, mutta kriittisyyttä ei pidä unohtaa. Tulevaisuutta varmasti on, mutta luotettavuuden ja käyttökelpoisuuden hyväksi on vielä paljon tehtävää.


tiistai 23. toukokuuta 2023

Tekoälyä kiusaamassa


Bing Image Creatorin vastaus kuvapyyntöön aiheesta
'AI chatbot trying to solve a geometric problem'.

Tekoälybotti ChatGPT:n matemaattiset kyvyt ovat herättäneet mielenkiintoa: Mitä kaikkea se osaa ja mihin kaikkeen sitä voi käyttää?

Kyseessä on kielimalli, joka pystyy juttelemaan varsin luonnollisen tuntuisesti monista asioista monilla kielillä. Matematiikka on kuitenkin hieman eri asia: on pystyttävä ajattelemaan kerätyn valmiin tiedon lisäksi. (Aivan oikein: Matematiikassakin tarvitaan enemmän tai vähemmän ulkoa oppimista. Ilman asioiden tietämistä ei oikein ole, mitä ajatella.)

Timo Tossavainen on Tieteessä tapahtuu -lehdessä esittänyt ja kommentoinut keskustelunsa ChatGPT:n kanssa Bolzano-Weierstrassin lauseen todistamisesta. Varsin vaativaa pyytää tällaista todistusta eikä ChatGPT asiasta oikein suoriutunutkaan. Se osasi kyllä käyttää luontevia aiheeseen liittyviä fraaseja, mutta pitävää logiikkaa ei syntynyt. Eihän sitä voisi kielimallilta vaatiakaan.

ChatGPT osaa ainakin jonkin verran kirjoittaa ohjelmakoodeja. Python tuntuu olevan sille luonteenomainen ympäristö, nyt jo muinaiseksi käynyttä BASIC-koodiakin sain sen tuottamaan. Mathematica-ohjelmiston ohjelmointikieltä, Wolfram Languageakin se pystyy kirjoittamaan; tähän palaan joskus toiste.


Pyysin ChatGPT:ltä koodia kolmion pinta-alan laskemiseen, kun lähtötietoina ovat kärkipisteiden koordinaatit $(x_1,y_1)$, $(x_2,y_2)$, $(x_3,y_3)$. Tuloksena oli lyhyt täysin oikea koodi, joka perustui valmiin kaavan käyttöön: ala on $|x_3(-y_1 + y_2) + x_2(-y_3 + y_1) + x_1(-y_2 + y_3)|/2$. Näinhän asia tietenkin on. Olin vain ajatellut, että lähtökohtana olisi ollut puolet kannan ja korkeuden tulosta.

Jos kaavaa ei ennestään tunne, sen johtaminen lienee yksinkertaisinta ristitulon avulla: kolmion ala on $|\vec{a} \times \vec{b}|/2$, missä $\vec{a}$ ja $\vec{b}$ ovat kolmion sivuvektorit. Vektorialgebraa tuntemattomalle lienee kuitenkin helpointa ottaa lähtökohdaksi puolet kannan ja korkeuden tulosta. Pyysin siis ChatGPT:tä johtamaan käyttämänsä kaavan tästä lähtökohdasta.

Tapansa mukaan ChatGPT oli myönteinen:

Yes, the formula (x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2 can be derived from the fact that the area of a triangle is half of the product of its base and height. Consider a triangle with vertices A(x1,y1), B(x2,y2), and C(x3,y3). Let the base of the triangle be the line segment BC and let the height of the triangle be the perpendicular distance from A to BC, which we'll call h.

Tämän jälkeen se laski sivun $BC$ pituuden Pythagoraan mukaisesti ja totesi korkeudesta:

The distance between point A and the line BC is given by: h = (|x2*y3 + y2*x1 + x3*y1 - x1*y3 - y1*x2 - y2*x3|) / BC

Kolmion alan lauseke syntyi nyt tietenkin suoraviivaisesti, mutta en ollut tyytyväinen, vaan kysyin, mistä se sai korkeuden lausekkeen.

The expression |x2y3 + y2x1 + x3y1 - x1y3 - y1x2 - y2x3| can be derived using the formula for the distance between a point and a line.

Aivan oikein, näinhän voi edetä ja käyttää analyyttista geometriaa. ChatGPT muodosti suoralle $BC$ yhtälön ja saattoi sen standardimuotoon, vaikkei tätä myöhemmin käyttänytkään. Laski suoran kulmakertoimen ($m = \dots$) ja totesi, että korkeusjanan kulmakerroin on $-1/m$. Tämän jälkeen se muodosti korkeusjanasuoran yhtälön ja tavoitteena oli laskea korkeusjanan kantapisteen koordinaatit kahden suoran leikkauspisteenä. Sitten voikin laskea korkeusjanan pituuden ja kolmion alan lausekkeen.

Kaikki ei kuitenkaan mennyt niin kuin pitäisi. Kulmakertoimen $m$ lausekkeen sijoittaminen jäi puolinaiseksi: yhteen kohtaan sijoitettiin, kaikkialle ei. Yhtälöiden ratkaisemisessa termejä siirrettiin yhtäläisyysmerkin toiselle puolelle, mutta merkin vaihtaminen unohtui. Oikeaan lopputulokseen pääsemistä tämä ei kuitenkaan häirinnyt.

Esitin kritiikkiä:

I have studied your computations and there are some errors in the algebra of equations. But they annul each other, and then, the ultimate result is correct. I think, you shoud be more careful!

ChatGPT:

I apologize for any errors in my computations. As an AI language model, I try my best to provide accurate answers to the best of my knowledge and understanding. However, I understand that mistakes can still happen, and I appreciate you pointing out any errors you have found.

If you could let me know which equations you found errors in, I can take a closer look and see if there are any corrections I can make to improve the accuracy of my answer. Thank you for your feedback and for your understanding.

Huomautin kulmakertoimen sijoittamisesta ja termien merkinvaihdosta. Hän (tuntuu, että näin todellakin on syytä sanoa) kiitti ja erosimme toivottaen toisillemme hyvää yötä.

Mitä tästä kaikesta sitten pitäisi ajatella? Keskustelu saa hämmästyttävän inhimillisiä piirteitä. ChatGPT oli kohtelias eikä jankuttanut (vaikka tätäkin se tekee). Fraasit se hallitsee, mutta ajattelussa — tietenkin — on puutteita. Jään miettimään, kuinka paljon ihmisten välisessä kanssakäymisessäkin on vakiofraaseja ilman syvempää ajattelua.

Entä sitten tekoäly ja matematiikan opiskelu? ChatGPT:n esitystä en matematiikan opiskeluun suosittelisi. Ajattelu — jota siis oikeastaan ei ole — on sekavaa eikä virheettömyydestä ole takeita. Jos opiskelija ei asiaa ennestään tunne, hän hämmentyy. Tiettyjä faktoja ChatGPT:ltä voi kysyä (samoin kuin vaikka Googlen hakukoneelta) ja saattaa hyvinkin saada kelvollisia vastauksia. Hakukoneen käyttöön verrattuna haittana on, että lähdekritiikkiin on vähemmän mahdollisuuksia. Olen kysynyt ChatGPT:ltä matriisin häiriöalttiuden (condition number) määrittelyä ja saanut moitteettoman vastauksen (ainakin siis tässä tapauksessa).

On tietenkin vaikeata sanoa, mihin tekoälyn kehitys johtaa. Luovaan ajatteluun on kuitenkin vielä matkaa, jos siihen koskaan päästäänkään.

torstai 27. huhtikuuta 2023

Trigonometrinen Pythagoras

American Mathematical Society (AMS) julkaisee Math in the Media -sivustoa, jossa nostetaan esiin mediassa olleita matematiikkaa jollakin tavalla käsitelleitä artikkeleita tai uutisia. Osastossa Math Digests näihin liittyy myös koululaisille tarkoitettu Classroom Activities.

Maaliskuussa aiheena oli muun ohella trigonometriaan perustuva Pythagoraan lauseen todistus, jonka Calcea Johnson ja Ne’Kiya Jackson — kaksi koulutyttöä New Orleansista — olivat esittäneet AMS:n paikallisessa kevätkokouksessa. Asia on saanut mediassa yllättävänkin paljon huomiota, sitä ovat käsitelleet ainakin Scientific American, The Guardian ja Popular Mechanics. Viimeksi mainittu väittäen, että matemaatikot eivät koskaan olleet kyenneet tällaista todistusta esittämään (mitä tytöt itse eivät väittäneet).

Taustana on Elisha Scott Loomisin vuonna 1928 julkaistu teos The Pythagorean Proposition, joka käsittelee erilaisia Pythagoraan lauseen todistuksia ja jossa todetaan, että trigonometrinen todistus ei ole mahdollinen, koska se väistämättä perustuisi identiteettiin $\sin^2 x + \cos^2 x = 1$. Tämä on itse asiassa sama kuin Pythagoraan lause, jolloin kyseessä olisi kehäpäättely.

Loomisin väite on moneen kertaan todettu vääräksi ja esimerkiksi sivustossa Cut-The-Knot on trigonometriaan perustuvia todistuksia. Johnsonin ja Jacksonin todistus saattaa olla uusi, mutta mitenkään mullistava se ei ole. Todistusta ei ilmeisesti ole (vielä?) julkaistu, mutta paikallisen televisiokanavan esitelmätilaisuudesta kuvaaman videon perusteella sen todennäköinen rakenne on hahmoteltu.


Lähtökohtana oleva kolmio $ABC$ peilataan kolmioksi $ADC$ ja piirretään suora $AD$. Asetetaan pisteen $B$ kautta janalle $AB$ normaali; tämä leikkaa suoran $AD$ pisteessä $E$. Suorien $AE$ ja $BE$ väliin konstruoidaan alkuperäisen kolmion $ABC$ kanssa yhdenmuotoiset kolmiot, jotka suppenevat kohden pistettä $E$. Yhdenmuotoisuuden perusteella näiden kolmioiden hypotenuusojen pituudet voidaan laskea. Nämä muodostavat kummallakin suoralla $AE$ ja $BE$ geometrisen jonon, jossa suhdeluku on $a^2/b^2$. Janojen $AE$ ja $BE$ pituudet saadaan tällöin geometrisen sarjan summana: \begin{align*} |AE| &= c + \frac{2a^2c}{b^2} + \frac{2a^4c}{b^4} + \dots = c + \frac{\frac{2a^2c}{b^2}}{1 - \frac{a^2}{b^2}} = c\frac{a^2 + b^2}{b^2 - a^2}, \\ |BE| &= \frac{2ac}{b} + \frac{2a^3c}{b^3} + \dots = \frac{\frac{2ac}{b}}{1 - \frac{a^2}{b^2}} = \frac{2abc}{b^2 - a^2}.\end{align*} Kummallakin rivillä viimeinen vaihe on saadun lausekkeen sieventäminen mahdollisimman yksinkertaiseen muotoon.

Koska kolmio $ABE$ on suorakulmainen, on \[\sin(2\alpha) = \frac{|BE|}{|AE|} = \frac{2ab}{a^2 + b^2}.\] Suorakulmaisessa kolmiossa $ABC$ on $\sin(\beta) = b/c$. Tämän jälkeen seuraa vaihe, joka tekee todistuksesta trigonometrisen: Kolmiossa $ABD$ on trigonometrisen sinilauseen mukaan \[\frac{\sin(2\alpha)}{2a} = \frac{\sin(\beta)}{c}.\] Kun tähän sijoitetaan edellä saadut lausekkeet, päädytään yhtälöön \[\frac{b}{a^2 + b^2} = \frac{b}{c^2},\] mistä seuraa Pythagoraan yhtälö $a^2 + b^2 = c^2$.

Oleellista on, että sinilauseen todistus ei perustu yhtälöön $\sin^2 x + \cos^2 x = 1$, jolloin kyseessä ei ole kehäpäättely. Sinilauseen todistus löytynee edelleenkin esimerkiksi lukion oppikirjoista.

Todistus tuntuu aika mutkikkaalta. Eikö vähemmällä selvittäisi?


Suorakulmainen kolmio voidaan tunnetusti jakaa hypotenuusan vastaisella korkeusjanalla kahteen osakolmioon, jotka ovat yhdenmuotoisia alkuperäisen kolmion kanssa. Yllä olevan kuvion mukaisesti on tällöin \[ x = a\sin\alpha,\ y = b\cos\alpha,\ a = c\sin\alpha,\ b = c\cos\alpha.\] Jakamalla ensimmäinen yhtälö kolmannella ja toinen neljännellä, saadaan $x/a = a/c,\ y/b = b/c$. Tästä seuraa \[ c = x + y = \frac{a^2}{c} + \frac{b^2}{c}\] ja edelleen $c^2 = a^2 + b^2$.

Sivuhuomiona voi todeta, että kertomalla ensimmäinen ja kolmas yhtälö keskenään, samoin toinen ja neljäs, päädytään yhtälöön \[\sin^2\alpha + \cos^2\alpha = \frac{x}{c} + \frac{y}{c} = \frac{x + y}{c} = 1,\] joten trigonometrian perusyhtälökin tulee todistetuksi, tosin vain kulmille $0 < \alpha < \pi/2$.

Voi kysyä, onko edellä oleva Pythagoraan lauseen todistus trigonometrinen. Eihän siinä oikeastaan käytetä trigonometriaa, vaan ainoastaan yhdenmuotoisten kolmioiden sivujen verrannollisuutta. Samaa voi kysyä Johnson-Jackson-todistuksesta. Sekin lepää lähinnä kolmioiden yhdenmuotisuuden ja geometrisen sarjan varassa. Mitä yleensä tarkoittaa trigonometrinen todistus? Miten vahvasti trigonometriaa on käytettävä?

Aikojen kuluessa Pythagoraan lauseelle on esitetty lukuisia erilaisia, eri näkökohtiin pohjautuvia todistuksia. Edellä mainitun Loomisin kirjan lisäksi hyvä kokoelma on Cut-The-Knot-sivustossa. Klassikko on tietenkin Eukleideen todistus (englanniksi  tai kreikaksi).

Mielenkiintoista pohdittavaa antaa todistuksien perimmäisten lähtökohtien ('aksioomien') miettiminen. Jos todistuksessa käytetään yhdenmuotoisia kolmioita, niin mitä itse asiassa tarvitaan näiden määrittelyyn? Mitä oikeastaan tarkoittaa jo peruskäsitekin, suora kulma? Eukleideella on oma vastauksensa, modernin aksiomaattisen määrittelyn esittävät esimerkiksi Matti Lehtinen, Jorma Merikoski ja Timo Tossavainen kirjassaan Johdatus tasogeometriaan. Siinä kuin klassisen geometrian perustana on janojen mittaaminen harpilla, voidaan geometrian lähtökohdaksi myös ottaa Pythagoraan lauseeseen perustuva janojen pituus (pisteiden etäisyysfunktio).

Johnsonin ja Jacksonin todistus ei tuo kovin paljon lisää, mutta osaltaan näyttää, miten Pythagoraan lauseeseen kietoutuu melkoinen annos matematiikkaa.

 

sunnuntai 26. maaliskuuta 2023

Mitä matematiikan tehtävässä kysytään 2

Tammikuun blogikirjoituksessani (26.1.2023) esitin seuraavan, mielestäni lukiolaisillekin aivan hyvin sopivan tehtävän, johon ei niinkään haeta tiettyä ratkaisua, vaan tavoitteena on lähteä tutkimaan tilannetta ja katsomaan, mihin ehkä päädytään:

Tasavälisiä kokonaislukuja korotetaan tiettyyn (positiiviseen) kokonaislukupotenssiin. Syntyvästä lukujonosta lasketaan perättäisten lukujen erotukset, jolloin saadaan uusi lukujono. Tästä lasketaan uudelleen perättäisten lukujen erotukset, jolloin syntyy jälleen uusi lukujono. Näin jatketaan ja todetaan, että jossakin vaiheessa saadaan vakiolukujono, ts. kaikki luvut yhtä suuria. Seuraava askel tuottaisi nollajonon. Miksi näin käy? Mistä tässä on kysymys?

Millaista pohdiskelua sitten — esimerkiksi — odottaisin?

Ensimmäinen vaihe ehkä olisi kokeilu joillakin konreettisilla luvuilla, esimerkiksi korottamalla parilliset luvut seitsemänteen potenssiin. Jotta kokeiluista ei tule toivottoman työläitä, tarvitaan jonkinlainen ohjelmointiympäristö. Minä olen käyttänyt Mathematicaa, mutta vaatimattomampi ympäristökin toki käy, kunhan se helposti sallii yksinkertaisen koodin kirjoittamisen. Jonkinlainen ymmärrys ohjelmoinnin perusrakenteista täytyy kokeilijalla tietenkin olla.

Esimerkkitapauksessa saadaan seuraavat erotukset ja kahdeksannella rivillä vakiojono, seuraavilla riveillä nollaa:


Tämän jälkeen varmaan tekisi mieli kokeilla hieman eri luvuilla ja miettiä, millaisten laskujen tuloksena viimeisen rivin vakio syntyy. Ehkä vastauksenkin voi kokeilujen perusteella arvata.

Jos käytettävissä on symbolinen laskenta (kerrankin käyttöä tällekin), voi seuraavaksi katsoa, mitä tapahtuu, kun tasaväliset luvut $a + kd$, $k = 0,1,2,\dots,n$ korotetaan potenssiin $p$. Jotta symbolilaskenta onnistuisi, on luvuille $n$ ja $p$ annettava numeeriset arvot. Tuloksena saadaan iso taulukko muuttujien $a$ ja $d$ polynomeja. Kun näissä ehkä olevat sulkulausekkeet kehitetään (expand, ts. poistetaan sulut, tai ohjelmasta riippuen ehkä myös simplify), saadaan vakioriville monomi, joka ilmeisestikin on $p!\,d^p$. Näyttäisi siis toimivan, eikä lukujen $a$ ja $d$ edes tarvitse olla kokonaislukuja.

Lähtökohtana olivat siis tasavälisten lukujen kokonaislukupotenssit. Mitä tapahtuu, jos kokonaislukupotenssin $x^p$ sijasta käytettäisiinkin jotakin muuta funktiota? Tässä vaiheessa on ehkä helpointa siirtyä symboleista takaisin lukuihin. Toki symbolejakin voi kokeilla, mutta tulokset saattavat olla monimutkaisia ja vaikeasti hahmotettavia. Eikä lukujen käyttökään ole aivan ongelmatonta: murtoluvuilla laskettaessa nollat näyttävät nollilta, mutta desimaaliluvuilla laskettaessa ne saattavat olla esimerkiksi muotoa $1.23 \times 10^{-15}$, mikä on laitteen laskentatarkkuuden rajoissa sama kuin nolla.

Ehkä on helpointa valita aluksi funktioksi polynomi. Astelukua ei kannata valita kovin korkeaksi, jotta polynomin arvot eivät ole kovin suuria. Esimerkiksi voisi verrata polynomeilla $x^3$ ja vaikkapa $x^3 - 3x^2 + 2x$ laskettuja erotuksia. Numeerisessa kokeilussa täytyy vakiot $a$, $d$ ja $n$ valita jollakin tavoin. Tässä on kokeilun vaikeus. Jotkin arvot saattavat antaa kiinnostavia tuloksia, kun jotkin toiset kätkevät kiintoisat ilmiöt, esimerkiksi pienimittakaavaiset muutokset isojen lukujen seassa. Symbolisen laskun perusteella voi arvella, että luvulla $a$ ei ole kovin suurta merkitystä; valitaan siis yksinkertaisuuden vuoksi $a = 0$. Tasavälisiä lukuja pitää varmaan olla riittävän monta, jotta joitakin ilmiöitä saadaan esiin. Luku $n$ voisi ehkä olla muutamia kymmeniä, esimerkiksi $n = 30$. Luvun $d$ valinta on vaikeinta. Kannattaa kokeilla sekä pientä että suurta, esimerkiksi $d = 0.1$ ja $d = 2$. Kummallakin polynomilla saadaan erotusten neljännelle riville sama luku, jos $d = 0.1$, niin $0.006$, ja jos $d = 2$, niin $48$. Muissa erotuksissa kyllä on eroja.

Polynomi $x^3$, $d = 0.1$.

Polynomi $x^3 - 3x^2 + 2x$, $d = 0.1$.

Mielenkiintoisemmaksi osoittautuu jälkimmäinen taulukko. Hahmojen näkeminen pelkistä luvuista on yleensä vaikeata, mutta usein graafinen esitys auttaa. Piirretään jokaisen erotusrivin kuvaaja murtoviivana. Ensimmäisen rivin kuvaaja muistuttaa kolmannen asteen polynomia; tietenkin, koska lähtökohtana on polynomi $x^3 - 3x^2 + 2x$. Seuraava rivi näyttäisi pohjautuvan paraabeliin, ts. toisen asteen polynomiin. Kolmas rivi antaa suoran, ts. ensimmäisen asteen polynomin kuvaajan. Ja neljäs on vakiorivi. Vertailemalla lisäksi nollakohtia ja ääriarvoja voi alkaa epäillä, että asialla on jotakin tekemistä derivoinnin kanssa.

Polynomi $x^3 - 3x^2 + 2x$, $d = 0.1$.

Mitä tapahtuu, jos funtioksi valitaankin $\sin(x)$? Arvoa vakiolle $d$ täytyy taas hieman hakea; $d = 0.3$ voisi olla sopiva. Eri rivien erotukset näyttäisivät nyt antavan kuvaajat, jotka jotenkin näyttäisivät vastaavan funktioita $\sin(x)$, $\cos(x)$, $-\sin(x)$ ja $-\cos(x)$. Amplitudi kuitenkin pienenee ja viimeinen ei enää kovin hyvin erotu. Derivointiarvelu saa kuitenkin vahvistusta.

Funktio $\sin(x)$, $d = 0.3$.

Taulukon erotukset ovatkin itse asiassa erotusosamääriä, joista nimittäjät on unohdettu. Jos jokainen erotus lisäksi jaetaan luvulla $d$, niistä tulee erotusosamääriä, jotka lähestyvät ensimmäisen rivin funktion ensimmäistä, toista, kolmatta jne. derivaattaa, kun $d \to 0$. Tämän pohjalta on ymmärrettävää, että ensimmäisessä esimerkissä laskettu potenssin $x^p$ erotusten $p$:s rivi antaa vakion $p!\,d^p$. Kyseessä on sama asia kuin derivoinnissa \[\mathrm{D}^p\,x^p = p!.\]

Tammikuun blogikirjoituksen viimeisessä kuvassa on kyse Newtonin interpolaatiopolynomin laskemisesta menettelyllä, jota numeerisessa laskennassa aikoinaan käytettiin. Luvut $\Delta^n x_j$ ovat edellä kuvatun taulukon erotuksia laskettuna approksimoitavasta funktiosta (tai datasta) $x$. Näiden avulla muodostettiin interpolaatiopolynomi. Menettely on jäänyt menneisyyteen laskentaohjelmien kehityksen myötä ja varsin harva osaisi yhdistää erotustaulukon interpolaatiopolynomiin. Käsin laskettavan erotustaulukon sijasta numeerikko kirjoittaisikin vaikka seuraavan Mathematica-koodin:

Newtonin interpolaatio


sunnuntai 26. helmikuuta 2023

Paikantamisesta

Mistä auto tietää, missä se kulkee, ja miten kartoille on saatu kaikki paikat oikeaan paikkaan? Erilaisia paikannusmenettelyjä on käytetty pitkään, ja viime vuosien aikana niiden käyttö on valtavasti lisääntynyt. Jokainen älykännykän omistaja kantaa niitä mukanaan. Mutta millaiseen matematiikkaan ne perustuvat?

Kolmiomittausta on kartoituksessa käytetty jo pitkään. Esimerkkinä vaikkapa 1800-luvun alkupuoliskolla mitattu maailmanperintökohteisiinkin kuuluva  Struven ketju, joka Suomessa ulottuu Suomenlahdelta Enontekiölle. Pohjana on kolmioverkko, jonka pisteiden koordinaattien laskeminen havaintoarvoista on trigonometriaa. Kehittelin aiheesta ylioppilastehtävän vuoden 2011 kevään lyhyen matematiikan ylioppilaskokeeseen (tehtävä 12, http://matta.hut.fi/matta/yoteht/). Malliratkaisu tosin on pikemmin analyyttistä geometriaa kuin trigonometriaa (mikä olisi laskennallisesti helpompaa eikä tarvitsisi käsitellä isoja lukuja).

Ylioppilastehtävän trigonometrinen ratkaisu: tuntemattomat $x$ ja $y$ voidaan ratkaista
kahden suorakulmaisen kolmion avulla muodostetusta trigonometrisesta yhtälöryhmästä.


Kolmiomittauksen pohjana on sopivien kulmien mittaaminen ja sivujen pituuksien laskeminen näiden avulla. Entäpä jos meneteltäisiinkin toisin ja mitattaisiin etäisyyksiä, joiden avulla laskettaisiin uusien kärkipisteiden koordinaatit? Tämä luonnollisesti edellyttää, että tekniikka etäisyyksien mittaamiseen on olemassa. 1800-luvulla ei ollut, nykyään on. Mitataan siis etäisyydet kahdesta tunnetusta pisteestä kolmanteen pisteeseen sen sijaan, että mitattaisiin tähtäyssuuntien suuntakulmat. Tällöin saadaan kaksi ympyränkaarta, joiden leikkauspisteessä kolmas piste on.

Tunnetut pisteet $K_1$ ja $K_2$ sekä näistä mitatut etäisyydet $r_1$ ja $r_2$;
etsittävä piste on  $P_1$ tai $P_2$.


Jos tunnettujen pisteiden koordinaatit ovat $(x_1,y_1)$ ja $(x_2,y_2)$ ja mitatut etäisyydet $r_1$ ja $r_2$, niin tuntemattoman pisteen koordinaateille $(x,y)$ saadaan yhtälöt \begin{align*} &(x - x_1)^2 + (y - y_1)^2 = r_1^2, \\ &(x - x_2)^2 + (y - y_2)^2 = r_2^2. \end{align*} Tämä on epälineaarinen yhtälöpari, jolla on kaksi ratkaisua. Jollakin lisäargumentilla on pääteltävä (tilanteen mukaan), kumpaa ratkaisua haetaan.

Maailma kuitenkin on kolmiulotteinen ja vaikkapa lentoliikenteessä (tai sodassa ...) tarvitaan myös korkeuskoordinaatteja. Tällöin tarvitaan kolme tunnettua pistettä, joista etäisyydet mitataan. Ympyrät korvautuvat tällöin kolmella pallolla, joiden keskipisteinä ovat tunnetut pisteet ja säteinä mitatut etäisyydet. Yhtälöryhmässä on kolme pallon yhtälöä: \begin{align*} &(x - x_1)^2 + (y - y_1)^2 + (z - z_1)^2 = r_1^2, \\ &(x - x_2)^2 + (y - y_2)^2 + (z - z_2)^2= r_2^2, \\ &(x - x_3)^2 + (y - y_3)^2 + (z - z_3)^2 = r_3^2. \end{align*} Tälläkin on kaksi ratkaisua.

Kyseessä on satelliittipaikannuksen perusidea. Tunnetut pisteet ovat satelliittien sijaintipisteet. Jokainen satelliitti lähettää signaalia, josta ilmenee sen sijainti ja tarkka kellonaika. Paikannettavassa pisteessä otetaan signaalit vastaan ja lasketaan vastaanottimen kellonajan ero signaalissa ilmoitettuun aikaan. Satelliitti kiertää yleensä noin $20\,000$ kilometrin etäisyydellä maapallon pinnasta ja signaali etenee valon nopeudella, jolloin aikaero on kymmenesosasekunnin luokkaa. Tästä voidaan laskea etäisyys (= aika $\times$ nopeus).

Laskenta edellyttää kuitenkin erittäin tarkkaa ajanmittausta. Satelliteissa on synkronoidut atomikellot, joten ne ovat aina samassa ajassa. Paikannettavassa pisteessä olevassa laitteessa ei kuitenkaan samaan tarkkuuteen ja synkronointiin päästä, vaan ajanmittaukseen sisältyy tuntematon virhetermi $e$. Ratkaisuna on neljän satelliitin käyttö kolmen sijasta. Jos $c$ on valonnopeus ja lasketut aikaerot ovat $d_i$, saadaan yhtälöryhmäksi \begin{align*} &(x - x_1)^2 + (y - y_1)^2 + (z - z_1)^2 = (c(d_1 + e))^2, \\ &(x - x_2)^2 + (y - y_2)^2 + (z - z_2)^2= (c(d_2 + e))^2, \\ &(x - x_3)^2 + (y - y_3)^2 + (z - z_3)^2 = (c(d_3 + e))^2, \\ &(x - x_4)^2 + (y - y_4)^2 + (z - z_4)^2 = (c(d_4 + e))^2. \end{align*} Tässä on neljä tuntematonta, paikannettavan pisteen koordinaatit $(x,y,z)$ ja aikaeron virhetermi $e$.

Neljän pallon leikkaus yhdessä pisteessä, kun säteet on saatu sopiviksi
määrittämällä aikaeron virhetermi. Kuvio on periaatteellinen eikä liity
mihinkään satelliittipaikannustilanteeseen.


Yhtälöryhmän (nopea) ratkaiseminen ei ole aivan yksinkertaista, mutta siihen on kehitetty sekä numeerisia että algebrallisia menetelmiä. Laskenta tapahtuu vastaanottimessa (esimerkiksi autossa), joten kyseessä ei ole mikään suurtietokone. Ratkaisuja on tässäkin periaatteessa kaksi, joten oikea on tunnistettava muilla keinoin (esimerkiksi aikaeron, periaatteellisen sijainnin tai hetkeä aiemmin lasketun sijainnin avulla).

Edellä sanottu antaa vain periaatteellisen kuvan satelliittipaikannuksesta. Käytännössä siihen liittyy paljon muutakin. Jos vastaanotin esimerkiksi löytää neljää useamman satelliitin signaalit, näitä voidaan käyttää tuloksen tarkentamiseen. Koordinaattienmääritys on tällöin ylimäärätty probleema, jolla ei yleensä ole kaikki yhtälöt toteuttavaa ratkaisua, vaan haetaan ratkaisua, joka toteuttaa kaikki yhtälö mahdollisimman tarkoin (esimerkiksi ns. pienimmän neliösumman menettelyllä).

Tarkempia tietoja löytyy esimerkiksi Wikipedia-artikkeleista
https://www.maanmittauslaitos.fi/tutkimus/teematietoa/satelliittipaikannus,
https://en.wikipedia.org/wiki/Satellite_navigation,
https://en.wikipedia.org/wiki/Global_Positioning_System.

Laajasti käytettyjä satelliittipaikannusjärjestelmiä ovat seuraavat: amerikkalainen GPS (Global Positioning System), Euroopan Unionin Galileo, venäläinen GLONASS (Глобальная навигационная спутниковая система) ja kiinalainen BeiDou (北斗卫星导航系统). Usein on tapana puhua GPS-järjestelmistä, koska amerikkalainen oli ensimmäinen. Nykyään kuitenkin mieluummin käytetään lyhennettä GNSS, Global Navigation Satellite System, ja GPS tarkoittaa vain amerikkalaista järjestelmää.


torstai 26. tammikuuta 2023

Mitä matematiikan tehtävässä kysytään?

Selasin erästä sosiaalisen median matematiikkaryhmää ja havahduin postaukseen, jossa ihmeteltiin seuraavaa ongelmaa:

Tasavälisiä kokonaislukuja korotetaan tiettyyn (positiiviseen) kokonaislukupotenssiin. Syntyvästä lukujonosta lasketaan perättäisten lukujen erotukset, jolloin saadaan uusi lukujono. Tästä lasketaan uudelleen perättäisten lukujen erotukset, jolloin syntyy jälleen uusi lukujono. Näin jatketaan ja todetaan, että jossakin vaiheessa saadaan vakiolukujono, ts. kaikki luvut yhtä suuria. Seuraava askel tuottaisi nollajonon. Miksi näin käy? Mistä tässä on kysymys?

Pohdin asiaa hetken ja mieleeni tuli moniakin matemaattisia asioita, joilla on yhteys ongelmaan. Tilanteen konkretisoimiseksi alla on Mathematicalla laskettu esimerkki, jossa lähtökohtana ovat parilliset luvut korotettuina seitsemänteen potenssiin (kuva suurenee klikkaamalla).



Yleensä matematiikan tehtävissä pyydetään laskemaan jotakin tai todistamaan jotakin. Nämä ovat selväpiirteisiä tehtäviä: opiskelija tietää, mihin pyrkiä, ja opettajan on melko yksiselitteistä arvioida esimerkiksi koetehtävässä, miten pitkälle on päästy. Edellä olevan ongelman asettelu on kuitenkin avoimempi. Kysytään miksi näin käy, mistä oikeastaan on kysymys. Voitaisiin vielä kysyä, mihin muihin asioihin ongelma voisi liittyä. Tällaisena ongelma ei oikein kelpaa koetehtäväksi, mutta hyvin opettavainen se voi olla. Tutki asiaa, käytä kaikkia välineitä mitä sinulla on, mieti kaikkea mitä jostakin tämäntyyppisestä tiedät. Vastaus olisi luonnollisimmin aihetta käsittelevä essee. 

Esseen tai työskentelyä kuvaavan dokumentin kirjoittaminen on asia, johon varmasti olisi hyvä oppia jo kouluaikana. Matematiikassahan kirjoittamiseen usein opitaan vasta muutaman vuoden yliopisto-opintojen jälkeen. Siihen asti matematiikan tehtävien käsittely on kaavojen kirjoittamista allekkain, viereen ehkä jokunen sana perusteluiksi. Matematiikastakin on kuitenkin hyvä oppia kirjoittamaan normaalilla kielellä kielioppisääntöjä noudattaen ja kaavat selittävään tai kommentoivaan tekstiin upottaen. (Vaikka eivät edes oppimateriaalit useinkaan näin tee.)

Matemaattisilta taidoiltaan samatasoisten henkilöiden tuotokset voivat olla hyvin erilaisia, puhumattakaan siitä, että eri tasoilla olevat henkilöt päätyvät laajempiin tai suppeampiin esityksiin. 'Oikeaa vastausta' ei ole. Tämän takia kyse ei yleensä voi olla osaamisen arvioimisesta vaan asioiden tutkimisen oppimisesta avoimessa tilanteessa. Luontevaa on, että tällöin käytössä ovat kaikki tarjolla olevat välineet, kynän ja paperin ohella erilaiset laskenta- ja grafiikkavälineet. Kokeilevaa matematiikkaa voi harrastaa. Nettiä ja miksei tekoälyäkin voi hyödyntää. Tuotoksen täytyy kuitenkin olla itse sisäistetty ja käytettyjen lähteiden tulee ilmetä.

Tehtävän avoimuus antaa myös mahdollisuuden retkeillä oman mielenkiinnon mukaan tehtävänantoa laajemmalle, kunhan esseen aihepiiri jotenkin säilyy ehjänä. Esimerkissä voisin vaikka luopua kokonaislukuoletuksesta.

Mitä kaikkea sitten mieleeni johtui tehtävää pohtiessani? Mitä johtuu lukijan mieleen? Kommentteja voi esittää  joko blogiin tai Facebook-ympäristön blogi-ilmoituksen yhteyteen (esseetä ei toki tarvitse kirjoittaa). Omasta ajatusmaailmastani olkoon esimerkkinä seuraava, joka voisi löytyä jostakin numeerisen analyysin oppikirjasta: \[\begin{aligned}p_n(t) &= p_n(t_0 + sd) = x_0 + \binom{s}{1} \Delta^1 x_0 + \dots + \binom{s}{n} \Delta^n x_0, \\ \Delta^n x_j &= \Delta^{n-1} x_{j+1} - \Delta^{n-1} x_j, \quad \Delta^0 x_j = x_j. \end{aligned}\] Vastailen mahdollisiin kommentteihin ja ehkä palaan asiaan jossakin myöhemmässä blogikirjoituksessa.

Edellä oleva esimerkki antaa myös kuvan matemaattisen lukutaidon merkityksestä. Mitä kaavoista oikeastaan purkautuu ja mitä niistä pitäisi nähdä? Matemaattinen teksti on usein tapana kirjoittaa aika tiiviiksi (tarpeettomastikin) ja lukijalle jää pohdittavaa.

perjantai 23. joulukuuta 2022

Tekoäly, joulu ja matematiikka


Yllä oleva ei ole minun tekstiäni vaan tekoälybotin ChatGPT vastaus pyyntööni Kirjoita lämminhenkinen joulutervehdys matematiikkablogin lukijoille. Marraskuussa koemielessä julkaistu ChatGPT (https://chat.openai.com/) on saanut mediassa aika paljon huomiota viime aikoina. Rekisteröitymällä pääsee kokeilemaan.

ChatGPT tuottaa tekstiä perustuen siihen materiaaliin, jolla se on opetettu. Mitä opettaminen tarkkaan ottaen tarkoittaa, ei ole aivan yksinkertaista. Sille voi esittää kysymyksen, pyynnön tai kommentin jollakin kielellä ja se pyrkii vastaamaan samalla kielellä. Olen kokeillut suomea, englantia, saksaa, ranskaa, venäjää ja latinaa, ja kaikissa tapauksissa vastaus on tullut kohtalaisen hyvällä kielellä. Pieniä virheitä voi olla, mutta yleisesti ottaen kieli on hyvää. Pitäisin aika hämmästyttävänä suorituksena.

Sisällön suhteen tulos on heikompi. Teksti on jollakin tavoin latteaa ja saattaa sisältää vakaviakin asiavirheitä. Syötin kokeeksi kysymyksen Oliko Venäjän vallan aika onnellista Suomessa? ja tuloksena oli mitäänsanomatonta pyörittelyä ja selkeitä virhearveluita. Voisiko toisin ollakaan, ellei järjestelmää ole opetettu syöttämällä sille riittävästi aihetta käsittelevää kirjallisuutta? Suoriutuisiko se tällöin yhtä hyvin kuin keskimääräinen ihminen tai ehkä jopa paremmin?

Entä sitten matematiikka?

Kerrottakoon taustaksi lineaarialgebran tenttitehtäväni vuosikymmenien takaa: Mitä tarkoitetaan matriisin häiriöalttiudella (engl. condition number)? Eräs tentissä ollut henkilö kirjoitti aiheesta puolen sivun esseen pyörittelemällä häiriöiden vaikutusta ja alttiutta niihin sekä liittämällä tämän jotenkin matriiseihin. Itse käsitteestä hän ei tiennyt mitään. Nolla pistettä.

Tein saman kysymyksen ChatGPT:lle. Ensin englanniksi, sitten suomeksi käyttäen nimitystä häiriöalttius ja lopulta myös usein käytetyn virheellisen käännöksen ehtoluku avulla. Kaikissa tapauksissa moitteeton suoritus, joko englanniksi tai suomeksi. Olisin antanut täydet pisteet.

Onko tämä sitten hämmästyttävää? Ei. Vastauksen jälkeen esitettyyn kysymykseen How do you know this? ChatGPT vastasi:

The definition of the condition number of a matrix and its properties are well-documented in standard texts on numerical linear algebra and in research papers in the field. I have learned about the concept of the condition number of a matrix through my training as a language model, which included learning about various mathematical concepts and principles from a wide range of sources such as textbooks, research papers, and online resources.

Ja suomenkielisessä tapauksessa jatkokysymykseen Mistä tiedät, että englannin condition number on suomeksi häiriöalttius (tai häiriöluku)?:

Käännökset ovat yleensä tehty käyttäen kielten välistä sanakirjaa tai käännöstietokantaa, jotka sisältävät yleisesti käytettyjä käännöksiä eri kielten välillä. Tämän lisäksi käännöksiin voidaan käyttää apuna myös kielten asiantuntijoita, jotka ovat perehtyneet käännösten tekemiseen ja tietävät, miten eri käsitteitä voidaan kääntää eri kielillä. Näin ollen olen pystynyt selvittämään, että englannin condition number on suomeksi häiriöalttius tai häiriöluku, käyttämällä kielten välistä sanakirjaa tai käännöstietokantaa sekä tietämällä, miten eri käsitteitä voidaan kääntää eri kielillä.

Kaikki matematiikka ei kuitenkaan mene yhtä hyvin. Kysyin, miten ratkaistaan yhtälö $x^2 = x + 1$. ChatGPT muunsi sen ensin muotoon $x(x - 1) = 1$ ja sitten muotoon $x = \dfrac{1}{x - 1}$. Tästä ja alkuperäisestä yhtälöstä se päätteli juuriksi $x = 1$ ja $x = -2$, koska $1^2 = 1 + 1$ ja $-2^2 = -2 + 1$. Ei kovin vakuuttavaa. Opetus ei ilmeisesti ole sisältänyt pitkän matematiikan lukiokurssia.

Mitä tekoälystä sitten pitäisi ajatella? ChatGPT on kokeellinen järjestelmä, jolla varmasti on pitkä kehitys edessään. Mutta mihin oikeastaan olemme menossa? Jonakin päivänä koevastauksensa tai gradunsa ehkä voi tilata tekoälyltä. Pitäisikö tekoälyn käyttö kieltää? Ja onnistuisiko se? Vai pitäisikö miettiä, mitä oikeastaan pitää tietää ja miten elää maailmassa, jossa tekoäly tuottaa paljon hyvää ja paljon pahaa?

Tässä on jonkinlaisesta jatkumosta kysymys. Matematiikkaa harjoitettiin ennen kynällä ja paperilla (tai sitä ennen ehkä tikulla ja hiekalla), sitten tulivat erilaiset laskukoneet, ohjelmoitavat laitteet (laskin, tietokone, kännykkä), verkkoresurssit (kuten Google ja Wolfram Alpha). Mikä on seuraava askel?

Omasta puolestani toivotan hyvää joulua ja rauhallista uutta vuotta 2023.