Ko je bio Edsher Dajkstra, čovek koji je učinio računarsku nauku — naukom?

Svrstava se u generaciju pionira računarskih nauka, a njegov uticaj prisutan je i danas. Izmislio je pojmove koje danas uzimamo zdravo za gotovo, a jedan algoritam nosi ime upravo po njemu.

Aleksa Vidović
22/11/2016

Rođen je u Roterdamu u Holandiji, 1930 godine. Studirao je teoretsku fiziku na Lajden Univerzitetu, ali je ubrzo shvatio da ga više zanimaju računari. Postojao je problem — računari nisu bili predmet izučavanja na akademiji.

Tri godine programiranja u Matematičkom Centru u Amsterdamu uverile su ga da je intelektualni izazov programiranja mnogo veći od onog koji mu je nudila teoretska fizika.

Međutim, nedostajala je teoretska osnova koja bi učinila računarstvo respektabilnom disciplinom u akademskim krugovima.

Njegov tadašnji šef uvideo je njegov potencijal, i ubedio ga da bi upravo on mogao da bude onaj koji će učiniti programiranje ozbiljnom disciplinom vrednom poštovanja.

Završivši studije fizike što je brže mogao, ostavlja fiziku i potpuno se posvećuje programiranju.

Rešavanje teških problema — uz kafu

U matematičkom centru u kojem je radio, jedan od najvećih projekata bila je izgradnja ARMAC računara. Za njegovo zvanično puštanje u rad, Dajkstra je napisao program koji rešava jedan zanimljiv problem: Ako je data mreža gradova i udaljenosti među njima, koji je najkraći put između određena dva grada?

Tadašnji algoritmi koji su najbolje rešavali ovaj problem imali su opasnu manu — njihovo vreme izvršavanja raslo je kubno sa povećanjem broja gradova. Vreme izvršavanja Dajkstrinog algoritma raslo je kvadratno. Ne morate biti sjajan matematičar da shvatite koliki je to napredak.

Što je još zanimljivije, on je uspeo da razvije ovaj algoritam za dvadesetak minuta, i to dok je pio kafu sa svojom verenicom na terasi jednog kafea.

Ovaj algoritam za najkraću putanju (Shortest Path Algorithm) i danas je u širokoj upotrebi, pogotovo u telekomunikacijama i komutaciji paketa u mreži.

Takođe tu je i “Smoothsort”, nestabilni algoritam sortiranja koji je varijacija heap sorta. Dajkstra ga je objavio 1981. godine, a koristan je u slučajevima kada je niz na ulazu delimično sortiran, jer u tom slučaju teži ka kompleksnosti O(n), za razliku od heap sorta, koji je O(n log n) nezavisno od ulaza.

Tu je i Dajkstra-Šolten algoritam, koji služi za detekciju prekida u distribuiranim sistemima.

Naravno, ovo je samo mali deo njegovog doprinosa na polju algoritama.

Pored algoritama, bio je jedan od pionira u oblastima kao što su distribuirani sistemi i konkurentno programiranje, a doprineo je i razvoju kompajlera.

Njegovi naučni radovi postali su osnove za čitave oblasti istraživanja kojima se i danas bavimo.

Deo generacije osnivača

Kada je želeo da se venča 1957. godine, morao je formalno da se izjasni o svom zanimanju. Odgovorio je jednostavno — ja sam programer. Tadašnji sistem nije prepoznao ovo zanimanje kao validno, pa je u administrativne knjige tada ipak ušao kao “teoretski fizičar”.

Možda ovo daje najbolju sliku o vremenu u kojem je Dajkstra uvideo potencijal računara.

Svrstava se u generaciju pionira računarskih nauka, a njegov uticaj prisutan je i danas. Izmislio je pojmove koje danas uzimamo zdravo za gotovo, a jedan algoritam nosi ime u njegovu čast.

Ostavio nam je brojne knjige i naučne radove, a znali su ga i po duhovitosti. Zato za kraj ostavljam prostor njegovim citatima i aforizmima, koji će vam dati bolji uvid u prirodu ovog genija.

Kada pitamo da li računari mogu da razmišljaju, to je kao da pitamo da li podmornice mogu da plivaju.

Alati koje koristimo imaju veliki uticaj na naše navike u razmišljanju, i samim tim i na našu sposobnost razmišljanja uopšte.

Dobar programer je potpuno svestan ograničenja svog uma; zato on programerskim zadacima pristupa sa skromnošću, i između ostalog izbegava lukave trikove koliko god može.

Računarske nauke tiču se računara koliko se i astronomija tiče teleskopa.

Aleksa Vidović

Objavio/la članak.

utorak, 22. Novembar, 2016.

IT Industrija

🔥 Najčitanije