DEV Community

tahsinsoyak
tahsinsoyak

Posted on

Sezgisel Algoritmalar [Heuristic]

Bilgisayar bilimlerinde, sezgisel ya da buluşsal (heuristic) bir problem çözme tekniğidir.

Sonucun doğruluğunun kanıtlanabilir olup olmadığını önemsememektedir fakat genelde iyiye yakın çözüm yolları elde eder.

Sezgisel algoritmalar en iyi sonucu bulacaklarını garanti etmezler fakat makul bir süre içerisinde bir çözüm elde edeceklerini garanti ederler.

Genellikle en iyiye yakın olan çözüm yoluna hızlı ve kolay bir şekilde ulaşırlar. En iyi çözümü aramaktan vazgeçerek çözüm zamanını azaltan algoritmalardır.

Ancak kolay ve hızlı olması için algoritma, problemin bazı taleplerini yok sayar ve hatta bastırır.
Bazen bu algoritmalar doğru olabilir, yani aslında en iyi çözümü bulurlar, ancak bu en iyi çözümün en iyi olduğu kanıtlanana kadar algoritmaya hala buluşsal denir.

Genelde NP-Karmaşıklık(NP-Complete), Karar Problemleri(Decision Problems) gibi problemlerin çözümünde kullanılır.

Sezgisel arama algoritmalarına örnek olarak:
Genetik Algoritmaları (Genetic Algorithms)
Sürü Zekası (Swarm Intelligence)
Tabu Araması (Tabu Search)
Benzetmeli Tavlama (Simulated Annealing)
Demet Araması (Beam Search)
Tırmanış Araması (Hill Climbing)
Yapay Sinir Ağları (Artificial Neural Networks)
Ateş Böceği Algoritması (Firefly algorithm)
En iyi öncelikli arama (Best first search)
Ağaç-Tohum Algoritması(Tree-Seed Algorithm)
örnek verilebilir.

Ateş Böceği Algoritması (Firefly Algorithm)
Image description

Ateş böceklerinin parlaklığa duyarlı sosyal davranışlarını ele alarak geliştirilmiştir.

Ateş böcekleri tek cins (unisex) kabul edilir ve birbirilerine olan çekimleri, parlaklıklarıyla doğru orantılıdır. Daha az parlak olan ateş böceği, daha parlak olan tarafından cezbedilir. Mesafe ne kadar fazlaysa, cezbedicilik o kadar azalır.

Ayrıca bir ateş böceği eğer kendinden daha parlak bir ateş böceği bulamazsa rastgele hareket gerçekleştirir.

Bir ateş böceğinin ışıklarını yakıp söndürmesindeki birincil amacı diğer ateş böceklerinin dikkatini çekmek için bir sinyal oluşturmakdır.

Ateş böceklerinin aydınlığı, sezgisel algoritmamızın hedef fonksiyonu olarak düşünülebilir (objective function).

Ateş böceği algoritması, yapısı itibariyle sürü optimizasyon algoritmaları altında (paricle swarm optimisation) sınıflandırılabilir.

Algoritmada karşılık gelen eylem;
1-Rastgele çözüm kümeleri oluştur. Her çözüm kümesi parametre sayısı kadar eleman içerir. Oluşturulan çözüm kümelerinin uygunluk değerleri bulunur.,
2-Tüm çözüm kümelerine sırayla iyileştirilme formülü uygulanır.

3-Maksimum iterasyona ulaşıncaya kadar 2. Aşamaya geri dönülür.
Image description

Top comments (0)