05 november 2010

Ekspotensiaalselt suureneva keerukusega ülesannete lahendamine tõenäosuslike boole'i võrkude abil

Vahelduseks ka natukene teaduslikumat teksti.

Sellest on juba üle kahe kuu möödunud, kui tutvust tehtud doktorantuuriga. Praeguseks on kolmest võetud ainest kaks suuremalt jaolt läbitud. Üks omamoodi huvitav aine on juba algusest peale olnud "Eriseminad doktorantidele", mida annab matemaatikust emeriitprofessor Leo Võhandu. Õnneks pole seal põhirõhk mitte matemaatikal endal vaid matemaatiliste mudelite abil praktiliste probleemide lahendamine. Selline lähenemine laiendab esiteks silmaringi kuidas erinevatele probleemidelel läheneda, teiseks aitab huvi tekitada ja siduda kuiva matemaatika reaalse elu probleemidega. Aine läbimise üheks eelduseks on ka ettekannete tegemine. Temaatika valimine oli muidugi nagu võidupileti valimine loosirattas. Sisuliselt tuli hunnikus lebavatest IEEE jms teadusartiklitest valida üks artikkel, mille põhjal esitlus teha. Kes taolisi artikleid varem lugenud, teab et enamasti on need üsna lühidad, sisutihedad, ilma täiendavate näideteta ja raskesti loetavad.

Minu õnnetuseks sattus ka mulle teema, millest ma varem isegi kuulnud polnud. Inglisekeelne nimi kõlab "Heuristic Method for Generating Probabilistic Boolean Networks from a Prescribed Transition Probability Matrix". Tegemist on sisuliselt boole'i (ehk kahendsüsteemi, kus mingi väärtus saab olla kas 1 või 0) võrkude laiendatud kujuga ehk tõenäosuslike boole'i võrkudega. Boole'i võrke võib sisuliselt ette kujutada geenivõrguna, kus iga geen on üksteisega seotud ning mingi geeni avaldumine võib aga ei pruugi mõjutada järgmise geeni avaldumist. Arvatakse, et inimesel on umbes 20 000-25 000 geeni. Kui need geenid on kõik üksteisest sõltuvad, siis võib ette kujutada keerukust, kui paljusid geene võib mõjutada ühe geeni muutmine.

Tõenäosuslikud geenivõrgud kirjeldavad sisuliselt võimalust, kui suure tõenäosusega võib mingi geen avalduda ja sellega järgnevaid geene mõjutada. Nagu teada võib tõenäosus olla vahemikus 0....1. Et selliste keerukate probleemide lahendamisega efektiivselt tegelda, on loodud kõikvõimalikke algoritme. Paar sellist algoritmi on ära toodud ka minu esitluses. Keda asi rohkem huvitab, võib lugeda ka lõpus olevat kasutatud kirjandust. See peaks olema paraja keerukusega algajatele nagu mina. Võiks muidugi hoiatada, et mõni ära toodud artikkel on paras pähkel, mida tuleb lugeda 2,3,5 või isegi 10 korda, et aru saada asja tuumast.

Oma põhiartiklit sai muidugi loetud kõvasti üle 10 korra kuna eelnev kogemus antud vallas puudus. Aga kui see teema juba niikuinii omale selgeks (täpne olla, siis pigem "selgemaks") sai tehtud, siis annaks võimaluse ka mõnele asjast huvitatule sellega tutvuda. Kunagi ei tea, kes seda teemat enda jaoks kasulikuks peab. Eestikeelse ettekande leiab siit aadressilt.

Üks õpetlik lugu ka seoses teadusartiklite lugemisega. Nimelt avastasin ma ühest artiklist algoritmi, mis ei anna sellist tulemust nagu vaja. Kaks nädalat joonistasin kõikvõimalikke maatrikseid püüdes leida enda tehtud viga. Kuidas ma ka ei püüdnud, algoritm lihtsalt ei töötanud nii nagu vaja. Prof. Võhandu kommentaar sellele oli, et selliseid kontrollimata algoritme tuleb üsna tihti teadusartiklitesse sisse. Loo moraal on, et kunagi ära usalda ühtegi autorit ega retsensenti vaid tee endale puust ja punaseks ette ja kui viga ikka alles, tõesta omale sobival arvutuslikul viisil ära, et viga on kasutatavas algoritmis.

Kommentaare ei ole:


WebCounter.com
blog.tr.ee