Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Genetik Algoritma/Programlama

Benzer bir sunumlar


... konulu sunumlar: "Genetik Algoritma/Programlama"— Sunum transkripti:

1 Genetik Algoritma/Programlama
Göksel ÜÇER 22 Mart 2007, Sürüm 1.5

2 İçerik Genetik Algoritma (GA) Genetik Programlama (GP) Evrim süreci,
Uygulama adımları, Parametreler, GA kodlama türleri, Basit örnek, Araçlar Genetik Programlama (GP)

3 Genetik Algoritma ( GA ) 1. Konu

4 Evrim ? Evrimsel süreç bir seçim fonksiyonudur.
İyi olan örneklerden daha iyi örneklerin oluşması doğaldır. Seçimlerde kullanılan kalite faktörüne fitness adı verilmektedir.

5 Temel evrim algoritması (EA)

6 Temel evrim algoritması (EA)
{ Başlangıç kitlesini belirle; Kitleyi evrimleştir; while Cikis_Kriteri_Saglanmadikca Yeniden üretim için seçim yap; Mutasyona uğrat ya da tekrar üret; }

7 EA için temel kavramlar
Population of Solution Kitlenin büyüklüğü EA’nın en önemli parametresidir. Innovation ( Motivation ) Farklı jenerasyonların oluşmasını ve ulaşılabilecek tüm çözümlere gidişi sağlar Conversation Yeni jenerasyonlardan öğrenilen bilgidir. Amaç fonksiyonuna gitmek için birincil derecede araç olarak kullanılabilir

8 EA için temel kavramlar
Quality Diffrentials Yeni jenerasyonların oluşumuna paralel davranış farklılıkları da ortaya çıkar. Tüm bunların arasından amaca gitmek için fitness fonksiyonu kullanılmalıdır. Selection İlk başlangıç çözüm kitlesi, tüm çözüm kümesini temsil etmez Seçim işlemi, bu kümeyi oluşturmada önemli bir etkendir. Darwin sürecini izlemek, seçim süreci anlamına gelmektedir!

9 GA giriş – 1 GA doğadaki evrim yöntemlerini kullanan bir arama yöntemidir. GA yöntemi ilk olarak, John Holland ve arkadaşlarının yaptığı çalışmalarda 1970’li yıllarda ortaya çıkmıştır. GA’nın temel amacı, fazla sayıda kısıt içeren ve karmaşık eniyileme sorunlarının çözümlerini, yazılımlar yardımıyla araştırmaktır.

10 GA giriş – 2 Konuyla ilgili Goldberg, 1989 yılında “Genetic Algorithms in Search, Optimization, and Machine Learning” adlı klasik sayılacak eseri yayınlamıştır. Bu eserle birlikte, konu üzerine yapılan çalışmalar büyük hız kazanmıştır.

11 GA nedir? GA, rastsal arama tekniklerini kullanarak çözüm bulmaya çalışan, parametre kodlama esasına dayanan bir arama tekniğidir. Bir veri grubu içinde özel bir veriyi bulmak için kullanılır. (Goldberg, 1989)

12 GA kullanım alanları Hat dengeleme Yapay sinir ağları Görüntü işleme
Gezgin satıcı problemi (TSP) Eniyileme yöntemleri Bakım, servis, depo toplama vs.

13 GA ile klasik eniyileme arasındaki temel farklar
GA parametrelerin kendileri ile değil, parametre takımının kodlanmış bir haliyle uğraşırlar. GA amaç fonksiyonunun türevlerini ve bir takım ek bilgileri değil, doğrudan amaç fonksiyonunun kendisini kullanırlar. GA’da deterministlik değil rastlantısal geçiş kuralları kullanılır. Oğuz ve Akbaş (1997)

14 GA uygulama adımı – 1 GA basit olarak aşağıdaki temel adımlardan oluşmaktadır: İlk değerlendirme, sonraki değerlendirme, Ve daha sonraki değerlendirme, Sistemin ne zaman durması gerektiğine karar ver!

15 GA uygulama adımı – 2 Başlangıç popülasyonunu rastlantısal olarak üret. Popülasyon içindeki tüm kromozomların amaç fonksiyonu değerlerini hesapla. Tekrar üreme, çaprazlama ve mutasyon operatörlerini uygula. Oluşturulan her yeni kromozomun amaç fonksiyonu değerlerini bul. Amaç fonksiyonu değerleri kötü olan kromozomlar popülasyondan çıkar. 3-5 arasındaki adımlar tekrar et.

