Yürüyüşe çıkarken varış noktanızı ve yolların durumunu bildiğinizde neredeyse otomatik olarak gideceğiniz yolu ne kolay seçtiğinizi göreceksiniz.

Nereden gitsek?

Tolga Mırmırık

İstanbul’da yaşayıp da her gün işe gidip gelen insanlara sorsanız, en büyük beş sorunları arasında mutlaka “çekilmez dereceye gelen trafik” olduğunu, bir yere yetişebilmek için hele ki bir de toplu taşıma araçlarından faydalanılmıyor ve bireysel taşıma araçlarından birisi ile yolculuk ediliyorsa en çabuk ulaşım yolunun bulunmasının zorluğu olduğunu duyarsınız.


Trafik sıkışıklığını aşmak için kullanılan yön bulma araçları ya da artık tüm bireysel araç sahiplerinin telefonlarında WhatsApp’tan bile önce kurulan navigasyon uygulamaları bu konuda oldukça başarılı olsalar da sadece bir noktaya kadar yardımcı olabilmekte ve yine uzun süreler trafikte vakit geçirilmesini önleyememekte. Ancak oldukça başarılı oldukları alan, birçok alternatif yoldan en iyisini seçebilme becerileri.

Trafik sıkışıklığının ve alternatif yolların çokluğunun sebebi tabii ki -çok kötü ve başarısız örnekleri olsa da- uygulamalar değil. Bu daha çok onları tasarlayamama ve plansızlığa bağlı. Diğer yandan, uydulardan aldığı sinyalleri de kullanan uygulamalar, bulunulan yeri neredeyse yarım metreye varacak kesinlikteki bir yanılma payı ile bulabilmekte, o dakika içinde mümkün olan en az kilometre kat edilecek ya da en az sürede gidilebilecek yolu gösterebilmekte ve sizi dilediğiniz yere ulaştırabilmektedir.

A noktasından B noktasına kadar kat edilecek yolun, sizin istediğiniz özelliklere (en kısa zamanda gideyim, en hızlı şekilde gideyim, paralı geçiş olmasın vs.) uygun olanının bulunması için bu tür uygulamalar yüzlerce yılda bilim insanları tarafından ortaya çıkarılan çok sayıda “algoritmayı” başarılı şekilde kullanmakta. Bu tür bir uygulamada “hangi yolu takip edeyim” sorusunun cevabını ararken sıklıkla yararlanılan ve temel oluşturacak şekilde başvurulan algoritmalar da “en kısa yol” ya da İngilizce adı ile “shortest-path” algoritmaları olarak gruplandırılmakta.

Bu bilgi gerçek hayatta ne işimize yarayacak?

Elbette gelişmiş uygulamalarımızda kullandığımız algoritmalar sadece “en kısa yol” algoritmalarından ibaret değil. Arka planda kullanılan onlarca değişik yöntem ve fonksiyon için çok farklı algoritmalar mevcut. Ancak “en kısa yol” algoritmaları, insanların günlük hayatta karşılaştığı herhangi bir takip edilecek yolu seçme problemini de sıklıkla çözdüğü için, bizlerin, evrim sayesinde, bugünlere erişmemizi sağlamış incelikte ve kolaylıkta aklımız kazınmış durumda. Bu yüzden de her insan zaten gündelik hayatında da (çoğu algoritmadaki gibi) hiç düşünmeden uyguluyor.

En kısa yol algoritmalarında bahsi geçen en temel algoritmalardan birisi de 1930 doğumlu ve 2002 yılında kaybettiğimiz bilim insanı Edsger W. Dijkstra’nın 1959 yılında yayınladığı “Dijkstra’nın Algoritması.” Bir fizikçi olarak sürdürdüğü bilim hayatını bilgisayara çevirmesi ile adı anılır, kendisi birçok işe imza atmış çok yetkin bir bilgisayar bilimcisidir.

Algoritma bize (yazıdaki şekli örnek almak gerekirse), AF yolculuğunu yapmak için hangi yoldan gitmemizin bizim için “daha az efor” gerektiğinin hesaplanmasına dair adım adım uygulanacak yöntemleri veriyor.

Bu şekle göre, her bir noktadan diğer noktaya tek yönlü erişim olma şartı ile A belli noktasından çıkıp da F belli noktasına ulaşmak için kullanabileceğimiz, 3 yol var (A BDF, ABCEDF, ACEDF). Her bir noktayı işe giderken geçmeniz veya kullanmanız mümkün olan değişik toplu ulaşım aracı ya da ilçe olarak ve aralardaki oklarda verilen sayıları da her birisinin alacağı süre olarak düşünebilirsiniz. İstanbul için 2 ya da 3 dakikalar hayal olsa da konu anlaşılmıştır gibi. Burada birçoğunuz daha şekli görür görmez en hızlı / en zahmetsiz yolun ACEDF olduğunu anlamıştır. İlköğretimde görülen toplama işlemini kullanarak, her yolun bize maliyetine baktığımızda, mümkün yollarımız için, ABDF 25, ABCEDF 27 ve ACEDF 20 olduğu görülmekte.

Elbette Dijkstra’nın onlarca yıllık bilgi birikimi buradaki örneğimizdeki bariz olan ilköğretim matematik bilgisini bize iletmesine değil, bunun en hızlı nasıl hesaplanabileceği ve uygulamalı ya da teoride nerelerde en performanslı şekilde kullanılabileceğine dair açtığı ufukta gizli. Bu algoritma ve bundan yola çıkan daha gelişmiş ve performanslı algoritmalar şu anda hayatımızın her alanında bizlere gizli gizli destek veriyor. En bilinen uygulama alanlarından diğeri de internetin altyapısında gizli. Evinizdeki cihazdan gönderilen bir sinyalin İngiltere’deki bir alıcı cihaza ulaşmasının en verimli yolunun bulunmasında kullanılan hesaplamaların temellerini de Dijkstra’ya borçluyuz.

Bizleri etkileyen örnekleri düşünürseniz, sabah evden yürüyüşe çıkarken aslında varış noktanızı ve yolların durumunu bildiğiniz durumda neredeyse otomatik olarak hangi yoldan gideceğinizi ne kadar kolay seçtiğinizi göreceksiniz. Gidişinizde parktan geçiş sizin için ne kadar zevkli bir aktivite olacaksa, o yolun zorluğunu 1, normal trafik dolu bir yoldan gitmek ise kulaklar için daha işkence haline geleceğinden 5 olarak seçip, küçük olan değeri seçmeniz neredeyse düşünmeden yapılan bir hareket. Herhangi bir ulaşılması gereken hedef belirleyip, aradaki olası zorlukları tahmin ederek atılacak adımlardan en kolaylarını seçen ve bunu en zahmetsiz uygulayabilen tüm kararlar da bu yöntemi sık sık ziyaret etmekte.

Herkese zahmetsiz bir yol seçimi dilerim. İyi haftalar.