Sunuyu indir
1
SEZGİSEL ALGORİTMALAR (devam)
Yrd. Doç. Dr. Rembiye Kandemir Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd.Doç.Dr.Rembiye KANDEMİR
2
Sezgisel Problem Çözümleme
İnsan farkında olmadan sezgisel yaklaşımlarla iç içe yaşamaktadır Kısıtlı zaman içerisinde karar vermeler, Karmaşık olaylarda seçimin yapılması, Yargılar, Bireyler arasında olan ilişkiler, Düşüncelerin değişmesi vs. Yrd.Doç.Dr.Rembiye KANDEMİR
3
Sezgisel Arama Stratejileri
Best-First Search – En İyi Arama Gready Search (GBFS) A* Search (A*) – A* Arama Hill Climbing Search (HCS) – Tepe Tırmanma Simulated Annealing (SA)– Isıl İşlem Arama Genetik Search (GA) – Genetik Arama Yrd.Doç.Dr.Rembiye KANDEMİR
4
Greedy Best First Search - GBFS (En İyi Arama)
En İyi Arama, bilgilendiren arama metodlarındandır. Bu yöntem Breath-First ile Depth-First aramalarının en iyi yönlerini birleştirmiştir. Düğümler değerlendirme fonksiyonu f(n) ’e göre genişletilir. Geleneksel olarak f bir maliyet ölçüsüdür. Üretilen düğümler içinden en uygunu seçilir ve bu düğüm genişletilir. Seçme işlemi h(n) (sezgisel fonksiyon)’ e göre yapılır. h(n) : n düğümünden amaç düğüme olan tahmini en ucuz maliyet. Varsayım : h(n) = 0 ise n amaç düğümdür. Yrd.Doç.Dr.Rembiye KANDEMİR
5
A* Search (Toplam Yolu Azaltma)
Belirli ve iyi tanımlanmış koşullar altında, bu sezgisel başlangıç ve amaç noktası arasında, eğer varsa minimum maliyetli yolu en az sayıda düğüm oluşturarak bulacağı garanti edilmiştir. n düğümü göstermek üzere; f(n)=g(n)+h(n) değerlendirme fonksiyonu tanımlanır g(n) : Başlangıç noktasından, bulunan düğüme kadar olan maliyetin doğru ölçümü (gerçek mesafe olabilir) h(n) : Mevcut düğümden amaç düğümüne kadar en az maliyet tahmini. Bu fonksiyon negatif olmamalı ve asla amaç düğümüne ulaşım maliyetinden daha fazla olmamalı. h fonksiyonu tasarım problemine bağlı olarak değişmektedir. Yrd.Doç.Dr.Rembiye KANDEMİR
6
Hill-Climbing Search – HCS (Tepe Tırmanma)
Basit bir sezgisel arama metodudur. Derinlik öncelikli arama + sezgisel bulgu Yrd.Doç.Dr.Rembiye KANDEMİR
7
Hill-Climbing (Tepe Tırmanma) Search
Tepe Tırmanmada temel fikir, mevcut durumdan daha iyi olan bir duruma doğru gitmektir. Tepe Tırmanma teknikleri keşfedilmemiş bölgenin özellikleri üzerinde temel olarak bilgilendirilmemiş olmalarına rağmen, belirli bir düğüm hakkında yerel (local) bilgiden faydalanır. değişim Mevcut durum Yrd.Doç.Dr.Rembiye KANDEMİR Yrd.Doç.Dr.Rembiye KANDEMİR
8
Hill-Climbing (Tepe Tırmanma) Search
Yerel bilgi, doğrudan düğümün civarında değerlendirme fonksiyonunun eğimi şeklinde bulunur ve yönlendirilir. Bu nedenle bir bakıma derinlik öncelikli aramaya benzer. Resmi olarak bilgilendirilmemiş araştırma olmasına rağmen, tepenin özellikleri bilgisini kullanır; orada değilseniz tepe daha yukarıdadır ve eğer oradaysanız bütün yollar aşağı gider. Tepe Tırmanama; yerel arazi bilgisi kullanılarak verimsiz araştırma uzayının çoğunu elimine etmek için çok kullanışlı ve etkin sezgisel bulgu sağlar. Yamaç “Düzlük” Durum uzayı Mevcu durum Yrd.Doç.Dr.Rembiye KANDEMİR
9
Hill-Climbing’ in Riskleri
Tepe Tırmanma Sezgisel Aramada karşılaşılan problemler, gerçek dağcıların karşılaştığı problemlere benzer. Yanlış tepe problemi Yamaç problemi Plato (yayla) problemi Yayla Yamaç Küçük tepe Yrd.Doç.Dr.Rembiye KANDEMİR
10
Yanlış tepe problemi Tepe Local maximum
Dağ tırmanıcıların karşılaştıkları en ciddi problemdir. Temel problem yanlış bir tepenin, yerel olarak gerçek bir tepenin özelliklerini yansıtmasıdır, dolayısıyla bulgu temelden bozguna uğrar. Eğer daha yüksek tepe örnekleme işlemi ile üretilirse, tepe tırmanan sezgisel yeni yükselti (yeni düğüm) başlangıç noktası olarak zirve (amaç) noktasına ulaşıncaya kadar tekrarlanır. Yrd.Doç.Dr.Rembiye KANDEMİR
11
Yamaç problemi Yamaç problemi, eğer bayır kenarları çok dik ve yükseklik kazanımı (rakım) çok aşamalı ise, özellikle ciddi bir problemdir. Maximum Eğim algoritmaları, yamaç boyunca sert iniş-çıkışları olan ve çok az yükseklik kaydedilen bir yolla sonuçlanmaya meyillidir. Yamaç Yamaç problemi, yamacın yerel maximum bölgesinde işlem yaparken, adım boyutunu düşürmekle çözülebilir. Böylesi bilgilerin dikkatli yorumu, başarıyla zirveye ulaşan yamacın varlığını ve yönünü gösterir. Yrd.Doç.Dr.Rembiye KANDEMİR
12
Plato (yayla) problemi
Tepe Tırmanan arama, en iyi aşamalı, iyi işlenmiş ve tek değerli fonksiyonlar için çalışır. Topografik haritalardaki kesintiler gerçek dağ tırmanıcılarına olduğu kadar tepe tırmanma sezgiseli için de büyük zorluklar çıkarır. Tanıdık olmayan arazide sezgiselin tamamen başarısız olması mümkündür. Plato Yrd.Doç.Dr.Rembiye KANDEMİR
13
Hill-Climbing Algoritması
AÇIK listesine Başlangıç düğümünü S ‘yi ekle KAPALI listesini boşalt AÇIK listesi boş değilse, AÇIK listesinin en solundaki elemanı listeden çıkart . Bu elemanı x olarak adlandıralım. x ‘in çocuklarını bul x 'in tüm çocukları için Eğer çocuk AÇIK ve KAPALI listesinde değil ise Çocuğa bir sezgisel değer ata ve AÇIK listesine ekle. Eğer çocuk AÇIK listesinde ise Eğer daha kısa bir yol ile ulaşılmış ise AÇIK lisesindeki çocuk kaydının sezgisel değerini değiştir. Çocuğun ebeveyn bilgisini güncelle. Eğer çocuk KAPALI listesinde ise Eğer daha kısa bir yol bulunmuş ise KAPALI listesinden çıkartıp yeni bilgilere göre güncelleyip AÇIK listesine ekle. x düğümünü KAPALI listesine ekle AÇIK listesini sezgisel değerlerine göre yeniden sırala (En iyi seçenek sola gelecek şekilde) 3. adıma git Yrd.Doç.Dr.Rembiye KANDEMİR
14
Hill-Climbing Search – HCS (Devam)
30 10 20 40 1 35 15 2 25 45 3 27 18 Yrd.Doç.Dr.Rembiye KANDEMİR
15
Hill-Climbing Search – HCS (Devam)
Yrd.Doç.Dr.Rembiye KANDEMİR
16
Hill-Climbing Search – HCS (Devam)
Yrd.Doç.Dr.Rembiye KANDEMİR
17
Hill-Climbing Search – HCS (Devam)
Yrd.Doç.Dr.Rembiye KANDEMİR
18
Hill-Climbing Search – HCS (Devam)
Yrd.Doç.Dr.Rembiye KANDEMİR
19
HC Aramaya göre Arad-Sibiu-Fagares-Bucharest Toplam Uzaklık 140+99+211=450
Yrd.Doç.Dr.Rembiye KANDEMİR
20
Genetic Search- GA (Genetik Arama)
Genetik Algoritmanın Tanımı Genetik algoritma, doğadaki evrim mekanizmasını örnek alan bir arama metodudur ve bir veri grubundan özel bir veriyi bulmak için kullanılır. Genetik algoritmalar doğada geçerli olan en iyinin yaşaması kuralına dayanarak sürekli iyileşen çözümler üretir. Bunun için kullandığı operatörler; uygunluk fonksiyonu (fitness) : toplumdaki her kromozomun ne kadar iyi olduğu bulmayı amaçlayan fonksiyondur. Bu fonksiyon GA nın beynini oluşturmaktadır. yeniden kopyalama (recombination) : yeni çözümler üretmek için çaprazlama (crossover) işlemi yapılır ve bu eşleme uygunluk fonksiyonuna göre yapılır. değiştirme (mutation) : sadece bir çözüm üzerinde yapılan işlemdir. Yrd.Doç.Dr.Rembiye KANDEMİR
21
Kromozomun şifrelenmesi
1. İkili kodlama Bu yöntem ilk GA uygulamalarında kullanıldığı için hala en çok kullanılan yöntemlerdir. Her kromozom, 0 ve 1 lerden oluşan bit dizisidir ve ikili diziyle ifade edilir. Bu dizideki her bit, çözümün bir özelliğini taşır. Dizinin tümü ise bir sayıya karşılık gelir. Kromozom A: Kromozom 2: Yrd.Doç.Dr.Rembiye KANDEMİR
22
Kromozomun şifrelenmesi (Devam..)
2. Permütasyon kodlama Bu kodlama Gezgin Satıcı Problemi ve iş sıralama problemleri gibi sıralam problemlerinde kullanılır. Burada her kromozom bir numaralar dizisidir. Kromozom A: Kromozom B: Yrd.Doç.Dr.Rembiye KANDEMİR
23
Gen takası (Çaprazlama) ve Mutasyon
1. İkili kodlanmış kromozom - A) Tek noktalı gen takası. Kromozom-1 : 11011| Kromozom-2 : 11011| Çocuk-1 : Çocuk-2 : - B) Çift noktalı gen takası. Kromozom-1 : 11011|00100|110110 Kromozom-2 : 11011|11000|011110 Çocuk-1 : Çocuk-2 : Yrd.Doç.Dr.Rembiye KANDEMİR
24
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
- C) Tek biçimli (uniform) gen takası. Kromozom-1 : Kromozom-2 : Çocuk-1 : Çocuk-2 : Mutasyon işlemi : Mutasyon işlemi, problemin problemin populasyondaki çözümlerin yerel optimuma düşmesini engellemek için kullanılır. Mutasyon yeni üretilen çocuk kromozomu rasgele değiştirir. Çocuk-1(orijinal) : Çocuk-2 : Yrd.Doç.Dr.Rembiye KANDEMİR
25
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
2. Permütasyon kodlanmış kromozom Çaprazlama: Kromozom-1 : Kromozom-2 : Çocuk-1 : Çocuk-2 : Mutasyon: İkitane rasgele gen seçilir ve bunların yeri değiştirilir. Çocuk-1(orijinal) : Çocuk-2 : Yrd.Doç.Dr.Rembiye KANDEMİR
26
Kromozom Seçimi 1. Rulet tekeri seçimi
Bu yöntemde seçilme işlemi bireylerin (kromozomların) uygunluk değerine göre yapılmaktadır. Fakat uygunluk değeri en büyük olanın seçileceği garanti edilmez, yalnız seçilme şansı daha fazla olacaktır. Bu yöntemde bütün uygunluk değerleri bir tabloya yazılır ve toplanır. Uygunluk değeri toplama bölünerek bireylerin [0,1] aralığında seçilme olasılıkları belirlenir. Rulet tekerleği seçimi çözümlerin uygunluk değerlerinin pozitif olması gerekir. Yrd.Doç.Dr.Rembiye KANDEMİR
27
Kromozom Seçimi (Devam..)
2. Sıralama seçimi Rulet tekeri seçimi, uygunluklar çok farklıysa problemlere yol açar. (Örneğin, en iyi kromozomun uygunluğu %90 ise diğer kromozomlar çok az seçilme şansına sahip olacaktır.) Sıralama seçimi önce populasyonu sıralamakta ve ardından her kromozomun bu sıralamada uygunluğu aranmaktadır. En kötüsü 1 uygunlukta, ikinci kötüsü 2 uygunlukta vb., en iyisi ise N uygunlukta olacaktır. Böylelikle bütün kromozomlara seçilme şansı verilir. Fakat bu yöntemde en iyi kromozomlar, diğerlerinden daha farklı olmadığından çözüme yaklaşma yavaş olacaktır. Yrd.Doç.Dr.Rembiye KANDEMİR
28
Kromozom Seçimi (Devam..)
3. Sabit durum seçimi Bu yönteme göre ebeveyinlerin seçimi için kromozomların büyük parçaları bir sonraki jenerasyona taşınmaktadır. Her nesilde yeni bir birey (çocuk) oluşturmak için birkaç kromozom seçilir (büyük uygunlukta iyi olanlar). Az uygunlukta kötü olan kromozomlar atılır ve yeni çocuk kromozomlar yerine getirilir. Geri kalan kromozomlar değiştirilmeden yeni nesile aktarılır. Yrd.Doç.Dr.Rembiye KANDEMİR
29
Genetik Algoritmaların Çalışma Prensibi
Adım 1: Olası çözümlerin kodlandığı bir çözüm grubu oluşturulur (çözüm grubu (population), çözümlerin kodları (string) da kromozom olarak adlandırılır). Adım 2: Her kromozomun ne kadar iyi olduğu bulunur (fitness function). Adım 3: Bu kromozomlar eşlenerek (mating), yeniden kopyalama (recombination) ve değiştirme (crossover) operatörleri uygulanır. Bu sayede yeni bir toplum oluşturulur. Adım 4: Yeni kromozomlara yer açmak için eski kromozomlar ortadan kaldırılır. Adım 5: Tüm kromozomların uygunlukları tekrar hesaplanır. Adım 6: İşlemler tekrarlanarak verilmiş zaman içerisinde daha iyi olan yeni nesillerin oluşturulması gerçekleştirilir (3. adıma gidilir). Adım 7: O ana kadar hesaplanma sırasında en iyi kromozom bulunduğunda istenen sonuç elde edilmiş olur. Yrd.Doç.Dr.Rembiye KANDEMİR
30
GA’nın Performansını Etkileyen Nedenler
Kromozom sayısı: Kromozom sayısını arttırmak çalışma zamanını arttırırken, azaltmak da kromozom çeşitliliğini yok eder. Mutasyon Oranı: Kromozomlar birbirine benzemeye başladığında hala çözüm noktalarının uzağında bulunuyorsa mutasyon işlemi GA’nın sıkıştığı yerden kurtulmak için tek yoludur. Ancak yüksek bir değer vermek GA’ın kararlı bir noktaya ulaşmasını engelleyecektir. Kaç Noktalı Çaprazlama Yapılacağı: Normal olarak çaprazlama tek noktada gerçekleştirilmekle beraber yapılan araştırmalar bazı problemlerde çok noktalı çaprazlamanın çok yararlı olduğunu göstermiştir. Çaprazlamanın sonucu elde edilen bireylerin nasıl değerlendirileceği: Elde edilen iki bireyin birden kullanılıp kullanılamayacağı bazen önemli olmaktadır. Yrd.Doç.Dr.Rembiye KANDEMİR
31
Nesillerin birbirinden ayrık olup olmadığı: Normal olarak her nesil tümüyle bir önceki nesle bağlı olarak yaratılır. Bazı durumlarda yeni nesli eski nesille birlikte yeni neslin o ana kadar elde edilen bireyleri ile yaratmak yararlı olabilir. Parametre kodlanmasının nasıl yapıldığı: Kodlananın nasıl yapıldığı en önemli noktalardan biridir. Örnek vermek gerekirse kimi zaman bir parametrenin doğrusal yada logaritmik kodlanması GA’nın performansında önemli bir farka yol açabilir. Kodlama gösteriminin nasıl yapıldığı: Kodlamanın nasıl olduğu yeterince açık olmamakla beraber GA’nın performansını etkileyen bir noktadır. İkilik düzen, kayan nokta aritmetiği ya da gray kodu ile gösterim en yaygın yöntemlerdir. Başarı değerlendirmesinin nasıl yapıldığı: Akıllıca yazılmamış bir değerlendirme işlevi, çalışma zamanını uzatabileceği gibi çözüme hiçbir zaman ulaşmamasına da neden olabilir. Yrd.Doç.Dr.Rembiye KANDEMİR
32
GA’ nın Uygulama Alanları
Optimizasyon: Sayısal optimizasyon ve kombinetoral optimizasyon problemleri olan devre tasarımı, doğrusal olmayan denklem sistemlerinin çözümünde ve fabrika-üretim planlamasında kullanılır. Otomatik Programlama (automatic programming): Bilgisayar programları yardımıyla network sıralamasında (sorting), ders programı hazırlanmasında kullanılır. Makine öğrenmesi (machine learning): Robot sensorlerinde, yapay sinir ağlarında, VLSI yonga tasarımı ve protein yapısal analizinde kullanır. Ekonomi (economics): Ekonomik modellerin geliştirilmesinde ve işlemesinde kullanılır. İmmün sistemler (Immune systems): Çok-gen’li ailelerin evrimi esnasında ve doğal immün sistem modellerinde kullanılır. Topluluk genetiği (population genetics): Evrim ile ilgili sorulara cevap bulmada kullanılır. Evrim ve öğrenme (evolution and learning): Fertlerin öğrenmesini ve türlerin evrilmesinde kullanılır. Sosyal sistemler (social systems): Sosyal sistemlerin analizinde kullanılır. Yrd.Doç.Dr.Rembiye KANDEMİR
33
Örnek: Fonksiyon Maksimizasyonu
Problem : f(x)=x², x[0, 31] şeklinde verilen bir fonksiyonun. Amaç : Verilen aralıkta fonksiyonun maksimizasyonu. Adım 1: x’in 0 ve 1'lerden oluşan 2 tabanındaki gösterilimi yapılmaktadır 0 : “00000” 31 : “11111” olacaktır. Adım 2: Toplumun birey sayısı n:4 olarak seçilmiştir. Toplumu oluşturan dört birey, her biri 5 bit uzunluğunda birer kromozomla temsil edildiği için toplam 20 kere yazı tura atmak suretiyle belirlenmiştir. Birey 1: 01101, x = 13 , x² = 169 Birey 2: 11000, x = 24 , x² = 576 Birey 3: 01000, x = 8 , x² = 64 Birey 4: 10011, x = 19 , x² = 361 Yrd.Doç.Dr.Rembiye KANDEMİR
34
Her bir bireyin rulet tekerleğinde kaplayacağı alan;
Adım 3: Belirlenen bireyler için f(x)=x² ile uygunluk değerlerini hesaplanır. Dört bireyin toplam uygunluk değerleri; = 1170 Her bir bireyin rulet tekerleğinde kaplayacağı alan; Birey 1: 169 / 1170 = 0.14 : %14 Birey 2: 576 / 1170 = 0.49 : %49 Birey 3: 64 / 1170 = 0.06 : %6 Birey 4: 361 / 1170 = 0.31 : %31 Bu değerler, rulet tekerleğinin her çevrilişinde hangi olasılıkla hangi bireyin seçileceğini belirtir. Yrd.Doç.Dr.Rembiye KANDEMİR
35
Elde edilen çiftleşme havuzu şu şekildedir; Aday 1 : 01101 (Birey 1)
Adım 4: Toplumda ki birey sayısının sabit kaldığı varsayıldığından, rulet tekerleği 4 kere çevrilerek çiftleşme havuzu oluşturulur. Birey 1 : 1 kere Birey 2 : 2 kere Birey 3 : 0 kere Birey 4 : 1 kere Elde edilen çiftleşme havuzu şu şekildedir; Aday 1 : (Birey 1) Aday 2 : (Birey 2) Aday 3 : (Birey 2) Aday 4 : (Birey 4) Yrd.Doç.Dr.Rembiye KANDEMİR
36
Adım 5: Çiftleşme havuzu belirlendikten sonra iki aşamalı çaprazlama uygulanır.
İlk aşamada adaylar çiftleşmek üzere rasgele olarak eşlenirler. Rasgele eşleştirme sonucunda ( Aday 1, Aday 2) ve (Aday 3, Aday 4) ikili grupları oluşturulur. İkinci aşamada her ikili grup için birer kere zar atılarak çaprazlaşmanın oluşacağı nokta belirlenir. Zar atılarak 1. Grup için k=4 ve 2. Grup içinde k=2 olarak belirlenmiştir. Çiftleşme grubu 1: (k=4) Aday 1 : 0110/1 oluşan Birey 1 : 01100 Aday 2 : 1100/0 oluşan Birey 2 : 11001 Çiftleşme grubu 2 : (k=2) Aday 3 : 11/000 oluşan Birey 3 : 11011 Aday 4 : 10/011 oluşan Birey 4 : 10000 Yrd.Doç.Dr.Rembiye KANDEMİR
37
Adım 6: Son aşama olan mutasyon işlemi bitler düzeyinde uygulanır.
Birey 3’ün 2 numaralı bitinde mutasyon işlemi tapılmaktadır. Oluşan Birey 3 : 11011 Mutasyon sonucu oluşan Birey 3 : 10011 Bu adımın tamamlanmasıyla bir sonraki kuşağı oluşturacak toplumun bireyleri belirlenmiş olur. Yeni toplum şu şekildedir; Birey 1 : 01100, x=12, x²=144 Birey 2 : 11001, x=25, x²=625 Birey 3 : 10011, x=19, x²=361 Birey 4 : 10000, x=16, x²=256 Bu örnekte tek bir iterasyon yapılmış ve başlangıç toplumundan bir sonraki kuşak oluşturulmuştur ancak genetik algoritmanın çalışmasının tam olarak gözlenebilmesi için tek bir iterasyon yeterli değildir. Yrd.Doç.Dr.Rembiye KANDEMİR
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.