Genetik Algoritma.

Slides:



Advertisements
Benzer bir sunumlar
BİL551 – YAPAY ZEKA Genetik Algoritma
Advertisements

Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Hat Dengeleme.
BİYOÇEŞİTLİLİK NEDİR Biyoçeşitlilik, bir bölgedeki genlerin, türlerin, ekosistemlerin ve ekolojik olayların oluşturduğu bir bütündür. Başka bir deyişle.
SEVDA GÜL Y MEME MR’ INDA KANSER TESPITI.
SPORLA İLGİLİ HAREKETLER DÖNEMİ (7-12 yaş)
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Tane Kavramının Öğretimi (Basamaklandırılmış Yönteme Göre)
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
BULUŞ YOLUYLA ÖĞRETİM JEROME BRUNER.
OLASILIK TEOREMLERİ Permütasyon
ÇOK BOYUTLU SİNYAL İŞLEME
MAYOZ BÖLÜNME. Mayoz bölünme bitki, insan ve hayvanlarda üreme hücrelerinin (sperm, yumurta ve polen) oluşturulmasını sağlar. Canlıların üreme organlarında.
MAYOZ BÖLÜNME. MAYOZ BÖLÜNME:Bitki, insan ve hayvanlarda üreme hücrelerinin (Sperm, Yumurta ve Polen) oluşturulmasını sağlar. Canlıların üreme organlarında.
Pazarlama İlkeleri.
BİLGİSAYAR PROGRAMLAMA DERSİ
Fonksiyonel Programlama
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLI ÖĞRETİM Tanımı:
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
ULUSAL MESLEKİ BİLGİ SİSTEMİ
DENEYSEL TERTİPLER VE PAZAR DENEMESİ
ARAÇ GEREÇLERİN EĞİTİMDEKİ YERİ VE ÖNEMİ
BARALAR.
ÖRNEKLEME.
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
ETİKET.
İleri Algoritma Analizi
1-Proje Yönetİmİne Gİrİş
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
Üretim ve Üretim Yönetimi Temel Bilgileri
STORAGE BÜŞRA KARADENİZ
İŞBİRLİKLİ ÖĞRENME YAKLAŞIMI
PROBLEM ÇÖZME VE ALGORİTMALAR
Bilgisayar Mühendisliğine Giriş
Genetik Algoritma.
BENZETİM Prof.Dr.Berna Dengiz 13. Ders Çıktı Analizi
Bölüm 7 İfadeler ve atamalar.
Meriç ÇETİN Pamukkale Üniversitesi Bilgisayar Mühendisliği Bölümü
İleri Algoritma Analizi
SPORDA TEKNİK ve TAKTİK ÖĞRETİM YÖNTEMLERİ
Geçerlik ve Kullanışlılık
ANALİTİK KİMYA DERS NOTLARI
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Evren-Örneklem, Örnekleme Yöntemleri 2
İÇERİK DÜZENLEME -Bilgi türleri- Fiziksel bilgi
ÖLÇME-DEĞERLENDİRME 1.DERS
Bilgisayar Bilimi Koşullu Durumlar.
SPORDA TEKNİK ve TAKTİK ÖĞRETİM YÖNTEMLERİ
Karar Yapıları İle Problem Çözme
Bilgisayar Mühendisliğine Giriş
Sonlu Özdevinirlere Giriş
NİŞANTAŞI ÜNİVERSİTESİ
BENZETIM 3. Ders Prof.Dr.Berna Dengiz Monte Carlo Benzetimi
NİŞANTAŞI ÜNİVERSİTESİ
Değerler ve Değişkenler
Bilgisayar Bilimi Programlama Yapısı.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
FOTOSENTEZ.
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
Kesikli Olay benzetimi Bileşenleri
14. EKİPLE ÖĞRETİM İKİ KAFA TEK KAFADAN DAHA İYİDİR ( Two heads are better than one) ingiliz atasözü.
İleri Algoritma Analizi
TÜRKÇE EĞİTİMİNİN ÖNEMİ
Bilimsel Araştırma Yöntemleri
Bilimsel araştırma türleri (Deneysel Desenler)
Sosyal Bilgilerde Değer Eğitiminde Biyografi Kullanımı
Sunum transkripti:

Genetik Algoritma

İçerik Giriş Genetik Algoritma Terimleri Genetik Operatörler Genetik Algoritma Parametre Seçimi Genetik Algoritmanın Uygulama Alanları Genetik Algoritma Nasıl Çalışır? Basit Bir Uygulama Matlab fonksiyonları

Giriş Genetik Algoritmalar, doğal seçim ilkelerine dayanan bir arama ve eniyileme yöntemidir. İlk defa Michigan Üniversitesi’nde John Holland ve çalışma arkadaşları tarafından geliştirilmiştir. Tek bir çözüm üretmek -> bir çözüm kümesi Çözüm uzayının tamamını değil belirli bir kısmını tararlar. GA problemlere tek bir çözüm üretmek yerine farklı çözümlerden oluşan bir çözüm kümesi üretir. Margin & Padding

