maanantai 11. joulukuuta 2017

Kuplista

Tämän kirjoitushetkellä Bitcoinin hinta on $16615.81, eli noin 15k€. En ota varsinaisesti kantaa siihen, onko Bitcoinin hinta "liian korkea". Moni epäilee näin, sillä sen arvo on noussut huimasti viimeisen vuoden aikana. Hiukan suoraksi mutkia vetäen, sen hinta on noin 16-kertaistunut vähän alle vuodessa. Alaspäin arvioiden, hinnan tuplaantumisväli on ollut noin kolme kuukautta, mutta syyskuusta alkaen nousu on nopeutunut.

Myönnän että olen hivenen harmissani. Noin vuosi sitten eräs internet-tuttavani pyysi minua bulvaaniksi hankkimaan hänelle muutamalla sadalla eurolla bitcoinia, ja sain muutaman kympin välityspalkkiota. Silloin ajattelin että voisin muutaman satasen ihan huvin vuoksi sijoittaa Bitcoiniin ja katsoa mitä tapahtuu. En kuitenkaan koskaan saanut aikaiseksi. Jos olisin tuolloin ostanut suunnittelemani 200 euron edestä Bitcoinia, sen arvo olisi nyt noin 4000€, eli noin 20-kertainen, sillä hinta oli tuolloin noin 800 euron paikkeilla per bitcoin. 

Eräs toinen tuttavani kertoi että hän ei varsinaisesti ole sijoittanut BC:iin, mutta omistaa sitä pienen määrän ja myy pois tipoittain sitä mukaa kun sen hinta nousee. Tämä sai minut miettimään asiaa laajemmin eräänalaisena sormiharjoituksena.