16 GA uygulama gösterimi 2 1 4 3 Negnevitsky, Pearson Education, 2005

17 GA terimleri Gen Kromozom (Birey)
Kalıtsal molekülde bulunan ve organizmanın karakterlerinin tayininde rol oynayan kalıtsal birimlere denir. Yapay sistemlerde gen, kendi başına anlamlı bilgi taşıyan en küçük birim olarak tanımlanır. Kromozom (Birey) Birden fazla genin bir araya gelerek oluşturduğu diziye denir. Kromozomlar, alternatif aday çözümleri gösterirler.

18 GA terimleri Popülasyon Kromozomlardan oluşan topluluğa denir.
Popülasyon, geçerli alternatif çözüm kümesidir. Popülasyondaki birey sayısı (kromozom) genelde sabit tutulur. GA’da popülasyondaki birey sayısı ile ilgili genel bir kural yoktur. Popülasyondaki kromozom sayısı arttıkça çözüme ulaşma süresi (iterasyon sayısı) azalır.

19 GA terimleri Kodlama Kodlama GA’nın çok önemli bir kısmını oluşturmaktadır. Probleme GA uygulanmadan önce, verinin uygun şekilde kodlanması gerekmektedir. Kurulan genetik modelin hızlı ve güvenilir çalışması için bu kodlamanın doğru yapılması gerekmektedir.

20 GA kodlama türleri Binary Kodlama
Her kromozom ikili diziye sahiptir { 0, 1 } Bu dizideki her bit, çözümün belli karakteristiğini temsil eder veya tüm dizi bir sayıyı temsil eder. Kodlamada en sık kullanılan yöntemdir Örnek { }

21 GA kodlama türleri Permütasyon Kodlama 7 8 9 4 1 8 7 9 1 4
Düzenleme problemlerinde kullanılır. Burada her kromozom, sayıları bir sırada temsil etmektedir. Permütasyon kodlama, gezgin satıcı ve çizelgeleme problemleri için kullanışlıdır. Kromozom A Kromozom B

22 GA kodlama türleri Değer Kodlama
Gerçek sayılar gibi karmaşık değerlerin kullanıldığı problemlerde, ikili kodlama zor olduğu için doğrudan değer kodlanması kullanılabilir Kromozom A Kromozom B Doğu, Batı, Güney, Kuzey

23 GA kodlama türleri Ağaç Kodlama
Bu yöntem gelişen, değişen programlar veya ifâdeler için kullanılır. Örneğin GA. Ağaç kodlamada her kromozom, bâzı nesnelerin (örneğin fonksiyonlar ya da programlama dilindeki komutlar gibi) ağacıdır.

24 GA ile çözüme giderken kullanılan işlemler
Generality / Specifity En geniş çözüm kümesinden en dar çözüm kümesine doğru ilerlemek Genetik Programlama Çaprazlama(Crossover) Programda iki değişikliğin yapılması Mutasyon(Mutation) Programda tek bir değişikliğin yapılması

25 Arama stratejileri Blind Search Hill Climbing Beam
Bir önceki çözüme ait hiçbir bilgi kullanılmıyorsa Hill Climbing Uygun bir çözüm bul  dönüştür  yenisi iyi ise sakla değil ise değiştir  devam et Beam Arama maliyeti açısından Blind ve Beam arasındadır. Örnek bir kitle ile işleme devam eder ve tüm olasılık uzayını sınırlar. İlk başlangıçta belirtilen noktalar ile işleme devam eder.

26 GA parametreler Seçim Yöntemi
Yeni popülasyonun seçilmesinde kaç ferdin seçileceği ve hangi fertlerin eşleme için seçileceği seçim fonksiyonuyla sağlanır. Ebeveynler uygunluk değerlerine göre eşleşmek üzere seçilirler.

27 Seçim yöntemi – 1 Rulet-Çember Seçimi Uygulanışı :
En basit seçim yöntemi olarak bilinmektedir. Uygulanışı : Tüm fertler birbirine bitişik bir şekilde düz bir çizgi üzerine dizilirler. Her bir ferde ilişkin bölümün uzunluğu, onun uygunluk değeri kadar olur. Rasgele sayı üretilir ve rasgele sayı hangi bölüm içerisine gelirse, o bölümün ait olduğu fert seçilir. İşlem ulaşılacak popülasyonun gerekli adedi elde edilene kadar devam eder.