Genetik Algoritma Terimleri Kendi başına anlamlı bilgi taşıyan en küçük birim Kromozom (Birey) Birden fazla genin bir araya gelerek oluşturduğu dizi Kromozomlar, alternatif aday çözümleri gösterirler.

Genetik Algoritma Terimleri Popülasyon Kromozomlardan oluşan topluluk Geçerli alternatif çözüm kümesi Birey sayısı (kromozom) genelde sabit Popülasyondaki kromozom sayısı arttıkça çözüme ulaşma süresi (iterasyon sayısı) azalır. Kodlama 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.

Genetik Algoritma Terimleri Kodlama Türleri ; Binary Kodlama Her kromozom ikili diziye sahiptir { 0, 1 } Kodlamada en sık kullanılan yöntemdir Örnek { 10101001 } Permütasyon Kodlama 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.

Genetik Algoritma Terimleri 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 kodlaması kullanılabilir. 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.

Genetik Operatörler Bu operatörler Gen Havuzu Seçim Çaprazlama GA’nın temel işleyişini oluşturan ve yürütücülüğünü belirleyen kısımdır. Kullanılan genetik operatörler, var olan popülasyon üzerine uygulanan işlemlerdir. Bu işlemlerin amacı daha iyi özelliğe sahip yeni nesiller üretmek ve arama algoritmasının alanını genişletmektir. Bu operatörler Gen Havuzu Seçim Çaprazlama Mutasyon

Genetik Operatörler Gen Havuzu Gen havuzu, kromozomların uygunluklarının değerlendirilip kopyalama işleminin yapıldığı yerdir. Aşağıdaki topluluk içerisinden uygunluk değeri yüksek olan bireyler seçilerek, en yüksek uygunluklu birey, uygunluğu düşük olan bireyin yerini almaktadır.

Genetik Operatörler Seçim Yeni popülasyonun seçilmesinde hangi fertlerin eşleme için seçileceği seçim fonksiyonuyla sağlanır. Seçimlerde kullanılan kalite faktörüne fitness denir. Rulet Tekeri Seçimi Ranking Seçimi Sabit Durum Seçimi Turnuva Seçimi Burada bahsedilen uygunluk değeri, Genetik Algoritma ile bulunan problemin sonuç değerini göstermektedir. Bu operatör yeni topluluk içerisinde, uygunluğu yüksek bireylerin bulunmasını sağlamaktadır. İyi olan bireylerden daha iyi birey elde etmek için seçim operatörü kullanılır. Margin & Padding

Genetik Operatörler Rulet Tekeri Seçimi: Ebeveynler uygunluklarına göre seçilirler. Daha iyi kromozomlar, daha fazla seçilme şansına sahip olanlardır. Rulet tekeri üzerindeki kromozomun yerinin boyutu kromozomun uygunluğuyla orantılıdır. Toplumdaki tüm kromozomların yerleştirildiği bir rulet tekerini hayal edelim.Rulet tekeri üzerindeki kromozomun yerinin boyutu kromozomun uygunluğuyla orantılıdır.Daha uygun olan kromozom daha geniş bir kısma sahip olur. Margin & Padding

Genetik Operatörler Ranking Seçimi: Rulet tekerleğindeki tıkanmayı önlemek için kullanılır. Uygunluk değeri büyüklüklerine göre bireyler sıralanır. Rank seçimi önce popülasyonu sıralar ve daha sonra her kromozom uygunluğu bu sıralamadan sonra alır. En kötüsü 1 uygunluğunu alacak, ikinci en kötü 2 ve en iyisi N uygunluk değerini alacak ki N de popülasyondaki kromozom sayısıdır. Margin & Padding

Genetik Operatörler Sabit Durum Seçimi: Bu özel bir ata seçme yöntemi değildir. Bu tip seçimin ana fikri, toplumun var olan kromozomlarının büyük bir kısmının yeni nesle aktarılmasıdır. Sabit durum seçimi şu şekilde çalışmaktadır. Her yeni nesilde yüksek uygunluk değerine sahip kromozomlar yeni yavruları oluşturmak için seçilir ve düşük uygunluk değerine sahip yavrular kaldırılarak yerlerine bu yeni oluşturulan yavrular koyulur. Toplumun geri kalan kısmı aynen yeni nesle aktarılır. Margin & Padding

Genetik Operatörler Turnuva Seçimi: Kural dahilinde iki kromozom toplum içerisinden seçilerek uygunluk fonksiyonu büyük olan kromozom eşleşme havuzuna gönderilir, diğeri ise havuzun içine tekrar bırakılır.

Genetik Operatörler Elitizm(Seçkinlik) : Çaprazlama ve Mutasyon yöntemleriyle yeni bir nesil oluştururken, en iyi kromozomları kaybetme olasılığımız vardır. Elitizm en iyi kromozomu ya da birkaç en iyi kromozomları yeni nesle kopyalama metodunun adıdır. Elitizm çok hızlı bir şekilde GA’ nın performansını arttırır çünkü en iyi bulunan çözümü kaybetmeyi önler. Margin & Padding

Genetik Operatörler Çaprazlama Çaprazlama işlemini uygunluk değerlerine göre seçilmiş iki ebeveyn bireyden, iyi özellikte yeni bireyler elde etmek için kullanır. En çok kullanılan çaprazlama çeşitleri bir noktalı çaprazlama, iki noktalı çaprazlama, uniform çaprazlama ve sıralı çaprazlamadır.

Genetik Operatörler Çaprazlama Gösterimi

Genetik Operatörler Mutasyon Çaprazlama vasıtasıyla üretilemeyen uygunluk değeri yüksek kromozomların, mutasyon vasıtasıyla üretmek mümkün olmaktadır. Genelde mutasyon olasılığı (0.01 gibi) düşük tutulmaktadır. Nesildeki kromozomların çeşitliğini artırmak için kromozomlardan bazıları mutasyona uğratılır. Amaç, var olan bir kromozomun genlerinin bir ya da bir kaçının yerlerini değiştirerek yeni kromozom oluşturmaktır. Margin & Padding

Genetik Operatörler Mutasyon gösterimi

Genetik Algoritmada Parametre Seçimi Popülasyon Büyüklüğü: Genetik algoritma kullanıcısı tarafından verilen en önemli kararlardan birisidir. Bu değer çok küçük olduğunda, genetik algoritma yerel bir optimuma takılabilmektedir. Popülasyonun çok büyük olması ise çözüme ulaşma zamanını arttırmaktadır. Mutasyon Olasılığı: Mutasyon P(m) olasılığı ile bir kromozomdaki her bitte meydana gelebilir. Eğer mutasyon olasılığı artarsa, genetik arama rastsal bir aramaya dönüşür. Fakat bu aynı zamanda kayıp genetik malzemeyi tekrar bulmada yardımcı olmaktadır. Genetik algoritma performansı üzerinde önemli etkileri vardır Margin & Padding

GA’nın Uygulama Alanları Genetik algoritmaların en uygun olduğu problemler Geleneksel yöntemler ile çözümü mümkün olamayan Çözüm süresi problemin büyüklüğü ile üstel orantılı olarak artanlardır. Bugüne kadar GA ile çözümüne çalışılan konulardan bazıları şunlardır. Yapay Sinir Ağları (artificial neural networks) Otomatik Programlama (automatic programming) Makine Öğrenmesi (machine learning) Ekonomi (economics) Popülasyon Genetiği (population genetics) Görüntü İşleme (image processing)

Genetik Algoritma Nasıl Çalışır? Çözümlerin Kodlanması Tüm çözümler aynı boyutlara sahip bitler dizisi olarak ifade edilir İlk Popülasyonun Oluşturulması Uygunluk Değerinin Hesaplanması Verilen belirli bir kromozom için uygunluk fonksiyonu, o kromozomun temsil ettiği çözümün kullanımıyla veya yeteneğiyle orantılı olan sayısal bir uygunluk değeri verir. İkili kodlamanın kullanıldığı kromozomların gösteriminde, ilk popülasyonun oluşturulması için örneğin rastsal sayı üreticileri kullanılabilir. Rastsal sayı üreticisi çağrılır ve değer 0,5’den küçükse konum 0’a değilse 1 değerine ayarlanır. Margin & Padding

Genetik Algoritma Nasıl Çalışır? Çoğalma İşleminin Uygulanması İyi kalıtsal özellikleri sahip bireyler seçimi Çaprazlama İşleminin Uygulanması Elitizm İşleminin Uygulanması Mutasyon İşleminin Uygulanması Yeni Kuşağın Oluşması ve Döngünün Durdurulması Yeni kuşak çoğalma, çaprazlama, mutasyon ve elitizm işlemlerinden sonra tanımlanmakta ve bir sonraki kuşağın ebeveynleri olmaktadırlar. Mevcut gen havuzunun potansiyelini araştırmak üzere, bir önceki kuşaktan daha iyi nitelikler içeren yeni kromozomlar yaratmak amacıyla çaprazlama operatörü kullanılmaktadır Mevcut kromozomlardan yeni kromozomlar üretme yeteneğine sahip bir operatör gerekmektedir. Bu görevi mutasyon gerçekleştirir. Margin & Padding

Basit Bir Uygulama Gezgin Satıcı Problemi(Traveling Salesman Problem) Her şehir 1 kere ziyaret edilecek Toplam seyahat mesafesi minimum olacak Şehir bilgileri Şehir listesi 1 (3 5 7 2 1 6 4 8) Şehir listesi 2 (2 5 7 6 8 1 3 4)

Basit Bir Uygulama Çaprazlama Mutasyon

Basit Bir Uygulama 30 Şehir için TSP 30 Şehir için En İyi Çözüm

Basit Bir Uygulama TSP performansı

MATLAB Crtbp -> binary populasyon oluşturmak için Ranking -> ranking metodu için Select -> birey seçme Recombin -> çaprazlama metodu için xovsp, xovdp.. Mut -> mutasyon için Örnek O anki populasyondan fitness degerlerine göre istenen miktarda birey çeker Margin & Padding