maanantai 23. helmikuuta 2009

Rakenteen mutkikkuus.

"Koko, Kokoo koko kokko kokoon. Koko kokkoko kokoon? Koko kokko kokoon!"

Informaatio on luultavasti yksi arkielämässä toistuvasti käytetyitä sanoista. Sen merkitys on kuitenkin mutkikkaampi kuin mitä voisimme luulla. Intuitiivisestihan me ajattelemme että informaatio tarkoittaa semantiikkaa, jolloin sovitut merkkijonot symbolisoivat jotain kommunikaation välineenä. Tämä johtuu siitä että ajattelemme informaation kielemme kautta.

Mutta informaatiota voidaan tarkastella myös "matemaattisemmin", jolloin katsotaan sen rakennetta. Tällöin puhutaan yleensä merkkijonoista. Mutta periaatteessa jokainen internetiä käyttänyt tietää, mitä pelkästä 0:sta ja 1:sestä koostuvat merkkijonot voivat tuottaa eteemme. (Aika usen se näyttää olevan SPAMia.)

Alkuun heitän, että kieli ja semanttinen merkitys ei kuitenkaan välttämättä tarkoita aina ja kaikkialla samaa asiaa kuin informaatio. Ja teen tämän sanomalla että
1: Kielessä on redundanssia, joka tarkoittaa toistuvia säännönmukaisia rakenneosia, jotka ovat merkkijonon kuvauksen kannalta "tyhjiä bittejä".
2: Ne voidaan myös pakata, eli kuvata lyhyemmässä muodossa, joka tuottaa niiden kuvauksen.

Tämä ei vielä luultavasti tunnu kovin vakuuttavalta. Mutta onneksi kompleksisuutta voi lähestyä yksinkertaista ja ymmärrettävää tietä. Sellaisia, jotka näyttävät että minkä vuoksi juuri satunnaisuus on eniten informaatiota sisältävää silloin kun puhutaan kompleksisuudesta. Ja itse asiassa Kolmogorovin ja Chaitinin informaation määrittelyä (algoritminen kompleksisuus) esimerkkini seuraa aika tarkasti.
1: Kuvitellaan että meillä on jono merkkejä. Kuvitellaan että meidän täytyy jollain tavalla kertoa muille millä tavalla he saisivat tuotettua juuri samanlaisen merkkijonon kuin mikä meillä on. Informaatiosisältö on juuri niin pitkä, kuin se määrä jolla saat kerrottua toisille sen miten tuottaa kyseinen jono. Tässä vaiheessa kuvitellaan että meillä on jono, jossa on "00000000000000000000". Voit kopioittaa sen vaikkapa pyytämällä 20*"0". Se on siisti ja yksinkertainen kuvaus. Ja ennen kaikkea se on lyhyt. Syy rakennusohjeen lyhyteen on siinä että jono ei ole kompleksinen, siinä on tietty ja erittäin yksinkertainen rakenne. Kuvitellaanpa sen sijaan 20 merkkiä pitkä jono "thUyUBrRSWds3dEwre76". Se on satunnaisgeneraattorilla tuotettu merkkijono, joten helpoin tapa tuottaa kyseinen jono on kertoa se sellaisenaan, esittää se merkki kerrallaan, jolloin lopputulos, rakennusohje, näyttää samalta kuin se, mikä meillä on edessä. Ja se on pidempi kuin ensimmäisen esimerkini kohdalla. Eli sen rakenne on mutkikkaampi. (Toki ei voida olla ihan varmoja, voidaanko se kuvata lyhyemmällä tavalla kuin esitetty.) Tämä tarkoittaa sitä, että merkkijono on kompleksisempi. Tällöin siinä on tältä kannalta paljon informaatiota. (Joskaan semanttisesti ajatellen sillä ei sellaista välttämättä ole lainkaan. Paitsi että tuo on itse asiassa joskus ollut minun kotisivujen salasana.)
2: Samaa kautta voidaan tietysti ajatella tietokoneeseen piirrettyjä kuvia. Jos meillä on pelkästään sininen kuva, sen kuvaaminen on helpompaa. Jos piirrät keskelle sinistä punaisen ympyrän, jonka sisällä on vihreää ja ulkopuolella pysyy se sama sininen, rakenne mutkistuu, on lisättävä kuvausta. Siinä on jo aika paljon rakennetta, kuten heiniä, värisävyjä ja puita, siinä on enemmän rakennetta. Ja kaikista eniten rakennetta olisi täysin satunnainen sekasotku, jossa ei ole mitään sääntömäistä rakennetta. Sattumassa ei ole mitään sääntöä. (Monet piirrosohjelmat tietävät tämän, ja siksi kuvien tietokoneelta muistia vaativa tila vaihtelee, vaikka kuva olisi yhtä monta pikseliä korkea ja leveä.)