28 Seçim yöntemi – 2 Rank Seçimi
En iyi kromozomun UD çok yüksek ise, Rulet-Çemberi seçim yöntemi problem yaratabilir(Sürekli yüksek olasılığa sahip kromozom seçilecek). Bu nedenle, Rank seçim yöntemi uygulanabilir. Popülasyon uygunluk değerine göre tersten sıralanır. Yani en iyi kromozom N adetlik bir popülasyonda N değerini alır Seçim bu değerlere göre yapılır.

29 GA seçim grafikleri Rulet-Çember Seçimi Rank Seçimi Öncesi Rank Seçimi
Sonrası

30 Seçim yöntemi – 3 Kararlı Hal Seçimi (Yerine Geçme)
Bu seçimin ana düşüncesi, kromozomların büyük kısmının bir sonraki nesilde hayatta kalmak zorunda olmasıdır. Yeni çocuklar oluşturmak için her nesilde UD yüksek birkaç kromozom seçilir. UD düşük bâzı kromozomlar atılır ve yeni çocuk onun yerine yerleştirilir. Popülasyonun geri kalan kısmı yeni nesilde hayattadır. Bu yöntemde alt popülasyon oluşturulduktan sonra uygunluklar hesaplanır, en kötü kromozomlar yerlerini başlangıç popülasyonundaki en iyi kromozomlara bırakır.

31 GA parametreler Çaprazlama Oranı ve Mutasyon Yöntemi
Çaprazlama oranı, fertlerin eşleştiklerinde mutasyon yapıp yapmayacaklarına ilişkin olasılığı ifâde eden orandır. Eğer eşleşme sonucunda çaprazlama da oluşursa, yeni ve genellikle ebeveynlerinden farklı bireyler elde edilmiş olur. Eğer çaprazlama gerçekleşmezse, bu takdirde ebeveynlerinin kopyası olan yeni fertler oluşur. (Baskak ve Erok, 2004)

32 Çaprazlama Çaprazlama, iki kromozomun (çözümün) birbirleri arasında gen alışverişinde bulunup iki yeni kromozom oluşturmasıdır. Genetik algoritmadaki en önemli parametrelerden bir tanesidir. İkili yöntemle kodlanmış değişkenlerin yaptıkları üreme faaliyeti, kromozomların çaprazlamasına benzemesi dolayısıyla böyle adlandırılmaktadır. Eğer kodlamada gerçek değerler kullanılıyorsa, klasik çaprazlama yöntemi yerine daha farklı yöntemler kullanılmaktadır. Seçim yöntemi ile yapay seçim sonucunda elde edilen yeni popülasyon dizisinden rastsal olarak iki kromozom seçilir ve karşılıklı çaprazlama işlemine tâbi tutulur. (Holland, 1975)

33 Çaprazlama gösterimi Negnevitsky, Pearson Education, 2005

34 Çaprazlama şekilleri Tek noktalı Çaprazlama İki noktalı Kes ve ekle

35 GA parametreler Mutasyon Oranı ve Mutasyon Yöntemi
Mutasyon Oranı, mutasyon olasılığını gösteren orandır. Amaç mevcut kromozomların genlerinin bir ya da birkaçını değiştirerek yeni kromozomlar elde etmektir. Genelde mutasyon olasılığı (0.01 gibi) düşük tutulmaktadır. Bu nedenle mutasyon etkileri kromozomlarda az görülmektedir. Mutasyon sırasında kromozomdaki gen sayısı değişmez, sabit kalır. Mutasyon yapılmasının bir başka amacı da, popülasyondaki çeşitliliğin azalmamasını sağlamaktır

36 Mutasyon gösterimi Negnevitsky, Pearson Education, 2005

37 GA parametreler Uygunluk Fonksiyonu
GA’ın en önemli parametrelerinden bir tanesi uygunluk fonksiyonu seçimidir. Bu fonksiyon ile, kromozom içerisindeki kodlanmış ya da kodlanmamış bilgiler çözümlenerek sayısal bir değer elde edilir. Bir başka ifadeye, kromozomun ya da çözümün sisteme uygulanmasıyla elde edilecek çıktıya ulaşılır.

38 Uygunluk fonksiyonu F(x) = x2 + x Girdi Çıktı Fonksiyon 1 1 2
6 Fonksiyon 3 4 20 Fonksiyon 4 7 56 Fonksiyon 5 9 90

39 Uygunluk fonksiyonu Kromozomların uygunluk değerlerini belirleyecek uygunluk fonksiyonu, örneğimizde: Tur mesafesi, yani seyahat edilen şehirler arası mesafe toplamıdır. Dolayısıyla en iyi kromozom en küçük toplama sahip kromozom olacaktır.

