tiistai 16. lokakuuta 2007

Miten lukko tiirikoidaan? Ongelman vaikeustaso.


Olen jonkin verran leikitellyt tiirikoinnin taiteessa. Miksikään aktiiviharrastajaksi ei voi sanoa. Mutta jonkin verran tiedän aiheesta, ja yksinkertaisimmat lukot aukeavat kyllä. En käy näitä järjestelmällisesti, siis aloita helposta ja siirry vaikeampiin, enkä ylipäätään rupea tarkasti opettamaan erilaisia temppuja. En yksinkertaisesti halua opettaa ketään murtovarasta. (Tai ehkä enemmänkin polkupyörävarasta..)

Itseäni eniten kiinnostavat tiirikoinnissa ne tekniikat, joiden takana on "eksponenttimatematiikan" muuttaminen "lineaarimatematiikaksi". (Shimmaus, tappien yksittäistiirikointi eli "single pin picking" ja monien halpis "numerolukkojen" selvittäminen.) Eli kun lukon valmistaja on tehnyt vaikka lukon, jossa on 3 tappia, joista jokaisella on 10 eri asentoa, saadaan tehtyä 1000 erilaista avainta. Tiirikoinnissa sen sijaan yksi tapa ratkaista ongelmaa on se, että yritetään löytää jokin konsti, jolla "välitulos voidaan tallentaa". Tällöin ratkaisu muuttuu enemmän lineaariseksi. Jos kykenet "tallettamaan välitulokset", joudut esimerkkitapauksessa käymään pahimmillaankin läpi vain 30 vaihtoehtoa. Ratkaisu nopeutuu huomattavasti (Jos tappien määrää kasvatetaan, avainten määrä kasvaa toki eksponentiaalisesti, mutta ongelman tiirikointivaikeus vain lineaarisesti.)

Samalla mainostan, että Abloyn lukkoja ja muita "kiekkorumpulukkoja" on käytännössä mahdoton - eli suomeksi "todella vaikea" - tiirikoida auki! (Vanhemmat mallit aukesivat vempeleellä, mutta esimerkiksi minä en edes osaisi käyttää sitä.) Kannattavampaa, nopeampaa ja helpompaa on jo hajottaa koko ovi, kuin näprätä kiekkorumpulukko auki.

Miksi ylipäätään nostin asian esiin?

Sen takia, että usein törmää ihmisiin, joiden mielestä "geenit on niin monimutkaisia, että ne eivät voi syntyä evoluutiolla". Päälle he esittävät jonkin laskelman, joka perustuu siihen, että kuinka monta nukleiinihappoa geenissä on. He kertovat nämä keskenään ja saavat tietysti käsittämättömän suuren luvun sille, kuinka vaikea sen synty on. Mutta he unohtavat, että "avainten määrä" ei ole sama asia, kuin "lopputuloksen mahdollisuus". Jos mutaatio voi koskea useampaa aminohappoa, se muuttaa heti ongelman luonnetta. ("Raking" on yleinen lukontiirikoimis menetelmä, joka perustuu juuri siihen että montaa tappia sörkitään samanaikaisesti. Yllättävää kyllä, sen avulla lukon avaaminen on monesti jopa helpompaa, kuin tapit yksittäin läpikäymällä. Tähän tekniikkaan perustuen Hannu Karpo aikanaan availi koeluontoisesti autojen ovia ruuvimeisselillä. Nyttemmin autojen lukot ovat tosin parempia.) Samoin "tyhjät tapit", eli neutraalit mutaatiot, romauttavat määrää runsaasti (koska taustalla on eksponenttimatematiikan käyttö, jokaikinen neutraali mutaatio itse asiassa "ampuu pois" käsittämättömän määrän vaihtoehtoja, eli kasvattaa valtavasti "osumistodennäköisyyttä".) Lukon aukaisun vaikeutta ei siksi tule laskea pelkistä tappejen määristä, vaan "merkityksellisten tappien määristä".) Ja etenkin, jos on jokin säästömekanismi (kuten luonnonvalinta), joka muuttaa tilanteen täysin toiseksi, eksponentiaalisen kertomisen ja normaalin kertomisen välillä on eroa. (On eri asia sanoa 5*5 kuin 5^5. Vielä erimpi asia on sanoa 5*6 kuin 5^6.) Ja mitä suuremmista luvuista puhutaan, sen valtavammiksi erot tulevat. Eikä tämäkään vielä itse asiassa kerro sitä, miten todennäköisesti "biologisen lukon" saa auki. Sehän kertoo vain sen, kuinka monta "yritystä" siihen tarvitaan keskimäärin. Eli myös solujen lukumäärät pitäisi kyetä ottamaan huomioon, myös ne, jotka ovat kuolleet elämään kyvyttöminä.

Tämän vuoksi en usko, että kukaan tiirikointia kokeillut voisi langeta heidän "todennäköisyyslaskentoihinsa", joissa kertolaskua ja "kompleksisuuden määrää" ei ole säästelty. Toki on mahdollista, että lukon saa silti paremmin auki "jos on lukkoseppä tai ihminen, jolla on oikea avain ja tieto siitä". Mutta se, että lukon aukaisu on "oikealla avaimella helpompaa" (mikä ei muuten "Lock bumpingin" kohdalla aina edes pidä paikkaansa) vielä tarkoita että lukkoa ei voisi avata "satunnaiseen räpeltämiseen välitulosten tallentamiseen" perustuvalla menetelmällä. Toki olen samaa mieltä siitä, että "tiirikkaa käyttää ihminen, äly". Mutta uskovaisille voidaan tähän sanoa, että ehkäpä siellä evoluutionkin takana onkin se "näkymätön tiirikkamies" (Kuten Kenneth Miller uskoo). Se ei siis vielä tee evoluutiotakaan olemattomaksi.

Mutta toisaalta; Eihän tämä minunkaan selitys tee evoluutiota todistetuksi. Se vain ja ainoastaan huuhtoo viemäristä ne idioottimaiset laskelmat, joita tässä "kompleksisuuden todistamisessa" käytetään erilaisilla maallikkojen foorumeilla.

Ei kommentteja: