Zeki Optimizasyon Teknikleri Intelligent Optimization Techniques
Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
Bu dersin sunumları, “Singiresu S. Rao, Engineering Optimization: Theory and Practice, Wiley, 2009.”
kitabı kullanılarak hazırlanmıştır.
İçerik
Yapay bağışıklık sistemi
Klonlayarak seçme algoritması
Uygulama
Yapay bağışıklık sistemi
Bağışıklık algoritmaları biyolojik bağışıklık sisteminden esinlenerek geliştirilmiştir.
Bağışıklık sistemi dışarıdan gelen patojen ve toksik maddelerden organizmaları korur.
Patojenler; bakteri, virüs, parazit ve polen gibi çok sayıda mikroorganizmayı kapsar.
Bağışıklık sistemi patojenleri algılar ve yok eder.
Yapay bağışıklık sistemleri, computational intelligence’in alt alanıdır.
İlk geliştirildiği yıllarda, makine öğrenmesi, kontrol ve optimizasyon problemlerinde kullanılmıştır.
Daha sonra bilgisayar güvenliği alanında kullanılmıştır.
3
Yapay bağışıklık sistemi
Modern yapay bağışıklık sistemleri aşağıdaki üç alandan birisinden esinlenerek geliştirilir:
Klonlayarak seçme
Negatif seçme
Bağışıklık ağ algoritmaları
Bu yöntemler;
Clustering
Classification
Pattern recognition
Optimization
gibi problemlerinde kullanılır.
İçerik
Yapay bağışıklık sistemi
Klonlayarak seçme algoritması
Uygulama
5
Klonlayarak seçme algoritması
Klonlayarak seçme algoritması (Clonal Selection Algorithm - CLONALG)popülasyon içerir.
Popülasyondaki her birey problemin çözümünü tümüyle ifade eder.
Her birey seçme işleminde seçilmek için yarışır.
Seçilen bireyler, çoğaltılır (klonlama) ve çeşitlendirilir (mutasyon).
Her birey işlemler sonucunda çevresine daha uyumlu hale getirilmeye çalışılır.
Klonlayarak seçme algoritması
CLONALG modeli, aday çözümleri (andibody) uygunluk fonksiyonu değerine göre (affinity)seçer.
Seçilen bireyler klonlanır ve klonlanan her birey hypermutation işlemi yapılır.
Klonlanarak elde edilen popülasyondaki bireyler, sonraki jenerasyonda yer almak için mevcut popülasyondaki
bireylerle yarışır.
Düşük uygunluk değerine sahip bireyler, rastgele oluşturulan bireyler ile değiştirilir.
7
Klonlayarak seçme algoritması
Klonlayarak seçme algoritması
9
Klonlayarak seçme algoritması
Sezgiseller
CLONALG makine öğrenmesi yaklaşımı olarak tasarlanır ve örüntü tanıma, fonksiyon optimizasyonu ve
kombinatoryal optimizasyon problemlerinde kullanılır.
Bireyler binary dizileri şeklinde gösterilebilir.
Seçilen her birey için oluşturulacak klon sayısı
(N
c)
aşağıdaki şekilde hesaplanır: Burada,
β,
klonlama sabiti(Clone
rate)
N,
aday çözüm sayısı
F ,
uygunluk değeri( . 0, 5)
c
N round N f
Klonlayarak seçme algoritması
Sezgiseller
Her iterasyonda rastgele oluşturulacak birey sayısı düşüktür ve genellikle 1-2 alınır.
Hypermutation işleminde nokta mutasyonu yapılır ve bit değeri değiştirilir.
Her birey için mutasyon olasılığı aşağıdaki eşitlikle belirlenir.
Burada,
α
kullanıcı parametresidir(Mutation
rate)
,f
bireyin uygunluk değeridir.11
.
1 mp
fe
Klonlayarak seçme algoritması
Parametreler
Popülasyon boyutu: Problem karmaşıklığına göre seçilir (100-300).
Seçilen birey sayısı: En yüksek uygunluk değerine göre belirlenebilir.
Düşük uygunluk değerine sahip birey sayısı: Rastgele oluşturulacak bireyler için silinecek birey sayısı %5-%10 seçilebilir.
Klonlama sabiti: Popülasyon boyutuna göre belirlenir. 100 birey için
β
=0,5 alınabilir. Genellikleβ
(0,1] aralığındadır. Jenerasyon sayısı: Problem karmaşıklığına göre belirlenir.
Klonlayarak seçme algoritması
Algoritmanın durdurulması
Belirlenen maksimum iterasyona ulaşılması
İstenen kriterleri sağlayan çözüme ulaşılması
Belirli bir süre en iyi çözümde iyileşme sağlanamaması
13
İçerik
Yapay bağışıklık sistemi
Klonlayarak seçme algoritması
Uygulama
Uygulama
Bir şirkette 11 farklı birim ve 11 farklı yer (oda veya alan) bulunmaktadır.
Bir gün boyunca birimler arasında gidiş sıklıkları aşağıdaki tablodaki gibi ölçülmüştür (
f
ij,i
. vej
. birimler arasındaki gidiş sıklığıdır. Örn.: 1. birim ile 2. birim arasında 5 gidiş yapılmıştır).15
Uygulama
Şirketteki 11 farklı yer (oda veya alan) arasındaki uzaklıklar aşağıdaki tabloda verilmiştir.
(
d
ij,i
. vej
. yerler arasındaki uzaklıktır. Örn.: 1. birim ile 2.birim arasındaki uzaklık 15 metredir).
Uygulama
Çalışanlar tarafından toplam gidilecek mesafeyi minimum yapacak şekilde her birimi bir odaya yerleştirmek istiyoruz.
Amaç fonksiyonu aşağıdaki gibi alınabilir.
17
11 11
1 1 ij ij
i j
TM f d
Affinity 1
TM
Uygulama
Popülasyondaki her birey (antibody) aşağıdaki gibi kodlanabilir.
Bireylerde her konum birim sıra numarasını, değer ise atanan yerin sıra numarasını göstermektedir.
Popülasyonda birey sayısı 100 alınabilir.
Seçilecek en iyi birey sayısı 5 alınabilir.
Seçilecek en kötü birey sayısı 2 alınabilir.
Osıra Osıra Osıra Osıra Osıra Osıra Osıra Osıra Osıra Osıra Osıra
Uygulama
Bir bireyin seçilme olasılığı uygun değerine bağlı olarak aşağıdaki gibi belirlenir.
Her klon için mutasyon sayısı aşağıdaki gibi belirlenebilir.
Burada mutasyon sabiti
β = 0,9
alınsın.
f
bireyin hesaplanan uygunluk değeridir.19
1 i
i N
k k
P f
f
.
1 MS
fe
Uygulama
Farklı popülasyon boyutları için amaç fonksiyonunun değerleri aşağıdaki grafikteki gibi oluşur.
Uygulama
Seçilen en kötü birey sayısının oranına göre (popülasyondaki toplam birey sayısına göre) amaç
fonksiyonunun değerleri aşağıdaki grafikteki gibi oluşur.
21
Ödev
Klonlayarak seçme algoritmasının bilgisayar ağlarında saldırı tespit sistemine uygulamasını içeren bir makale araştırma ödevi hazırlayınız.