Tölvumál - 01.10.2013, Síða 14
14
Árið 2012 var svokallað Turing ár en þá voru liðin 100 ár frá fæðingu
Alan Turing. Þekkingarsetur í fræðilegri tölvunarfræði við Háskólann í
Reykjavík (ICE-TCS) skipulagði fyrirlestraröð þar sem fjallað var um líf og
störf Alan Turing. Ákveðið var að halda áfram á sömu braut og halda
fyrirlestraröðina, Pearls of Computation, þar sem fjallað er um
einstaklinga sem hlotið hafa hin virtu Turing verðlaun eða önnur virt
verðlaun á sviði tölvunarfræðinnar. Edsger Wybe Dijkstra hlaut Turing
verðlaunin árið 1972 og er einn þeirra sem fjallað var um í þessum
fyrirlestrum. Hægt er að nálgast glærur af flestum fyrirlestrum á slóðinni
http://www.icetcs.ru.is/poco.html.
Á síðustu áratugum hafa orðið miklar framfarir í notkun á sjálfvirkri
vegvísun, þ.e. þegar fundin er hagkvæmasta leiðin milli tveggja staða.
Hvort sem um er að ræða GPS staðsetningartæki í bílum eða kortakerfi
eins og Google Maps eða ja.is þá er notuð aðferð sem er afbrigði af
svokölluðu reikniriti Dijkstra (e. Dijkstra’s algorithm). Segja má að allar
fræðilegar framfarir fyrir vandamálið að finna stystu leið frá upphafspunkti
(e. Single Source Shortest Path (SSSP)) í almennum stefndum og
óstefndum netum hafa frá árinu 1959 byggst á reikniriti Dijkstra [0].
Edsger Wybe Dijkstra fæddist í Rotterdam í Hollandi þann 11. maí árið
1930. Hann hóf nám í stærðfræði og fræðilegri eðlisfræði við Leiden
háskólann en komst fljótlega að því að tölvunarfræðin ætti betur við
hann. Hann orðaði það sjálfur þannig að hann hafi talið að tölvunarfræðin
byði upp á meiri möguleika á því að kljást við vitsmunalega krefjandi
vandamál en fræðileg eðlisfræði. Á þeim tíma sem Dijkstra var að hefja
feril sinn sem tölvunarfræðingur þá var tölvunarfræðin ekki samþykkt
sem sérstakt fræðasvið. Þegar Dijkstra gifti sig árið 1957 var hann
skráður sem fræðilegur eðlisfræðingur á giftingarvottorðinu því
starfsheitið „forritari„ var ekki samþykkt. Dijkstra hóf ferill sinn í
Amsterdam en flutti síðan yfir til Tækniháskólans í Eindhoven árið 1962.
Árið 1984 flutti hann yfir til háskólans í Austin, Texas, og starfaði þar
þangað til hann lét af störfum árið 2000.
Dijkstra hannaði hið svokallaða reiknirit Dijkstra árið 1956 þegar hann
var að vinna við tölvu sem var smíðuð við Mathematical Centre í
Amsterdam. Til að sýna fram á reiknigetu tölvunnar þá vantaði vandamál
sem tölvan gæti leyst. Dijkstra segist hafa verið á kaffihúsi með konu
sinni þegar hann fór að hugsa hver væri hagkvæmasta leiðin frá
Rotterdam til Groningen og hannaði reikniritið á u.þ.b. 20 mínútum [1].
Reikniritið var hins vegar ekki birt fyrr en 1959. Á þessum tíma voru
stærðfræðitímarit ekki ginkeypt fyrir vandamálum þar sem markmiðið
var að leysa endanleg vandamál hratt. Flest áhugaverð vandamál þessa
tíma fjölluðu um óendanlega hluti og því þótti reiknirit Dijkstra ekki
spennandi. Það tók því þrjú ár að fá greinina birta en síðan þá hefur
verið vísað í hana rúmlega 10.500 sinnum [2].
Edsger Wybe Dijkstra var um margt einstakur og á það ekki síst við um
vinnulag hans. Ólíkt flestum fræðimönnum á 6. og 7. áratugnum þá var
hann ekki með ritara til að vélrita greinar sínar heldur vélritaði hann þær
sjálfur. Einnig skrifaði hann sjaldan hefðbundnar greinar sem sendar
voru í tímarit heldur skrifaði hann einungis til lítils hóps starfsfélaga og
vina. Dijkstra vélritaði hugsanir sínar, ljósritaði og sendi á þennan hóp og
var þar bæði um að ræða fræðilegar vísindagreinar, ferðasögur eða
bollaleggingar um það sem honum var efst í huga. Dijkstra var mjög
skipulagður og tölumerkti allt sem hann skrifaði og kallast þessi rit í dag
EWD skýrslurnar (e. EWD Reports). Þegar Dijkstra birti vísindagreinar í
fagtímaritum þá var það oft einhver úr hópnum sem fékk upprunalegu
skýrsluna sem áframsendi efnið til birtingar. Um 1970 hætti Dijkstra að
nota ritvél og hóf að handskrifa allt sem frá honum kom. Dijkstra var
með mjög skýra, formfasta og sérstaka rithönd sem búið er að setja
upp sem niðurhalanlega leturgerð, og þannig hefur fólki verið gert kleift
að skrifa eins og Dijkstra. Seinasta EWD skýrslan er númer 1318 og var
skrifuð í apríl 2002. Hægt er að sækja allar EWD skýrslurnar sem vitað
er um á slóðinni http://www.cs.utexas.edu/~EWD/. Dijkstra áleit að það
ætti að vera hægt að fullvinna greinar, lausnir og texta áður en byrjað er
að skrifa, hann notaði því aldrei ritvinnsluforrit heldur skrifaði sínar
greinar frá upphafi til enda án þess að gera uppkast.
Dijkstra leit á það sem skyldu sína sem vísindamaður að vera gagnrýninn
og var óhræddur við að láta í ljós óánægju sína með þá hluti sem
honum fannst gagnrýniverðir. Þessi lífsskoðun hans varð ekki til þess að
afla honum mikilla vinsælda enda margt sem fór í taugarnar á honum,
þar á meðal tölvunarfræðingar sem byrja lista á staki 1 en ekki staki 0,
viðvaningsleg vinnubrögð í forritun, lélegt skipulag í fyrirlestrum,
persónugerving, vondur ritháttur í stærðfræðiformúlum, óþarflega
flóknar stærðfræðiframsetningar og nokkur forritunarmál, þar á meðal
Basic, Fortran, Cobol og PL/I. Óvild hans í garð forritunarmálsins Basic
var slík að hann taldi að ef nemandi hefði lært Basic þá væri búið að
eyðileggja þann einstakling andlega þannig að hann ætti ekki
afturkvæmt. Þar af leiðandi neitaði Dijkstra að taka við slíkum nemendum
í þeim áföngum sem hann kenndi. Hin stöðuga og harkalega gagnrýni
Dijkstra varð til þess að hann eignaðist marga óvildarmenn, bæði innan
fræðasviðsins sem og utan þess. Eftir stutta ritdeilu við Alan Kay um
mismun á tölvunarfræðinni milli Evrópu og Bandaríkjanna þá setti Alan
Key fram í ræðu sinni þessi orð: „ég veit ekki hversu mörg ykkar hafið
hitt Dijkstra, en þið vitið væntanlega að hroki í tölvunarfræði er mældur
í nanó-Dijkstras“ [5].
riTdeilur
Ein frægasta ritdeila Dijkstra snerist um GOTO skipunina. Á þeim tíma
var GOTO mikið notað, sérstaklega í forritunarmálum eins og Basic,
Fortran og Cobol sem Dijkstra hafði einmitt mikla andúð á. Árið 1968
skrifaði Dijkstra hugleiðingar sínar um notkun GOTO í forritun, þar sem
Eyjólfur Ingi Ásgeirsson, lektor tækni- og verkfræðideild
Háskólans í Reykjavík
edSger Wybe dijkSTra
– STySTa leiðin að
fallegum kóða