4.1 Global Arama Algoritması (Genetik Algoritma)
4.1.1 Đkili kodlu genetik algoritmalar
4.1.1.4 Başlangıç popülasyonu
Kromozom, başlangıçta verilen popülasyon miktarına göre rasgele üretilir. Bu durumda Nipop×Nbit adet bitlerle matris oluşturulur. Nipop, başlangıç
popülasyonunun toplam sayısıdır; N ise, her bir kromozomun bit sayısıdır. bit Matrisin her bir satırı, bir kromozomu temsil eder. Rasgele üretilen popülasyondaki parametreler, amaç fonksiyonunda yerlerine konularak ve uygunluk değerleri hesaplanarak değerlendirilir.
4.1.1.5 Doğal seçim
Doğal seçim, algoritmanın her bir iterasyonunda meydana gelir. Bu aşamada, ne kadar kromozomun elde tutulacağına karar vermek keyfidir. Kromozomlarda gelecek nesil içerisinde yer alma mücadelesi başlamaktadır. Popülasyon içerisinde bütün kromozomların seçilmesi, gelecek nesle çok fazla katkısı olmamaktadır. Genetik algoritmalarda değişik seçim metotları vardır:
a) Ağırlıklı seçim: Đlk olarak amaç fonksiyonunda, kromozomların uygunluk değerleri hesaplanır. Hesaplanan uygunluk değerleri en küçükten en büyüğe doğru sıralanır. Npop ≤Nipop ise kromozom tutulur, geriye kalan kromozomlar atılır. Burada
pop
N değeri Nipop’a kadar olabilir. Genelde popülasyonun %50 ’sinin seçilmesi
uygun seçenektir. Seçilen Npop’un yarısı N , yarısı da iyi Nkötü olarak ayrılır. N iyi
b) Eşik değer seçim: Eşik değerden küçük olan kromozomlar yaşamaya devam eder, eşik değeri aşan kromozomlar ölür. Bu tekniğin avantajı, kromozomların sıralanmasına gerek olmamasıdır.
c) Rulet tekerleği seçim: Bu metodun uygulanması için, ilk önce kromozomların toplam uygunluk değeri hesaplanır. Kromozomlar, toplam uygunluk değerine bölünerek her bir kromozom için 0 1− arasında değişen seçim ihtimalleri bulunur. Daha sonra, kümülatif ihtimaller hesaplanır. Popülasyon sayısı kadar rasgele 0 1− arasında sayılar üretilir. Üretilen rasgele sayı, birinci kromozomun kümülatif seçim ihtimalinden küçük ise, birinci kromozom seçilir. Eğer değilse, ikinci kromozomun veya diğerlerinin kümülatif ihtimalleriyle karşılaştırılarak hangisinden küçükse o kromozom seçilir.
d) Turnuva Seçimi: Bu yöntemde bir grup k bireyi rasgele olarak seçilir. Bu k bireyleri daha sonra bir turnuvaya katılır ve en iyi uygunluklu birey seçilir. Çaprazlama için iki turnuva tutulur. Bunlardan biri her bir ebeveyni seçmek içindir. Bir ebeveyn, bir kereden daha fazla üretmek için seçilebilir. Turnuva seçiminin avantajı, popülasyonun daha kötü bireylerinin seçilmeyecek olması ve bundan dolayı kötü bireylerin özelliklerinin sonraki neslin genetik yapısına katılmayacak olmasıdır. Ayrıca en iyi bireyler tekrar üretim sürecinde baskın olmayacaktır.
4.1.1.6 Eşleştirme
Đki adet yeni nesil üretmek için N kromozomların bulunduğu eşleştirme iyi
havuzundan iki tane kromozom seçilir. Eşleştirme, seçilen kromozomlar arasında gerçekleştirilir. Eşleştirmenin değişik yöntemleri vardır:
1 Yukarıdan aşağıya doğru eşleştirme: Eşleştirmeye, listenin en üstünden başlanır ve eşleştirme için seçilen N kromozomların sayısına ulaşana kadar devam iyi
edilir. Böylece, kromozom2i 1− ile kromozom , 2i i 1, 2, 3,...,=
(
Niyi 2)
için eşleştirilir. Bu metot, doğal bir yöntem olmamakla beraber yeni başlayanlar için kolay bir yoldur.2 Rasgele eşleştirme: Kromozomların eşleştirilmesinde rasgele sayı üreteci kullanılır. Kromozomlar 1’den başlayarak N ’ye kadar sıralanır. Birinci iyi
eşleştirmeyi bulmak için iki adet rasgele sayı üretilir.
{
}
Kromozom=roundup Niyi×rasgele sayı
Burada “roundup” fonksiyonu, sayıları en yüksek sayıya yuvarlar
3 Ağırlıklı rasgele eşleştirme: Bu yöntem, eşleştirme havuzundaki kromozomların, amaç fonksiyonunda hesaplanan uygunluk değerlerine göre seçilme ihtimallerini dikkate alır. En düşük uygunluk değerine sahip kromozom, eşleştirme ihtimali en yüksek kromozom olurken en yüksek uygunluk değerine sahip kromozom eşleştirme ihtimali en düşük olarak düşünülür. Üretilen rasgele sayı, hangi kromozomun seçileceğini belirler.
4.1.1.7 Çaprazlama
Đki adet yeni birey elde etmek için, kromozomların bulunduğu eşleme havuzundan iki adet kromozom seçilir. Eşleme sürecinde, seçilen kromozomlardan bir ve birden fazla yeni birey oluşturma olayına “çaprazlama” denir. Öncelikle kromozomun ilk biti ile son biti arasında çaprazlama noktası rasgele seçilir. Birinci kromozomun çaprazlama noktasının solundaki bitlerin hepsi ikinci kromozoma geçerken, benzer tarzda ikinci kromozomun çaprazlama noktasının solundaki bitler de birinci kromozoma geçerler. Sonuçta meydana gelen yeni kromozomlar, her iki kromozomun karakterlerini içermektedirler. Çaprazlama oranı, bir popülasyonda ne kadar kromozomun çaprazlamaya tabi tutulacağını belirler.
1 2 Kromozom 00100110011 101 Kromozom 01010110000 100 yer değişecek yer değisecek = ↓↑ ⇒ = 6 44 7 4 48 6 44 7 4 48 1 2 101 100 Nesil Nesil = = 01010110000 00100110011
Şekil 4.4 Tek noktalı çaprazlama
4.1.1.8 Mutasyon
bitlerin küçük bir yüzdesini değiştirir. Mutasyon ile kromozomdaki bitler “1” ise “0”, “0” ise “1” yapılır. Npop×Nbit’lik bir popülasyon matrisinde, mutasyon noktaları
rasgele seçilir. Mutasyonun % değeri artırılırsa, algoritma daha geniş parametre uzayını tarama yapar. Son iterasyonda mutasyon meydana gelmez.
1 1
Kromozom 001001 0011101 Kromozom 001001 0011101
mutasyon için seçilen bit ↑
= 0 ⇒ = 1
Şekil 4.5 Tek bitlik mutasyon
4.1.1.9 Gelecek nesil
Đterasyon sonucunda, çaprazlamaya ve mutasyona uğramış kromozomların uygunluk değerleri hesaplanarak yeni nesil elde edilir. Bir sonraki adımda kromozomlar uygunluk değerlerine göre yeniden sıralanır ve eşleştirme havuzuna konur. Tekrar; çaprazlama, mutasyon ve sıralamadan sonra yeni bir nesil daha elde edilir ve bu işlemler uygun bir çözüme ulaşılıncaya kadar veya iterasyon sayısınca devam eder. Her yeni neslin uygunluk değerlerinin iterasyon sayısınca artması beklenir.
4.1.1.10 Yakınsama
Genetik algoritma, iterasyon sayısına veya uygun bir çözüme ulaşıncaya kadar çalışır. Bütün kromozomların uygunluk değerleri değişmiyorsa algoritma durdurulmalıdır. Çoğu genetik algoritmalar, genel ortalama, standart sapma ve minimum uygunluk değeri gibi istatistikleri tutarlar. Bu istatistikler, yakınsama testi için bir ölçü olabilir.
Popülasyonun ortalama uygunluk değeri, algoritmanın yakınsaması hakkında bilgi vermesi bakımından önemli bir kriterdir. Örneğin, maksimizasyon probleminde, farklı iki seçim metodu karşılaştırılıyor ise ortalama uygunluk değeri yüksek olan seçim metodu daha iyi sonuç vermektedir, denilebilir.
Global arama algoritmasının (genetik algoritmanın) amacındaki en ciddi problem sonuçların kalitesiyle ilgilidir. Sonuçların özellikle en uygun çözüme ulaşılıp ulaşılamamasıdır. Güvencenin bazı derecelerini sağlamanın bir yolu farklı
mutasyon oranları altında elde edilen sonuçları karşılaştırmaktır. Sabit sonuçların olumlu olması için, ayrıca kromozom popülasyonunun boyutunu artırmak gerekmektedir.