+Paralel hesaplamanın tanımı, bir dizi hesaplamayı aynı anda gerçekleştirmek için birden fazla işlemci veya çekirdek kullanmak olarak yapılabilir. Bu zamana kadar bilgisayar mühendisliği derslerinde gördüğümüz algoritmalarda, görevler tek tek işlendiği sıralı hesaplamalar ile yapılmaktadır. Bir Djikstra'yı ele alalım, en kısa yol uygulamasında her bir dallanma için en yüksek puanlı dalı seçerek hareket ederiz ancak oldu da yüksek puanlı dallarımız bizim için sonuç elde etmezse geriye dönerek çıkış şansımız bulunan olası diğer yolları tek tek gezeriz. Böyle bir graf üzerinde işlem yaparken eğer her bir dalın potansiyel ağırlığını hesaplamak istersek bu durumda karmaşıklığımız her bir graf için eleman sayısının faktoriyeli ile ifade edilecek. Diyelim ki gerçekten de Djikstra gibi algoritmik yaklaşımlarla çözemeyeceğimiz bir görev var, bu görevde beklenen potansiyel olarak iki nokta arasındaki tüm yolların adımlarının çıkarılması ve yolun toplam ağırlıklarının hesaplaması olsun. Hatta bir ileri adıma taşıyayım bu ikili nokta seçimi de graftaki tüm 2'li nokta kombinasyonları için yapılacak olsun. Bu gibi işlemleri tek bir çekirdekli bir donanımda koşturmak, O(n ^ 2 * n!) karmaşıklığa sahip bir problemi çözmeye çalışmak, çok büyük bir hesaplama maaliyeti demek.
0 commit comments