40 Basit uygulama - TSP Traveling Salesman Problem (TSP)
Her şehir 1 kere ziyaret edilecek Toplam seyahat mesafesi minimum olacak

41 Uygulama – Şehir bilgileri
1) SehirA 3) SehirC 5) SehirE 7) SehirG 2) SehirB 4) SehirD 6) SehirF 8) SehirH Şehir listesi 1 ( ) Şehir listesi 2 ( )

42 Çaprazlama Liste1 (3 5 7 2 1 6 4 8) Liste2 (2 5 7 6 8 1 3 4)
YeniListe ( ) YeniListe kromozom, aynı şehrin tekrar edilmesi engellenmiş olarak yukarıdaki şekilde elde edilir.

43 Mutasyon Önce (5 8 7 2 1 6 3 4) Sonra (5 8 6 2 1 7 3 4)
Belirlenmiş yüzdeye göre bir kromozomun iki ya da daha çok geni yer değiştirmektedir.

44 30 şehir için TSP

45 Çözüm n – 941km

46 Çözüm m – 800km

47 Çözüm m – 652km

48 En iyi çözüm – 420km

49 TSP performansı

50 GA faydaları Kavramların kolay tasarlanması
Çok amaçlı eniyileme yöntemleri ile kullanılabilmesi Çok karmaşık ortamlara uyarlanması Kısa sürelerde iyi sonuçlar verebilmesi

51 GA araçları Eniyileme için kullanılacak GA tasarımı, uygun bir kod geliştirme ortamında gerçekleştirilebilir C, C++, C#, Java, Fortran, LISP, Prolog, Excel, VB, Pascal veya Delphi The Genetic Algorithm Optimization Toolbox (GAOT) for Matlab 5

52 Genetik Programlama ( GP ) 2. Konu

53 GP 1950 yılında Machine Learning
1963 yılında ise ML alanında ilk gelişme sağlandı ML alanındaki ilerleme aslında “bilgisayarların kendi kendisini programlamasıydı”. GP ise ML alanının önemli bir dalıdır.

54 GP 1990 senesinde John Koza tarafından geliştirildi.
Donanımların teknolojiye paralel ilerlemesi, yazılımların da ilerlemesini sağlamıştır. Bu ilerleme, daha çok yazılım uygulamalarının ve otomasyonlarının gelişimine katkı sağlamıştır.

55 GP “Ağaç yapısının değerlendirilmesi” veya
“Ağaç yapısındaki sistemler” anlamında kullanılabilir. (Koza, 1992)

56 GP Eniyileme yöntemleri için etkin ve verimli bir yöntemdir
Bilim ve mühendislik alanlarında yaygın olarak kullanılmaktadır

57 GP GP, GA’nın bir uzantısı olarak düşünülebilir.
GP sadece bit dizi düzeninde yer alan sorunları çözmek için kullanılmaz, bilgisayarların çözebileceği sorunlar da kullanılır.

58 GP adımları Girdilerin belirlenmesi (Input Value)
Temel fonksiyonların seçilmesi (*, +, -, /, mod, sqrt, ^ ) Uyumluluk fonksiyonunun belirlenmesi Kontrol parametrelerinin belirlenmesi (maksimum tekrar sayısı) Sonuçlara uygun yöntemin belirlenmesi

59 GP’da çaprazlama Negnevitsky, Pearson Education, 2005

60 GP’da mutasyon Negnevitsky, Pearson Education, 2005

61 GA ve GP ne zaman kullanılmalıdır?
Alternatif çözümlerin yavaş veya çok zor olmasında Çözümün yeni bir yaklaşım ile denenmesinde

62 Kaynaklar Banzhaf, W., “Genetic Programming, An Introduction”, California Langdon, W., “Foundation of Genetic Programming”, Germany Alp, A., “Geometrik problemlerin çözümünde kullanılan yapay zeka yöntemleri ve gerçekleştirimleri” İşçi, Ö., “Ulaştırma probleminin genetik algoritma ile çözümü” Pittman, J., “Genetic algorithm for variable selection” Williams, W., “Genetic algoritms: A Tutorial” İşçi Ö., Korukoğlu S., Genetik Algoritma Yaklaşımı ve Yöneylem Araştımasında Bir Uygulama, Yönetim ve Ekonomi, 2003, Cilt:2, Sayı:2 Baskak M., Erol V., Sipariş tipi atölyelerde iş sıralama problemi için bir genetik algoritma uygulaması, YAEM2004 Bildiri Kitapçığı


"Genetik Algoritma/Programlama" indir ppt

Benzer bir sunumlar


Google Reklamları