Oletetaan että meillä on jokin varallisuuden laji, esimerkiksi bitcoin tai jokin osake tms. Oletetaan että tiedämme että sen hinnassa on meneillään kupla. Nyt on syytä hieman huomauttaa rahoituksen teoriasta ja yleisemmin markkinataloudesta. Nimittäin, on melko tavallista olettaa ns. Efficien Market Hypothesis, tai ainakin jokin sen muoto. EMH:n variantteja tunnetaan myös nimellä "No money on the Table",  tai TANSTAAFL (there ain't no such thing as a free lunch). Nämä kaikki sanovat tavalla tai toisella, että vapailla markkinoilla ei ole mahdollista tehdä helppoja voittoja myymällä ja ostamalla.

Kirjoitan EMH:n tahallani tuolla tavalla, sillä se voidaan ymmärtää monella tavalla lähtökohtaisesti. Vahvin EMH:n muotoilu on että "vapailla markkinoilla kaikki hinnat ovat aina oikeita". Tämä siis tarkoittaa että kaikki tieto joka on julkista, on hinnoissa mukana niin, ettei esimerkiksi aitoja kuplia voi syntyä ilman että vallitsee yleinen väärinymmärrys,  tai joku huijaa tai pimittää informaatiota. Tämä vahvin muotoilu on uskoakseni väärä, koska on helppo osoittaa peliteoreettisesti että voi syntyä tilanne jossa kaikki uskovat että jonkin tietyn arvopaperin hinta on liian korkea mutta riittävän monet myös uskovat että se vielä nousee jonkin verran; Tällöin meneillään on eräänlainen mustapekka-peli, jossa ihmiset lyövät vetoa siitä, koska kupla puhkeaa, tietäen että se puhkeaa ennen pitkää.

En väitä nyt, että Bitcoinin kohdalla kyse on tästä. Koko Bitcoin-markkinan arvo on tällä hetkellä 281 miljardia dollaria. Tämä ei globaalin valuutan kokonaisarvona ole kovin suuri. Mutta se on paljon rahaa, joten on ymmärrettävää jos moni uskoo että BC romahtaa jossain vaiheessa esimerkiksi kymmenesosaan (tai alle) nykyisestä.

Tehdään yksinkertaisehko malli. Oletetaan että meillä on kupla, joka alkaa paisua ajanhetkellä t=0. Alussa arvopaperin hinta on 1 yksikkö, ja hinta kasvaa eksponentiaalisesti tahtia e^(ta), missä a on jokin positiivinen vakio. Käytännössä niin, että t_d = log(2)/a on arvon tuplaantumisaika, eli a = log(2)/t_d Esimerkiksi jos oletamme että BC tuplaantuu kolmessa kuukaudessa (eli 1/4 vuodessa), niin a on noin 2.77.

Kupla kestää jonkin aikaa, mutta emme tiedä kuinka kauan; oletetaan että kupla puhkeaa äkillisesti ja arvo putoaa nollaan. Oletetaan lisäksi että markkinahinta on hivenen kohinainen, eli hinnassa on kohinatermi joka aiheuttaa pieniä laskuja ja nousuja lyhellä välillä, mutta niistä ei tarvitse välittää tässä analyysissä. Oletamme siis, että kun t kasvaa, e^(ta) on koko ajan parempi approksimaatio suhteellisesta hinnasta ajanhetkellä t verrattuna ajanhetkeen 0 (jolloin hinta on 1). Kuplan puhkeamisen ajankohta olkoon b, ja oletamme että se tapahtuma joka on olennaisilta osin poisson-jakautunut mutta emme tunne sen jakaumaa.  Olennaista on vain se, että emme voi päätellä puhkeamisen ajankohtaa siitä, kauanko aikaa on jo kulunut.

Puhkeamisen ajanhetkellä arvopaperin arvo on siis e^(ba), mikä on siis maksimaalinen arvo. Paras sijoitusstrategia olisi tietenkin se, että ostaisi paperin hetkellä t=0 ja myisi sen ajanhetkellä t=b-epsilon, eli mahdollisimman lähellä puhkeamisen ajankohtaa. Emme kuitenkaan tiedä puhkeamisen ajankohtaa, joten emme voi varautua tähän.

Oletetaan että voimme joka ajanhetki myydä (tai ostaa) kyseistä arvopaperia ilman transaktiokustannuksia mielivaltaisen pienissä erissä. Tämä oletus on toki vahva, mutta tutkitaan sitä nyt jotta saadaan jonkinlainen kuva asiasta.. Oletetaan lisäksi että ajanhetkellä t=0 pidämme hallussamme yhtä yksikköä arvopaperia, ja sitä mukaa kun arvopaperin arvo kasvaa, kevennämme salkkuamme niin, että meillä on hallussamme kullakin ajanhetkellä k(t) yksikköä. Ideaalitilanteessa k(t) = 1, kun t < b ja k(t)=0 kun t = b, sillä myymme kaiken pois juuri ennen romahdusta.

Tehdään kuitenkin lisäoletuksia. Ensinnäkin, oletetaan että k(t) on jatkuvasti äärettömän monta kertaa derivoituva, eli että se on analyyttinen, ja että k'(t) < 0 kaikilla t > 0.  Jos lyhykäisyyden vuoksi merkitään hintaa v(t), niin kokonaiskassavirta jonka kuplan kasvun aikana ulosmitataan on integraali -k'(t)v(t) dt, missä t käy nollasta b:hen. Haluamme maksimoida tämän, mutta huomionarvoista on, että me emme voi tietää mikä b on; meidän on etsittävä sellainen muoto k(t):lle, jossa b ei esiinny lainkaan.

Eräs ystäväni ehdotti sellaista strategiaa, jossa k(t)*v(t) -- eli siis hallussa olevan arvopaperin markkina-arvo -- kasvaa kuplan mukana noin suhteessa hinnan neliöjuureen. Tällöin strategia on, että k(t) = 1/sqrt(v(t)). Tällöin -k'(t)*(v(t)) = v'(t)/(2*sqrt(v(t))), eli kassavirta on sqrt(v(b)) - 1. Jos v(t) = e^(at), kuten oletimme, niin tämä on e^(ab/2) - 1. Tällä strategialla pääsee omilleen, jos e^(ab/2) > 2, eli jos hinta ehtii nelinkertaistumaan alkuperäisestä.

Voidaanko pärjätä paremmin? Kuvitellaan strategiaa, jossa portfolion arvo pidetäänkin koko ajan vakiona, jolloin sitä mukaa kun hinta nousee, hinnanousu ulosmitataan kokonaisuudessaan. Tällöin k(t)*v(t) = 1, eli k(t) = 1/v(t), ja -k'(t) = v'(t)/v(t)^2, ja -k'(t)v(t) = v'(t)/v(t), jonka integraali on log(v(t)). Kassavirta on kokonaisuudessaan siis yksinkertaisesti ab. Tässä pääsee omilleen jos ab > 1. Tämän tulkitseminen on jo vähän vaikeampaa, mutta esimerkissämme a=2.77, jolloin b > 0,361, eli hieman yli neljä kuukautta, so. kun hinta on hieman yli tuplaantunut.

Tämä on esimerkki niinsanotun variaatiolaskennan ongelmasta. Ns. Euler-Lagrange-yhtälö on muotoa, jossa etsimme funktiota q(t) siten, että meillä on annettuna funktio L(t, q(t), q'(t)) ja etsimme funktionaalin S(q) = integraali L(t, q(t), q'(t)) dt stationaarista pistettä, eli pistettä jossa S(q + ez) < S(q) kaikilla ei-triviaaleilla funktioilla z ja pienillä e>0. Tässä ez on q:n variaatio, eli jokin pieni muunnelma q:sta. Intergaali tässä on määrätty integraali jollakin annetulla välillä; esimerkissämme se on 0:sta b:hen.

Variaatiolaskennassa on monta eri tapaa lähestyä ongelmaa, ja en nyt ala tässä niitä käsitellä. Jos kuitenkin rajoitumme eksponenttifunktioiden perheeseen, eli k(t) = e^(ct), niin k'(t) = ce^(ct), ja yleinen muoto integroitavassa funktiossa on -ce^((a+c)t), niin tulos on (hiukan hankalasti tulkittava) muotoa - c(e^(c(a+b)) - 1)/(a+b). Jos katsomme, milloin tässä pääsee omilleen, niin merkitsemällä tämän suuremmaksi kuin 1, saamme -ce^(c(a+b)) > a+b+1, mistä nyt ei tule mitään kovin kilttiä funktiota. Jos meillä on arvio a:sta ja jokin uskomus b:stä, niin voimme asettaa c:n siten, että tämä toteutuu.

En edes esitä että tällä olisi mitään todellista sovellusta. Ongelma vain on mielenkiintoinen.


perjantai 8. joulukuuta 2017

Reiluus

Reiluus (engl. fairness) viittaa rinnakkaisten järjestelmien teoriassa suunnilleen sitä, että järjestelmän mallissa otetaan huomioon vain sellaiset äärettömät suoritukset, joissa kaikki komponentit etenevät jossain vaiheessa. Esimerkiksi, jos meillä on kaksi toimijaa, jotka tahtovat käyttää jotain jaettua resurssia (esimerkiksi tulostin, jolla kahdelta eri koneelta tulostetaan) jatkuvasti, niin järjestelmä on reilu, jos molemmat pääsevät halutessaan lopulta tulostamaan.

Käsite on intuitiivisesti ensialkuun selkeä, mutta analysoitaessa tarkemmin, se hajoaa käsiin. Käytetään esimerkkiä jossa kahdelta eri tietokoneelta tulostetaan samalla tulostimella.  Protokolla on seuraavanlainen: Koneelta tulee yksi pyyntö kerrallaan tulostaa paperi. Tulostin valitsee jomman kumman pyynnön ja palvelee sitä. Toinen pyyntö jää voimaan ja tulostamisen jälkeen tulostin valitsee uudelleen. On kuitenkin mahdollista, että ensimmäinen kone on tällä aikaa päättänyt pyytää uuden paperin tulostamista, ja tulostin valitsee sen jäälleen. Toisen koneen pyyntö on koko ajan voimassa, mutta sitä ei koskaan toteuteta. Niin sanottu heikko reiluus sanoo, että jos jokin toiminto on koko ajan mahdollinen, järjestelmä lopulta todella suorittaa sen, eli että järjestelmässä ei ole sellaista ääretöntä suoritusta, jossa pyyntö olisi koko ajan (teoriassa) mahdollista toteuttaa, mutta sitä ei toteuteta.


Todellisuudessa kuitenkin pyyntö menee tulostimen jonoon. Tulostin ottaa jonosta pyynnön ja tulostaa sen. Jos jono toimii niin, että sinne mahtuu "paljon" pyyntöjä, ja ne käsitellään aina järjestyksessä, ongelmaa ei juurikaan ole. Mutta oletetaan että jonoon mahtuukin vain yksi pyyntö (tai jokin pieni määrä). Jos jonossa on yksi pyyntö, tulostin ottaa sen käsittelyyn ja jono tyhjenee (tai sinne mahtuu yksi lisää).  Nyt kuitenkin ensimmäinen kone ehtii tulla takaisin pyytämään ja laittaa oman pyyntönsä jonoon ennen kuin toinen ehtii sitä esittää. 


Nyt siis pyynnön esittäminen ei ole mahdollista silloin, kun jono on täynnä.  Vaikka jokainen todella esitetty pyyntö tulee käsitellyksi, toinen koneista ei pääse esittämään pyyntöään koska se ei ole mahdollista välillä. Järjestelmä ei intuitiivisesti katsottuna ole reilu, mutta heikko reiluus ei tätä mahdollisuutta tavoita. Vahva reiluus taas sanoo, että jos jokin tapahtuma on äärettömän usein mahdollinen (vaikka se välillä olisikin mahdoton), niin se lopulta tapahtuu. Eli vaikka jono välillä on täynnä eikä pyyntöjä voi esittää, vahvasti reilu järjestelmä takaa että toinenkin kone lopulta pääsee esittämään pyyntönsä.

Reiluuden ongelmana on, että se on erittäin hankala mallintaa, ja se on kiusallinen laskennallisesti, verrattuna sellaisiin ominaisuuksiin kuten turvallisuus ja lukkiumat. Turvallisuus viittaa siihen, että esimerkiksi pyynnöt eivät mene sekaisin, eli ei tapahdu tilannetta jossa molemmat koneet kuvittelevat tulostavansa samanaikaisesti (ja esimerkiksi sivulle tulisi kahta eri tekstiä päällekäin tms). Turvallisuusrikkomus voidaan havaita jos järjestelmä päätyy tilaan jossa molemmat koneet kuvittelevat tulostavansa.

Myös lukkiumat ovat helppo todeta; lukkiuma on järjestelmän tila, jossa se ei pääse lainkaan etenemään. Jos esimerkiksi tulostimen ja koneiden välinen jono menee rikki niin, että kumpikin kone näkee jonon olevan täynnä (ja näin jää odottamaan että saisi laittaa sinne pyynnön), ja tulostin kuvittelee että jono on tyhjä (ja näin odottaa pyyntöjä), järjestelmä lukkiutuu. 

Ajatellaan nyt protokollaa joka hoitaa jonkin tällaisen järjestelmän toimintaa. Siinä ei ole jonoa, mutta siinä on eräänlainen "odotushuone". Jokainen joka haluaa päästä tulostamaan -- nimitetään tätä asiakkaaksi -- ilmaisee halunsa tulostaa laittamalla "lipun" päälle. Kummallekin asiakkaalle on oma lippunsa.  Kun asiakas on laittanut lipun päälle, tämä menee "välitilaan"  kirjoittamaan "nimikirjaan" toisen asiakkaan nimen. Tämä tapahtuu riippumatta siitä, mitä nimikirjassa luki. Tämän jälkeen asiakas menee odottamaan. Odottaessaan asiakas tarkastaa, onko nimikirjassa tämän oma nimi vai joku muu. Jos kirjassa on oma nimi, niin asiakas pääsee tulostamaan. Jos siinä ei ole omaa nimeä, asiakas tarkastaa onko kenelläkään lippu päällä. Jos lippuja ei ole päällä, asiakas pääsee myös tulostamaan. Tulostettuaan asiakas laittaa lipun alas.

Tässä järjestelmässä asiakas ei voi "etuilla" muita. Jos joku muu on esittänyt pyynnön, niin kun asiakas esittää pyynnön (eli laittaa lipun päälle), hän samalla antaa vuoron toiselle. Asiakkaat eivät voi estää toisiaan laittamasta lippuja päälle. He voivat viivästyttää toista ainoastaan jäämällä välitilaan jossa lippu on laitettu päälle mutta nimikirjaan ei ole kirjoitettu mitään.  Järjestelmä ei kuitenkaan vaadi edes heikkoa reiluutta, ainoastaan oletuksen, että kumpikaan ei vapaaehtoisesti pysähdy välitilaan, odottamaan, tai tulostamaan.

Me tiedämme että tämä järjestelmä toimii ilman reiluusoletuksia. Vaan entä jos järjestelmä onkin rikki?

Kuvitallaan että asiakas ei tarkastakaan toisen lippua, vaan jää vain odottamaan, että toinen asiakas antaa vuoron. Tällöin asiakas jää odottamaan kunnes toinen asiakas on antanut vuoron ja siirtynyt itse odottamaan. On selvää, että tällainen järjestelmä ei toimi kunnolla -- kuvittele järjestelmä jossa voit tulostaa ainoastaan jos joku muu yrittää myös tulostaa.  Jos kuitenkin mallinnamme järjestelmän niin, että kukaan ei jää odottamaan minnekään, se näyttää toimivan oikein, koska kumpikin yrittää tulostaa uudelleen ja uudelleen. Me toki tiedämme että jos sallimme asiakkaan jäädä paikoilleen alkutilaan, niin virhe paljastuu.

Yleisemmin, ominaisuus joka tässä yleensä tarkastetaan on, että lopulta pyyntöön vastataan. Mutta tämä rikkinäinen järjestelmämme näyttää oikealta jos emme osaa huomioida sitä, että asiakas saattaa alkutilassa jäädä paikoilleen.  Heikko reiluuskaan ei auta suoraan, mutta me voimme saada virheen kiinni, jos laitamme alkutilaan silmukan, jossa asiakkaan on lupa junnata paikallaan. Tällöin saamme aikaan äärettömän suorituksen, jossa pyyntö on esitetty, mutta siihen ei ole mahdollista vastata (koska toinen asiakas pyörii loputtomiin eikä koskaan pyydä mitään), ja olettamalla että reiluus koskee vain välitilaa, odotusta, ja tulostamista. Tämä on kuitenkin varsin hankala mallintajalle, koska mallintajan täytyy ikään kuin tietää missä tilassa virhe voi syntyä ennen kuin hän edes sitä lähtee etsimään.

Ongelma tässä on se, että järjestelmän alkuperäinen malli näyttää oikealta, koska asiakkaalle ei olla mallinnettu muuta mahdollisuutta kuin se, että tämä jatkuvasti esittää pyyntöjä. Huomattavasti luontevampi malli olisi sellainen, jossa asiakas voi todeta että "olen saanut tarpeekseni" tulostettuaan, ja tämä siirtyy tilaan jossa ei enää voida tehdä mitään. Tällöin toki järjestelmä saattaa lukkiutua, mutta lukkiutumisen kohdalla riittää spesifioida erikseen se, onko lukkiuma sallittu vai ei. Eli, jos annamme asiakkaalle mahdollisuuden päättää "nyt loppui" ja parkkeerata itsensä, meidän pitää sallia sellainen lukkiuma (ja vain sellainen) jossa kaikki asiakkaat ovat lopettaneet tyytyväisinä.

Tämä siksi, että on intuitiivisesti selvää ettei asiakkaan pyyntöihin vastaamisen ehtona pitäisi olla se, että toinenkin asiakas pyytää jotain. Jos teemme näin, niin huomaamme, että kun toinen asiakas lopettaa tyytyväisenä, toinen on tuomittu jumittamaan odotustilaan; löydämme lukkiuman joka ei ole sallittu ja virhe paljastuu. Alkuperäisessä järjestelmässä näin ei käy, koska odottava asiakas näkee että toisen asiakkaan lippu on alhaalla, ja pääsee tulostamaan kaikessa rauhassa.

Kun tutkimme jonkin pyynnön toteutumista, nimitämme tällaista ominaisuutta ei-pakotetuksi pyynnöksi (unforced request). Se tarkoittaa, että asikkaalla tulisi olla mahdollisuus kieltäytyä esittämästä pyyntöjä, ja järjestelmän oikeellisuus tulisi säilyä. Pääsemme näin eroon reiluudesta ainakin tässä nimenomaisessa tapauksessa.

Kuvitellaan nyt että rikomme jo rikkonaista protokollaa lisäksi niin, että asiakas ei muistakaan kirjoittaa mitään nimikirjaan. Tällöin siis asiakas vain laittaa lipun päälle ja menee tarkastamaan onko nimikirjassa oma nimi. Nimikirjassa on jonkun nimi, ja tämä joku pääsee loputtomiin käsiksi resurssiin, mutta koska kukaan ei sitä muuta, toinen asiakas puolestaan jää odottamaan loputtomiin.  Huomaisimme tässä kyllä virheen, mutta tehdään lisäoletus: Kun asiakas päättää ettei se enää halua palvelua, se parkkeeraa itsensä, ja vasta sitten kirjoittaa nimikirjaan toisen asiakkaan nimen.

Tällöin käy niin, että niin kauan kun kumpikin asiakas haluaa resurssia, ensimmäinen saa sen käyttöönsä loputtomiin kun taas toinen ei saa sitä lainkaan. Vasta kun ensimmäinen lopettaa, toinen saa vuoron. Tässä kohtaa emme saa virhettä kiinni pelkästään lukkiumia ja turvallisuusominaisuuksia tarkastelemalla, mutta järjestelmällä on kuitenkin ääretön suoritus jossa toinen prosessi odottaa. Reiluutta ei kuitenkaan tarvita mihinkään, ainoastaan oletus että kumpikaan asiakas ei odota loputtomiin.

Nimitämme tällaista ominaisuutta englanninkielisellä ilmaisulla eventual access (en keksinyt hyvää suomennosta). Se tarkoittaa että spesifioimme tilapredikaatteja jotka eivät saa olla voimassa äärettömässä suorituksessa. Emme siis oleta mitään reiluudesta tässä kohtaa, vaan yksinkertaisesti sanomme että "ei ole lupa jättää asiakasta odottamaan äärettömästi". Tämä on hieman samanlaista kuin reiluus, mutta se on eri roolissa; Reiluus on oletus joka tehdään jotta voidaan erottaa aidot virheet silmukoiden alispesifioinnin tuottamista "artefakteista".

Rikkinäisessä järjestelmässä on eventual-access rikkomus, sillä niin kauan kun ensimmäinen asiakas hakee palvelua, tämä saa sitä loputtomiin ja toinen asiakas ei saa mitään. Vasta kun ensimmäinen lopettaa, toinen pääsee resurssiin. Käytännössä tämä näkyy niin, että järjestelmällä on silmukka jossa toinen asiakas odottaa.

Jos siis spesifioimme että järjestelmälle on spesifioitu sallitut lukkiumat, turvallisuus (eli se, ettei resurssia käytetä yhtä aikaa) sekä eventual access- ominaisuus ja varmistamme että mallinnoksessa on huomioitu unforced request, niin voimme saada kaikki em. virheet kiinni ilman mitään erillisiä reiluusoletuksia.

Tämä artikkeli on nyt kirjoituksen alla.





perjantai 1. joulukuuta 2017

Todennäköisyystehtävä.

Laadin opiskelijoille tehtävän, jota en itse osannut ratkaista vielä. Tarkoitan, että osaan kyllä teoriassa ratkaista sen, mutta se ei ole käytännössä helppoa. Asetelma on seuraavanlainen:

Meillä on tikkataulu, jonka virkaa saa tässä tehtävässä hoitaa yksikköympyrä (x,y)-koordinaatistossa, eli niiden pisteiden joukko jotka ovat korkeintaan etäisyydellä 1 origosta. Pisteet toteuttavat epäyhtälön x^2 + y^2 =< 1 (pahoittelen että käytän tätä notaatiota, yläindeksinotaatio HTML:ssä on vain liian työlästä)

Nyt, meillä on kaksi pelaajaa, "räiskijä" ja "tähtääjä". Räiskijä heittää tikkaa aina siten, että hänellä on tarkalleen yhtä suuri todennäköisyys osua mihin tahansa taulun pisteeseeen. Todennäköisyyslaskennan keinoin tämä voidaan ilmaista niin, että otosavaruus räiskijän osumapisteelle on yksikköympyrä, ja tiheysfunktio on 1/Pi. Ympyrän pinta-ala on Pii, joten tämän integroiminen ympyrän yli tuottaa 1.

Tähtääjä puolestaan heittää kohti jotakin pistettä (a,b), ja hänen osumansa on myös jakautunut pisteen (a,b)-keskiseen ympyrään siten, että tiheysfunktio f(x,y) = 2(1 - (a-x)^2 - (b-y)^2)/pi. Jokainen voi tarkastaa että kun tätä funktiota integroidaan (a,b)-keskisen 1-säteisen ympyrän yli, tulos on 1. Tähtääjän todennäköisyys osua kymppiin on paljon suurempi kuin räiskijän, koska paljon suurempi osa tähtääjän "todennäköisyysmassasta" on ympyrän keskellä -- olettaen että hän tähtää keskelle.

Pelaajat laitetaan kuitenkin pelaamaan toista peliä: Heidän tehtävänään onkin osua numeroon 1. Oletamme, että numeroita on kymmenen, ne ovat origokeskisiä ympyrän "kaistaleita" joiden leveys  on 1/10.  Kymppi on siten ympyrä, jonka säde on 1/10, kehät 9 ja 10 muodostavat ympyrän jonka säde on 2/10, jne.

Räiskijän todennäköisyys on helppo laskea, sillä se on 1 - (9/10)^2 eli 19/100. Tämä johtuu siitä, että 9/10 säteestä on numeroiden 2-10 kehiä, ja pinta-ala kasvaa neliöllisesti.

Mutta tähtääjän todennäköisyys riippuu tähtäyspisteestä. Koska ympyrä on symmetrinen, voimme olettaa että tähtääjällä on vain yksi parametri, b, joka sekin on ei-negatiivinen.

Jos tähtääjä tähtää kekselle, niin todennäköisyys on yksinkertaisinta laskea napakoordinaattien avulla, eli x = r*cos(p) ja y = r*sin(p), missä p on kulma ja r on etäisyys origosta. Tällöin pitää muistaa että pinta-ala-differentiaali on r*dr dp.  Merkitään f(r,p,b) (hiukan notaatiota pahoinpidellen) tiheysfunktiota napakoordinaateissa kun tähdätään pisteeseen b, niin saamme integraalin f(r,p,0)*r dr dp, missä r saa arvot välillä  [9/10, 1] ja p arvot välillä [0, 2pi].

Itse integraalilauseke sinänsä ei muutu, eli integroidaan edelleen f(r,p,b)*r dr dp: tä, mutta rajat valitettavasti muuttuvat, sillä kun tähtääjä tähtää ylemmäs taululla, ykköskehää jää taulun alaosassa pois mahdollisten osumakohtien joukosta.  Integraalin rajoja en ole onnistunut johtamaan täysin. Kun b = 1/10, tähtääjän ylipäätään mahdollisten osumakohtien raja koskettaa ykköskehää taulun alareunassa. Tällöin (rajalla), kun p = -pi/2, pitäisi r:n integraali olla [9/10,9/10], eli supistua kokonaan pois, sillä tuossa pisteessä alueet vain koskettavat toisiaan.

Yleisestiottaen, r:n pitäisi kulkea arvosta 9/10 arvoon max(9/10, min(1, z(p))), missä z on (0,b)-keskeisen ympyrän reuna suunnassa p. p saa puolestaan kulkea kyllä [0,2pi], koska r:n integraali menee nolliin niissä kulmissa joissa ykköskehä on osuma-alueen ulkopuolella.

En saanut tätä kuitenkaan vielä sellaiseen muotoon, jossa olisin saanut sen edes numeerisesti murjottua. Tästä pitäisi löytää se b:n arvo, joka maksimoi integraalin arvon. Kyse on jonkinlaisesta variaatiolaskennan tms tehtävästi, ja se on vahvasti ei-triviaali.

torstai 30. marraskuuta 2017

Hypertrofia.

Hypertrofia eli suomeksi kasvaminen, viittaa treenaamisessa siihen, että lihas suurenee ajan myötä. Ceteris paribus, lihaksen kyky tuottaa voimaa on suoraan verrannollinen lihaksen halkaisijaan, tai oikeammin, voimantuottokyky riippuu lihaksen poikkipinta-alasta, joskin epälineaarisesti.

Hypertrofiaa esitetään usein olevan kahta tyyppiä; myofibrilaalista ja sarkoplasmista. Näistä ensimmäinen viittaa siihen, että lihassyitä tulee lisää ja olemassaolevat paksuuntuvat. Jälkimmäinen taas viittaa lihassolun nestemäärän lisääntymiseen. Tämä bro-science- näkemys ei ole kovin vahvan evidenssin tukema, mutta siinä on jonkin verran perää. Tyypillisesti bro-science menee niin, että pidemmät sarjat tuottavat sarkoplasmista ja lyhyemmät, intensiivisemmät sarjat myofibrilaalista hypertrofiaa. Perustelukin on näennäisesti looginen, eli pitkissä sarjoissa metabolinen stressi harjoituksesta dominoi, ja lihaksessa syntyy adaptaatio, jonka myötä lihaksensisäinen energiavarasto (viime kädessä nestettä) kasvaa. Lyhyissä sarjoissa raskailla painoilla taas stressi on pitkälti mekaanista, jolloin adaptaatio on vahvistaa lihassäikeitä kasvattamalla niistä paksumpia ja/tai tekemällä niitä lisää.

Tutkimusta asiasta toki on tehty. Harjoittelun näkökulmasta manipuloitavia muuttujia on muutamia. Tärkeimmät ovat intensiteetti, volyymi, nopeus, ja lepo. Lepo tässä viittaa harjoituksen aikana tapahtuvaan lepoon (rest), ei harjoitusten välillä tapahtuvaan toipumiseen (recovery).

Oma harjoitteluni on ollut viime aikoina korkean intensiteetin harjoittelua, ja volyymi on ollut maltillinen -- ja pudonnut koko ajan. Toistojen välistä lepoaikaa en ole juuri muuttanut, ja nopeuteen en ole kiinnittänyt mitään huomiota. Nyt kun 531-syyskausi päättyy jouluna, niin ajattelin kevätkaudella ottaa enemmän hypertrofiapainotteisen treeniohjelman joksikin aikaa taas.

Intensiteetti putoaa hieman voimaharjoittelupainotteisesta. Kun nyt suurin osa harjoittelusta on tapahtunut intensiteetillä joka on 80-95% maksimaalisesta, niin vuoden vaihteen jälkeen pudottanen sen 65-85%:iin. Kun nyt toistomäärät ovat olleet pääasiassa 5, 3 ja 1 toistoa kolmessa sarjassa, niin kevätkaudella pyrin 10,8 ja 6 toistoon 3-4 sarjassa. Suoritusten nopeudessa taas kiinnitetään huomiota siihen, että konsentrinen (eli lihas tekee työtä painon liikuttamiseksi) tehdään melko rivakasti (kuten nykyisin), mutta eksentrinen (eli lihas jarruttaa), tehdään tietoisesti hieman hitaammin.  Lepo sarjojen välillä voi olla aika-ajoin nykyistä lyhyempi, mutta tässä on syytä huomioida se, että tauon ei tule olla niin lyhyt että volyymi kärsii.

 Ohjelman runko olisi osapuilleen seuraavanlainen (muutoksia toki viikottain)
  • Maanantai: Kyykky 3x10 (65% maksimista), penkki 4x8 (70-80%), leuanveto lisäpainolla/kehonpainolla 3x6, maastaveto FatGripzeillä 4x6 (kevyt), loppuun sekalaista käsipainoharjoittelua.
  • Keskiviikko: Kyykky 3x8 (70% maksimista), pystypunnerrus 4x8 (65%), soutu 4x8 (70% maksimista), vatsalihastreeni, sekalaista käsipainoharjoittelua. 
  • Perjantai: Kyykky 3x6 (75%), vinopenkki 3x10 (70%), mave 1x5 (85%), leuanveto kehonpainolla 3x10, sekalaista käsipainoharjoittelua.
Kevään suunnitelma on suunnilleen se, että tämän tyyppistä treeniä jatketaan pari kuukautta, kunnes juoksukausi taas alkaa. Progressio tapahtuu niin, että joka viikko kun sarjat saadaan tehtyä kokonaan, lisätään siihen nimenomaiseen sarjaan painoa seuraavalla viikolla. Erillisiä kevennysviikkoja ei ole, mutta mikäli ylikunnon oireita ilmenee, pidetään viikko, jonka aikana painoa kevennetään neljänneksellä ja sarjoja lyhennetään. Ruokavaliossa pyritään edelleen ylläpitämään maltillista painonnousua, kalorimäärät noin 3500kcal per päivä. 

Yllä mainittu "sekalainen käsipainoharjoittelu" tarkoittaa että jos penkistä/pystypunnerruksesta jää vielä "paukkuja" yli, niin tehdään käsipainoilla vinopenkissä muutama sarja joilla haetaan ns pumppi päälle, ja sama myös hauikselle ja olkapäille; näiden lisäharjoitteiden merkitys ei ole suuri, mutta ne tuovat pienen määrän metabolista stressiä lisää.  Ja tietysti täytyy muistaa että
The greatest feeling you can get in a gym, or the most satisfying feeling you can get in the gym is... The Pump. Let's say you train your biceps. Blood is rushing into your muscles and that's what we call The Pump. You muscles get a really tight feeling, like your skin is going to explode any minute, and it's really tight - it's like somebody blowing air into it, into your muscle. It just blows up, and it feels really different. It feels fantastic.  
                                                               -- Arnold Schwarzenegger

keskiviikko 29. marraskuuta 2017

Todesta sen näköisyydestä.

Opetan tällä periodilla todennäköisyyslaskentaa. Tämä on vähän joillekin vaikeasti hahmotettava matematiikan haara. Ensiksikin täytyy erottaa toisistaan muutama asia. Tilastotiede tai tilastomatematiikka ja todennäköisyyslaskenta tai todennäköisyysteoria. Näillä on toki kytkös, mutta ne eivät ole sama asiaa. Todennäköisyysteoria on täysin koherentti matemaattinen teoria, jonka kytkös reaalimaailmaan (joka toki voidaan tehdä) on epäolennainen itse teorian kannalta. Todennäköisyysteoria on välttämätöntä mm. informaatioteorialle, mutta toki myös tilastotieteelle.

Tilastotiede puolestaan on matemaattisia menetelmiä käyttävä "työkalutiede", joka tutkii nimenomaan reaalimaailman ilmiöitä mm. todennäköisyysteorian tarjoamin keinoin. En puhu tilastotieteestä tässä. Olen sitäkin jonkin verran opiskellut ja tietoisena Dunning-Kruger-efektistä, en halua kommentoida asiaa muutoin kuin että kuten yleensäkin, kytkökset reaalimaailmaan ovat ongelmallisia ja ihmisten halu saada enemmän sanottua kuin on epistemologisesti perusteltua, on varsin suuri ja se näkyy tavassa jolla tilastotiedettä käytetään.

Todennäköisyyslaskenta voidaan kokonaisuudessaan johtaa erittäin vähäisestä määrästä aksiomia. Oletetaan että meillä on perusjoukko Omega, ja sille sigma-algebra F. Kuten nokkelimmat lukijani tietävät sigma-algebra on kokoelma perusjoukon osajoukkoja siten, että se sisältää tyhjän joukon ja on suljettu komplementin ja (numeroituvien) leikkausten ja unionien suhteen. Ns. Kolmogorovin aksiomat sanovat että meillä on todennäköisyysmitta P, joka on määritelty kaikille F:n joukoille, ja jolle pätee:
  1.  Kaikille F:n joukoille E, P(E) on määritelty ja ei-negatiivinen reaaliluku.
  2. P(Omega) = 1
  3. Jos A on pistevieraiden joukkojen A_i yhdiste, niin P(A) on summa P(A_i):stä. 
Näistä aksiomista lähtien voidaan todistaa monia asioita. Esimerkiksi se, että jos  on A:n komplementti, niin P(A) = 1 - P(Â), sillä A ja  ovat pistevieraita ja niiden yhdiste on Omega. Käytän tässä yhdisteestä merkkiä + ja leikkauksesta merkkiä *, jolloin saamme että P(A+B) = P(A) + P(B) - P(A*B).

Sanomme sigma-algebran F alkioita tapahtumiksi. Tapahtumien todennäköisyyksistä voidaan johtaa uusia käsitteitä, esimerkiksi P(A | B) = P(A*B)/P(B), joka on niin kutsuttu ehdollinen todennäköisyys. Niin kauan kun pysytään todennäköisyyslaskennan puolella, kaikki toimii kiltisti eikä tarvitse huolehtia mistään reaalimaailman ilmiöistä kuten siitä, mitä todennäköisyys oikein tarkoittaa. 

Todennäköisyyslaskenta olisi kuitenkin tylsää, jos meillä ei olisi sille mitään sovelluksia. Se soveltuukin varsin hyvin sellaisten ilmiöiden ominaisuuksien tutkimiseen joissa kaikkea tietoa ei ole paljastettu, vaan jossa tunnemme vain joitain mahdollisia lopputuloksia ja vain osan mekanismista jolla lopputulos syntyy. Esimerkikisi nopanheitto on melko tyypillinen ilmiö jota mallinnetaan todennäköisyyslaskennan avulla. Kuusisivuisen nopan kohdalla "Omega" on joukko {1,2,3,4,5,6}, ja F on kaikkien Omegan osajoukkojen kokoelma. Olettaen että noppa todella on hyvin lähelle kuution muotoinen, ja että emme voi tietää nopanheiton olosuhteista mitään sellaista, minkä vuoksi uskoisimme nopan päätyvän tiettyyn asentoon ennemmin kuin johonkin toiseen, mallissa oletetaan että todennäköisyysmittta P antaa jokaiselle yhden alkion joukolle todennäkisyyden 1/6.

Yleensä kytkös reaalimaailmaan tehdään niin, että määritellään satunnaismuuttuja. Satunnaismuuttuja, vaikkapa x, ei ole luku sinänsä, vaan se voidaan ajatella jonkinlaisena "kurkistusluukkuna todellisuuteen". Se tuottaa jonkin Omegan alkion kun sen arvo "katsotaan". Tämä "katsominen" määritellään usein satunnaiskokeeksi, ja satunnaiskokeen kuvaus on olennaisilta osin todennäköisyysteorian mallin (joka siis sisältää Omegan ja todennäköisyysmitan P) operationalisointi. Esimerkiksi satunnaismuuttuja x noppaesimerkissämme on se luku, joka lukee nopan päällimmäisellä sivulla välittömästi nopanheiton jälkeen; jos haluamme uuden x:n arvon, täytyy noppaa heittää uudestaan. Jos meillä on tapahtuma A, niin se realisoituu annetussa kokeessa, jos x:n kokeessa saama arvo kuuluu joukkoon A.

Tässä operationalisoinnissa tarvitaan sitten tulkinta. Tulkinnalla tarkoitetaan tässä yhteydessä sitä,  millä kriteereillä todennäköisyysmittaa pidetään oikeana tai sopivana jos mallia verrataan todellisuuteen.

Todennäköisyyden niin kutsuttu frekventistinen tulkinta on seuraava: Satunnaismuuttuja x saa koejärjestelyissä arvot x_1, x_2, .... (näitä on loputtomiin). P(A)  on tapahtuman A suhteellinen esiintymisfrekvenssi, kun koetta toistetaan loputtomiin. Esimerkiksi frekventistinen tulkinta nopanheitosta on, että P({1}) = 1/6, koska jos noppaa heitettäisiin loputtomiin, ykkösiä olisi koko ajan tarkemmin ja tarkemmin kuudesosa kaikista heitoista; pieniä heilahduksia voisi toki tulla, mutta "ajan oloon" heittoja olisi niin paljon että kuudesosa olisi aina vain parempi ja parempi likiarvo ykkösten osuudelle.  Malli jossa jokaiselle luvulle on annettu todennäköisyys 1/6 on väärä, jos eri nopanheittojen suhteelliset osuudet eivät lähesty näitä arvoja.  Frekventistisessä tulkinnassa on tapana tehdä hypoteesi (mukamas) a priori, ja sitten tehdä jokin "riittävän" suuri määrä kokeita, ja todeta hypoteesi oli väärä, koska saatu tulos oli varsin epätodennäköinen. Tässä on ongelmansa, joihin en tässä kohtaa mene sen syvemmälle.

Bayesilainen tulkinta on hieman toisenlainen. Siinä todennäköisyysmitta kuvaa meidän käsitystämme ilmiöstä ja sitä tietoa mitä meillä on.  Esimerkiksi nopanheittojen todennäköisyyksiksi asetetaan a priori 1/6, koska emme yksinkertaisesti tiedä mitään syytä tai perustelua miksi jokin toinen nopanheitto esiintyisi useammin kuin toinen. Kun koetta sitten toistetaan riittävän monta kertaa, voimme muodostaa erilaisille hypoteeseille todennäköisyyksiä. Hypoteeseille annetaan etukäteen jonkinlaiset priorit eli todennäköisyydet tai uskottavuusmitat. Esimerkiksi, bayesilainen voisi todeta, että koska 99% nopista on varsin  laadukkaita eikä niitä ole painotettu, niin kautta linjan 1/6- todennäköisyydet antavan tuloksen priori P(H) = 0.99, ja muiden yhteensä 0.01. Jos nopanheittoja tehdään 100, ja suhdeluvut näyttävät että puolet tuloksista on kutosia, niin tämä on jo erittäin epätodennäköistä.  Tämän arvioimiseen käytetään Bayesin kaavaa, joka sanoo että
P(H | E) = P(E | H) P(H) / P(E). Eli, hypoteesin todennäköisyys tietäen että meillä on evidenssi E, saadaan laskettua kun meillä on todennäköisyys jolla H:n ollessa tottaa E todella tapahtuisi, kertaa H:n priori, jaettuna evidenssin todennäköisyydellä. Olennaista on, että tästä pitäisi tulla uusi H:n priori jatkossa.

Tähänkin liittyy tiettyjä ongelmia, joista vähäisin ei suinkaan ole priorien valinta. Suurin ongelma joka Bayesilaisuuteen liittyy on kuitenkin sosiaalinen: Bayesilaiset ovat pääsääntöisesti ylimielisiä mulkeroita, jotka sivuuttavat todelliset ongelmat ja kuittaavat ne kriitikioiden "ymmärtämättömyydellä". Itse pidän itseäni 80% bayesilaisena, 15% frekventistinä ja 5% skeptikkona, mutta tämä on vain seurausta siitä, että olen päivittänyt prioreitani evidenssin perusteella. Luvut saattavat vaihtua.

Homma menee teoriapuolellakin rumaksi, kun todennäköisyyslaskentaa aletaan soveltaa kapeammin. Esimerkiksi, alamme tehdä oletuksia siitä, että todennäköisyysmitta on esitettävissä ns. tiheysfunktion avulla. Tiheysfunktio on kuvaus Omegalta ei-negatiivisille reaaliluvuille siten, että summa (tai jokin yleistys summasta) F:n joukkojen yli tuottaa todennäköisyysmitan. Esimerkiksi jos Omega on jokin reaalilukujen osajoukko, niin F on niiden Omegan osajoukkojen kokoelma jotka ovat Borel-joukkoja, ja P(A) määritellään integraalina f:stä joukon A yli.

Vaikka matemaattisesti tällaiset teoriat toteuttavat toki Kolmogorovin aksiomat, ne synnyttävät reifikaatioita, eli sellaisia kognitiivisia vinoumia jotka kiinnittävät ajattelun näihin käsitteisiin. Aivan erityisen vaarallinen tällainen reifikaatio on odotusarvo. Odotusarvo -- jota kansanomaisemmin kutsutaan myös keskiarvoksi, vaikka keskiarvo tarkoittaakin eri asiaa -- on operaattori joka voidaan määritellä sellaiselle todennäköisyysmallille jossa on tiheysfunktio ja jossa Omegan alkioille on määritelty reaali- tai kompleksilukujen kertolasku. Omega voi siis olla aivan hyvin jokin vektoriavaruus tms, kunhan reaaliluvulla kertominen on mielekäs operaatio Omegan alkiolle.
Jos x on satunnaismuuttuja, niin merkitsemme sen odotusarvoa E(x). 

Odotusarvo saadaan kun lasketaan satunnaismuuttujan "todennäköisyydellä painotettu keskiarvo", eräänlainen todennäköisyysjakauman painopiste. Kiltisti käyttäytyvillä jakaumilla odotusarvo on varsin hyödyllinen työkalu. Esimerkiksi nopanheiton odotusarvo on 3.5. Jos pelaamme noppapeliä jossa nappulat siirtyvät silmäluvun verran eteenpäin, niin voimme saada aika hyvän arvion siitä, kuinka pitkälle nappulat liikkuvat tietyssä määrässä vuoroja, kun käytämme odotusarvoa, etenkin kun kierroksia on useita.  Odostusarvo on hyödyllinen myös uhkapeleissä yms, etenkin pelin järjestäjälle, sillä kun pelejä pelataan paljon, odotusarvon pitää olla pelin järjestäjälle suosiollinen. 

Toinen suure, joka voidaan tällaisissa malleissa määritellä -- joskin hieman harvemmin -- on varianssi. Kun saamme erilaisia tuloksia, ne eivät tietenkään osu tarkalleen odotusarvon kohdalle, mikäli ilmiö todella on satunnainen (eli satunnaismuuttuja ei saa samoja arvoja joka kerta). Jos muutujan arvoille on määritelty etäisyysmitta, niin määrittelemme uuden satunnaismuuttujan z,
joka on x:n etäisyys sen odotusarvosta. Tällöin varianssi on E(z2). Jos x saa reaalilukuarvoja, on tapana määritellä V(x) = E((x - E(x))2). Varianssin neliöjuuri on nimeltään keskihajonta.

Jos ja kun satunnaismuuttujalle on määritelty varianssi ja odotusarvo, niitä on tapana merkitä kreikkalaisilla kirjaimilla joita tässä blogissa on tuskallista käyttää. Niinpä käytän odotusarvosta merkintää mu ja keskihajonnasta merkintää sigma. Jos emme tiedä todennäköisyysmallista mitään muuta kuin odotusarvon ja varianssin, emme voi sanoa erilaisista todennäköisyyksistä kovin paljoa, mutta voimme sentään todeta jotain. Niin sanottu Tschebyshevin epäyhtälö (T-epäyhtälö tästedes) sanoo, että P(|x - mu| > t) on korkeintaan (sigma/t)2. aivan erityisesti, jos t = k*sigma, niin P(|x - mu| > k*sigma) on korkeintaan 1/k:n neliö; esimerkiksi se, että jokin tapahtuma joka kokonaisuudessaan poikkeaa odotusarvosta yli 5 keskihajontaa, tapahtuu korkeintaan  4% todennäköisyydellä. Tämä kannattaa pitää mielessä.

Jakaumat joilla on odotusarvo ja varianssi ovat "yleisiä" sikäli, että jos tiedämme että ilmiön numeroarvot ovat rajoitettuja, niin mikä tahansa "kunnollinen" ilmiötä kuvaava malli on sellainen että odotusarvo ja varianssi löytyvät. Esimerkiksi ihmisten pituus ei voi alittaa 0 metriä, eikä ihminen voi olla pituudeltaan esimerkiksi yli 15 kilometriä, koska silloin hän ei pystyisi hengittämään seistessään.

Ehkä vaarallisin teoreema, joka tällaisia todennäköisyysmalleja koskee on niin sanottu keskeinen raja-arvolause. KRA sanoo, että jos meillä on ääretön jono toisistaan riippumattomia satunnaismuuttujia x_i, joiden odotusarvot ja varianssit ovat olemassa eivätkä ne käyttäydy "patologisesti", esimerkiksi, jonon odotusarvot ja varianssit ovat kaikki jotakin epsilonia suurempia ja jotakin ylärajaa K pienempiä, niin saadaan seuraavaa: olkoon y(n) = x_i:den summa n:ään asti, mu(n) = odotusarvojen summa n:ään asti  ja sigma(n) = keskihajontojen summa n:ään asti. Satunnaismuuttuja z(n) = (y(n) - mu(n))/sigma(n) lähestyy normaalijakaumaa N(0,1) kun n lähestyy ääretöntä.

KRA on vaarallinen, koska se saa ihmiset uskomaan, että kunhan n on riittävän suuri, niin normaalijakauma on riittävän hyvä. Tämä pätee toki tietyssä mielessä, mutta se pätee vain niillä muuttujien arvoilla jotka eivät ole liian kaukana alkuperäisten jakaumien häntäpäistä. Normaalijakauma on jatkuva jakauma ja se on täysin symmetrinen, ja siinä kaukana odotusarvosta olevat arvot käyvät hyvin nopeasti äärimmäisen epätodennäköisiksi.

Tästä ilmiöstä on omaan koprolaliaa ja huonoja käytöstapoja yhdistelevään tyyliinsa kirjoittanut mm. Nassim Taleb, sinänsä sisällöllisesti ansiokkaasti. Pidän miehestä ja hänen kirjoituksistaan, mutta kuten niin monet mielenkiintoiset ihmiset, hän on täysin vailla käytöstapoja, itseään täynnä ja muutenkin jonkin sortin ihmisperse. Tämä ei tietenkään tee hänen sanomisiaan mitenkään huonoiksi, vaan pikemminkin päinvastoin. Se osoittaa etteivät tällaiset asiat ole oikeasti kovin voimakkaasti kytköksissä toisiinsa. Joku vetänee johtopäätöksen että "nerot ovat vaikeita" -- tämä voi pitää paikkaansa sikäli, että todennäköisyys että joku on vaikea ihminen kasvaa, jos hän on nero.

Mutta kannattaa muistaa sanonta: Ekstraordinary claims require extraordinary evidence. Tämä sanonta voidaan palauttaa viime kädessä Bayesin kaavaan. P(A | B) = P(B|A)P(A)/P(B). Jos A on epätodennäköinen (esim, "henkilö on nero") ja B on varsin todennäköinen (henkilö on vaikea), ei suurikaan ehdollinen todennäköisyys toiseen suuntaan (nero on vaikea) tuota mitään kovin suurta evidenssiä toiseen suuntaan (vaikea ihminen on nero).


maanantai 27. marraskuuta 2017

Kuorman purku eli deload

531-syksy on saapunut toiseksi viimeisen syklin  loppuun. Viime syklin ykkösviikon tulokset olivat melko vaatimattomat: Maastaveto 1x160kg, Pystypunnerrus 1x62.5kg, Penkkipunnerrus 3x100kg, ja kyykky 4x120kg. Kyykky on ollut "jäissä" aika pahasti koska selkävaivat ovat estäneet sen kehityksen.

Kun välilevyt hieman vaivaavat, selän kontrolli on todella tärkeää. Selkä on "helppo" pitää erittäin vakaana raskaissakin maastavetopainoissa, kun taas kyykyssä selän vakaus on itseasiassa rajoittava tekijä. Kun selkä kipuilee, luontainen "varovaisuus" aiheuttaa sen, että kyykkyä ei uskalla tai pysty tekemään vaikka jaloissa voimaa olisikin riittävästi.

Osaksi kyse on myös ihan puhtaasti mekaanisesta stabiiliudesta, sillä kyykkyä tehdessä paino on yläselän päällä ja systeemi on labiili. Kyykätessä nostajan ja tangon muodostaman systeemin painopiste on jossain navan yläpuolella ja siihen kohdistuvan voiman tuottavat lihakset ovat painopisteen alla. Jos jalkojen tuottaman voiman suunta on hivenenkin vinossa, systeemi alkaa horjua. Vähäinen poikkeama pystysuorasta voimantuotannosta kasvaa itsestään, joten korjaamiseen tarvitaan enemmän aktiivista työtä tukilihaksilta.

Maastavedossa taas painopiste on alempana ja tanko "roikkuu" olkapäihin kiinnitetyistä naruista joita kutsutaan "käsivarsiksi".  Olkapäiden siirtäminen tukipisteen yläpuolelle ei ole kovin raskasta, ja tanko tulee perässä ilman erillistä voimankäyttöä. Tämä taas tarkoittaa että vaikka tukilihakset joutuvat töihin, niiden työ on enemmän staattista kuin kyykyssä, mikäli pieniä poikkeamia tasapainosta uhkaa syntyä.

Juuri tämä ero on se, miksi kyykky on keskivartalon hallinnan kannalta aivan olennainen liike. Moni tekee lankutuksia ja linkkuveitsiä sun muuta loputtomiin siinä uskossa että tämä vahvistaa "corea". Eivät he täysin väärässä ole, mutta suurin osa samasta treenistä hoituisi kyykkäämällä raskailla painoilla. Ilmiötä vahvistaa myös se, että varsin usein nämä samat ihmiset treenaavat jalkalihaksiaan jalkaprässillä tms laitteilla jotka eivät milllään tavalla treenaa tukilihaksia. On jossain määrin ajanhukkaa treenata näin, kun on olemassa yksi liike joka treenaa paitsi "corea" ja jalkoja, myös yleisemmin tasapainottamiseen tarvittavia tukilihaksia.

Tämän viikon treeniohjelma on kevyt, sillä joka neljäs viikko on ns. deload-viikko. Tätä voi nimittää kevennykseksi tai kuorman puruksi. Säännöllinen treenaaminen tuottaa paitsi lihaskohtaista stressiä josta toipumiseen tarvitaan aikaa, myös kumulatiivista systeemistä kuormaa. Tähän kuuluu erilaisten aineenvaihdunnallisten ja hermostollisten adaptaatioiden jatkuva "päällä olo".  Kuormanpurkuviikolla annetaan elimistölle aikaa palautua näistä stressitekijöistä.

Tyypillisen kuormanpurkuviikon painot ovat 60-80% ykkösviikon painoista. Koska kuorma on kevyempi, aiemmilta viikoilta peritty stressi kevenee. Treeniä ei kuitenkaan jätetä täysin väliin, eikä se saa olla liian kevyttä, sillä muutoin syntyy toisenlainen stressi. Käytän tässä sanaa "stressi" siinä merkityksessä, että elimistön, erityisesti toki lihaksiston ja siihen liittyvän hermoston, tila poikkeutetaan "tasapainosta", eli siitä mihin elimistö on sopeutunut.

Jos elimistö on sopeutunut kovaan treenaamiseen, niin täydellinen lepo on poikkeama niistä tekijöistä joita voi pitää elimistön normaalina toimintaparametreinä. Tuloksellinen treeni on jollakin tapaa aina progressiivista (määritelmän mukaan; tulosten paraneminen tarkoittaa sitä että jokin suure muuttuu ajan oloon). Elimistö reagoi poikkeamaan siten, että "normaali" toiminta siirtyy poikkeaman suuntaan. Jos ei olla menty ylikunnon puolelle (ja jotta ei mentäisi!), kuorman keventämisessä on optimi, joka on suunnilleen sellainen kuorma jossa elimistössä ei synny merkittävää tarvetta  "säätää" tilannetta mihinkään suuntaan.  Täydellinen lepo tarkoittaisi, että elimistö alkaisi vähän kerrassaan purkaa niitä muutoksia joita se on tehnyt sopeutuakseen aiempaan treeniin.

Toki jos aiempi stressi on ollut patologista, siis sellaista että adaptaatiot ovat peräti vahingollisia, niin tilanne on toinen. Patologiseksi stressi menee silloin, jos keinot joilla elimistö siihen reagoi eivät ole tarkoituksenmukaisia. Klassinen esimerkki on tilanne, jossa treenataan tavoitteena rasvanpoltto, ja energiavaje käy niin suureksi että elimistö alkaa karsia energiaa kuluttavia osia, eli polttaa lihasta ja jarrutella rasvakudoksen käyttöä.  Voimaharjoittelussa ylikunnon tunnistaminen voi olla hankalampaa, etenkin hermostollinen ylikunto voi olla pitkään oireeton. Jos kuitenkin siis ollaan ns ylikunnon puolella, on kuorman purun syytä olla niin suuri, että epätarkoituksenmukaiset adaptaatioprosessit loppuvat.

Painoni on noussut jo melko lähelle 90 kiloa, viime viikolla se oli noin 88kg. Tämä on hyvä asia sikäli, että se tarkoittaa että massan kerääminen on onnistunut. Se kuitenkin tarkoittaa että tulokset suhteessa ruumiinpainoon eivät ole kehittyneet juurikaan, ainakaan jos käytetäään ns Wilks-pisteitä. Esimerkiksi viimeisen viikon yhteistulos (voimanostoliikkeissä, kyykky korjattuna 134 kg:een ja penkki 110kg:een) olisi ollut kiloissa 404kg, Wilks-pisteinä 260.94, jos oletetaan että painan 88kg. Viime joulukuun yhteistulokseni oli koko syklin lopussa 405kg, mutta koska painoin tuolloin 82kg, pistemäärä olisi ollut 272.32.  Jotta saisin edes saman pistemäärän nyt joulukuun lopulla, pitäisi yhteistuloksen olla yli 425kg. Tämä ei ole mahdotonta, sillä kyykyssä voin pystyä nostamaan 140kg, ja maasta vetämään 175kg, jolloin 110kg penkkituloksella olisin tarkalleen tuossa tuloksessa. Tämä kuitenkin tarkoittaisi, että vaikka 20kg olisi tullut lisää, niin suhteessa painoon tulos ei olisi parantunut käytännössä lainkaan.

torstai 23. marraskuuta 2017

Työtä tehdään, leipää saadaan

Viikot kuluvat tietyssä mielessä aika vauhdilla. Kuten olen aiemmin sanonut, työskentelen tällä hetkellä yhden päivän viikossa teollisuudessa eräänlaisissa konsultaatiotehtävissä. En halua mennä yksityiskohtiin, mutta yrityksellä on tuote joka myy kohtuullisesti. Se haluttaisiin myydä tarkoituksiin joissa asiakkaan vaatimukset ovat kovemmat, mutta skaalautuvuudessa on tiettyjä ongelmia. Tuotteen "ytimessä" nimittäin on ongelma joka on, viime kädessä, NP-kova optimointiongelma.

Koska olen tutkinut käytännössä NP-kovia tai vaikeampia ongelmia aika paljon, joskaan en suoraan optimointitehtävinä pitkään aikaan, eräs entinen työkaverini rekrytoi minut tähän. Hän on omistajana ko. yrityksessä. Lähdin mukaan melko vaatimattomalla panostuksella (ja kohtuullisella palkkiolla). Yritys olisi palkannut minut kokoaikaiseksi ja todennäköisesti vielä paremmalla palkalla, mutta päädyimme tähän osaksi siksi, että minä halusin mahdollisuuden testata osaamistani niin, että siitä olisi yhtäältä minulle ja toisaalta työnantajalle pienet riskit. Niinpä työnkuvaani kuuluu prototyyppialgoritmin suunnittelu ja osallistuminen sandboxatun proton toteutukseen sekä sen skaalautuvuuden testaaminen.  Jos projekti on menestyksekäs, tehdään sitten uusi sopimus.