Tez No İndirme Tez Künye Durumu
489562
Parallel bio-inspired single source shortest path algorithms / Paralel biyolojik tabanlı tek kaynaklı en kısa yol algoritmaları
Yazar:HİLAL ARSLAN
Danışman: DOÇ. DR. MURAT MANGUOĞLU
Yer Bilgisi: Orta Doğu Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
Onaylandı
Doktora
İngilizce
2017
120 s.
Gerçek dünyadaki en kısa yol problemleri genellikle dinamik olarak değişip, zorlu ve hesaplama masrafı yüksektir. Literatürdeki çalışmalar, bu problemleri çözmek için çok uzun zaman gerektirir. En kısa yol problemlerini çözmek için, biyolojik yöntem- lerden esinlenilmiş Physarum Çözücü'ye dayalı paralel algoritmalar sunuyoruz. İlk önerilen algoritma, pozitif kenar ağırlıklı durağan graflarda en kısa yolu bulmak için geliştirilmiş hızlı ve etkin Physarum Çözücü'dür. Ardından, pozitif kenar ağırlıklı di- namik olarak değişen graflarda en kısa yolu bulmak için, biyolojik tabanlı dinamik paralel bir algoritma öneriyoruz. Önerilen dinamik algoritma, grafın kenar ağırlıkları zamanla arttığında, azaldığında veya hem artıp hem azaldığında en kısa yolu verimli bir şekilde hesaplar. Önerilen algoritmalar, Physarum Çözücü için çeşitli iyileştirme- ler ve optimizasyonlar içerir. 2006 yılında Tero, Kobayashi ve Nakagaki tarafından önerilen Physarum Çözücü'yü paralelleştirdik. Ayrıca, Physarum Çözücü, katsayı- lar matrisi simetrik M-matris olan doğrusal denklemlerin çözümünü gerektirir ve bu adım algoritmanın en zaman alan kısmıdır. Fakat literatürdeki çalışmalar, Physarum Çözücü'deki bu doğrusal sistemleri çözmek için katsayılar matrisinin M-matris özel- liğini ihmal etmektedirler ve genellikle büyük ölçekli problemler için uygulanabilir olmayan bir direk çözücü kullanarak çözmektedirler. Bu çalışmada, bu doğrusal sis- temleri, katsayı matrisinin M-matris özelliğine dayanan bir ön koşullayıcılı paralel iteratif çözücü kullanarak verimli bir şekilde çözüyoruz. Son olarak, Physarum Çö- zücü'nün en kısa yolu tam olarak bulması her zaman garanti edilmediğinden, en kısa yolu hesaplamak için yeni bir hibrit algoritma önermekteyiz. Bu method en kısa yolun tam olarak bulunduğunu ön plana çıkartmaktadir. Hibrit algoritmada, en kısa yol ağa- cını oluşturamayan kenarları saptamak için Physarum Çözücü kullanılır. Algoritma, öncelikle, en kısa yol ağacını oluşturamayan kenarları kaldırarak grafı seyrek yapar ve sonra Dijkstra (veya ağırlıksız graflarda Breadth First Search) gibi klasik en kısa yol algoritmaları, pozitif kenar ağırlıklı seyrek grafa uygulanarak en kısa yol bulunur. Önerilen hibrit algoritma bu nedenle iki aşamalıdır. Hibrit algoritma'nın problemi çözme süresi ve dogruluğu, Dijkstra algoritmasının modern uygulamasıyla karşılaş- tırılmıştır. Sonuçlar, önerilen hibrit yöntemin belirgin bir hız artışı sağladığını gös- termektedir. Paralel algoritmaların sonuçlarını değerlendirmek için de, gerçek yaşam uygulamalarını da içeren üç farklı büyük graf modeli kullanıyoruz. Önerilen para- lel algoritmaların paralel ölçeklenebilirlik, çalışma süreleri ve doğrulukları, Dijkstra algoritmasının en iyi parallel versiyonu olan ∆-stepping metodu ile karşılaştırılmış- tır. Önerilen paralel algoritmalar büyük boyutlu seyrek graflarda önemli paralel hız- lanma göstermektedir. Bu da geliştirdiğimiz algoritmaların klasik algoritmalar kulla- nıldığında uzun çözüm süresi gerektiren büyük ölçekli gerçek dünya problemlerini verimli bir şekilde çözdüğünü göstermektedir.
Real-world shortest path problems that usually dynamically change are challeng- ing and computationally expensive, and earlier studies in the literature require pro- hibitively long time to obtain the solution. To cope with such problems, we introduce novel bio-inspired parallel algorithms based on Physarum Solver. The first proposed algorithm is a fast and efficient parallel Physarum Solver with the objective to find the shortest path for static graphs with positive edge weights. Next, we propose a novel fully-dynamic bio-inspired parallel algorithm in order to find the shortest path on dynamically changing graphs with positive edge weights. The proposed dynamic algorithm efficiently computes the shortest path when the edge weights of the graph increases, decreases, or both over time. The proposed algorithms include various improvements and optimizations for Physarum Solver. We parallelize the sequential Physarum Solver proposed by Tero, Kobayashi and Nakagaki in 2006. Furthermore, Physarum Solver requires the solution of linear systems whose coefficient matrix is a symmetric M-matrix and we note that this step is the most time consuming step. In the literature, however, there are not any studies that take an advantage of M-matrix property of the coefficient matrix to solve the linear systems efficiently in Physarum Solver and they are often solved by using a direct method, which is infeasible for large scale problems. We efficiently solve such linear systems using a parallel it- erative solver with a preconditioner based on M-matrix property of the coefficient matrix. Finally, we propose a novel hybrid algorithm in order to compute the shortest path exactly since Physarum Solver is not guaranteed to find the exact shortest path. This underlines the accuracy of the hybrid method to compute the shortest path ex- actly. In the hybrid algorithm, Physarum Solver is used in order to detect the edges which cannot form the shortest path tree. The algorithm, first, sparsifies a given graph by removing the edges which cannot form the shortest path tree and then we apply a classical shortest path algorithm, such as Dijkstra, or Breadth First Search (if the graph is unweighted) on the sparser graph with positive edge weights. The proposed method is, therefore, a two stage hybrid algorithm. The accuracy and the required solution time by the proposed hybrid method are compared against a state-of-the-art implementation of the Dijkstra's algorithm on the original graph as the baseline. The results show that the proposed hybrid method achieves a significant speed improve- ment compared to the baseline. In order to evaluate the parallel algorithms, we use three different large graph models representing diverse real life applications. The par- allel scalability, running time and accuracy of the proposed algorithms are presented and compared against ∆-stepping which is the most representative parallel implemen- tation of Dijkstra's algorithm. The proposed algorithms exhibit remarkable parallel speedup with comparable accuracy for sparse large graphs. This underlines the effec- tiveness of the proposed algorithm to deal with hard real-life problems requiring long running time using classical algorithms.