Nämä esimerkit toivat aika selvästi esiin kuvaamisen ja rakenteen merkityksen informaation kannalta. Selvää on myös että satunnainen kohina on vaikein kahdentaa ohjeilla. Sellainen missä ei ole logiikkaa, joka sallisi sen ennustamisen mitä jotkut muut bitit olisivat ilman että sen arvoa kerrotaan yksityiskohtaisesti erikseen, vaatii eniten vaivaa. Syynkin pitäisi olla melko selvä: Sattumaa on vaikein kuvata, joten satunnaisuudessa on eniten informaatiota silloin kun puhutaan sen kompleksisuudesta.

Tosin tässä kohdassa on yksi tärkeä huomio: Algoritmisessa kompleksisuudessa sattuma on sidottu kompleksisuuteen: Tämän vuoksi se eroaa hieman "normaalielämän sattumasta". Nimittäin, jos menet Vegasiin heittämään noppaa, voi joskus käydäkin niin, että heität 6 särmäisellä nopalla 20 kertaa peräkkäin ja saat jokaisella kerralla kuutosen. Tällöin sen tulos on epätodennäköinen sattuma, mutta sillä on selvä muoto. Toisin sanoen ero on siinä, että kun satunnaisuus sidotaan kompleksisuuteen, se kuvaa sitä mitä sattuma tuottaa Vegasissakin useimmiten. (Esimerkiksi 20 sarjan, jonka heitin nopallani tuotti "56431631454654662143"). Eli kompleksisuuden kannalta nopat vain tuottavat joskus harvoin eisatunnaisia tuloksia.

Ja tästä päästäänkin niihin hieman erikoisempiin asioihin.

Nimittäin jos asiaa tarkastellaankin kompleksisuuden sijasta todennäköisyyksien kautta, satunnainen prosessi on juuri kuten Vegasin nopat. Ne tuottavat joskus epätodennäköisiä sarjoja, jotka muistuttavat esimerkiksi sitä 20 peräkkäin heitettyä 6 -ta. (Todennäköisyys tälle olisi 620, eli todella harvinainen. Jos et usko, voit kokeilla asiaa kotonasi.) Kun näkisimme tämän Vegasin harvinaisen noppatuloksen, me emme kuitenkaan pitäisi sitä satunnaisena jonona kompleksisuutensa kannalta. Se on toki satunnainen syntymistapansa vuoksi. (On siis aina tiedettävä kummasta puhuu. Tämä ei itse asiassa ole aina helppoa, ainakaan minulle.)

Asiaa voidaan sekoittaa ottamalla pakkaaminen mukaan: Kun minä esimerkiksi pyörittelen erilaisia pakkausohjelmia saadakseni paljon eri juttuja vaikka poltettua samalle CD:lle, niin pakkausohjelmaa pyöriteltyäni niiden vaatima tila pienenee. Se, mikä ei ennen olisi mahtunut CD:lle, mahtuukin nyt pakattuna CD:lle. Ja itse CD on silti ulkoisesti saman kokoinen.
1: Kun tässä puhun pakkaamisesta, puhun sellaisesta joka ei perustu siihen että rakennetta tuhotaan. Eli tarkoitan ns. häviöttömiä pakkausmenetelmiä, joissa todellista tietoainesta ei hävitetä ja tällä tuholla raivata tilaa niin että tiedolle voidaan antaa vähemmän tilaa, vaan sen sijaan tieto kuvataan lyhyemmällä tavalla ja kun pakkaus puretaan, noudatetaan sitä "annettua ohjetta" ja saadaan aivan samanlaisena se alkuperäinen tietoaines. Häviötön pakkaus on tietenkin mahdollista vain, jos pakattava data ei ole satunnaista (kompleksisuus, ei Vegas) vaan sisältää jonkinlaista ennustettavaa rakennetta jota kuvata lyhyemmin. (Tätä kautta esimerkiksi on erikoista kuulla kuinka jokin on kompleksinen että ei voisi syntyä sattumalta. Maksimaalinen Vegasissa käynyt noppaihme on epätodennäköinen sattuma, mutta rakenteeltaan se on kaikkea muuta kuin kompleksinen, moniosainen tai on mitään sellaista jonka kuvaamiseen tarvittaisiin pitkiä rakennusohjeita.)
2: Kun meillä on siis edessä kaksi jonoa, joista ensimmäistä ei ole pakattu ja toinen on se, mikä on pakattu. Pakattu on lyhyempi, ja vähemmän säännönmukainen. Siinähän on poistettu pituutta, joiden ohjeet sisältyvät silti niihin lyhyempiin ohjeisiin. (Sama asia on lyhyempi, joten se on tiiviimpää asiaa. Kun tämän oppisi blogauksessakin..) Tätä kautta katsoen näissä kahdessa jonossa on yhtä suuri määrä rakennetta. Mutta se pakattu versio onkin kokoonsa nähden kompleksisempi kuin toinen. Jos eteemme laitetaan vahvasti, eli hyvin, pakattu jono, se on rakenteen mutkikkuuden kannalta muodoltaan samanlainen kuin satunnainen. Kun taas se purettu versio ei ole kompleksinen, se on vähemmän kompakti, eikä se siksi ole rakenteensa puolesta kompleksinen. -Vaikka ne ovatkin itse asiassa "aivan sama informaatio".
3: Eli kun harvinaiseen sattumaan ja säännönmukaisuuteen sisältyvä redundanssi otetaan huomioon Vegasihmeenkin tapauksessa, myös sen informaatiotiheys voidaan tiivistää muutamaan merkkiin. Siksi vaikka informaation määrittely eroaakin hieman algoritmisen kompleksisuuden kohdalla (informaatio~lyhin tapa kuvata merkkijonon rakenne) ja Shannonin informaation välillä (informaatio~yksinkertainen kyllä/ei -päätös~bitti. Hänen informaation määrän arviointiin liittyvät myös informaation hajeen ja redundanssi eli toisteisuus.), molemmissa on kuitekin samaa pohjaa. Kun toisteisuudessa ei nähdä olevan sisältöä, molemmat esittävät että maksimitiheys informaatiota on täydellisen satunnainen merkkijono. (Kun "Vegasin noppaihmeestä" otetaan redundanssi, toisteisuus, pois, jäljelle jää 20*"6".)

