l. Giriş
Robot uygulamaları, başarılı çözüm teknikleri gerektiren birçok problem ortaya çıkarır. Evrimsel Hesaplama, bu tip problemlerin bir kısmında başarılı olan bir teknikler grubudur. Bu terim, arama, optimizasyon, öğrenme gibi problemlere biyolojik populasyon genetiği kurallarına dayanarak yaklaşan hesaplama tekniklerini içerir. Evrimsel hesaplamalar formülize edilişlerine göre değişik isimlerle anılırlar: Genetik Algoritmalar, Evrimsel Programlama, Evrim Stratejileri ve Genetik Programlama.
Geleneksel arama metotları, probleme bir çözüm adayı önerir ve onu değiştirerek daha iyi çözümler elde etmeye çalışır. Aksine evrimsel algoritmalar, bir çözüm adayları populasyonu oluşturur ve bu populasyon zamanla evrimleşir. Bir adayın çözüme ne kadar yakın olduğu, uygulamaya bağlı bir fonksiyondur. Bir çözüm adayı bir parametreler topluluğunu, bir kuralı, bir kurallar grubunu veya ağaç yapısında bir bilgisayar programını temsil edebilir. Hepsinde de, algoritma her adayın ne kadar güçlü olduğunu hesaplar ve buna göre bir sonraki neslin ebevyn-leri olacak ya da yok olacak bireyleri belirler. Daha sonra, makul bir yeni nesil oluşturmak için ebeveynlere genetik arama işlemcilerini (yeniden yapılanma ve mutasyon) uygular. Bu döngü her defasında daha güçlü bireyler oluşturarak tekrarlanır.
Belirli bir probleme evrimsel algoritma uygulayabilmek için, kullanıcı, aday çözümler için bir temsil şekli, bir güçlülük hesaplama yöntemi ve genetik arama işlemcilerini belirlemelidir. Çoğu zaman, bunları belirlemek büyük bir çaba gerektirir. Mutasyon ve yeniden yapılanma için tanımlanan işlemcilerle kullanılan temsil şekli uyum içinde olmalıdır.
Evrimsel algoritmalar, çözüm adayları içinde zeki bir rastgele arama yapar. Zor problemlerde verimli olmasına rağmen, analiz, basit sezgisel arama veya ayrıntılı numaralama yöntemleriyle çözülebilen kolay problemlerde seçilmemelidir.
Evrimsel metotlar çeşitli akıllı robot mimarilerinde uygulanma fırsatı bulmuşlardır. Mesela, evrimsel algoritmalar kural tabanlı otonom ajanların kural kümelerinin öğrenilmesinde, robot kontrolü için kullanılan sinir ağlarının ağırlıklarının ve topolojisinin öğrenilmesinde, bulanık mantık kontrol sistemlerinde ve davranış tabanlı robotların kurallarında kullanılmaktadır. Evrimsel algoritmaların robotlarda kullanılmasında en az iki araştırma paradigması vardır: Yapay yaşam paradigması ve genetik bilgi mühendisliği paradigması.
Yapay yaşam paradigmasını harekete geçiren birkaç konu vardır. Öncelikle, evrimin kendisine olan ilgi. Robotlarla yapılan simulasyonlar, kaynaklar için savaşan küçük parçacıklardan karışık davranışların nasıl ortaya çıktığının incelenmesinde kullanılır, ikinci olarak, zeki robotlar tasarlarken model tabanlı sebeplendirme kullanılmasıyla ilgili kaygılar vardır. Yapay zeka çalışmalrında kullanılan modeller, genellikle gerçek alıcılarda ve harekete geçiricilerde rastlanılan gürültü, hata ve karmaşıklıkları ifade etmekte başarısız olmaktadır. Geleneksel yapay zeka araştırmaları, problem çözme modüllerinin her zaman analog sig-nallerden sembollere doğru olarak çevirilmiş girdiyle çalıştıklarını kabul eder. Bazı araştırmacılar, önceden belirlenmiş bir modele ait olmayan ve evrimleşen davranışları olan robotların olabileceğini iddia ederler. Ve son olarak, nano teknolojisine dayanan, kendi kopyalarını üretebilen ve evrimleşen fiziksel robotların olabileceğine ait görüş gittikçe güçlenmektedir.
Genetik Bilgi mühendisliği paradigması, zeki robotların bilgi edinme işine robotla tasarımcılarının ortak çabasının ürünü olarak yaklaşır. Tasarımcı robotun dünyasının bazı yönlerini ayrıntısıyla bilir. Mesela, robotun büyüklüğü ve ağırlığı, alıcı ve harekete geçiricilerinin özellikleri ve çevrenin bazı özellikleri. Robotun elinde tasarımcının sağlayabileceği en iyi dünya modeli bulunmalıdır. Ama, robot çevrenin bazı özelliklerini bilmeyecektir, mesela, diğer robotların davranışlarını, ortamın kesin fiziksel özelliklerini ve belli görevlerin en etkili nasıl yapılacağını. Bu paradigmada, evrimsel algoritmalar bir simulasyon modelinde alternatif robot davranışları bularak genel bilgi mühendisliği emeğini azaltmak için kullanılabilir. Simulasyon teknolojisinin gelişmesi, bilgisayarların hesaplama güçlerinin artması simulasyonların sıkça kullanılabilmesini sağlamakta ve bu da simulasyonlarda daha gerçek verilerin kullanılabilmesine imkan vermektedir. Bu durumda daha gelişmiş simulasyonlar yapmayı sağlayan evrimsel hesaplama metotları önem kazanmaktadır.
Bu iki paradigma da, uyum sağlayan robotların geliştirilmesinde temel kavrama noktalarıdır.
Evrimsel algoritmalar, çözüm uzayı hakkında bazı varsayımlar yaptıkları için "zayıf metotlar" olarak sınıflandırılabilirler. Buna rağmen, bu yöntem geçmiş bilgileri kullanarak temel metotu tümleyebilir ve daha etkili bir bilgi edinme yöntemi olabilir.
2. Çözüm Uzayının Seçimi ve Temsili
Bir evrimsel algoritma kullanıcısının ilk belirlemesi gereken şey çözüm kümesi ve onun nasıl temsil edileceğidir. Bu seçim, işlerin ne kadarının insanlar ne kadarının makinalar tarafından yapılacağını belirler. Mesela, tüm alıcı verilerinden tüm harekete geçirici komutlarına olan tüm eşlemeler arasında bir arama yapılacağında yükün tamamı öğrenme sisteminin, dolayısıyla makinanın üzerindedir. Daha mantıklı olanı, alıcı verilerini işleyerek robot davranışlarını buna göre belirlemek ve eşlemeleri öğrenme işinden kurtulmaktır. Tasarımcı istenen davranışı sayısal parametrelerle belirleyebilirse, evrimsel algoritmalar en uygun parametre değerlerinin çözüm uzayında aranmasında kullanılabilir.
3. Başlangıç Populasyonu
Evrimsel algoritmalar genellikle çözüm uzayından rastgele seçilmiş aday çözümlerle başlar. Başlangıç populasyonu seçilirken sezgi kullanılırsa yöntemin hızı artabilir. Bu seçim dikkatlice yapılmalıdır, çünkü birbirinden yeterince ayrık olmayan adayların olduğu bir başlangıç populasyonu en optimal çözüme değil yerel optimal çözümlere yaklaşacaktır.
4. Uygunluk Fonksiyonu
Uygunluk fonksiyonunun tasarımında birkaç önemli zorunluluk vardır. Bu fonksiyon istenen performansı tam olarak yansıtmalıdır. Evrimsel algoritmalar çok duruma bağlı yöntemlerdir ve uygunluk fonksiyonu tasarımcının istemediği durumlara iyi sonuç veriyorsa sistemin çıktısı şaşırtıcı olabilir. Fonksiyon, değişken cezalarla alte
rnatif çözümlerin de populasyonda kalmasını sağlamalıdır. Tek çözümün pozitif uygunluk değerinin olduğu bir sonuç populasyonu iyi değildir
5. Genetik işlemciler
Birçok genetik algoritma çalışması, yeni populasyonlar oluşturmak için çaprazlama ve mutasyon işlemcilerini kullanmıştır. Ama bazı yeni çalışmalarda, robotun tecrübelerine dayanan daha sezgisel işlemciler kullanılmıştır. Mesela, bazı genetik sınırlandırıcı sistemlerde, alışılmadık bir durumla karşılaşıldığında yeni bir kural yaratan ‘tetiklenen işlemciler’ kullanılmıştır.
6. Hibrit Yöntemler
Çoğu zaman evrimsel algoritmaları, zayıf oldukları yerlerde kendilerinden daha güçlü metotlarla birlikte çalıştırmak iyi sonuçlar verir. Evrimsel algoritmaların gücü çözüm uzayının iyi sonuç vermeye en yatkın kısımlarını çabuk belirlemelerindedir ama aday çözümlerin ince ayarında daha zayıf kalmaktadırlar. Bu yüzden, evrimsel algoritmanın bulduğu sonuçlar üzerinde bir yerel optimizasyon metodu kullanmak başarıyı artıracaktır.