Photo by Braňo on Unsplash

Algoritma Türleri

Bioinformatics Algorithms

--

Bioinformatics, biolojik verinin DNA, Genetik Dizilimler vb bilgilerin üzerinde bazı problemlerin anlaşılması ve analiz edilebilmesi için bioloji, kimya, fizik, matematik, istatistik ve bilgisayar bilimini birleştirerek çözüm arayışında bulunan disiplinler arası bir bilim dalı.

Bioinformatics algoritmalarda DNA oluşumunda temel teşkil eden Gen Dizilimlerindeki büyük veri üzeride analizler yapmamızı sağlayan algoritmalardır.

1. Brute Force Algorithms (Exhaustive Search)

Bu algoritmanın amacı verilecek sonucu hesaplarken tüm olası kombinasyonları üzerinde çalıştırdığınız makinelerin kaynaklarını hiç bir optimizasyon ve verimlilik arttırıcı özellik olmadan hesaplatmaktır.

Örneğin;

  • Satranç taşlarının 3 hamle sonrasını hesaplamak.
  • 8 şehir arasında gidilecek yol hesaplamasında en kısa yolu bulabilmek için tüm mesafeler üzerinden olası uzaklıkları tek tek hesaplama

2. Greedy Algorithms

Bu algoritmanın amacı heuristic yöntemler ile sonucu ulaşmaktır. Yani sonucun kesin doğru olması ile değil işlemlerin yaklaşık sonuçla daha hızlı ve optimize bir şekilde çözülmesini sağlayan algoritma yöntemidir.

  • Şehirler arasında gezerken (TSP travelling salesperson problem) için çok komplike kombinasyon hesaplarını optimize oluşturmak..

3. Dynamic Programming Algorithms

Bir dizi üzerindeki hesaplamaların yapılması sırasında n eleman için gerekli olan hesaplama n-1 ihtiyaç duyuyor ise alt elemanların bu hesaplamalarda depolanarak sonraki hesaplamaların performansını arttırmak için kullanılan yöntemdir

Örneğin;

  • Fibonnacci sayılarının hesaplanması
  • Asal sayıların hesaplanması

4. Divide And Conquer Algorithm

Üzerinde çalıştığınız yapıları bir bütün olarak alıp işlemek bazen mümkün olmaz, bazende işlerin daha yavaş işlemesine neden olur. Bu yüzden büyük problemi, küçük parçalara bölüp, tüm bu parçalar üzerinde algoritmayı işleyip, bir parça birleştirme yapıp, tekrar algoritmayı işletip tekrar birleştirme şeklinde sonuca ulaşılan algoritma yöntemidir.

Örneğin:

  • Sıralama yaparken kullanılabilir

5. Graph Algorithm

Objelerin birbirleri ile oluşturdukları 2li bağlantıları inceleyen ve bunlar üzerinde işlem yapmanızı sağlayan algoritmalardır. Bu yapı temelde Node dediğiniz 2 düğüm ve bunları birbirine bağlayan bir Edge üzerinden gerçekleştirilir. Bu bağlantıların sayısı arttıkça graf yapınız komplike hale gelmeye başlar.

Günümüzde Graph Algoritmaları bir çok alanda kullanılmaktadır.

  • Yapay Sinir Ağları
  • Ağaç Yapıları
  • Harita Sistemleri
  • Network Sistemleri
  • Mimari Yapılar

6. Combinatorial Pattern Matching

Stringler üzerinde Regex ile pattern matching olayına benziyor aslında ama burada DNA dizileri üzerinde temsil edilen A,T,C,G dizilimlerindeki tekrar eden örüntüleri arama ve bulma üzerine algoritmalar.

7. Clustering And Trees

Gen dizileri üzerinde çalışırken veri üzerinde birbirine çok benzeyen noktaların farklı gruplara ayrılarak bu gruplar üzerinden hiyerarşik (tree) yapıları ile erişim algoritmaların bunlar üzerinde çalışması için güzel bir veri yapısı oluşturur. Örneğin;

  • Hierarchical Clustering
  • k-Means Clustering

8. Hidden Markov Models

Özellikle Makine Öğrenmesi algoritmalarında sıkça adını duyduğumuz bu yöntem, biyolojik dizileri modellemek için kullanılan istatiksel bir yöntemdir. Bunu uygularken, bir dizi, gözlemciden ‘gizli’ bir dizi durum boyunca ilerleyen ayrı bir stokastik sürecin çıktısı olarak modellenir. Örneğin;

  • The Fair Bet Casino

9. Randomized Algorithms

Randomized Algorithms rastgele operasyonları çalıştırıp bunlar üzerinden rastgele kararlar alarak yoluna devam eden algoritmalardır. İlk bakışta anlamsız ve büyük bir hataya neden olabilecek gibi gözüksede bunun böyle olmadığı Comte de Buffon tarafından ispatlanmıştır. Özellikle kesin çözümün bulunmasının çok zor olan polynomial-time problemlerinde kullanılır.

Örneğin ;

  • Motif Finding Algorithm

Referanslar

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--