Tästä seuraa itse asiassa epäintuitiivisia mietintöjä tieteenfilosofian puolelle: Kun selitämme asioita, selitämme itse asiassa luonnonlakeja, jotka tuottavat "Vegasihmeen kaltaisia sääntöjä, mutta eivät harvoin kuten nopat vaan usein." Tästä ehdosta seuraa ennustettavuus, jonka katsotaan olevan kuvaus maailman tapahtumista. ; Tiedemiehet tavallaan yrittävät selittää universumin toiminnan kaavoina jotka ovat mahdollisimman yksinkertaisia, eli jossa on mahdollisimman lyhyt kuvaus luonnonlaista. Tiedemiehet tavallaan yrittävät pakata universumin tapahtumia. Tosin olen melko varma, että tiedemiehet tuottavat pääasiassa "nyrkkisääntöjä", eli karkeistavat todellisuutta. Tällöin "pakkaaminen" on toki myös totta, mutta kyseessä ei ole "häviötön pakkaaminen". Toki tiedemiehet pyrkivät olemaan mahdollisimman häviöttömiä pakkaamisessaan. Ja toinen asia taas on se, että vaikka intuitio sanoo mitä, satunnaiset ilmiöt ovat kompleksisimpia.

Mutta tässä kohden voin palata hairahdusretkiltä siihen alkupisteeseen:

Toki me ajattelemme että kieli on rakenteeltaan monimuotoista, kompleksista. Mutta tosiasiassa satunnainen nopan tuottama jono on mutkikkaampi. Toki tuolta kuunneltava kiinankielinen redundantti runo. Sen rakenteesta voinevat iloita muutkin suomalaiset. osoittaa että osa kielestä on toisteisempaa kuin toiset. Mutta se toisaalta kertoo myös merkityksestä jonka luomme on luonteeltaan juuri redundanssia, eikä kompleksisuus ole merkityksen tunnus. (Alun perin meinasin tehdä blogauksen jossa oltaisiin käyty läpi pelkästään tätä runoa. Hairahduin.) Toisaalta semanttiselle merkitykselle on mahdollista muodostaa myös pangrammeja, jolloin niissä on mahdollisimman paljon eri kirjaimia, jotka toistuvat mahdollisimman vähän, jolloin syntyy sanoja kuten "Törkylempijävongahdus". Nämä ovat selvästi kompleksisempia, niitä on vaikeampi pakata kuin vaikkapa toisteisuuteen perustuvaa lausetta "Yömyöhällä yökkäili yökyöpeli vyötiäinen." Tosin esimerkkipangrammini ei ole mitenkään "maksimaalisesti kompleksinen", koska vokaalien paikat voidaan "arvata".

Informaatio ei ole siis aina sitä, mitä sen ikään kuin automaattisesti oletamme olevan. Olipa syy sitten siinä, että (1) "Eggheads from University" määrittelevät asiat erikoisilla tai todellisuudesta vieraantuneilla ja väärillä tavoilla, tai sitten se että (2) heidän toimintansa soveltuu joihinkin asioihin, jotka ovat arkielämän ulkopuolella, tai koska (3) normaali -ihminen on intuitioitaan ja tunteitaan seuraava joka ei ole ensisijaisesti rationaalinen:
Mutta pääasia olisi, että yrittäisi katsoa mistä milloinkin puhutaan. Silloin erolla arkielämän ajattelun ja muunlaisen ajattelun välille ei välttämättä tule. Kun eri asioista ei puhuta samoilla nimillä.

Ei kommentteja: