Kategoriler: Veri Madenciliği

Yapay Zeka Algoritmaları

Sitemde yazar kısmını okumuşsanız Karadeniz Teknik Üniversitesi’nde okuduğumu fark etmişsinizdir. İstatistik ve Bilgisayar Bilimleri bölümünde 4. sınıfta ilk dönemde verilen Yapay Zeka dersini ben de aldım. Derste algoritmalar üzerine epey konuşuldu. Sınavda da bu algoritmalardan sorulacaktı o yüzden çalışmam gerekiyordu. En doğru çalışma şekli yazmak olduğundan bir yandan yazarken diğer yandan sitede yazayımda paylaşırım, belki birilerinin işine yarar düşüncesiyle yazmaya başladım. Sonuç olarak birkaç algoritmayı yazdım ve sizlerle paylaştım.

Parçaçık Sürü Optimizasyonu

  1. Başlangıç sürüsünü, hızları ve pozisyonları oluştur.
  2. Sürüdeki tüm parçacıkların uygunluk değerini hesapla.
  3. Her jenerasyonda tüm parçacıklarını önceki jenerasyonun en iyileri ile karşılaştır. (P.best)
  4. En iyi yerel değişkenleri kendi arasında karşılaştır ve en iyi olanı küresel en iyi olarak ata. (G.best)
  5. Hız ve pozisyon değerlerini yenile.
  6. En iyi çözü bulununcaya kadar 2. adıma geri dön.

Benzetimli Tavlama

  1. Başlangıç konumunu rastgele belirle.
  2. Güncel durumun rastgele komşusunu seç.
  3. Eğer seçilen durum güncel durumdan iyi ise yeni durumu güncelle.
  4. Değilse yeni duruma belli olasılıkla şans ver.
  5. Güncel durum hedefe ulaşmışsa işlemi sonlandır.
  6. Değilse 2. adıma geri dön.

Karınca Koloni Algoritması

  1. Başlangıç feromon değerleri belirlenir.
  2. Karıncalar her düğüme rastgele yerleştirilir.
  3. Her karınca sonraki şehri, denklemde verilen lokal arama olasılığına bağlı olarak seçmek suretiyle turunu tamamlar.
  4. Her karınca tarafından katedilen yolların uzunluğu hesaplanır.
  5. En iyi çözüm hesaplanır ve global feromon yenilenmesine kullanılır.
  6. Max iterasyon sayısı ya da yeterlilik kriteri sağlanan kadar 2. adıma gidilir.

Tabu Algoritması

  1. Bir başlangıç çözüm seç ve onu mevcut en iyi çözüm olarak kaydet.
  2. Mevcut çözümün komşularını bir komşuluk yapısıyla üret.
  3. Tabu olmayan veya tabu olsa bile tabu yıkma ölçütünü sağlayan bir komşu çözüm seç ve onu en iyi çözüm olarak al.
  4. Mevcut çözümden yeni çözüme geçiş özelliğini tabu listesine ekleyerek listeyi güncelle.
  5. Eğer yeni çözüm o ana kadar ki en iyi çözümden daha iyi ise onu yeni en iyi çözüm olarak kaydet.
  6. Bir durdurma ölçütü sağlanana kadar 2. adıma dön.

Genetik Algoritma

  1. Başlangıç popülasyonu oluştur.
  2. Popülasyondaki her kromozomu uygunluk fonksiyonu ile değerlendir.
  3. Yeni popülasyon için yeni kromozomlar oluştur. (Seçme, çaprazlama, mutasyon)
  4. Adım 2 ve adım 3’ü uygun çözüm bulununcaya veya belirlenen iterasyona kadar tekrarla
  5. En iyi kromozomu çözüm olarak al.

A* (A Star) Algoritması

  1. Rastgele noktalar ve aralarındaki uzaklık oluşturulur.
  2. Başlangıç ve bitiş noktaları belirlenir.
  3. En düşük değerli düğüm alınır ve sıradan aktarılır.
  4. Gidilen düğüme göre komşu tüm düğümlerin değerlerini güncelle.
  5. Hedefe ulaşılmışsa adım 3’e dön.

Enine Arama

  1. Düğümü işaretle
  2. Düğümü kuyruğa ekle
  3. Kuyruktan ilk elemanı al
  4. Elemanın ziyaret edilmeyen yavrularını kuyruğa at

Bir önceki yazımız olan Veri Madenciliği Algoritmaları ve Teknikleri başlıklı makalemizi de okumanızı öneririz.

Leave a Comment
Paylaş
Yayınlayan:
Abdulkadir Turan

Recent Posts

Julia Tam Sayılar ve Kesirli Sayılır (Floating-Point Numbers)

Julia programlama dilinde tamsayılar (Integer) ve kesirli değerleri (Floating-Point Numbers), aritmetik ve hesaplamanın temel yapı…

8 ay önce

Julia Değişkenler

Bu yazıda Julia programlama dilinde değişkenleri tanımlamayı anlattım. Julia'da değişkenler diğer dillerdeki yapılara çok benziyor.…

10 ay önce

R Shiny Nedir?

Shiny, R'da etkileşimli web uygulamaları yapmanızı sağlayan bir R Studio projesidir. Shiny projesi ile R'da…

11 ay önce

Firma Ortağım ile Firmalarınızı Google’da Üst Sıralara Çıkarın

Firma Ortağım projesi Türkiye’de faaliyet gösteren büyük ve küçük tüm işletmeleri hedef alan yerli bir girişimdir.…

1 sene önce

Veridyen NS (Name Server) Adresleri

Merhabalar Türkiye'de kaliteli hizmet veren nadir firmalardan biri olan Veridyen ile çalışırken NS (Nameserver) adreslerini…

1 sene önce

Matematiksel İstatistik Ders Notları

Karadeniz Teknik Üniversitesi İstatistik ve Bilgisayar Bilimleri bölümünde ikinci sınıfta aldığımız Matematiksel İstatistik dersine ait ders…

1 sene önce