Algoritmiline andekus ja mida sellega peale hakata
ELUTÖÖPREEMIAD
Riigi teaduspreemiad pikaajalise tulemusliku teadus- ja arendustöö eest (nn elutööpreemiad) on saanud kaks akadeemikut: väljapaistev matemaatik Gennadi Vainikko Tartu ülikoolist ning Tallinna tehnikaülikooli küberneetika instituudi kauaaegne juhtivteadur, eesti arvutiteaduse üks rajajatest Enn Tõugu.Nende laureaatide elukäigus on ootamatult palju sarnast. Mõlemad pidid osa noorusaastaist veetma küüditatuna kaugel idas. Mõlemad on juba alates teadlasetee algusest pannud aluse uutele teadusharudele ning oma tegevuse kaudu mõjutanud kümnete ja sadade spetsialistide ja teadlaste valikuid. Mõlemad on panustanud arvutusmatemaatika arendamisse. Mõlemad on oma teadustöö kaudu tuntud kaugel piiri taga ja meie oma rahvale teaduse populariseerijana. Mõlemad on kümmekond aastat õpetanud väärikates välismaa ülikoolides, olnud justkui Eesti teaduse suursaadikud, samal ajal haruldaselt südamlikud ja härrasmehelikud.
On üks tegevusala, kus andekus paistab sedavõrd selgelt välja, et pole kahtlustki selle mõjus tegevuse tulemuslikkusele. Mul on küllalt tuttavaid, keda kadestan tõsiselt nende laulmisoskuse ja üldise musikaalsuse pärast. Niisiis, mõtlen siin muusikalist andekust. Eestlased võivad selle üle uhked olla. Meil on orkestrijuhte, koorijuhte, lauljaid ja heliloojaid, kes tuntud üle maailma, ning noori tuleb üha juurde. Sooviksin väga, et midagi sellesarnast oleks ka minu tegevusvaldkonnas – arvutiteaduses.
Kas on põhjust arvata, et muusika valdkond on erandiks? Vist mitte, sest sama võib täheldada kunstis, kirjanduses ja teistes loomingulistes valdkondades. Kuidas on lood teadusega? Kas siingi pole tegemist loominguga? Tänapäeva teadus on muutunud suurel määral sarnaseks tootmisega, kus tegevusele seatakse kindlad eesmärgid (vaadake rahataotluste koostamise eeskirju), ning kus on mõõdikud tulemuslikkuse mõõtmiseks. Kuid see on asja üks külg. Ma olen päris kindel, et päris tippteadus on ikkagi eelkõige looming kõigi sellega seotud loomise piinade ja tulemuse hindamise raskustega. Tulemuslik looming eeldab alati andekust.
Püüan oma väidet tõestada selle valdkonna põhjal, millega olen tegelenud ligi kuuskümmend aastat. See on arvutiteadus. Minu nooruses kutsuti seda küll arvutiasjanduseks, sest teadus oli siin alles tekkimas. Nüüdseks on arvutiteadus välja kujunenud ja laienenud sedavõrd, et pole ühtegi teadlast, kes suudaks haarata seda ala tervikuna. Kuid eks muusikaski on suur erinevus heliloojal ja ooperilauljal. Seejuures on nii muusikas kui arvutiteaduses nii mõndagi, mis on kogu valdkonnale ühine. Eelkõige on selleks muusikaline andekus.
Pean nüüd kirjutama andekusest arvutiteaduse vallas, mida sobib nimetada algoritmiliseks andekuseks. Mul on selle kohta nii positiivseid kui ka negatiivseid näiteid. Kunagi üsna ammu, siis kui arvutitele kirjutati programme veel masinkoodis, seades üksteise järel ritta arvuti käske, tuli mu juurde noormees Vello, kes soovis hakata programmeerijaks. Selgus, et tal pole kõrgharidust, matemaatilist eriharidust ega mingit kogemust arvutitega. Ta töötas trükikojas masinladujana.
Andsin temale meie arvuti Minsk 22 käskude kirjeldused ning mingi mitte liiga lihtsa ülesande programmi kirjutamiseks. Mõte oli selles, et näidata talle asja olemust ja keerukust. Mõne päeva pärast küsis minult kolleeg, kustkohast ma olen leidnud uue programmeerija. Selgus, et Vello oli korraliku programmi valmis saanud ning läks mu kolleegilt küsima, kas see on midagi, mida temalt oodati. Muidugi võtsime Vello meile tööle ning olime sedasi saanud väga tubli programmeerija.
Mitmed oma aja parimad programmeerimiskeeled – LISP, Pascal, C –, on igaüks ühe algoritmiliselt andeka autori looming. Teisest küljest, mul on olnud tuttavaid matemaatikuid, kes pole suutnud mitme nädala jooksul valmis teha ühele leheküljele mahtuvat lihtsat programmi. Andku matemaatikud mulle andeks, kuid pean veel ütlema, et mõnekümne aasta eest oli olukord selline, et korralik matemaatik pidi ise proovima programmi kirjutada. Juhtus mõnigi kord nii, et teinud mingi ühte tsüklit sisaldava programmi, arvas matemaatik, et see ongi programmeerimine, tänapäeva mõttes – tarkvara loomine. Kui algoritm oli teada, siis oli tegemist tõepoolest vaid kodeerimisega, kuid see pole ei looming ega tarkvaraarendus. Matemaatikutele lohutuseks tuleb öelda, et kõige paremad arvutiteadlased on mõlemat – matemaatiliselt haritud ja algoritmiliselt andekad.
Esimene järeldus algoritmilise andekuse olemasolust on, et seda tuleb tingimata arvestada nii eriala valikul kui tööle võtmisel. IT projektijuhtide kogemus näitab, et tarkvara arendajate tootlikkus erineb kordades, sõltuvalt nende võimekusest. Selle aluseks on algoritmiline andekus, kuigi seda mõistet pole kuigi palju kasutatud. Ning mitte ainult tootlikkus, vaid ka loodud tarkvara headus sõltub andekusest. Kahjuks ei ole tänapäeva praktikas tavaks arvestada algoritmilist andekust.
Kuigi seda tuleks teha juba õpingute korraldamisel. Pole ju mõtet õpetada muusikakoolis täiesti ebamusikaalset õpilast. Sama peaks kehtima ka arvutiasjanduses, kuid siin pole kombeks õppureid niiviisi eristada. Minu õpetamise kogemus ülikoolides on näidanud, et umbes kümnendik õppureist on algoritmiliselt nii andekad, et nende õpetamine võiks toimuda palju intensiivsemalt.
Seevastu on ka teine kümnendik, kellele oleks õige seletada, et nad on valinud täiesti vale eriala. Kuidas seda selgitada? Esimeseks sammuks vajalikus suunas on algoritmilise andekuse teadvustamine ja tunnistamine. Teiseks sammuks võiks olla muusikakoolide eeskujul Nõo keskkooli kõrvale veel mitme sügavamalt arvuteid õpetava kooli loomine. Muidugi, töökas noor võiks seal õppida ka juhul, kui ta algoritmiliselt eriti andekas pole. Seda seni, kui ta näeb tõeliselt andekaid ja märkab oma tegelikke võimeid.
Tekib küsimus, kus on piir tarkvarateaduse ja tarkvaraarenduse vahel. Näib, et mõlemad nõuavad loomingut, kus algoritmiline andekus on vajalik. Jääme siin edaspidi ainult teaduse juurde. On olemas siiski mõned teadusele eriomased asjaolud. Teadust, nii nagu kunsti, tehakse mingi seesmise sunni ajel. Ainult see seletabki meie noorte teadlaste juurdekasvu. Pole ju noorel inimesel meie rahale orienteeritud ühiskonnas mingit rahalist motivatsiooni valida teadlase teed. Andekus on ühtlasi filtriks, mis aitab kõrvale jätta suure osa neist, kes pole arvutiteadusesse sobivad. Seda ainult siis, kui teadvustatakse algoritmilist andekust olulise isikuomadusena. Vaatame nüüd noore andeka arvutihuvilise võimalikku käekäiku. Esimeseks teelahkmeks on juba koolipõlves otsustamine, kas hakata kohe veebisaite meisterdama ja sellega raha teenima või püüda veel midagi juurde õppida. Muusikas on analoogiaks esimese bändi loomine ja sellega jätkamine või muusikakooli ja konservatooriumi valik. Kui on valitud õppimine ning saadud isegi doktorikraad, jõutakse teisele teelahkmele. Selleks on otsustamine, kas jätkata teaduses madala palgaga või minna IT-firmasse tööle. IT on eriala, kus on peaaegu kõige kõrgemad palgad. Kui otsustatakse jätkata teaduses, siis järgmisele teelahkmele jõutakse pärast abiellumist ja laste sündi.
Nüüd on juba tõsisem vajadus raha teenida ning see viibki noored teadlased uuringutest eemale. Vahest see polegi Eesti majandusele eriti kahjulik, kuid teadusele küll. Kahju tekib Eestile alles siis, kui teadlane on nii edukas, et ta kutsutakse välismaale tööle soodsamatesse oludesse. Kui lugejal on soov oma algoritmilist andekust kontrollida, soovitan proovida lugeda David Hareli raamatut „Algorithmics: The Spirit of Computing“, Addison-Wesley, Reading, MA, 1987. Selle raamatu uuemad väljaanded on kirjutatud koos Yishai Feldmaniga, kuid esimese väljaande võlu on selles, et see põhineb suurel määral David Hareli möödunud sajandi loengusarjal, mille ta esitas Iisraeli raadio kaudu. Kui raamatust arusaamine õnnestub, on algoritmilise andekusega kõik korras. Kui seejuures raamat osutub ka huvipakkuvaks, võiks lugeja mõelda arvutiteadusega tõsisemalt tegelemisele.
Muusikat tuleks veel ühest seisukohast eeskujuks võtta. On alust arvata, et meie muusikute tänasele edule panid möödunud sajandil aluse onu Kalmer ja „Entel-tentel“. Sama trend kestab televisioonis tänaseni. Nüüd jääb loota, et ka teaduse, sealhulgas arvutiteaduse, populariseerimine jätkub meie meedias tõusujoones.