Jump to content
  • entries
    55
  • comments
    2
  • views
    59,207

Diferansiyel Evrim(Differential Evolution,DE)


Doğuhan ELMA

149 views

Differential Evolution (DE), genel amaçlı bir optimizasyon algoritmasıdır ve genellikle sürekli değerli fonksiyonların global optimizasyonunda kullanılır. DE, popülasyon tabanlı bir arama algoritmasıdır ve genellikle oldukça basit ve anlaşılır bir algoritmadır. En önemli özelliklerinden biri, arama süreci sırasında hem arama alanının genişlemesine hem de yoğunlaşmasına izin veren bir mekanizmaya sahip olmasıdır.

Python'da, scipy.optimize.differential_evolution kullanarak DE uygulanabilir. Örneğin, Rastrigin fonksiyonunun global minimumunu aramak için DE'yi kullanabiliriz:

import numpy as np
from scipy.optimize import differential_evolution

def rastrigin(X):
    return 10*len(X) + sum([(x**2 - 10 * np.cos(2 * np.pi * x)) for x in X])

bounds = [(0,10)]*10 # 10 boyutlu bir problem

result = differential_evolution(rastrigin, bounds)
print(result.x)
print(result.fun)

Bu kodda, 10 boyutlu bir Rastrigin fonksiyonunu minimize etmek için DE kullanılıyor. bounds değişkeni, her boyut için arama alanının alt ve üst sınırlarını belirler. Bu durumda, her boyut için arama alanı 0 ile 10 arasındadır.

Çıktı, global minimumun koordinatlarını ve minimum değerini içerir. Rastrigin fonksiyonunun global minimumu, tüm girişlerin sıfır olduğu yerdedir ve bu minimum değeri 0'dır. Bu nedenle, ideal olarak, algoritmanın result.x olarak tüm sıfırları ve result.fun olarak 0'ı döndürmesini bekleriz.

Ancak, bu her zaman garanti edilmez, çünkü DE ve diğer evrimsel algoritmalar rastgeleliğe dayanır ve her zaman global minimumu bulmayabilirler. Buna rağmen, DE genellikle karmaşık optimizasyon problemlerini çözmede oldukça etkilidir.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...