SlideShare a Scribd company logo
1 of 73
Download to read offline
I
T.C.
İSTANBUL ÜNİVERSİTESİ
Bilgisayar Mühendisliği Bölümü
Bitirme Projesi
Doğa ve Biyoloji Temelli Yapay Zekâ Algoritmaları
Numan ARLI
Danışman
Assist. Prof. Tolga ENSARİ
Haziran 2015
Avcılar, İSTANBUL
II
ÖNSÖZ
Doğa ve Biyoloji Temelli Yapay Zekâ Algoritmalar, günümüzde bazı konularda optimizasyon
yapabilmek için başvurulan en gözde araştırma konularındandır. Bu konuda, birçok alandaki
uygulamalarının sonuçları ile potansiyelleri kanıtlanmıştır. Ortada birçok algoritma var fakat
bunlardan bir kaçı çok verimli olduğunu kanıtlamıştır ve böylece gerçek dünya problemlerini
çözmek için popüler hale gelmiştir.
Optimizasyon, yani problemi olabildiğince en verimli halde çözme olayı hayatımızın her
alanında mevcuttur. Teknolojiden ticarete, mühendislikten turizme kadar her alanda
hayatımızın her safhasında karşı karşıya kalırız. Bütün bu faaliyetlerde bazı hedeflere ulaşmak
için veya kalite ya da zaman gibi bazı konuları kendimiz için en karlı hale getirmek için
çalışıyoruz. Kaynak olarak para ve zaman gerçek dünya uygulamaları için her zaman sınırlı
olmuştur. Bundan dolayı optimizasyonu kolaylaştıran Doğa ve Biyoloji Temelli Zeka
Algoritmaları çok önemli hale gelmiştir.
Proje çalışması boyunca, tez hocam Sayın Yrd. Doç. Dr. Tolga Ensari’ nin her aşamada
büyük yardımları ve destekleri olmuştur. Kendilerine bundan dolayı teşekkürlerimi sunarım.
III
İÇİNDEKİLER
ÖNSÖZ .................................................................................................................................... II
ŞEKİL LİSTESİ.....................................................................................................................III
SEMBOL LİSTESİ................................................................................................................III
KISALTMA LİSTESİ...........................................................................................................III
ÖZET ......................................................................................................................................III
SUMMARY ............................................................................................................................III
1 GİRİŞ ......................................................................................................................................1
2. GENEL KISIMLAR.............................................................................................................2
2.1 SÜRÜ ALGORİTMALARI ..................................................................................................................2
2.1.1. Karınca Kolonisi Optimizasyonu.............................................................................................2
2.1.1.1. Genel Bakış......................................................................................................................2
2.1.1.2. Esinlenme........................................................................................................................3
2.1.1.3. Optimizasyon Tekniği......................................................................................................4
2.1.1.4 Seyahat Eden Satış Elemanı Problemi için KKO................................................................5
2.1.1.5. Karınca Kolonisi Optimizasyonu Üstsezgisel (Metaheuristic) .........................................5
2.1.1.6. Temel KKO Algoritmalar..................................................................................................8
2.1.1.7. Karınca Sistemi(KS)..........................................................................................................8
2.1.1.8. MAX-MIN Karınca Sistemi(MMKS)..................................................................................9
2.1.1.9. Karınca Koloni Sistemi (KKS)..........................................................................................10
2.1.2 Arı Kolonisi Optimizasyonu ...................................................................................................12
2.1.2.1. Genel Bakış....................................................................................................................12
IV
2.1.2.2.Üstsezgisel (Metaheuristic)............................................................................................13
2.1.2.3. Bulanık Arı Sistemi Tarafından Yolculuk Eşleştirme Probleminin Çözümü ...................16
2.1.1.4 Bulanık Arı Sistemi..........................................................................................................17
2.1.2.5. Çözüm Bileşeni Çekiciliğini Hesaplama ve Kısmi Çözüme Eklenecek Bir Sonraki Çözüm
Bileşeninin Seçimi.......................................................................................................................18
2.1.2.6 Arıların Kısmi Çözümleri Karşılaştırma Mekanizması.....................................................18
2.1.2.7 Yönünü Değiştiren Arıların Sayısını Hesaplama .............................................................19
2.1.3 Parçacık Sürü Optimizastonu Algoritması.............................................................................21
2.1.3.1. Genel Bakış....................................................................................................................21
2.1.3.2. Parçacık Sürü Optimizasyonu Algoritması.....................................................................21
2.1.3.3. Yolcu Treni Planlaması ..................................................................................................23
2.1.4. Bakteri Yiyecek Arama Optimizasyonu Algoritması.............................................................26
2.1.4.1 Sınıflandırma ..................................................................................................................26
2.1.4.2 Esinlenme.......................................................................................................................26
2.1.4.3 Benzetme (Metafor).......................................................................................................26
2.1.4.4 Strateji............................................................................................................................26
2.1.4.5 Yöntem...........................................................................................................................27
2.1.4.6 Sezgisel(Heuristic) ..........................................................................................................27
2.2 BAĞIŞIK ALGORİTMALAR..............................................................................................................30
2.2.1. Genel Bakış...........................................................................................................................30
2.2.1.1 Bağışık Sistem.................................................................................................................30
2.2.1.2 Yapay Bağışık Sistem ......................................................................................................31
2.2.2 Klonal Seçim Algoritması (Clonal Selection Algorithm (CLONALG))......................................32
2.2.2.1. Sınıflandırma .................................................................................................................32
2.2.2.2 Esinlenme.......................................................................................................................32
2.2.2.3 Benzetme .......................................................................................................................32
2.2.2.4 Strateji............................................................................................................................33
2.2.2.5 Yöntem...........................................................................................................................33
2.2.2.6 Sezgisel(Heuristic) ..........................................................................................................33
2.2.3 Negatif Seçme Algoritması....................................................................................................35
2.2.3.1. Sınıflandırma .................................................................................................................35
2.2.3.2. Esinlenme......................................................................................................................35
2.2.3.3 Benzetme .......................................................................................................................35
2.2.3.4 Strateji............................................................................................................................35
2.2.3.5 Sezgisel(Heuristic) ..........................................................................................................36
V
2.3 SİNİRSEL ALGORİTMALAR.............................................................................................................37
2.3.1 Genel Bakış............................................................................................................................37
2.3.1.1 Biyolojik Sinirsel Ağlar ....................................................................................................37
2.3.1.2 Yapay Sinir Ağları............................................................................................................37
2.3.2 Perceptron Algoritması .........................................................................................................39
2.3.2.1 Sınıflandırma ..................................................................................................................39
2.3.2.2 Esinlenme.......................................................................................................................39
2.3.2.3 Strateji............................................................................................................................39
2.3.2.4 Yöntem...........................................................................................................................39
2.3.2.5 Sezgisel (Heuristic) .........................................................................................................40
2.3.3 Hopfield Ağ............................................................................................................................42
2.3.3.1 Sınıflandırma ..................................................................................................................42
2.3.3.2 Esinlenme.......................................................................................................................42
2.3.3.3 Benzetme .......................................................................................................................42
2.3.3.4 Strateji............................................................................................................................42
2.3.3.5 Yöntem...........................................................................................................................42
2.3.3.6 Sezgisel (Heuristic) .........................................................................................................43
2.3.4 Geri Yayılım Algoritması(Back-propagation).........................................................................44
2.3.4.1 Sınıflandırma ..................................................................................................................44
2.3.4.2 Esinlenme.......................................................................................................................44
2.3.4.3 Strateji............................................................................................................................44
2.3.4.4 Sezgisel (Heuristic) .........................................................................................................45
2.4 EVRİMSEL ALGORİTMALAR ..........................................................................................................46
2.4.1 Genel Bakış............................................................................................................................46
2.4.1.1 Evrim ..............................................................................................................................46
2.4.2 Genetik Algoritma .................................................................................................................46
2.4.2.1 Sınıflandırma ..................................................................................................................46
2.4.2.2 Esinlenme.......................................................................................................................46
2.4.2.3 Benzetme .......................................................................................................................46
2.4.2.4 Strateji............................................................................................................................47
2.4.2.5 Yöntem...........................................................................................................................47
2.4.2.6 Sezgisel (Heuristic) .........................................................................................................48
2.4.3 Diferansiyel Evrim .................................................................................................................48
2.4.3.1 Sınıflandırma ..................................................................................................................48
2.4.3.2 Strateji............................................................................................................................48
VI
2.4.3.3 Yöntem...........................................................................................................................49
2.4.3.4 Sezgisel (Heuristic) .........................................................................................................50
2.4.4 Evrim Stratejileri Algoritması ....................................................................................................51
2.4.4.1 Sınıflandırma ..................................................................................................................51
2.4.4.2 Esinlenme.......................................................................................................................51
2.4.4.3 Strateji............................................................................................................................51
2.4.4.4 Sezgisel (Heuristic) .........................................................................................................51
2.5 OLASILIKSAL ALGORİTMALAR.......................................................................................................53
2.5.1 Sıkı Genetik Algoritması (Compact Genetic Algorithm) ........................................................53
2.5.1.1 Sınıflandırma ..................................................................................................................53
2.5.1.2 Esinlenme.......................................................................................................................53
2.5.1.3 Strateji............................................................................................................................53
2.5.1.4 Sezgisel (Heuristic) .........................................................................................................53
2.5.2 Popülasyon-Temelli Artan Öğrenme Algoritması..................................................................54
2.5.2.1 Sınıflandırma ..................................................................................................................54
2.5.2.2 Esinlenme.......................................................................................................................54
2.5.2.3 Strateji............................................................................................................................54
2.5.2.4 Sezgisel (Heuristic) .........................................................................................................54
2.6 STOKASTİK ALGORİTMALAR.........................................................................................................55
2.6.1 Değişken Komşu Arama Algoritması (Variable Neighborhood Search algorithm)................55
2.6.1.1 Sınıflandırma ..................................................................................................................55
2.6.1.2 Strateji............................................................................................................................55
2.6.1.3 Sezgisel (Heuristic) .........................................................................................................55
2.6.2 Açgözlü Randomize Uyabilen Arama (Greedy Randomized Adaptive Search) .....................56
2.6.2.1 Sınıflandırma ..................................................................................................................56
2.6.2.2 Strateji............................................................................................................................56
2.6.2.3 Sezgisel (Heuristic) .........................................................................................................56
2.6.3 Yayılma Araması....................................................................................................................57
2.6.3.1 Sınıflandırma ..................................................................................................................57
2.6.3.2 Strateji............................................................................................................................57
2.6.3.3 Sezgisel (Heuristic) .........................................................................................................57
3. KULLANILAN ARAÇ ve YÖNTEM..............................................................................58
3.1. SİMÜLASYON...............................................................................................................................58
3.1.1. Kullanılacak Programlama Dilleri ve Platformlar .................................................................58
4. TARTIŞMA VE SONUÇ ...................................................................................................59
VII
KAYNAKLAR ........................................................................................................................60
VIII
ŞEKİL LİSTESİ
Şekil 2.1.1: Çift Köprü Deneyi için deneysel sistem..................................................................4
Şekil 2.1.2: Muhtemel inşa grafiği (çizge) örneği. .....................................................................7
Şekil 2.1.3: Karınca Koloni Optimizasyonu Algoritması...........................................................8
Şekil 2.1.4: Birinci geçiş ve birinci geri geçiş. .........................................................................14
Şekil 2.1.5 : İkinci ileri geçiş. ...................................................................................................16
Şekil 2.1.6: Mesafeleri tanımlayan bulanık kümeler. ...............................................................17
Şekil 2.1.7 : BYAOA için sözde kod........................................................................................28
Şekil 2.1.8 : Kemotaksi ve yüzme fonksiyonu için sözde kod. ................................................29
Şekil 2.2.1. : KSA için sözde kod.............................................................................................34
Şekil 2.3.1 : Perceptron için sözde kod.....................................................................................40
Şekil 2.4.1 : Genetik Algoritma için sözde kod........................................................................47
Şekil 2.4.2 : Diferansiyel Evrim Algoritması için sözde kod...................................................49
Şekil 2.4.3: NewSample fonksiyonu için sözde kod. ..............................................................50
IX
SEMBOL LİSTESİ
S : ayrık kararlılık değişkenlerin sonlu kümesi üzerinde tanımlı arama uzayı
ƒ : amaç fonksiyon
s : olası çözüm
s* : global optimum
C : mevcut çözüm bileşenlerinin sonlu kümesi
V : düğümler kümesi
E : kenarlar kümesi
Ω : değişkenler arasında kısıtlamaların kümesi
Δτ : bırakılan feromon miktarı
Gc : çizge
X
KISALTMA LİSTESİ
KKO : Karınca Kolonisi Optimizasyonu
KS : Karınca Sistemi
MMKS : Maksimum-Minumum Karınca Sistemi
KKS : Karınca Koloni Sistemi
AKO : Arı Kolonisi Optimizasyonu
BAS : Bulanık Arı Sistem
STY : Seyahat Talebi Yönetimi
PSO : Parçacık Sürü Optimizasyonu
BYAOA : Bakteri Yiyecek Arama Optimizasyonu Algoritması
YBS : Yapay Bağışık Sistemler
CLONALG : Clonal Selection Algorithm
KSA : Klonal Seçim Algoritması
YSA : Yapay Sinir Ağlarının
DE : Diferansiyel Evrim
XI
ÖZET
DOĞA VE BİYOLOJİ TEMELLİ YAPAY ZEKÂ ALGORİTMALARI
Bu tez çalışmasında, doğanın ve biyolojik canlıların mükemmel yapısından esinlenerek
oluşturulmuş, büyük oranda optimizasyon tekniği olarak kullanılan algoritmalar incelenip,
oluşturulma yöntemleri, çalışma sistemleri ve günlük hayatımızdaki problemlerde nasıl
kullanılmaya çalışıldığı araştırılacaktır. Bu alanda yeteri kadar Türkçe kaynak bulunmadığı
için sadece yabancı kaynak kitap, makale ve web sitesi kullanılacaktır. Daha sonrasında ise
bazı programlama dilleri kullanılarak birkaç problem için bu algoritmalar ile optimizasyon
uygulaması yapılacaktır.
SUMMARY
NATURE and BIOLOGY BASED (INSPIRED) ARTIFICIAL INTELLIGENCE
ALGORITHMS
In this project, I will search the construction procedures, working systems and applying
methods on the real world problems of some algorithms inspired from the perfect structure of
nature and biologic creature. These algorithms are generally used for optimization problems.
In this area there is no enough sources in Turkish therefore, only foreign source books,
articles and websites will be used. And then, some optimization simulations will be made
with using these algorithms for a few problems.
XII
1
1 GİRİŞ
Geleneksel olarak yapay zekâ, insan beyninin bilişsel yeteneklerini kopyalama girişimine
odaklanmıştır. Yapay zekâya alternatif yaklaşımlar daha geniş bir biyolojik çeşitlilikten ilham
alır. Örneğin evrim, öğrenme ve nöronların iletişim ağı gibi. Son 10 yılda daha biyolojik
işlemlerden esinlenilmiş yapay zekâ metotlarının patlaması olmuştur. Örneğin bağışıklık
sistemi, karınca kolonisi, fiziksel şekillenme, birlikte evrim, öz-örgütlenme ve davranışsal
özerklik.
Daha genel manada ilhamın esinlenmenin kaynağı doğadır. Dolayısıyla, hemen hemen bütün
yeni algoritmalar doğa tabanlı(esinlenmeli) algoritma olarak isimlendirilebilir ve bu
algoritmalar biyolojik sistemin bazı başarılı karakteristiği üzerine dayalıdır. Bu nedenle, doğa
tabanlı algoritmaların en büyük kısmı biyoloji temelli veya biyo-temelli kısaca.
Biyo-temelli algoritmaların arasında sürü zekâsından esinlenerek özel bir algoritma sınıfı
geliştirildi. Dolayısıyla biyo-temelli algoritmaların bazısı sürü zekâsı temelli olarak
isimlendirilebilir. Aslında sürü zekâsı temelli algoritmalar en popülerler arasındadır. Bunlara
iyi örnek olarak karınca kolonisi optimizasyonu, parçacık sürü optimizasyonu, guguk kuşu
araştırması, yarasa algoritması ve yıldız böceği algoritması.
Optimizasyonun mühendislik dizaynından ticaret planlamasına, internet yönlendirmeden tatil
planlamasına kadar her yerde olduğunu söylemek abartı olmaz. Hemen hemen tüm bu
faaliyetlerde belirli hedeflere ulaşmak için veya kalite, kar ya da zaman gibi bazı şeyleri
optimize etmek için çalışıyoruz. Kaynak olarak para ve zaman gerçek dünya uygulamaları
için her zaman sınırlı olmuştur. Belirli kısıtlar altında bu değerli kaynakları optimal olarak
yani en iyi şekilde kullanmak için çözümler bulmalıyız. Matematiksel optimizasyon veya
programlama ve matematiksel araçlar kullanarak problem dizayn etme bu planlamanın
çalışmasıdır. Günümüzde bilgisayar simülasyonları, değişik ve verimli arama algoritmaları ile
bu optimizasyon problemlerini çözmek için vazgeçilmez bir araç olmuştur.
2
2. GENEL KISIMLAR
2.1 SÜRÜ ALGORİTMALARI
2.1.1. Karınca Kolonisi Optimizasyonu
2.1.1.1. Genel Bakış
Sürü zekâsı, problem çözme teknikleri arasında kısmen yeni bir yaklaşımdır. Bu yaklaşım
böceklerin ve diğer hayvanların sosyal davranışlarından ilham alır. Özellikle karıncalar birçok
metot ve tekniklere ilham verdiler. Bunların arasında en çok çalışılan ve başarılı olan genel
amaçlı optimizasyon tekniğidir ve karınca kolonisi optimizasyonu olarak bilinir.
Karınca kolonisi optimizasyonu(KKO), bazı karınca türlerinin yiyecek arama
davranışlarından ilham alır. Bu karıncalar bazı avantajlı yolları işaretlemek ve koloninin diğer
üyelerinin de bu yolu kullanmaları için feromon denen bir salgıyı zemine bırakırlar. Karınca
kolonisi optimizasyonu, optimizasyon problemlerini çözmek için benzer bir mekanizmayı
kullanır. Doksanların başında, ilk karınca kolonisi optimizasyonu algoritması önerildiği
3
zaman, KKO birçok artan sayıda araştırmacının dikkatini çekti ve birçok başarılı uygulamalar
şu anda mevcut.
2.1.1.2. Esinlenme
Fransız böcekbilimci Pierre-Paul Grasse 1940 ve 1950‘erde, beyaz karıncaların bazı türlerinin
” özel uyarıcı” diye isimlendirdiği maddeye tepki gösterdiğini gözlemledi. Bu reaksiyonların
etkilerinin hem onu üreten böcek hem de koloninin diğer üyeleri için yeni bir özel uyarıcı
olarak hareket ettiğini gözlemledi. Grasse, içinde çalışanların kendi başarmış olduğu
performans tarafından yine kendilerinin uyarıldığı bu özel iletişim tipini tanımlamak için
“stigmergy” terimini kullandı.
Stigmergy’ nin 2 ana karakteristik özelliği kendini diğer iletişim tiplerinden ayırır:
Stigmergy, çevre tarafından vasıta olunan direk olmayan ve sembolik olmayan iletişim
biçimidir: böcekler çevrelerini değiştirerek bilgi alış verişi yaparlar.
Stigmergy bilgisi yereldir: bu bilgi sadece onun bırakıldığı yere(veya çok yakınına) giden
böcekler tarafından elde edilebilir.
Stigmergy’ nin örnekleri karıncaların kolonisi içinde gözlemlenebilir. Birçok karınca türü
içinde, karıncalar yiyecek kaynağı bulmak için rastgele gezinirler. Yiyecek yeri saptandıktan
sonra çevre içinde feromon adı verilen bir madde bırakmaya başlarlar. Diğer karıncalar bu
feromonu algılarlar ve feromonun yoğun olduğu yolu takip etme eğilimini gösterirler. Birçok
gezi gerçekleştirilir yiyecek ve koloni arasında ve eğer yiyeceğe götüren aynı rota takip
edilirse ilave feromonlar yere bırakılır. Bu mekanizma sayesinde karıncalar dikkate değer
etkili bir yolla yiyeceği yuvalarına taşırlar. Böylece pozitif geri besleme işlemi daha fazla
karıncayı bu verimli yola yönlendirir ve bu yol sırayla yeni kullanımlar sayesinde saflaştırılır
yani yeni feromonlar bıraklır. Feromonlar çevrede zamanla çürür giderler dolayısıyla eski
yolların takibi olasılığı düşüktür.
Deneubourg, karıncaların feromon bırakmaları ve takip eden davranışını tam anlamıyla
araştırdı. “Çift köprü deneyi” olarak bilinen deney içinde, karınca kolonisinin yuvası eşit
uzunluktaki köprüler sayesinde yiyecek kaynağına bağlandı (Şekil 2.1.1. (a)). Bu sistem
içinde karıncalar yuvanın etrafını keşfetmeye başladılar ve sonunda yiyecek kaynağına
ulaştılar. Karıncalar yiyecek kaynağı ve yuvaları arasındaki yolları boyunca yere feromon
bıraktılar biriktirdiler. İlk başta her karınca köprülerden birini rastgele seçer. Bununla birlikte
4
rastgele dalgalanmadan dolayı bir müddet sonra köprülerden biri daha yüksek feromon
yoğunluğu sergiler ve dolayısıyla daha fazla karınca çeker. Bu, daha fazla feromon miktarını
bu köprü üstüne getirir ve belli bir zaman sonra bütün koloninin aynı köprüyü kullanımı
sonucu ile onu daha çekici yapar.
Bu koloni düzeyi davranış otokataliz temellidir, pozitif geri besleme kullanımına dayanır ve
karıncalar tarafından yuvaları ve yiyecek kaynağı arasındaki en kısa yolu bulmada kullanılır.
Goss çift köprü deneyinin bir değişiğini dikkate aldı ve bu deneyde köprülerden biri
diğerinden özellikle uzun (Şekil 2.1.1. (b)). Bu durumda, ilk köprü seçiminde rastgele
dalgalanma azaltılır ve ikici mekanizma önemli bir rol oynar: şans ile kısa köprüyü seçen
karıncalar yuvaya ilk ulaşır. Dolayısıyla kısa köprü, feromonu diğerinden daha erken alır ve
bu olay diğer karıncaların uzun köprüden daha ziyade kısa köprüyü seçme olasılığını artırır.
Goss gözlemlenen davranışın bir modelini geliştirdi: varsayalım belli bir zamanda m1 süresi
içinde karıncalar birinci köprüyü kullandı ve m2 süresi içinde de ikinci köprüyü, bu durumda
bir karınca için birinci köprüyü seçme olasılığı p1:
Burada k ve h deneysel veri olarak yerleştirilmiş, p2 = 1 − p1. Monte Carlo simülasyonları k
≈ 20 ve h ≈ 2 için çok iyi bir uyma gösterdi.
Şekil 2.1.1: Çift Köprü Deneyi için deneysel sistem.
2.1.1.3. Optimizasyon Tekniği
Deneubourg ve çalışma arkadaşları tarafından, karıncaların yiyecek arama davranışlarını
açıklamak için önerilen model, karınca kolonisi optimizasyonunun gelişimi için ilhamın ana
kaynağıydı. KKO içinde, yapay karıncaların bir miktarı, eldeki optimizasyon problemi için
5
çözümler üretir ve ayrıca çözümlerin kalitesi hakkında bilgi değişimi yaparlar, gerçek
karıncalar tarafından benimsenmişi hatırlatan plan vasıtasıyla. Farklı KKO algoritmaları
önerildi. Orijinal KKO algoritması “Karınca Sistemi” olarak bilinir ve doksanların başında
önerildi. O tarihten itibaren bir takım diğer KKO algoritmaları tanıtıldı. Bütün KKO
algoritmaları aynı düşünceyi paylaşır. Bir sonraki bölüm, genel KKO algoritmalarının basit
terimler içinde seyahat eden satış elemanına nasıl uygulandığını tarif eder. Sonraki kısım ise
daha formel bir tarif verir.
2.1.1.4 Seyahat Eden Satış Elemanı Problemi için KKO
Seyahat eden satış elemanı problemi için bir şehir kümesi verilir ve onların her birinin
aralarındaki mesafe bilinir. Amaç bütün şehirlere sadece bir defa seyahat etmeyi sağlayan en
kısa turu bulmak. KKO içinde problem, grafik üzerinde hareket eden bir takım yapay
karıncaları simüle ederek ele alınır. Grafik kendisi problemi şifreler: her düğüm bir şehri ve
her kenar bir bağlantıyı temsil eder. Feromon diye isimlendirilen değişken her bir kenara aittir
ve karıncalar tarafından okunabilir ve değiştirilebilir.
Karınca kolonisi optimizasyonu tekrarlayan bir algoritmadır. Her bir tekrarlamada bir takım
karıncalar dikkate alınır. Onların her biri grafik üzerinde uğradığı bir düğüme tekrar
uğramama kısıtı ile bir düğümden diğerine yürüyerek bir çözüm üretir. Çözüm inşasının her
basamağında bir karınca uğramak için bir sonraki düğümü, feromon tarafından etkilenen
rastgele mekanizmasına göre seçer: düğüm i’nin içindeyken bir sonraki düğüm seyahet
edilmemişlerin arasından rastgele seçilir(şekil 2.1.2). Özellikle eğer j daha önce seçilmemiş
ise kenar(i,j) ‘e ait feromonla orantılı bir olasılıkla seçilebilir.
Tekrarlamanın sonunda, karıncalar tarafından oluşturulan çözümlerin kalitesinin temelinde,
daha önceden oluşturulmuş en iyi çözümlere benzer çözümler oluşturmak ve gelecek
tekrarlamalarda karıncaları etkilemek için feromon değerleri değiştirilir.
2.1.1.5. Karınca Kolonisi Optimizasyonu Üstsezgisel (Metaheuristic)
Karınca kolonisi optimizasyonu, kombinasyonel optimizaston problemleri için Dorigo ve
çalışma arkadaşları tarafından metaheuristic içine formalize edildi. Metaheuristic, farklı
problemlerin geniş bir kümesine uygulanabilir bulgusal metodları tanımlamak için kullanılan
algoritmik konseptlerin kümesidir. Diğer bir deyişle üstsezgisel (metaheuristic) , kısmen
birkaç değişiklik ile farklı optimizasyon problemlerine uygulanabilen genel amaçlı algoritmik
framework(uygulama iskeleti). Üstsezgisellerin örnekleri tabu search(araştırma), simulated
6
annealing(tavlama benzetimi), iterated local search(yinelemeli lokal arama) ve karınca
kolonisi optimizasyonu.
KKO’ nu verilen bir kombinasyonel probleme uygulamak için yeterli bir modele ihtiyaç
duyulur:
Kombinasyonel optimizasyon problemi model P = (S, Ω, ƒ) şunlardan oluşur:
1-Ayrık kararlılık değişkenlerin sonlu kümesi üzerinde tanımlı arama uzayı S
xi, i = 1, . . . , n;
2- Değişkenler arasında kısıtlamaların Ω kümesi ve
3- Amaç fonksiyon
Genel değişken xi değerleri içinden alır. Olası çözüm s ∈ S , Ω kümesi
içindeki bütün kısıtları sağlayan değişkenlere değerlerin tam bir atamasıdır. Çözüm s∗ ∈ S
global optimum olarak isimlendirilir eğer sadece f (s∗) ≤ f (s) ∀s ∈ S.
Kombinasyonel optimizasyon probleminin modeli, KKO nun feromon modelini tanımlamaya
kullanılır. Bir feromon değeri her muhtemel çözüm bileşenine aittir; bir değerin her
muhtemel atamasıyla. Formel olarak feromon değer τij çözüm bileşeni cij ye aittir, bu xi = vi
j
den meydana gelir. Bütün muhtemel çözüm bileşenleri C ile sembol edilir.
KKO içinde, yapay bir karınca bütün düğümleri birbirine bağlanmış yapı
grafiğini(construction graph) GC (V,E) travers ederek bir çüzüm inşa eder. Burada V
düğümler kümesi ve E kenarlar kümesi. Bu grafik C çözüm bileşenleri kümesinden iki yolla
elde edilebilir: bileşenler düğüm veya kenarlar tarafından temsil edilebilir. Yapay karıncalar
grafiğin kenarları boyunca düğümden düğüme hareket eder, artarak kısmi çözüm oluşturur.
Ek olarak, karıncalar belli bir miktarda feromonu bileşenlerin üzerine bırakır; bu üzerinde
yürüdüğü kenar da olabilir düğüm de olabilir. Bırakılan feromonun miktarı Δτ bulunan
çözümün kalitesine bağlı olabilir. Sonra gelen karıncalar feromonu arama uzayının umut
verici bölgelerine doğru bir rehber olarak kullanılır. Seyahat eden satış elemanı probleminde
çözüm, n değişkenin bir seti vasıtasıyla temsil edilebilir, burada n şehir sayısıdır. Bu
değişkenlerin her biri bir şehre aittir. Değişken xi şehir i’ den sonra ziyaret edilecek şehri
gösterir. Burada çözüm bileşenleri, verilen sıra içinde ziyaret edilecek şehirlerin çiftidir.
Çözüm bileşeni cij = (i,j) şunu gösterir şehir j şehir i’ den hemen sonra ziyaret edilmeli. Bu
7
durumda, yapı grafiğinin düğümleri seyahat eden satıcı probleminin şehri ve kenarlar da
çözüm bileşenleridir. Sonuç olarak karıncalar feromonu yapı grafiğinin kenarlarına bırakırlar.
Şuna dikkat edilmeli, yapı grafiği düğümlerin çözüm kümesi olarak temsil edilmesiyle elde
edilebilr. Bu durumda feromon, düğümler üzerinde biriktirilir. Seyahat eden satış elemanı
problemi için yapı grafiği elde etmenin ikinci yolu daha az doğal gözükmesine rağmen, o
yinede doğrudur. Dört şehirli seyahat eden satış elemanı problemi için yapı grafiği
tanımlamanın iki yolu Şekil 2.1.2 de gösterilir.
Şekil 2.1.2: Muhtemel inşa grafiği (çizge) örneği.
KKO üstsezgisel(metaheuristic) Şekil 1.3’ teki algoritima içinde gösterilir. Ön değer atamadan
sonra(initialization), üstsezgisel üç faz üzerinde yineler. Her bir yinelemede karıncalar
tarafından birkaç çözüm oluşturulur. Bu çözümler daha sonra yerel arama(local search) ile
geliştirilir(bu adım isteğe bağlı). Aşağıda bu üç fazın daha geniş bir tanımını göreceksiniz.
Karınca Çözümleri İnşası(ConstructAntSolutions): m yapay karıncaların kümesi, mevcut
çözüm bileşenlerin sonlu kümesinin(C={cij)}) elemanlarından çözümler inşa ederler.
C={cij)},i=1,...,n,(j=1,...,|Di|).
Çözüm yapımı, boş bir kısmi çözümden başlar sp
= ∅. Her inşa basamağında, N(sp
)⊆C
kümesinden uygun bir çözüm bileşeni ile kısmi çözüm kümesi sp
genişletilir. N kümesi, Ω
kümesinin hiçbir kısıtlamasını delmeden, kısmi çözüm kümesine eklenebilen bileşenlerin
8
kümesi olarak tanımlanır. Çözümlerin inşası işlemi, yapı grafiği GC = (V, E) üzerinde yürüme
olarak dikkate alınabilir.
Çözüm bileşeninin N kümesinden seçimi, rastgele mekanizması ile rehberlik edilir. Bu seçim
N kümesine ait her bir elemana ait olan feromon ile etkilenir. Çözüm bileşenlerinin rastgele
seçimi için kural, algoritmadan algoritmaya değişir. Fakat bütün hepsi içindeki bu kural, daha
önce yukarıda denklem 1’ de verilen gerçek karıncaların davranışlarının modelinden
esinlenilmiştir.
Lokal Arama Uygulama (ApplyLocalSearch): Çözümler oluşturulduktan sonra ve feromon
değiştirilmeden, karıncalar tarafından elde edilen çözümleri lokal arama vasıtasıyla
geliştirmek yaygındır. Bu aşama büyük ölçüde probleme özgüdür. Modern algoritmalar içinde
dahil olmasına rağmen isteye bağlıdır.
Feromonları Değiştirme(UpdatePheromones): Feromon değiştirmenin amacı, iyi ve umut
verici çözümlere ait feromonları artırmak ve kötü olanlara ait olanları da düşürmek. Bu
değiştirme genellikle, feromon buharlaştırma (pheromone evaporation) sayesinde bütün
feromon değerleri düşürülerek ve seçilen iyi çözümlerin kümesine ait feromon düzeyini de
artırarak başarılır.
Şekil 2.1.3: Karınca Koloni Optimizasyonu Algoritması.
2.1.1.6. Temel KKO Algoritmalar
Bir çok KKO algoritmaları sunuldu literatür içinde. Bu bölümde orijinal Karınca Sistemi ve
çok başarılı iki değişik biçimi gösterilecek: MAX-MIN Karınca Sistemi ve Karınca Koloni
Sistemi. Bu algoritmalar arasındaki farklılıkları göstermek için seyahat eden satıcı problemini
somut örnek olarak kullanacağız.
2.1.1.7. Karınca Sistemi(KS)
9
Karınca Sistemi, literatür içinde ilk sunulan KKO algoritmasıdır. Onun ana karakteristiği,
kendi yinelemesi içinde bir çözüm üretmiş olan m tane karınca tarafından feromon değerleri
her yinelemede güncellenmesidir. Feromon τij, i ve j şehirleri birleştiren kenara aittir ve şöyle
güncellenir:
Burada p buharlaşma oranı, m karıncaların sayısı ve Δτ karınca k tarafından kenar (i,j)
üzerinde bırakılmış feromon miktarıdır.
Q/Lk, eğer karınca k, turu içinde (i,j) kenarını kullandıysa ve 0 aksi takdirde.
Burada Q sabit ve Lk karınca k tarafından oluşturulan turun uzunluğudur.
Bir çözümün oluşumu içinde, karıncalar seyahat edilecek şehri rastgele mekanizması aracılığı
ile seçer. Karınca k şehir i içinde ve şimdiye kadar kısmi çözüm sp
inşa ettiği zaman, şehir j ye
gitme olasılığı şöyle verilir:
Burada N(sp
) yapılabilir bileşenlerin kümesidir; kenar (i,l) burada l, karınca k tarafından
henüz ziyaret edilmemiş bir şehirdir. Parameterler α ve β, deneysel bilgi olan ηij‘ e karşı
feromonun ilgili önemini kontrol eder.
Burada dij, şehir i ve şehir b arasındaki mesafedir.
2.1.1.8. MAX-MIN Karınca Sistemi(MMKS)
10
Bu algoritma orijinal Karınca Sistemi üzerinde bir ilerlemedir. Onun ayırt edici özelliği,
sadece en iyi karınca günceller feromon izini ve bu feromonun değeri sınırlıdır. Feromon
güncellemesi şöyledir:
Burada τmax ve τmin sırayla feromonun etkilendiği üst ve alt sınırlarıdır; operator [x]b
a
şöyle
tanımlanır:
Ve :
Burada Lbest en iyi karıncanın yaptığı turun uzunluğudur. Bu (algoritmanın dizaynına bağlıdır)
mevcut yinelemenin içinde bulunan en iyi tur olabilir(iteration-best, Lib) ya da algoritmanın
başlamasından itibaren bulunan en iyi çözüm de olabilir(best-so-far, Lbs) veya her ikisinin
birleşimi de olabilir.
Alt ve üst sınırı hakkında feromon değerlerin (τmin ve τmax), onlar tipik olarak deneysel elde
edilir ve dikkate alınan özel probleme ayarlanır. Yine de bazı yönergeler esaslar sağlandı τmin
ve τmax’ ı, göz önüne almanın analitiksel temelinde tanımlamak için.
2.1.1.9. Karınca Koloni Sistemi (KKS)
11
KKS’ nin en önemli katkısı, oluşturma işleminin sonunda icra edilen feromon güncellemesine
(offline pheromone update olarak isimlendirilir) ek olarak yerel feromon güncelleştirmesinin
tanıtımıdır.
Yerel feromon güncellemesi, her inşa basamağından sonra bütün karıncalar tarafından
gerçekleştirilir. Her karınca onu son yürünen(traversed) kenara uygular:
Burada ϕ ∈ (0, 1] feromon çürüme katsayısıdır ve τ0 feromonun ilk değeridir.
Lokal güncellemenin ana amacı bir yineleme esnasında, sonraki karıncalar tarafından icra
edilen aramayı çeşitlendirmek: seyahat edilen kenardaki feromon yoğunluğunu azaltarak,
karıncalar daha sonra gelen karıncaları farklı çözümler üretmek için diğer kenarları seçmeye
cesaretlendirirler. Bu işlem, bir yineleme esnasında birçok karıncanın benzer çözümler
üretmesini, daha az muhtemel yapar.
Çevrim dışı feromon güncelleme(The offline pheromone update) MMKS ‘ye benzer bir
şekilde yinelemenin sonunda sadece bir karınca tarafından uygulanır. Bu (iteration-best veya
the best-so-far) en iyi yineleme veya şimdiye kadar en iyi olabilir. Bununla birlikte
güncelleme formülü hafifçe değişik:
MMKS ‘de olduğu gibi Δτij=1/Lbest, burada Lbest şu ikisinden biri olabilir, Lib veya Lbs.
KKS ve KS arasındaki diğer bir farklılık inşa işlemi sırasında. KKS içinde pseudorandom
diye isimlendirilen kural kullanılır : bir karınca için şehir i ’ den j ‘ye seyahat etme olasılığı
rastgele q değerine bağlıdır ve bu değer [0,1) üzerinde eşit olarak dağıtılmıştır. Ve parameter
q0, aksi takdirde denklem 4 kullanılır.
12
2.1.2 Arı Kolonisi Optimizasyonu
2.1.2.1. Genel Bakış
Arıların kendini örgütlemesi, diğerlerine nazaran basit birkaç bireysel böcek davranışı
kurallarına dayanır. Büyük bir sayıda farklı sosyal böcek türlerinin ve onların değişik
davranışsal modellerinin oluşumuna rağmen, böceklerin bireylerini karışık birçok konuları
görevleri icra eden olarak tanımlamak mümkündür. En iyi örnek, arıların nektar toplaması ve
onu işlemeleridir. Bu pratik son derece organize edilmiştir. Her bir arı nektar kaynağına
ulaşmak için daha önceden çiçeklerin bulunduğu araziyi keşfetmiş bir arıyı yani kovan
arkadaşını takip etmeye karar verir. Her bir arı kovanı, dans yeri diye isimlendirilen bir yere
sahiptir. Burada nektar kaynağı keşfetmiş arılar dans eder ve bu yolla kovan arkadaşlarını
ikna etmeğe çalışır kendilerini takip etmeleri için. Eğer bir arı nektar toplamak için kovanı
terk etmeğe karar verirse, dans eden arılardan birini takip eder nektar alanlarından birine
doğru. Yem arayan arı alana vardıktan sonra nektar yükünü alır ve kovana geri döner nektarı
yiyecek depolamadan sorumlu arıya bırakmak için. Yükünü bıraktıktan sonra arı (a) nektar
kaynağından vazgeçebilir ve tekrardan kararsız bağımsız takipçi olabilir (b) yiyecek aramağa
devam eder nektar kaynağı alanda, kovan arkadaşlarını toplamaksızın veya (c) dans eder ve
böylece arkadaşlarını toplar, sevk etmeğe çalışır nektar alanına dönmeden önce. Arı bu üç
seçenekten birini icra eder belli bir olasılıkla. Dans alanında arı dansçılar farklı yiyecek
alanlarını reklam eder. Arıların hangi dansçı arıyı takibe karar vermeleri için kullandıkları
mekanizma tam olarak anlaşılamamıştır. Ancak arılar arasındaki sevk yönlendirme, yiyecek
13
kaynağının kalitesinin fonksiyonudur. Ayrıca bütün arılar aynı anda yem aramağa
başlamazlar. Deneyler onaylamıştır ki, yeni arılar yem aramağa belli bir oranda başlar. Bu
oranda, olası toplam sayı ile şu anda yem arayan sayıların farkıyla orantılıdır.
Burada anlatılan Arı Kolonisi Optimizasyonu (AKO) arı sisteminin ileri gelişimini,
genellemesini sunar. AKO’nun temel özelliklerini tanıtır. Bizim yapay arı kolonimiz kısmen
benzer ve kısmen farklı davranır doğadaki arı kolonisinden. Belirsizlikle karakterize edilmiş
kombinatoryal optimizasyon problemlerini çözme yeteneğine sahip olan Bulanık Arı Sistem
(BAS) ayrıca tanıtılacaktır. BAS içindeki yapay arılar iletişimleri içinde yaklaşık akıl yürütme
ve bulanık mantık kurallarını kullanır.
2.1.2.2.Üstsezgisel (Metaheuristic)
Arı Kolonisi Optimizasyonu üstsezgisel içinde arıları yapay arı olarak isimlendiririz. Yapay
arılar birlikte çalışırlar zor kombinatoryal problemleri çözmek için. Arama işlemi
başlangıcında bütün arılar kovanın içinde bulunurlar. Arama işlemi esnasında yapay arılar
direk iletişime girerler. Her yapay arı yerel hareketlerin bir serisini yapar. Bu yolla problemin
bir çözümünü artarak inşa eder. Arılar çözüm bileşenlerini şu anki kısmi çözüme ekler,
yapılabilir bir veya daha fazla çözüm oluşturana kadar. Arama işlemi yinelemelerden oluşur.
Birinci yineleme, arılar ilk defa bir ya da daha fazla çözüm ürettiği zaman biter. Yineleme
esnasında keşfedilen en iyi çözüm kayıt edilir ve ikinci yineleme başalar. İkinci yineleme
içinde arılar tekrar problemin çözümünü artarak inşa ederler. Her bir yineleme sonunda bir ya
da daha fazla kısmi çözüm olur. Çözüm yapıcı analist belirtir toplam yineleme sayısını.
Yapay arılarımız alan boyunca uçtuğu zaman “ileri geçiş” ve “geri geçiş” icra ederler. İleri
geçiş esnasında arılar değişik kısmi çözümler üretir. Onlar bunu geçmişten ortak deneyim ve
bireysel keşiflerinin birleşimiyle yaparlar.
Daha sonra arılar geri geçiş yaparlar örneğin kovana geri dönerler. Kovan içinde bütün arılar
“karar verme” işlemine katılır. Her arının, diğer arılar tarafından üretilen çözümlerin kalitesi
hakkında bilgi elde edebildiğini varsayıyoruz. Bu yolla arılar oluşturulan kısmi çözümlerin
kalitesi hakkında bilgi alış verişi yaparlar. Arılar bütün üretilen kısmi çözümleri
karşılaştırırlar. Üretilen kısmi çözümlerin kalitesine dayanarak her arı bir karar verir.
Oluşturulan kısmi çözümden vazgeçerek tekrardan bağımsız bir takipçi olabilir, dans
yapmadan yani arıları ikna etmeğe çalışmadan aynı kısmi çözümü genişletebilir, ya da dans
yapar ve arıları ikna etmeğe çalışır üretilen kısmi çözüme dönmeden önce. Üretilen kısmi
çözümün kalitesine bağlı olarak her arı önceden keşfedilmiş kısmi çözüme götüren yola karşı
14
belli bir bağlılık düzeyine sahiptir. İkinci ileri geçiş esnasında arılar, önceden üretilmiş kısmi
çözümleri genişletirler. Daha sonra yeniden geri geçiş icra ederler ve kovana geri dönerler.
Kovan içinde arılar tekrardan karar verme işlemine katılırlar ve üçüncü ileri geçiş icra ederler
ve böyle devam ederler. Yineleme bir ya da daha fazla uygulanabilir çözümler üretildiği
zaman sona erer. Dinamik programlamaya benzer şekilde, ayrıca AKO kombinatoryal
problemleri aşamalar içinde çözer (Şekil 2.1.4). Sonlu önceden seçilmiş aşamalar kümesini
ST={st1, st2,…,stm} ile sembol edelim. Burada m aşamaların numarası. B ile arama işlemine
katılan arıları ve I ile de toplam yineleme sayısını sembol ediyoruz. Kısmi çözüm kümesi
aşama stj de Sj (j= 1,2,…,m).
Şekil 2.1.4: Birinci geçiş ve birinci geri geçiş.
Arı kolonisi optimizasyonu Algoritması
(1) Initialization. Arıların sayısı B ve yineleme sayısı I belirle.
Aşamaların kümesi ST ={st1,st2,…,stm} seç.
Problemin her hangi bir yapılabilir makul çözümü x bul.
Bu çözüm ilk en iyi çözüm.
15
(2) i=1 ata. i = I olana kadar, aşağıdaki adımları yinele:
(3) j=1 ata. j=m olana kadar, aşağıdaki adımları yinele:
İleri geçiş: Arıların kovandan uçmasına ve B kısmi çözümleri seçmesine izin ver kısmi
çözümler kümesi Sj den aşama stj de.
Geri geçiş: Bütün arılar geri kovana gönder. Arıların oluşturulan kısmi çözümlerin kalitesi
hakkında bilgi alış verişine izin ver. Ayrıca üretilen kısmi çözümden vazgeçip geçmeceyi
ve tekrardan bağımsız bir takipçi olmasına, devam edip dans yapmaksızın aynı kısmi
çözümü genişletmesine ya da dans yapıp arkadaşlarını toplamasına izin ver üretilen kısmi
çözüme geri dönmesinden önce. j=j+1 atama yap.
(4) Eğer en iyi bilinen çözümden daha iyi en iyi çözüm xi elde edilirse i ninci yinelemede,
en iyi bilinen çözümü güncelle.
(5) i=i+1 atama yap.
Alternatif olarak, ileri ve geri geçişler bazı diğer durdurma şartları karşılana kadar icra edilir.
Muhtemel durdurma şartları örneğin ileri/geri geçişlerin maksimum toplam sayısı ya da iki
amaç fonksiyon değer gelişimi arasındaki ileri/geri geçişlerin maksimum toplam sayısı.
İleri geçiş esnasında arılar belli bir sayda düğümleri ziyaret edecek ve kısmi çözüm
üretecektir. Daha sonra kovana(düğüm O) geri dönecektir. Kovan içinde arılar karar verme
işlemine katılacaktır. Arılar üretilen bütün kısmi çözümleri karşılaştıracaktır. Üretilen kısmi
çözümlerin kalitesine bağlı olarak her arı karar verecektir üretilen yoldan vazgeçip bağımsız
bir takipçi olup olmayacağına, dans etmeksizin keşfedilen yol boyunca devam edip
etmeyeceğine ya da dans yapar ve böylece arkadaşlarını toplar ikna etmeğe çalışır keşfedilen
yola devam etmeden önce. Üretilen kısmi çözümlerin kalitesine bağlı olarak, her arının daha
önce keşfedilen yola belli bir bağlılığı vardır. Örneğin arı B1, B2 ve B3 karar verme işlemine
katıldı. Üretilen bütün kısmi çözümleri karşılaştırdıktan sonra B1 daha önceden üretilen
yoldan vazgeçmeye ve arı B2 ye katılmaya karar verir.
Arılar B2 ve B1, B2 tarafından üretilen yol boyunca beraber uçarlar. Onlar yolun sonuna
ulaştıkları zaman ziyaret edilecek bir sonraki düğüm hakkında bireysel karar verebilirler. Arı
B3 keşfedilen yol boyunca uçmaya devam edecektir arkadaşlarını sevk etmeksizin(Şekil 2.1.5).
Bu yolla arılar tekrar ileri geçiş icra ederler. İkinci ileri geçiş esnasında arılar birkaç düğüm
daha ziyaret edecek, oluşturulmuş kısmi yolu genişletecek ve tekrar geri geçiş icra ederek
16
kovana(düğüm O) geri döneceklerdir. Kovan içinde arılar tekrar karar verme işlemine
katılacak, karar verecek ve üçüncü ileri geçişi icra edeceklerdir… Yineleme bütün düğümler
ziyaret edildikten sonra bitecektir.
Şekil 2.1.5 : İkinci ileri geçiş.
Önerilen AKO Üstezgisel(Metaheuristic) içinde, arıların davranışlarını tanımlayan birçok
değişik algoritmalar geliştirilebilir ve test edilebilir. Bu algoritmalar, arıların oluşturulmuş
olan kısmi çözümden vazgeçip geçmeme kararını, arkadaşlarını ikna etme çabasına girmeden
aynı yolu kullanmaya devam edip genişletmesi ya da oluşturulmuş yola dönmeden önce dans
ederek arkadaşlarını ikna etmeye çalışması yollarını tanımlamalıdır.
2.1.2.3. Bulanık Arı Sistemi Tarafından Yolculuk Eşleştirme Probleminin Çözümü
Şehir yol ağları birçok ülkede aşırı derecede sıkışık. Buda yolculuk sürelerinin artmasına,
durma sayısının artmasına, beklenmedik gecikmelere, daha yüksek seyahat maliyetlerine,
sürücü ve yolculara zahmet, hava kirliliğinin artmasına ve trafik kazalarının sayısının
artmasına sebep oluyor.
Trafik ağı kapasitelerini daha fazla yol yaparak genişletmek aşırı maliyetli ve aynı şekilde
çevresel olarak hasar veriyor. Var olan kaynakların daha verimli kullanımı çok önemli, artan
seyahat talebini karşılayabilmek için. Yolculuk paylaşımı tekniği, genişçe yayılmış Seyahat
Talebi Yönetimi (STY) tekniklerinden bir tanesidir. Bu teknik iki veya daha fazla kişilerin
katılımını varsayar yani birkaç noktadan birkaç varış noktasına seyahat ettikleri zaman hep
birlikte araç paylaşımı yaparlar. Yolculuk paylaşımına katılan bütün sürücüler gelecek hafta
için planlanmış yolculuğa ilişkin aşağıdaki bilgileri operatöre sunarlar : (a) Araç kapasitesi
(2,3 veya 4 kişi). (b) Kişinin yolculuk paylaşımına hazır olduğu hafta içinki günler.
17
(c)Yolculuk başlangıç noktası hafta içindeki her gün için. (d)Varış noktası hafta içindeki her
gün için. (e) Kalkış ve/veya varış süresi haftadaki her gün için.
Yolculuk paylaşımı problemi şu şekilde ifade edilebilir: Mümkün olan en iyi yolla bütün hafta
için yolcuların ve araçların planlanması ve güzergâh belirlenmesi yapımı. Potansiyel amaç
fonksiyonlar: (a) Bütün katılımcılar tarafından seyahat edilen mesafeyi azalt. (b) Toplam
gecikmeyi azalt. (c) Araç kullanımını nispeten eşit yap. İstenen ayrılış ve/veya varış süreleri
belirtildiği zaman belirleyici yani rastgele olmayan(deterministic) kombinatoryal
optimizasyon problemiyle karşılaşırız(örneğin “Saat tam 8 de alınmak istiyorum.”). Diğer
taraftan bir çok gerçek hayat durumlarında istenen ayrılış ve/veya varış zamanı
bulanıktır(“Saat 8 civarı alınmak istiyorum”). Bu durumda, yolculuk eşleştirme problemi
belirsizlikle karakterize edilmiş kombinatoryal problemi olarak ele alınmalıdır. Tanımlanan
problemi Bulanık Arı Sistemi ile çözeriz.
2.1.1.4 Bulanık Arı Sistemi
Arılar en iyi çözümü ararken birçok defa karar verme problemiyle karşılaşırlar. Aşağıdakiler
arıların seçim ikilemleridir: (a) Kısmi çözüme eklenecek bir sonraki çözüm bileşeni nedir. (b)
Kısmi çözümden vazgeçilmeli mi geçilmemeli mi? (c)Aynı kısmi çözüm genişletilmeli mi
dans etmeksizin yoksa genişletilmemeli mi?
Şekil 2.1.6: Mesafeleri tanımlayan bulanık kümeler.
Seçim modellerinin çoğu rastgele fayda modelleme kavramına dayanır. Bu yaklaşımlar
yüksek oranda mantıklıdır ve onlar, karar vericilerin mükemmel bilgi işleme ve her zaman
mantıklı bir şekilde davranma yeteneğine sahip olduğu varsayımlarına dayanır(faydayı
artırmayı denemek). Alternatif modelleme yaklaşımı sunmak için, araştırmacılar daha az
normativ teoriler kullanmaya başladılar. Beklenmedik durum, belirsizlik ve sözel vurgulanmış
gözlemler için bulanık kümeler teorisinin temel kavramları, sözel değişkenler, yaklaşık akıl
yürütme ve kelimelerle hesaplama daha anlaşılır. Bu düşünceleri takip ederek, arılar
18
tarafından algılanan miktar bulanıktır varsayımından başlarız seçim modelimiz içinde. Yapay
arılar yaklaşık akıl yürütme(muhakeme, düşünme) ve bulanık mantık kurallarını kullanırlar
kendi iletişimleri ve davranışları içinde. Arılar j’ninci aşama esnasında kovandan uçar ve B
kısmi çözümleri seçerler Si kısmi çözümler kümesinden aşama stj de(ileri geçiş). Çözüm
bileşenini ileri geçiş esnasında şu anki kısmi çözüme eklerken, belirli arı belirli çözüm
bileşenini “az çekici”, “çekici” veya “çok çekici” olarak algılar. Ayrıca yapay arıların belirli
bir özelliği “kısa”, “orta” veya “uzun” (Şekil 2.1.6) “ucuz”, “orta” veya “pahalı” ve benzeri
olarak algılayabildiğini varsayarız.
2.1.2.5. Çözüm Bileşeni Çekiciliğini Hesaplama ve Kısmi Çözüme Eklenecek Bir Sonraki
Çözüm Bileşeninin Seçimi
Çözüm bileşeni çekiciliğini hesaplamak için yaklaşık akıl yürütme algoritması aşağıdaki
tiplerin kurallarından oluşur:
Eğer(If) çözüm bileşeninin özellikleri ÇOK İYİ
Sonra(Then) dikkate alınan çözüm kümesi ÇOK ÇEKİCİ
Çözüm bileşeni çekiciliğini hesaplamak için yaklaşık akıl yürütme algoritması kullanmanın
temel avantajı eğer girdi verilerin bazıları sadece yaklaşık olarak bilinse bile çözüm bileşeni
çekiciliğini hesaplamak mümkün. Çözüm bileşeni i’nin çekicilik değerini fi ile sembolize
edelim. Kısmi çözüme eklenecek çözüm bileşeni i’nin olasılığı pi; fi’ nin bütün dikkate alınan
çözüm bileşeni çekiciliği değerlerinin toplamına bölümüdür.
Yapay arılar kısmi çözüme eklenecek bir sonraki çözüm bileşenini seçmek için, “rulet
tekerlek seçimi” diye bilinen orantılı seçimi kullanırlar.(Ruletin kısımları, pi olasılıklarına
orantı içindedir.) Rulet tekerlek seçimine ek olarak diğer birçok seçim yolları kullanılabilirdi.
2.1.2.6 Arıların Kısmi Çözümleri Karşılaştırma Mekanizması
Arıların kısmi çözümleri karşılaştırması mekanizmasını tanımlamak için kısmi çözüm
kusurluluğu(badness) kavramını tanıtırız. Kısmi çözüm kusurluluğunu şu şekilde tanımlarız:
19
Burada:
Lk - k’nıncı arı tarafından keşfedilen kısmi çözümün kusurluluğu
L(k)
- k’nıncı arı tarafından keşfedilen kısmi çözümün amaç fonksiyon değerleri
Lmin - arama işleminin başlangıcından itibaren keşfedilen en iyi kısmi çözümün amaç
fonksiyon değeri
Lmax – arama işleminin başlangıcından itibaren keşfedilen en kötü kısmi çözümün amaç
fonksiyon değeri
Kısmi çözüm kusurluluğunu belirlemek için yaklaşık akıl yürütme algoritması aşağıdaki
tiplerin kurallarından oluşur:
Eğer(if) keşfedilen kısmi çözüm KÖTÜ ise
(then) bağlılık DÜŞÜK
Arılar yaklaşık akıl yürütmeyi(reasoning) kullanır ve arama işleminin başlangıcından itibaren
keşfedilen en iyi ve en kötü kısmi çözümleri kendilerinin keşfedilmiş çözümleri ile
karşılaştırırlar. Bu yolla “tarihsel gerçekler” arı kolonisinin bütün üyeleri tarafından keşfedilir.
Bu önemli bir etkiye sahiptir gelecek yön aramada.
2.1.2.7 Yönünü Değiştiren Arıların Sayısını Hesaplama
Dans alanında reklam edilen her kısmi çözüm(kısmi yol) iki özelliğe sahiptir: (a) amaç
fonksiyon değeri (b) kısmi çözümü(kısmi yolu) reklam eden arıların sayısı. Kısmi çözümü
reklam eden arıların sayısı, arıların ortak bilgilerinin iyi bir göstergesidir. Bu, arı kolonisinin
nasıl özel kısmi çözümleri algıladıkları gösterir. Reklam edilen kısmi çözümlerin çekiciliğini
belirlemek için yaklaşık akıl yürütme algoritması aşağıdaki tiplerin kurallarından oluşur:
Eğer(if) reklam edilen yolun uzunluğu KISA ve yolu reklam eden arı sayısı KÜÇÜK
(then) reklam edilen kısmi çözümün çekiciliği ORTA
20
Bu yolla hesaplanan yol çekiciliği [0,1] aralığında değerler alabilir. Daha yüksek hesaplanan
değer, daha çekici reklam edilen yol manasına gelir. Arılar daha az veya daha fazla bağlı eski
yollara. Aynı zamanda reklam edilen yollar daha az veya daha çok çekici gelir arılara. Yolları
pi ve pj olarak not edelim. pi yolundan vazgeçecek ve pj boyunca uçacak olan arkadaşlarına
katılan arıların sayısını nij ile gösterelim.
Yollarını değiştiren arıların sayısını bulmak için olan yaklaşık akıl yürütme algoritması
aşağıdaki tiplerin kurallarından oluşur:
Eğer(if) arıların yol pi’ye olan bağlılığını DÜŞÜK ve yol pj nin çekiciliği YÜKSEK ise
(then) yolunu pi den pj ye değiştiren arıların sayısı YÜKSEK.
Bu yolla, yeni ileri geçiş başlamadan önce belirli yol boyunca uçan arıların sayısı değiştirilmiş
oldu. Ortak bilgi kullanmak ve aralarında bilgi paylaşmak ile arılar daha umut verici arama
yollarına yoğunlaşmış olur ve yavaşça daha az umut vaat eden yollardan vazgeçerler.
21
2.1.3 Parçacık Sürü Optimizastonu Algoritması
2.1.3.1. Genel Bakış
Parçacık Sürü Optimizasyonu(PSO) popülasyon tabanlı ve kuşların sosyal davranışının
taklitide dayanan bir arama algoritmasıdır. Bilim adamlarına göre, yiyecek aramak için,
kuşların topluluğu içindeki her bir üye hızını kendilerinin kişisel deneyimleri yansıra
topluluğun diğer üyeleri ile iletişim sayesinde elde ettikleri bilgilere göre belirlerler. Tipik
PSO, sürekli fonksiyonlar optimizasyonu(continuous functiıon) için uygulanabilir ve o
genişçe bilim, mühendislik alanına uygulanır.
2.1.3.2. Parçacık Sürü Optimizasyonu Algoritması
PSO içindeki arama işlemi parçacık üzerine dayanır. Parçacığın önceki en iyi çözümü ve
popülasyonun güncel en iyi çözümü parçacığın çözümünü güncellemek içindir. Arama
mekanizmasından dolayı PSO algoritması için lokal optimum çözüm edinme olasılığı
düşürülebilir. PSO kolaylıkla uygulanabilir ve sayısal olarak masrafsızdır çünkü bellek ve
CPU hız gereksinimleri düşüktür. Algoritma uygulama için kolaydır, birkaç parametre
ayarlama ve kısa çalışma süresi gerektirir diğer avantajlara da sahiptir. Her optimum problem
için mümkün bir çözüm sunulur parçacık olarak. Her bireysel parçacık sırasıyla kendisi ve
popülasyon için iyi bir deneyim seçmek için amaç fonksiyon tarafından değerlendirilen bir
uygunluk değerine sahiptir. Parçacık sürü algoritması, her parçacığın önceki en iyi
performansı ve onun komşusunun en iyi performansı hakkındaki bilginin temelinde bir
problem alanı boyunca parçacıkların popülasyonunun yörüngelerini ayarlar.
PSO popülasyonun parçacıklarını rastgele başlatır ve oluşumları güncelleyerek optimum için
arama yapar. Varsayalım arama uzayı içinde global olarak optimum çözüm için arama yapan
m parçacığın sürüsü ve D boyutlu arama uzayı, ve sonra sürünün i parçacığı D boyutsal
vektör xi=(xi1, xi2,. . . ,xiD) ile temsil edilebilir (i=1,2,..,m). Bu parçacığın hızı diğer bir D
boyutsal vektör vi =(vi1,vi2,…,vid) tarafından temsil edilir. Her parçacığın uygunluğu
22
optimizasyon probleminin amaç fonksiyonuna göre değerlendirilebilir. Parçacık i nin daha
önce ziyaret etmiş olduğu en iyi pozisyon onun bireysel en iyi pozisyonu pBest olarak dikkate
alınır. Bütün sürünün en iyi bireyselinin pozisyonu global pozisyon gBest olarak dikkate
alınır. Her adımda parçacığın hızı ve onun yeni pozisyonu aşağıdaki iki denkleme göre atanır:
En sonda, algoritma her yinelemenin sonuçlarını en iyi çözümü bulana kadar kontrol edecek
ya da şartlar sağlandığında sonlandırır.
Burada Vid(t), parçacık i’nin orijinal hızı, Vid(t+1) ise parçacık i’nin yeni hızı. Xid(t), parçacık
i’nin orijinal pozisyonu, Xid(t+1) parçacık i’nin yeni pozisyonu, Pgd(t) komşular içinde her
hangi bir parçacığın önceki en iyi pozisyonu, c1 ve c2 maksimum adım büyüklüğünü(step size)
kontrol eden hızlanma katsayıları olarak isimlendirilen pozitif sabitler(c1=c2=2.0 ), r1 ve r2
[0,1] aralığı ile bağımsızca düzgün olarak dağıtılmış rastgele değişken ve ω eylemsizlik
ağırlığı önceki hız parçacığının şimdikinin üzerindeki etkisini kontrol eder ( 0.4 <= ω<=1.4 ).
Arama alanını ayarlamak için ω kullanılır. Arama alanları devamlı şekilde azalır yinelemenin
sayısı arttıkça. Eylemsizlik ağırlığının tanımı aşağıda gösterilir(10). Parameter ω,
algoritmanın arama davranışını belirler, şöyle ki büyük değerler yeni alanları aramayı
kolaylaştırır hâlbuki küçük değerler ince arama sağlar şimdiki alan içinde. Global ve lokal
keşifler arasında bir denge elde edilebilir algoritmanın çalışması esnasında eylemsizlik
ağırlığını azaltarak. Parameter ω doğrusal olarak(linearly) azaltma ile kullanılır, bu da
ωmax‘dan ωmin’a değişir. Bu yöntem PSO’nun başlangıçta daha global arama yeteneğine ve
sona doğru ise daha lokal arama yeteneğine sahip olma eğilimine neden olur.
Fonksiyon şöyle tanımlanır:
Burada ωmax başlama ve ωmin ise sonlanma eylemsizlik değerlerini, itermax maksimum
yineleme sayısını ve iter şu anki yineleme sayısını gösterir.
23
Genel olarak parçacığın aşırı dolaşımını kontrol etmek için bir üst sınır Vmax yerleştirilir hız
üzerine arama uzayının dışında:
PSO ‘ nun standart yöntemi şöyle özetlenebilir:
Adım 1: Rastgele hız ve pozisyonlar ile parçacıkların popülasyonunu başlat.
Adım 2: Amaç fonksiyon ile bütün parçacıların uygunluk değerlerini değerlendir.
Adım 3: Her parçacık için onun şimdiki uygunluk değeri ile pBest uygunluk değerini
karşılaştır.
Adım 4: Sürünün en iyi parçacığını en iyi uygunluk değeri ile belirle.
Adım 5: Her bir parçacığın hızı ve pozisyonu değiştirilir.
Adım 6: Eğer durma kriteri karşılanırsa gbest çıktısını ve onun uygunluk değerini ver; aksi
taktirde adım 2’ ye git.(Algoritma yinelemenin maksimum sayısından sonra sonlandırılır ya
da nispeten en iyi uygunluk değeri elde edildikten sonra)
2.1.3.3. Yolcu Treni Planlaması
Yolcu trenlerinin durma sayısı demir yolu taşımacılığının geçiş kapasitesini, araç sayısını,
kalkma ve durma nedenli ek zamanı, seyahat süresini, trenlerin sıklığını, yolcuların rahatlığını
ve yolcu trafiğinin hacmini etkiler. Yolcu treni durma planı ara istasyonlardaki yolcular için
uygun binme şartı sağlamalı bununla birlikte trenlerin seyahat hızlarını aşırı derede
azaltmamalıdır. Yeterli sayıda yolcu olduğu zaman duraksız tercih edilir. Yani durma
planlarını belirlemeden önce her iki istasyondan trenler vasıtasıyla taşınabilen yolcuları
çıkarırız.
Varsayalım demir yolu ağı (S,E), toplam istasyon sayısı N, istasyonların sayısı
S={si|i=1,2,..,N}, bölümlerin kümesi E={eij i=1,2..,N; j=1,2,..,N}, bölümlerin uzunluğu
D={d(eij) i=1,2,..,N; j=1,2,..,N}, istasyonun geçiş kapasitesi N(si), istasyon si’ den istasyon sj’
ye yolcu hacmi q(si,sj). Varsayalım, ağ üzerinde işleyen trenlerin belli bir seti
T={T1,T2,..,Tİ}, tren Tk’nın taşıma kapasitesi A(Tk), tren Tk ‘nın geçtiği istasyonlar
S(Tk)={sk1,sk2,…skh} ve geçtiği bölümler E(Tk)={ek1,ek2,…,ek(h-1)}.
tren Tk’nın istasyon si de durup durmamasını gösterir. KTk(eki) boş koltukların
sayısını gösterir tren Tk için bölüm eki de çalıştığtı zaman. qs (si ,sj) kalan yolcuları gösterir
istasyon si ‘den istasyon sj ’ ye. QTk (ski skj) tren Tk üstündeki yolcuları gösterir bölüm ski den
24
bölüm skj ‘ye giderken. Varsayalım durma için ortalama maliyet Cstop (Yuan/time), boş koltuk
kaybı Cvacancy (Yuan/seat * kilometer), ortalama transfer maliyeti Ctransfer (Yuan/person*time).
Yüksek hızlı demir yolu hatları üzerinde yolcu treni durma planı için çok-amaçlı(multi-
objective) optimizasyon modeli aşağıdaki gibi tanımlanır:
Amaç fonksiyon 1: Bütün yolcu trenleri için durma zamanlarını azalt.
Amaç fonksiyon 2: Boş trenlerin seyahat mesafesini azalt. Bu, boş koltukların sayısı ve her
bölümün uzunluğunun çarpımını azaltır.
25
Amaç fonksiyon 3: Kalan yolcuların sayısını azalt.
Kısıtlama: Bir istasyondaki ayrılan ve duran trenlerin sayısı istasyonun kapasitesine eşit ya da
daha az.
Durma planlama prensiplerini ve kolay uygulamayı dikkate alarak yukarıdaki üç fonksiyonu
amaç olarak seçeriz durma planını optimize etmek için. Demir yolu ulaşımı şirketi açısından
birinci ve ikinci amaç fonksiyonlar bütün yolcu trenlerin durma sayısını ve boş trenlerin
seyahat mesafesini azaltır ayrı ayrı. Üçüncü amaç fonksiyon, yolcu kaybını azaltır ve
yolcuların isteklerini karşılamak için kalan yolcuların sayısını azaltır.
Kısıtlamalar için varsayıyoruz ki trenlerin sınıfları ve miktarı elde edilir ve bu önkoşul durma
planı için. Biz sadece istasyonların geçiş kapasitesini kısıtlama fonksiyonu olarak seçiyoruz.
26
2.1.4. Bakteri Yiyecek Arama Optimizasyonu Algoritması
2.1.4.1 Sınıflandırma
Bakteri Yiyecek Arama Optimizasyonu Algoritması(BYAOA), Bakteri Optimizasyon
algoritması ve Sürü Optimizasyonu ve genel manada Sayısal Zekâ ve
Üstsezgiseller(Metaheuristics) alanına aittir. BYAOA, diğer Bakteri Optimizasyonu
Algoritmaları ile alakalıdır örneğin Bakteri Kemotaksi(Chemotaxis) Algoritması ve diğer
Sürü Zekâsı Algoritmaları ile örneğin Karınca Kolonisi Optimizasyonu ve Parçacık Sürü
Optimizasyonu. Algoritmayı diğer Sayısal Zekâ algoritmaları ve Özsezgiseller örneğin
Parçacık Sürü Optimizasyonu eve Genetik Algoritma ve Tabu Arama ile melezleme girişimi
yaklaşımının ilaveleri bulundu.
2.1.4.2 Esinlenme
Bakteri Yiyecek Arama Algoritması, E.coli ve M.xanthus gibi bakterinin gurup yiyecek
arama davranışından esinlenilmiştir. Özellikle BYAOA, bakterinin çevresi içindeki kimyasal
değişimi(örneğin besin) algılama ve ona doğru veya özel sinyallerden uzağa hareket etmesi
olan kemotaksi davranışından esinlenilmiştir.
2.1.4.3 Benzetme (Metafor)
Bakteri, çevresindeki kimyasalların değişimine dayalı yiyecek yönünü algılar. Benzer
şekilde, bakteri, çevresine çekici ve itici kimyasallar salgılar ve birbirlerini algılayabilir
benzer yolla. Bakteri, hareket mekanizmalarını kullanarak(örneğin kamçı) çevreleri etrafında
hareket edebilir, bazen karmakarışık düzensizce (dönerek, yuvarlanarak) ve diğer zamanlarda
yönlendirilmiş tutum içinde, yüzme olarak bahsedilebilir. Bakteriyel hücreler, hareket etmek
için yiyecek algılarını ve diğer hücreleri neden gibi ve yer değiştirmek için rastgele
yuvarlanma ve yüzmeyi hareket gibi kullanan çevre içindeki faktörler(agents) gibi ele
alınabilir. Hücre-hücre etkileşimine bağlı olarak hücreler bir yiyecek kaynağına üşüşebilir
ve/veya saldırganca birbirlerini itebilir ya da görmezden edebilirler.
2.1.4.4 Strateji
Algoritmanın bilgi işleme stratejisi, hücrelere rastgele ve beraberce optimuma doğru
toplanmaya izin vermek. Bu, taklit edilen hücrelerin popülasyonu üzerindeki üç işlemin serisi
27
vasıtasıyla başarılır: 1) ‘Kemotaksi’(kimyasal bir maddeye yönelme), hücrelerin maliyeti,
diğer hücrelere yakınlığı ile indirilir ve hücreler her defasında bir kere ayarlanmış maliyet
yüzeyi boyunca hareket eder(algoritmanın çalışmasının çoğunluğu).
2) ‘Üreme’, gelecek nesillere, yaşamları süresince iyi performans göstermiş hücreler sadece
katkıda bulunabilir. 3) ‘Eleme-dağıtılma’, hücreler çıkarılır ve düşük bir olasılık ile yeni
rastgele modeller sokulur.
2.1.4.5 Yöntem
Şekil 1,7’deki algoritma, maliyet fonksiyonunu azaltmak için Bakteri Yiyecek Arama
Optimizasyonu algoritmasının sözde kodu(pseudocode) listesini sağlar. Şekil 1,8’deki
algoritma, BYAOA algoritmasının kimyasal bir maddeye yönelme ve yüzme davranışı için
sözde kod sağlar. Bir bakteri maliyeti, diğer hücreler ile etkileşimi ile azaltılır. Bu etkileşim
fonksiyonu (g()) aşağıdaki gibi hesaplanır:
burada cellk belli bir hücre, dattr ve wattr çekicilik katsayıları, hrepel ve wrepel itme katsayıları, S
popülasyondaki hücre sayısı, P belli bir hücreler pozisyon vektörü üzerindeki boyutların
sayısı.
Algoritmanın geriye kalan parametreleri, Cellsnum popülasyon içinde sürdürülen hücrelerin
sayısı, Ned elemenin-dağıtılmanın adım sayısı, Nre üreme adımlarının sayısı, Nc kemotaksi
adımlarının sayısı, Ns belli bir hücre için yüzme adımlarının sayısı, Stepsize rastgele yön
vektörü ve bütün değerler [-1,1] arasında, Ped bir hücrenin elenme ve dağıtılmaya tabi tutulma
olasılığıdır.
2.1.4.6 Sezgisel(Heuristic)
• Algoritma, sürekli fonksiyon optimizasyon problem alanlarına uygulama için dizayn
edildi.
• Algoritma içinde verilen döngüler, farklı arama davranışları elde etmek için birçok
yolla ayarlanabilir. Kemotaksi yinelemenin büyük sayısına ve diğer yinelemelerin
küçük sayısına sahip olmak geneldir.
28
• Varsayılan (default) katsayılar sürü toplanması davranışı (hücre-hücre etkileşimi) için
dattract = 0.1, wattract = 0.2, hrepellant = dattract ve wrepellant =10.
• Step size genellikle arama uzayıının küçük bir kısmıdır örneğin 0.1.
• Üreme esnasında, tipik olarak düşük sağlık ölçülü olan popülasyonun yarısı çıkarılır
ve popülasyonun birinci (yüksek-sağlıklı) yarısının her bir üyesinden iki kopyası elde
edilir.
• Eleme ve dağıtılmanın olasılığı (ped) genelde hayli büyük ayarlanır örneğin 0.25.
Şekil 2.1.7 : BYAOA için sözde kod.
29
Şekil 2.1.8 : Kemotaksi ve yüzme fonksiyonu için sözde kod.
30
2.2 BAĞIŞIK ALGORİTMALAR
2.2.1. Genel Bakış
2.2.1.1 Bağışık Sistem
Bağışık algoritmalar, biyolojik bağışık sistemin mekanizmalarından ve işlemlerinden
esinlenmiş, hesaba dayalı (sayısal) metotlar ile alakalı çalışmaların Yapay Bağışık Sistem
alanına aittir.
Bağışık sistemin basitleştirilmiş tanımı, ev sahibi organizmaları hastalık yapıcı (patojen),
toksik maddeler tehlikesinden korumaya niyetlenmiş organ sistemidir. Patojenler çeşitli mikro
organizmaları kapsar örneğin bakteri, virüs, parazit. Bağışık sistemin rolü ile alakalı
geleneksel bakış açısı iki ana konuya ayrılır: patojeni belirleme ve eleme (yok etme) işlemi.
Bu davranış genel anlamda kendisini (ev sahibi organizmalara ait hücre ve moleküller)
potansiyel zararlı kendine ait olmayan maddelerden ayırt etme işlemidir.
Bağışık sistemin mimarisi şöyle ki, savunma amaçlı katmanlar ev sahibini korur. Patojen içeri
girdikten sonra, doğuştan ve sonradan edinilmiş bağışık sistem ile uğraşmalı savaşmalı. Bu
birbirleriyle alakalı bağışıksal alt sistemler, uzmanlaşmış organ ve işlemler tarafından birçok
değişik molekül ve hücre türlerinden oluşturulurlar, kendi-kendi olmayan problemi kimyasal
bağlanma kullanarak en düşük düzeyde ele almak için. Bu bağlanmada hücrelerin yüzeyleri
patojenin yüzeyleri ile etkileşir, reaksiyon gösterir.
Uyarlanır bağışık sistem, ayrıca sonradan edinilen bağışıklık sistemi diye de anılır, bu şekilde
isimlendirilir çünkü özel bir patojene maruz kalmış ev sahibi organizma için savunma özelliği
kazanma, uzmanlaşma için sorumludur. Doğuştan var olan bağışık sistemden farklı olarak
sonradan edinilen bağışık sistem sadece omurgalı hayvanlarda bulunur. Sistem, daha önce
karşılaşmış olduğu maruz kalmanın anısını muhafaza eder. Bu anı (memory), daha önceden
öğrenilmiş bir patojen kimliği sergileyen enfeksiyon kapma üzerine anımsanır (recall). Bu
öğrenme işlemi iki farklı karşılık verme olarak ayrılır. Birinci veya asıl karşılık verme, sistem
yeni bir patojen türüyle karşılaştığı zaman olur. Sistem yavaş karşılık verir, enfeksiyonu
temizlemek birkaç hafta alır. Aynı patojen ile tekrar karşılaşmada, sistem ikinci karşılık
vermeyi sergiler, birinci karşılık vermede ne öğrenildiyse onu uygular ve enfeksiyonu hızlıca
temizler. Sistemin birinci karşılık vermede elde ettiği anı (memory) genel olarak uzun sürer
ve bu anı ev sahibi hücre için hayat boyu bağışıklık sistemi sağlar, iki genel örnek kızamık ve
suçiçeği. Edinilen bağışık sistem için en önemli hücre lökosit diye isimlendirilen
31
akyuvarlardır. Lökositler, patojenin tanınmasını ve yok edilme işini kapsar ve ev sahibi
organizma içinde devridaim eder.
2.2.1.2 Yapay Bağışık Sistem
Yapay Bağışık Sistemler(YBS), bağışıklıkbilim tarafından esinlenmiş, hesaba dayalı(sayısal)
zekanın alt alanıdır ve 1990’ larda ortaya çıkmıştır. Makine öğrenme (machine learning) ve
otomatikleştirilmiş problem çözmeye, teorik bağışık modelleri uygulamak için 1980’ lerin
sonunda sunulan önerilere dayalıdır. Alana en biçimlendirici kimlik veren çalışmalar, bağışık
sistemi, bilgisayar güvenliği alanı içinde bilgi koruma sistemi için bir benzetme olarak
önerenlerdi. Klasik örnekler Forrest’ in Bilgisayar Bağışıklığı (Computer Immunity) ve
Kephart’ ın Bağışık Anti-Virüs (Immunue Anti-Virus). Bu çalışmalar alan için şekillendirici
idi çünkü onlar sezgisel (anlaşılması kolay) bir uygulama alanı sağladı ve bu daha geniş
kitleleri cezbetti, bağımsız alt alan olarak çalışmayı farklılaştırmaya yardım etti.
Modern Yapay Bağışık Sistem şu üç alt alanlardan birinden esinlenildi: klonal seçim (clonal
selection), negatif seçim (negative selection), bağışık ağ algoritmaları(immue network
algorithms). Teknikler genel olarak kümeleme(clustering), model tanıma (pattern
recognition), sınıflandırma, optimizasyon ve diğer benzer makine öğrenme problem alanları.
32
2.2.2 Klonal Seçim Algoritması (Clonal Selection Algorithm (CLONALG))
2.2.2.1. Sınıflandırma
Klonal Seçim Algoritması (KSA), Yapay Bağışık Sistemlere aittir. Diğer Klonal Seçim
Algoritmaları ile ilişkilidir örneğin Yapay Bağışık Tanıma Sistemi, B-Hücre Algoritması (B-
Cell Algorithm), Çok-Amaçlı Bağışık Sistem Algoritması (Multi-Objective Immunne System
Algorithm). KSA için Birçok genişletmeler mevcuttur örneğin CLONALG1 ve CLONALG2
yaklaşımları, Klonal Sınıflandırma (Clonal Classification) diye isimlendirilen sınıflandırma
versiyonu ve Klonal Seçim (Adaptive Clonal Selection) diye isimlendirilen uyarlanır
versiyon.
2.2.2.2 Esinlenme
Klonal Seçim Algoritması, edinilen bağışıklık teorisinden esinlenilmiştir. Klonal seçim
teorisi, sonradan edinilen bağışık sistem içindeki antikorların kabiliyet ve davranışını
açıklamak için önerildi. Teoriye göre, antijenler lenfositleri (her iki B ve T hücreleri) seçer.
Lenfosit seçildiği zaman ve antijenik belirleyici faktöre (kofaktör) bağlandığında, hücre
kendisinin binlerce kopyasını yaparak çoğalır ve değişik hücre tiplerine (plazma ve anı)
farklılaştırır. Plazma hücreleri kısa bir ömre sahiptir ve çok büyük miktarda antikor
molekülleri üretir. Bununla birlikte anı hücreleri genişletilmiş bir periyod aynı belirleyici
faktörün gelecekteki tanımasını bekleyerek yaşar. Teorinin önemli bir özelliği, bir hücre
seçildiği zaman ve ürediğinde, küçük kopyalama yanlışlıklarına maruz kalır (hypermutation)
ve bu yanlışlıklar, ifade edilen reseptörün şekli ve lenfosit hücre yüzeylerine bağlı antikorların
ve plazma hücrelerin ürettiği antikorların sonraki belirleyici faktör tanıma yeteneklerini
değiştirir.
2.2.2.3 Benzetme
Teori şunu ortaya koyar, genel bağışık hücrelerin başlangıçtaki birikimi ile başlayarak, sistem
kendini (bileşenler, hücrelerin yoğunluğu ve onların reseptörleri) değiştirebilir çevreyle olan
deneyime karşılık olarak. Seçimin kör bir işlemiyle ve milyonlarca hücrenin büyük ölçeği
üzerinde birikmiş değişiklik sayesinde, kazanılmış bağışık sistem, ev sahibi organizmayı
çevrenin özel patojenik tehlikelerinden korumak için gerekli bilgiyi elde etme yeteneğine
sahip. Teori ayrıca şunu önerir, sistem maruz kalınacak patojeni ummalı (tahmin etmeli) ve
patojene maruz kalmayı istemeli. Sistem, savunma sağlamak için gerekli bilgiyi elde etmeden
önce patojen organizmaya zarar verebilir.
33
2.2.2.4 Strateji
Klonal seçim teorisinin bilgi işleme prensipleri, genel bir öğrenme stratejisini tanımlar. Bu
strateji, seçim için rekabetçi işlemlere maruz bırakılan uyarlanabilir bilgi birimlerin (her biri
bir problem çözümü veya bileşen) popülasyonunu içerir bununla birlikte meydana gelen
kopyalama ve dönüşme, en sonunda bilgi birimlerinin çevreye uyumlayıcı uygunluğunu
geliştirir.
2.2.2.5 Yöntem
Şekil 2.2.1’deki algoritma, maliyet fonksiyonunu azaltmak için Klonal Seçim Algoritmasının
(KSA) sözde kod listesini sağlar. Genel KSA modeli, antikorların (aday çözümler), her
ikisinden biri, ya bir antijen modeline karşı eşleşme ya da maliyet fonksiyonu tarafından bir
modelin değerlendirme yakınlığına dayalı seçimini kapsar. Seçilen antikorlar yakınlıkla
orantılı olarak kopyalamaya tabi tutulur ve kopyalama yanlışlıkları ters orantılı yakınlıkla.
Çıkan klon kümesi, sonraki kuşak içinde üye olabilmek için mevcut antikor popülasyonu ile
rekabet eder. Ayrıca, düşük yakınlıklı popülasyon üyeleri, rastgele üretilen antikorlar ile
yerleri değiştirilir. Şekil Şekil 2.2.1’deki algoritmanın model tanıma değişikliği, anı çözüm
kümesinin bakımını içerir. Bu küme içindeki bütünlük probleme bir çözüm sunar. İki terimli
(binary) kodlama planı, iki terimli (binary)-model tanıma için çalıştırıldı ve sürekli fonksiyon
optimizasyon örnekleri ve tamsayı permütasyon planı, Seyahat Eden Satıcı Problemi için
çalıştırıldı.
2.2.2.6 Sezgisel(Heuristic)
• KSA, genel bir makine öğrenme yaklaşımı olarak dizayn edildi ve model tanıma,
fonksiyon optimizasyon ve kombinatoryal optimizasyon problem alanlarına
uygulandı.
• İki terimli dizi gösterimi kullanıldı ve özel problem alanı için uygun bir gösterim için
şifre çözüldü.
• Her seçilmiş üye için üretilen klonların sayısı, birikim büyüklüğünün bir fonksiyonu
olarak hesaplandı Nc= round(B.N), burada beta kullanıcı parametresi Clonerate.
• Derece tabanlı yakınlık orantılı fonksiyon, model tanıma problem örnekleri için
popülasyonun seçili üyeleri için üretilen klonların sayısını belirlemek için kullanılır.
• Her yineleme de rastgele eklenen antikorların sayısı genel olarak çok düşük(1-2).
• Nokta mutasyonları, hypermutation operasyonlar içinde kullanılır.
34
• Fonksiyon exp(-p*f), belli bir aday çözüm için bireysel mutasyon bileşeninin
olasılığını belirlemek kullanılır. Burada f aday yakınlık (normalize edilmiş çoğaltma
değeri) ve p kullanıcı parametre.
Şekil 2.2.1. : KSA için sözde kod.
35
2.2.3 Negatif Seçme Algoritması
2.2.3.1. Sınıflandırma
Negatif Seçim Algoritması Yapay Bağışık Sistemlerin alanına aittir. Algoritma diğer Yapay
Bağışık Sistemler ile ilişkilidir örneğin Klonal Seçim Algoritması ve Bağışık Ağ Algoritması.
2.2.3.2. Esinlenme
Negatif Seçim algoritması, memelilere ait sonradan elde edinilen bağışık sistem içinde kendi-
kendinden olmayanı ayırt etme davranışı tarafından esinlenilmiştir. Kazanılmış bağışıklığın
klonal seçim teorisi, vücut içindeki potansiyel zararlı maddeleri seçen hücrelerin çoğalması ve
devam eden seçimini içeren bağışık sistemin uyarlanır davranışına açıklama getirir. Bu
işlemin ilginç bir yönü, bedenin dokuları için seçim yapmayan bağışık hücrelerin
popülasyonunu yönetmekle sorumlu, özelliklede otomatik bağışıklık olarak bilinen kendi
kendine reaktif bağışık hücreleri oluşturmaz. Bu problem ‘kendi-kendinden olmayan ayırt
etme olarak bilinir’ ve hiçbiri otomatik-bağışık olmayan bağışık hücrelerin bir birikiminin
devam eden bakımını ve hazırlanmasını içerir. Bu işlem, hücre çoğalma ve oluşturması
esnasında kendi kendine reaktif olan hücreleri seçen ve çıkaran negatif seçim işlemi
tarafından başarılır. Bu işlem T-lenfositlerin hazırlanması esnasında gözlemlendi, naif
versiyonları timus içinde pozitif ve negatif seçim işlemlerinin her ikiside kullanılarak
olgunlaştırılır.
2.2.3.3 Benzetme
Kendi-kendinden olmayanı ayırt etme kuralı şunu önerir; klonal seçim içinde önceden yapılan
tahminler uygun olmayan bölgeler tarafından filtrelenir(protein yapıları kendi dokularına
bağlar). İlaveten, kendi-kendinden olmayan immünolojik örnek, bilinenin tümleyenini
modelleyerek bilinmeyen alanın(karşılaşılan patojen) modellemesini önerir. Bu öneri,
bilinmeyen bilgiyi tahminden ve bu tahminleri bilinen tarafından filtrelemeden daha ziyade
bilinenden farklı olan bilinmeyen bilgiyi sınıflandırmak doğal eğilim oldukça sezgisel
olmayandır.
2.2.3.4 Strateji
Negatif seçme yolu ile kendini-kendinden olmayandan ayırt etmenin bilgi işleme prensipleri,
anomali(anormallik) ve değişiklik tespit etme sistemleri bilinenden değişimin öngörüsünü
36
modeller. Prensip, mevcut (kendi ve normal) modelllerin varolan külliyat ile eşleşmeyen
modellerini üreterek ayrıca bilinmeyen veri(kendi olmayan veya normal olmayan),
anomolilerin veya değişikliklerin bir modelini inşa ederek başarılır. Normal olmayan
modellere eşleştirmeler araştırılarak yeni verinin akımlarını veya varolan normal veriyi
izlemek için hazırlanan normal olmayan modeller kullanılır.
2.2.3.5 Sezgisel(Heuristic)
• Negatif Seçme Algoritması değişiklik tespit etme, yenilik tespit etme, ihlal tespit etme
ve benzer model tanıma ve iki sınıf sınıflandırma problem alanları için dizayn edildi.
• İkili(binary) temsil ve ikili eşleştirme kuralı örneğin Hamming distance ve r-
contiguous bits için geleneksel negatif seçme algoritması kullanılır.
• En uygun bir veri temsili seçilmelidir bilinen problem alanı için ve veri temsiline bir
eşleştirme kuralı sırayla seçilmeli veya uygun hale getirilmeli.
• Algılayıcılar, bilinen(normal veya kendi) very kümesinden başka problem alanının ön
bilgisi olmaksızın hazırlanabilir.
• Algoritma, algılayıcı yakınsama(eşleştirrme kalitesi) ve alan karışıklığı(algılayıcı
sayısı) arasında dengeleme için yapılandırılabilir.
• Algılayıcılar arasındaki bağımsızlık eksikliği şunu ima eder, algılayıcı hazırlama ve
uygulama, sırasıyla dağıtık ve parelel uygulama için doğal olarak parallel ve
uygundur.
37
2.3 SİNİRSEL ALGORİTMALAR
2.3.1 Genel Bakış
2.3.1.1 Biyolojik Sinirsel Ağlar
Biyolojik Sinirsel Ağlar, sinir sisteminin bilgi işleme elemanlarından bahseder, sinirsel
hücrelerin topluluğu olarak düzenlenir, sinir olarak isimlendirilir, bunlar birbirlerine ağ içinde
bağlıdırlar ve eletkrokimyasal sinyaller kullanarak birbirleriyle etkileşirler. Bir biyolojik sinir
genel olarak girdi sinyali sağlayan dendritlerden oluşur ve diğer sinirlere sinapslar vasıtasıyla
bağlıdır. Sinir, girdi sinyale tepki verir ve akson olarak isimlendirilen çıktı bağlantısı üzerinde
çıktı sinyali üretebilir.
Biyolojik sinir ağları, biyolojinin bir dalı olan, sinir sistemi ile alakalı sinir bilimi alanı içine
girer. Sinir anatomisi, sinir ağlarının guruplarının fonksiyonu ve yapısı ile alakalı bir konudur.
İkisi de, beynin parçaları ve beyinden vücudun geriye kalan kısmına ve buralardan beyne
götüren yapıyla alakalıdır. Nöropsikoloji, beynin yapısı ve fonksiyonu ile alakalı diğer bir
alandır ve soyut psikolojik davranışlara ile ilgilenir.
2.3.1.2 Yapay Sinir Ağları
Yapay Sinir Ağlarının (YSA) alanı, beyin içindeki hücrelerin biyolojik ağlarının fonksiyon ve
yapısının gözlem ve teorisi tarafından esinlenilmiş sayısal (hesaba dayalı) modellerin
araştırılması ile alakalıdır. Onlar genel olarak matematiksel, sayısal (hesaba dayalı) ve
mühendislik problemleri ele almak için modeller olarak dizayn edildi. Örnek olarak bilgisayar
bilimi, nörobiyoloji ve matematik içinde branşlar arası araştırmanın birçoğu mevcuttur.
Yapay Sinir Ağı genel olarak, çıktı modelleri üretmek ve girdi modelleri üzerinde bazı
hesaplamalar yapmak için birbirleriyle bağlanmış yapay sinirlerin topluluğundan oluşur.
Onlar uyarlanabilir(uyabilen) sistemler, kendi içyapılarını değiştirme yeteneğine sahipler.
Genel olarak, ağ içinde bulunan düğümler arasındaki ağırlıklar içerik adreslenebilir bellek,
özellik çıkarma, gerilim ve sınıflandırma gibi fonksiyon yakınlaştırma problemlerinin çeşitleri
için kullanılır.
38
Sinir ağlarının birçok tipi vardır, bunların çoğu şu iki kategoriden birinin içine girer:
İleri-beslemeli Ağlar: burada girdi, ağın bir tarafı üzerinden sağlanır ve ağ yapısı boyunca
ileri (bir yönde) doğru çıktı sinyalleri okunan diğer tarafa yayılır. Bu ağlar bir hücre, sinirlerin
bir katmanı veya birçok katmanı olarak oluşabilir. Bazı örnekler Perceptron, Radyal Temelli
Fonksiyon Ağlar ve birçok katmanlı perceptron ağlar.
Geri-beslemeli Ağlar: burada ağ içindeki döngülere izin verilir ve yapı tamamen birbirleriyle
bağlı olabilir. Örnek olarak Hopfield Ağ ve Çiftyönlü İlişikili Hafıza.
Yapay Sinirsel Ağ yapıları düğümler ve ağırlıklardan yapılır ve genel olarak bir problem
alanından modellerin örnekleri üzerine dayalı bir eğitim gerektirir. Öğrenme stratejilerinin
bazı örnekleri:
Denetlenen Öğrenme: burada ağ bilinen beklenen bir cevaba sahip girdiye tabi tutulur.
Beklenen sonuçla daha iyi eşleşebilmesi için ağın iç durumu değiştirilir. Bu öğrenme
metodunun örnekleri Geri-Yayılım algoritması ve Hebb kuralı.
Denetlenmeyen Öğrenme: burada ağ girdi modellerine tabi tutulur ve bu modellerden anlam
kavramalı ve özellik çıkartmalıdır. Denetlenmeyen Öğrenme’ nin en genel tipi rekabetçi
öğrenme. Rekabetçi öğrenmede, sinirler çıktı modeli üretmek için girdi modeli üzerine dayalı
olarak yarışır. Örneğin Sinirsel Gaz, Öğrenme Vektörü Niceleme ve Kendi-Organizeleyen
Harita.
Yapay Sinir Ağlarını ayarlamak ve eğitmek genel olarak zordur ama hazırlandığı zaman
uygulama içinde çok hızlıdır. Onlar genel olarak fonksiyon yakınlaştırma-temelli problem
alanları için kullanılır ve eksiklik veya bozukluğa (noise) karşı tolerans ve genellemenin
yeteneklerine sahip olduğu için ödüllendirilmiştir.
39
2.3.2 Perceptron Algoritması
2.3.2.1 Sınıflandırma
Perceptron algoritması, Yapay Sinirsel Ağlar ve daha genişçe Sayısal Zekâ alanına aittir. O
bir, tek katmanlı ileri-beslemeli sinirsel ağ (tek hücre ağı), o birçok genişletmelere ve
seçeneklere ilham verdi.
2.3.2.2 Esinlenme
Perceptron, tek sinirsel hücrenin (sinir) bilgi işleme tarafından esinlenildi. Bir sinir, dendritleri
sayesinde girdi sinyalini kabul eder, elektriksel sinyal aşağı doğru hücre bedenine geçer.
Aksonlar sinyali dışarı, sinapslara taşır, bunlar, hücrelerin dendritlerinin diğer hücrelerin
aksonuna bağlantı yerleridir. Sinaps içinde, elektiriksel aktivite moleküler aktivite içine
dönüştürülür (sinir taşıyıcı moleküller sinaptik çukurları geçerler ve alıcılar ile bağlanır).
Moleküler bağlanma, bir elektriksel sinyal geliştirir ve bu sinyal, bağlı hücre dendritleri
üzerine geçirilir.
2.3.2.3 Strateji
Tekniğin bilgi işleme amacı, beklenen çıktı sinyalini üretmek için dâhili ağırlaştırmaları
değiştirerek belli bir fonksiyonu modellemek. Sistem, denetimli öğrenme metodu kullanarak
eğitilir. Bu eğitimde, sistemin çıktısı ve bilinen beklenen bir çıktı arasındaki hata sisteme
sunulur ve onun dâhili durumunu değiştirmek için kullanılır. Durum, girdi sinyalleri
üzerindeki ağırlaştırmanın bir kümesi ile korunur. Ağırlıklar, çıktı sinyaline girdi vektörünün
haritalamasının bir soyutlamasını temsil etmek için kullanılır, örneğin sistem eğitim esnasında
tabi tutuldu.
2.3.2.4 Yöntem
Perceptron veri yapıları (ağılıklar) ve ayrı yöntemlerden oluşur, eğitim ve yapıları uygulama
için. Yapı sadece ağırlıkların bir vektörü (her beklenen girdi için bir tane) ve etkileleme
terimi(bias).
40
Şekil 2.3.1’ deki algoritma, Perceptron’u eğitmek için bir sözde kod sağlar. Her bir girdi için
bir ilk ağırlık değeri verilir artı belli bir bias sabit girdisi için ek bir ağırlık ve bu yaklaşık her
zaman 1.0 alınır. Ağın aktivasyonu, belli bir girdi modeli için şöyle hesaplanır:
Burada n, girdi ve ağırlıkların sayısı, xki , i’ninci girdi modeli üzerindeki k’nıncı nitelik ve
wbias bias ağırlığıdır. Ağırlıklar şöyle güncellenir:
Burada wi, zaman t ve (t+1) de i’ ninci ağırlık, alfa öğrenme oranı, e(t) ve a(t) t zamanında
umulan ve gerçek çıkt ve xi i’ninci girdi. Bu güncelleme işlemi sırayla her ağılığa uygulanır
(aynı zamanda bias ağırlığı temas girdisiyle birlikte).
Şekil 2.3.1 : Perceptron için sözde kod.
2.3.2.5 Sezgisel (Heuristic)
• Perceptron, rastgele doğrusal fonksiyon yakınlaştırma için kullanılabilir ayrıca gerilim
(regression) ve sınıflandırma problemleri için de kullanlabilir.
• Perceptron, girdi ve çıktı nitelikleri arasında doğrusal olmayan bir haritalama
öğrenemez. Perceptron’ un öğrenemediği klasik örnektir XOR problemi.
• Girdi ve çıktı değerleri normalize edilmelidir örneğin x elemanıdır [0,1).
• Öğrenme oranı (alfa elemanıdır [0,1)), sistem üzerindeki her hatanın sahip olduğu
değişikliği kontrol eder. Daha düşük öğrenme oranları geneldir örneğin 0.1.
41
• Ağırlıklar çevrim içi (online durumda) durumda güncellenebilir (her girdi modeli tabi
tutulduktan sonra) veya gurup olarak (modellerin belli bir sayısı tabi tutulduktan
sonra)
• Bazı karışık problemler için gurup güncelleme çevrim içi güncellemeden daha
istikrarlı beklenir.
• Öğrenme işlemine karalılık sağlamak için bir sabit girdi sinyali ile bir bias ağırlığı
kullanılabilir.
• Aktivasyonu ikili (binary) bir çıktıya transfer etmek için genellikle step fonksiyonu
kullanılır. (1<---aktivasyon >=0, aksi takdirde 0)
• Girdi kümeleri boyunca, farklı, rastgele her liste içinde olan girdi modellerine sistemi
tabi tutmak iyi bir pratiktir.
• İlk atanan değerler genel olarak küçük rastgele değerler genel olarak [0,0.5) arasında.
42
2.3.3 Hopfield Ağ
2.3.3.1 Sınıflandırma
Hopfield Ağ, bir Sinirsel Ağdır. Sinirsel Hesaplama ve Yapay Sinirsel Ağların alanına aittir.
Geri-beslemeli bir sinirsel ağdır ve diğer geri-besleme ağlar ile alakalıdır, örneğin Çiftyönlü
İlişkili Hafıza (Bidirectional Associative Memory). O genellikle ileri-beslemeli sinirsel ağlar
ile alakalıdır, örneğin Perceptron ve Back-propagation.
2.3.3.2 Esinlenme
Hopfield Ağ algoritması, insan beyninin çağrışımsal hafıza özelliğinden esinlenildi.
2.3.3.3 Benzetme
Eğitim işlemi boyunca, ağ içinde ağırlıklar bir enerji fonksiyonunu azaltmak için
düşünülebilir ve bir enerji yüzeyini düşürür. Eğitilmiş bir ağ içinde, ağa sunulmuş her model
bir cazibe merkezi (attractor), denge noktası sağlar. Burada, cazibe noktasına doğru, ağ
etrafında bilgi yayarak ilerleme yapılır.
2.3.3.4 Strateji
Sistemin bilgi işleme amacı, İçerik Adreslenebilir Hafıza olarak isimlendirilen modelin bir
bütünsel gösterimi ile bir girdi modelinin bileşenlerini çağrıştırmak. Sistem eğitildikten sonra,
bir girdi modelin bozuk türünün veya verilen kısmi bir girdi modelin bütün modellerini
hatırlar.
2.3.3.5 Yöntem
Hopfield Ağ, çizge veri yapısı ile ağırlıklı kenarlar ve yapıyı uygulama ve eğitim için farklı
yöntemlerden oluşur. Ağ yapısı tamamen bağlıdır (bir düğüm kendisi hariç diğer bütün
düğümlere bağlıdır) ve düğümler arasındaki kenarlar (ağırlıklar) çift yönlüdür.
43
Ağın ağırlıkları bir-atış metodu (bir-yineleme modeller boyunca) ile öğrenilebilir
(güncellenebilir) eğer bütün modeller hatırlanacaksa ağ tarafından. Alternatif olarak, Hebb
kuralı kullanarak ağırlıklar artarak güncellenebilir. Burada ağırlıklar, gerçek ve beklenen çıktı
arasındaki farka dayalı olarak artırılabilir veya azaltılabilir. Bir düğüm için ağın ağırlıklarının
bir-atış yöntemiyle hesabı şöyledir:
Burada wi,j , sinir i ve j arasındaki ağırlık, N girdi modellerinin sayısı, v girdi modeli ve vk
i
,
k’nıncı girdi modeli üzerindeki i’ninci nitelik.
Bilginin yayılımı ağ boyunca asinkron (eş zamanlı olmayan) olabilir. Burada her yinelemede
rastgele bir düğüm seçilebilir. Veya aynı zamanlı olabilir burada ise bütün ağa uygulanmadan
önce her düğüm için çıktı hesaplanır. Bilginin yayılması, daha fazla değişiklik olmayana
kadar veya maksimum yineleme sayısı tamamlanana kadar sürekli olarak devam eder. Bundan
sonra ağdan çıktı modeli okunabilir. Aktivasyon tek bir düğüm için şöyle hesaplanır:
Burada ni , sinir i’nin aktivasyonudur. i ve j düğümleri arasındaki ağırlık ile wi,j ve nj , j’ ninci
sinirin çıktısıdır. Bir transfer fonksiyonu kullanarak aktivasyon bir çıktı içine transfer edilir,
genel olarak step fonksiyon kullanılır:
Burada teta eşik değer, genel olarak 0.
2.3.3.6 Sezgisel (Heuristic)
• Hopfield ağ, bir girdi modelin, bir ön-öğrenilen ilişkili model ile ipuçları eşleştirme geri
çağırma problemini çözmek için kullanılabilir.
• Transfer fonksiyonu, bir sinirin aktivasyonunu bir çıktıya dönüşmek için genllikle bir step
fonksiyonudur f(a) elemanıdır {-1,1} (tercih edilen), veya daha genellikle
f(a) elemanıdır {0,1}
• Girdi vektörleri genellikle mantıksal değerlere (boolean) normalize edilir x eleman
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms
Nature and biology based(inspired) artificial intelligence algorithms

More Related Content

Similar to Nature and biology based(inspired) artificial intelligence algorithms

Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
cgoze
 
Yönetim muhasebesi
Yönetim muhasebesiYönetim muhasebesi
Yönetim muhasebesi
1noludepo
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
Erol Dizdar
 
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar AğlarıBulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
cgoze
 

Similar to Nature and biology based(inspired) artificial intelligence algorithms (20)

Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
Küreselleşmenin İşletme Yapı ve İşleyişleri Üzerindeki Etkisi ve Bu Bağlamda ...
 
Stratejik Planlama Lisans Tezi
Stratejik Planlama Lisans TeziStratejik Planlama Lisans Tezi
Stratejik Planlama Lisans Tezi
 
Araştırma Raporu - Türkiye'de Çevirmenlik Mesleği
Araştırma Raporu - Türkiye'de Çevirmenlik Mesleği Araştırma Raporu - Türkiye'de Çevirmenlik Mesleği
Araştırma Raporu - Türkiye'de Çevirmenlik Mesleği
 
7-Post(İlk Açılış)
7-Post(İlk Açılış)7-Post(İlk Açılış)
7-Post(İlk Açılış)
 
BTT. Modül 9. Yazıcılar
BTT. Modül 9. YazıcılarBTT. Modül 9. Yazıcılar
BTT. Modül 9. Yazıcılar
 
BTT.Modül 9. Yazicilar
BTT.Modül 9. YazicilarBTT.Modül 9. Yazicilar
BTT.Modül 9. Yazicilar
 
Sistem koruyucu bakım
Sistem koruyucu bakımSistem koruyucu bakım
Sistem koruyucu bakım
 
Yönetim muhasebesi
Yönetim muhasebesiYönetim muhasebesi
Yönetim muhasebesi
 
8-Monitorler
8-Monitorler8-Monitorler
8-Monitorler
 
İzmir Bölgesi Enerji Forumu "İZKA ve Yenilenebilir Enerji" Başlıklı Sunum
İzmir Bölgesi Enerji Forumu "İZKA ve Yenilenebilir Enerji" Başlıklı Sunumİzmir Bölgesi Enerji Forumu "İZKA ve Yenilenebilir Enerji" Başlıklı Sunum
İzmir Bölgesi Enerji Forumu "İZKA ve Yenilenebilir Enerji" Başlıklı Sunum
 
9-Yazıcılar
9-Yazıcılar9-Yazıcılar
9-Yazıcılar
 
BTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri TemelleriBTT. Modül 11.İşletim Sistemleri Temelleri
BTT. Modül 11.İşletim Sistemleri Temelleri
 
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep ModuluBTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
BTT. Modul 14. Isletim Sistemleri Gelismis Ozellikler Megep Modulu
 
Türkiye'de Kümelenme Politikaları / Burak Zengi
Türkiye'de Kümelenme Politikaları / Burak ZengiTürkiye'de Kümelenme Politikaları / Burak Zengi
Türkiye'de Kümelenme Politikaları / Burak Zengi
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
 
Kobi Rehberi
Kobi RehberiKobi Rehberi
Kobi Rehberi
 
Bulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar AğlarıBulut Bilişim ve Bilgisayar Ağları
Bulut Bilişim ve Bilgisayar Ağları
 
Tobb i̇kli̇mlendi̇rme mecli̇s raporu 2007-aralik2009
Tobb i̇kli̇mlendi̇rme mecli̇s raporu 2007-aralik2009Tobb i̇kli̇mlendi̇rme mecli̇s raporu 2007-aralik2009
Tobb i̇kli̇mlendi̇rme mecli̇s raporu 2007-aralik2009
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
 
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü UygulamalarıTürev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
Türev Ürünler ve Türk Bankacılık Sektörü Uygulamaları
 

Nature and biology based(inspired) artificial intelligence algorithms

  • 1. I T.C. İSTANBUL ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Bitirme Projesi Doğa ve Biyoloji Temelli Yapay Zekâ Algoritmaları Numan ARLI Danışman Assist. Prof. Tolga ENSARİ Haziran 2015 Avcılar, İSTANBUL
  • 2. II ÖNSÖZ Doğa ve Biyoloji Temelli Yapay Zekâ Algoritmalar, günümüzde bazı konularda optimizasyon yapabilmek için başvurulan en gözde araştırma konularındandır. Bu konuda, birçok alandaki uygulamalarının sonuçları ile potansiyelleri kanıtlanmıştır. Ortada birçok algoritma var fakat bunlardan bir kaçı çok verimli olduğunu kanıtlamıştır ve böylece gerçek dünya problemlerini çözmek için popüler hale gelmiştir. Optimizasyon, yani problemi olabildiğince en verimli halde çözme olayı hayatımızın her alanında mevcuttur. Teknolojiden ticarete, mühendislikten turizme kadar her alanda hayatımızın her safhasında karşı karşıya kalırız. Bütün bu faaliyetlerde bazı hedeflere ulaşmak için veya kalite ya da zaman gibi bazı konuları kendimiz için en karlı hale getirmek için çalışıyoruz. Kaynak olarak para ve zaman gerçek dünya uygulamaları için her zaman sınırlı olmuştur. Bundan dolayı optimizasyonu kolaylaştıran Doğa ve Biyoloji Temelli Zeka Algoritmaları çok önemli hale gelmiştir. Proje çalışması boyunca, tez hocam Sayın Yrd. Doç. Dr. Tolga Ensari’ nin her aşamada büyük yardımları ve destekleri olmuştur. Kendilerine bundan dolayı teşekkürlerimi sunarım.
  • 3. III İÇİNDEKİLER ÖNSÖZ .................................................................................................................................... II ŞEKİL LİSTESİ.....................................................................................................................III SEMBOL LİSTESİ................................................................................................................III KISALTMA LİSTESİ...........................................................................................................III ÖZET ......................................................................................................................................III SUMMARY ............................................................................................................................III 1 GİRİŞ ......................................................................................................................................1 2. GENEL KISIMLAR.............................................................................................................2 2.1 SÜRÜ ALGORİTMALARI ..................................................................................................................2 2.1.1. Karınca Kolonisi Optimizasyonu.............................................................................................2 2.1.1.1. Genel Bakış......................................................................................................................2 2.1.1.2. Esinlenme........................................................................................................................3 2.1.1.3. Optimizasyon Tekniği......................................................................................................4 2.1.1.4 Seyahat Eden Satış Elemanı Problemi için KKO................................................................5 2.1.1.5. Karınca Kolonisi Optimizasyonu Üstsezgisel (Metaheuristic) .........................................5 2.1.1.6. Temel KKO Algoritmalar..................................................................................................8 2.1.1.7. Karınca Sistemi(KS)..........................................................................................................8 2.1.1.8. MAX-MIN Karınca Sistemi(MMKS)..................................................................................9 2.1.1.9. Karınca Koloni Sistemi (KKS)..........................................................................................10 2.1.2 Arı Kolonisi Optimizasyonu ...................................................................................................12 2.1.2.1. Genel Bakış....................................................................................................................12
  • 4. IV 2.1.2.2.Üstsezgisel (Metaheuristic)............................................................................................13 2.1.2.3. Bulanık Arı Sistemi Tarafından Yolculuk Eşleştirme Probleminin Çözümü ...................16 2.1.1.4 Bulanık Arı Sistemi..........................................................................................................17 2.1.2.5. Çözüm Bileşeni Çekiciliğini Hesaplama ve Kısmi Çözüme Eklenecek Bir Sonraki Çözüm Bileşeninin Seçimi.......................................................................................................................18 2.1.2.6 Arıların Kısmi Çözümleri Karşılaştırma Mekanizması.....................................................18 2.1.2.7 Yönünü Değiştiren Arıların Sayısını Hesaplama .............................................................19 2.1.3 Parçacık Sürü Optimizastonu Algoritması.............................................................................21 2.1.3.1. Genel Bakış....................................................................................................................21 2.1.3.2. Parçacık Sürü Optimizasyonu Algoritması.....................................................................21 2.1.3.3. Yolcu Treni Planlaması ..................................................................................................23 2.1.4. Bakteri Yiyecek Arama Optimizasyonu Algoritması.............................................................26 2.1.4.1 Sınıflandırma ..................................................................................................................26 2.1.4.2 Esinlenme.......................................................................................................................26 2.1.4.3 Benzetme (Metafor).......................................................................................................26 2.1.4.4 Strateji............................................................................................................................26 2.1.4.5 Yöntem...........................................................................................................................27 2.1.4.6 Sezgisel(Heuristic) ..........................................................................................................27 2.2 BAĞIŞIK ALGORİTMALAR..............................................................................................................30 2.2.1. Genel Bakış...........................................................................................................................30 2.2.1.1 Bağışık Sistem.................................................................................................................30 2.2.1.2 Yapay Bağışık Sistem ......................................................................................................31 2.2.2 Klonal Seçim Algoritması (Clonal Selection Algorithm (CLONALG))......................................32 2.2.2.1. Sınıflandırma .................................................................................................................32 2.2.2.2 Esinlenme.......................................................................................................................32 2.2.2.3 Benzetme .......................................................................................................................32 2.2.2.4 Strateji............................................................................................................................33 2.2.2.5 Yöntem...........................................................................................................................33 2.2.2.6 Sezgisel(Heuristic) ..........................................................................................................33 2.2.3 Negatif Seçme Algoritması....................................................................................................35 2.2.3.1. Sınıflandırma .................................................................................................................35 2.2.3.2. Esinlenme......................................................................................................................35 2.2.3.3 Benzetme .......................................................................................................................35 2.2.3.4 Strateji............................................................................................................................35 2.2.3.5 Sezgisel(Heuristic) ..........................................................................................................36
  • 5. V 2.3 SİNİRSEL ALGORİTMALAR.............................................................................................................37 2.3.1 Genel Bakış............................................................................................................................37 2.3.1.1 Biyolojik Sinirsel Ağlar ....................................................................................................37 2.3.1.2 Yapay Sinir Ağları............................................................................................................37 2.3.2 Perceptron Algoritması .........................................................................................................39 2.3.2.1 Sınıflandırma ..................................................................................................................39 2.3.2.2 Esinlenme.......................................................................................................................39 2.3.2.3 Strateji............................................................................................................................39 2.3.2.4 Yöntem...........................................................................................................................39 2.3.2.5 Sezgisel (Heuristic) .........................................................................................................40 2.3.3 Hopfield Ağ............................................................................................................................42 2.3.3.1 Sınıflandırma ..................................................................................................................42 2.3.3.2 Esinlenme.......................................................................................................................42 2.3.3.3 Benzetme .......................................................................................................................42 2.3.3.4 Strateji............................................................................................................................42 2.3.3.5 Yöntem...........................................................................................................................42 2.3.3.6 Sezgisel (Heuristic) .........................................................................................................43 2.3.4 Geri Yayılım Algoritması(Back-propagation).........................................................................44 2.3.4.1 Sınıflandırma ..................................................................................................................44 2.3.4.2 Esinlenme.......................................................................................................................44 2.3.4.3 Strateji............................................................................................................................44 2.3.4.4 Sezgisel (Heuristic) .........................................................................................................45 2.4 EVRİMSEL ALGORİTMALAR ..........................................................................................................46 2.4.1 Genel Bakış............................................................................................................................46 2.4.1.1 Evrim ..............................................................................................................................46 2.4.2 Genetik Algoritma .................................................................................................................46 2.4.2.1 Sınıflandırma ..................................................................................................................46 2.4.2.2 Esinlenme.......................................................................................................................46 2.4.2.3 Benzetme .......................................................................................................................46 2.4.2.4 Strateji............................................................................................................................47 2.4.2.5 Yöntem...........................................................................................................................47 2.4.2.6 Sezgisel (Heuristic) .........................................................................................................48 2.4.3 Diferansiyel Evrim .................................................................................................................48 2.4.3.1 Sınıflandırma ..................................................................................................................48 2.4.3.2 Strateji............................................................................................................................48
  • 6. VI 2.4.3.3 Yöntem...........................................................................................................................49 2.4.3.4 Sezgisel (Heuristic) .........................................................................................................50 2.4.4 Evrim Stratejileri Algoritması ....................................................................................................51 2.4.4.1 Sınıflandırma ..................................................................................................................51 2.4.4.2 Esinlenme.......................................................................................................................51 2.4.4.3 Strateji............................................................................................................................51 2.4.4.4 Sezgisel (Heuristic) .........................................................................................................51 2.5 OLASILIKSAL ALGORİTMALAR.......................................................................................................53 2.5.1 Sıkı Genetik Algoritması (Compact Genetic Algorithm) ........................................................53 2.5.1.1 Sınıflandırma ..................................................................................................................53 2.5.1.2 Esinlenme.......................................................................................................................53 2.5.1.3 Strateji............................................................................................................................53 2.5.1.4 Sezgisel (Heuristic) .........................................................................................................53 2.5.2 Popülasyon-Temelli Artan Öğrenme Algoritması..................................................................54 2.5.2.1 Sınıflandırma ..................................................................................................................54 2.5.2.2 Esinlenme.......................................................................................................................54 2.5.2.3 Strateji............................................................................................................................54 2.5.2.4 Sezgisel (Heuristic) .........................................................................................................54 2.6 STOKASTİK ALGORİTMALAR.........................................................................................................55 2.6.1 Değişken Komşu Arama Algoritması (Variable Neighborhood Search algorithm)................55 2.6.1.1 Sınıflandırma ..................................................................................................................55 2.6.1.2 Strateji............................................................................................................................55 2.6.1.3 Sezgisel (Heuristic) .........................................................................................................55 2.6.2 Açgözlü Randomize Uyabilen Arama (Greedy Randomized Adaptive Search) .....................56 2.6.2.1 Sınıflandırma ..................................................................................................................56 2.6.2.2 Strateji............................................................................................................................56 2.6.2.3 Sezgisel (Heuristic) .........................................................................................................56 2.6.3 Yayılma Araması....................................................................................................................57 2.6.3.1 Sınıflandırma ..................................................................................................................57 2.6.3.2 Strateji............................................................................................................................57 2.6.3.3 Sezgisel (Heuristic) .........................................................................................................57 3. KULLANILAN ARAÇ ve YÖNTEM..............................................................................58 3.1. SİMÜLASYON...............................................................................................................................58 3.1.1. Kullanılacak Programlama Dilleri ve Platformlar .................................................................58 4. TARTIŞMA VE SONUÇ ...................................................................................................59
  • 8. VIII ŞEKİL LİSTESİ Şekil 2.1.1: Çift Köprü Deneyi için deneysel sistem..................................................................4 Şekil 2.1.2: Muhtemel inşa grafiği (çizge) örneği. .....................................................................7 Şekil 2.1.3: Karınca Koloni Optimizasyonu Algoritması...........................................................8 Şekil 2.1.4: Birinci geçiş ve birinci geri geçiş. .........................................................................14 Şekil 2.1.5 : İkinci ileri geçiş. ...................................................................................................16 Şekil 2.1.6: Mesafeleri tanımlayan bulanık kümeler. ...............................................................17 Şekil 2.1.7 : BYAOA için sözde kod........................................................................................28 Şekil 2.1.8 : Kemotaksi ve yüzme fonksiyonu için sözde kod. ................................................29 Şekil 2.2.1. : KSA için sözde kod.............................................................................................34 Şekil 2.3.1 : Perceptron için sözde kod.....................................................................................40 Şekil 2.4.1 : Genetik Algoritma için sözde kod........................................................................47 Şekil 2.4.2 : Diferansiyel Evrim Algoritması için sözde kod...................................................49 Şekil 2.4.3: NewSample fonksiyonu için sözde kod. ..............................................................50
  • 9. IX SEMBOL LİSTESİ S : ayrık kararlılık değişkenlerin sonlu kümesi üzerinde tanımlı arama uzayı ƒ : amaç fonksiyon s : olası çözüm s* : global optimum C : mevcut çözüm bileşenlerinin sonlu kümesi V : düğümler kümesi E : kenarlar kümesi Ω : değişkenler arasında kısıtlamaların kümesi Δτ : bırakılan feromon miktarı Gc : çizge
  • 10. X KISALTMA LİSTESİ KKO : Karınca Kolonisi Optimizasyonu KS : Karınca Sistemi MMKS : Maksimum-Minumum Karınca Sistemi KKS : Karınca Koloni Sistemi AKO : Arı Kolonisi Optimizasyonu BAS : Bulanık Arı Sistem STY : Seyahat Talebi Yönetimi PSO : Parçacık Sürü Optimizasyonu BYAOA : Bakteri Yiyecek Arama Optimizasyonu Algoritması YBS : Yapay Bağışık Sistemler CLONALG : Clonal Selection Algorithm KSA : Klonal Seçim Algoritması YSA : Yapay Sinir Ağlarının DE : Diferansiyel Evrim
  • 11. XI ÖZET DOĞA VE BİYOLOJİ TEMELLİ YAPAY ZEKÂ ALGORİTMALARI Bu tez çalışmasında, doğanın ve biyolojik canlıların mükemmel yapısından esinlenerek oluşturulmuş, büyük oranda optimizasyon tekniği olarak kullanılan algoritmalar incelenip, oluşturulma yöntemleri, çalışma sistemleri ve günlük hayatımızdaki problemlerde nasıl kullanılmaya çalışıldığı araştırılacaktır. Bu alanda yeteri kadar Türkçe kaynak bulunmadığı için sadece yabancı kaynak kitap, makale ve web sitesi kullanılacaktır. Daha sonrasında ise bazı programlama dilleri kullanılarak birkaç problem için bu algoritmalar ile optimizasyon uygulaması yapılacaktır. SUMMARY NATURE and BIOLOGY BASED (INSPIRED) ARTIFICIAL INTELLIGENCE ALGORITHMS In this project, I will search the construction procedures, working systems and applying methods on the real world problems of some algorithms inspired from the perfect structure of nature and biologic creature. These algorithms are generally used for optimization problems. In this area there is no enough sources in Turkish therefore, only foreign source books, articles and websites will be used. And then, some optimization simulations will be made with using these algorithms for a few problems.
  • 12. XII
  • 13. 1 1 GİRİŞ Geleneksel olarak yapay zekâ, insan beyninin bilişsel yeteneklerini kopyalama girişimine odaklanmıştır. Yapay zekâya alternatif yaklaşımlar daha geniş bir biyolojik çeşitlilikten ilham alır. Örneğin evrim, öğrenme ve nöronların iletişim ağı gibi. Son 10 yılda daha biyolojik işlemlerden esinlenilmiş yapay zekâ metotlarının patlaması olmuştur. Örneğin bağışıklık sistemi, karınca kolonisi, fiziksel şekillenme, birlikte evrim, öz-örgütlenme ve davranışsal özerklik. Daha genel manada ilhamın esinlenmenin kaynağı doğadır. Dolayısıyla, hemen hemen bütün yeni algoritmalar doğa tabanlı(esinlenmeli) algoritma olarak isimlendirilebilir ve bu algoritmalar biyolojik sistemin bazı başarılı karakteristiği üzerine dayalıdır. Bu nedenle, doğa tabanlı algoritmaların en büyük kısmı biyoloji temelli veya biyo-temelli kısaca. Biyo-temelli algoritmaların arasında sürü zekâsından esinlenerek özel bir algoritma sınıfı geliştirildi. Dolayısıyla biyo-temelli algoritmaların bazısı sürü zekâsı temelli olarak isimlendirilebilir. Aslında sürü zekâsı temelli algoritmalar en popülerler arasındadır. Bunlara iyi örnek olarak karınca kolonisi optimizasyonu, parçacık sürü optimizasyonu, guguk kuşu araştırması, yarasa algoritması ve yıldız böceği algoritması. Optimizasyonun mühendislik dizaynından ticaret planlamasına, internet yönlendirmeden tatil planlamasına kadar her yerde olduğunu söylemek abartı olmaz. Hemen hemen tüm bu faaliyetlerde belirli hedeflere ulaşmak için veya kalite, kar ya da zaman gibi bazı şeyleri optimize etmek için çalışıyoruz. Kaynak olarak para ve zaman gerçek dünya uygulamaları için her zaman sınırlı olmuştur. Belirli kısıtlar altında bu değerli kaynakları optimal olarak yani en iyi şekilde kullanmak için çözümler bulmalıyız. Matematiksel optimizasyon veya programlama ve matematiksel araçlar kullanarak problem dizayn etme bu planlamanın çalışmasıdır. Günümüzde bilgisayar simülasyonları, değişik ve verimli arama algoritmaları ile bu optimizasyon problemlerini çözmek için vazgeçilmez bir araç olmuştur.
  • 14. 2 2. GENEL KISIMLAR 2.1 SÜRÜ ALGORİTMALARI 2.1.1. Karınca Kolonisi Optimizasyonu 2.1.1.1. Genel Bakış Sürü zekâsı, problem çözme teknikleri arasında kısmen yeni bir yaklaşımdır. Bu yaklaşım böceklerin ve diğer hayvanların sosyal davranışlarından ilham alır. Özellikle karıncalar birçok metot ve tekniklere ilham verdiler. Bunların arasında en çok çalışılan ve başarılı olan genel amaçlı optimizasyon tekniğidir ve karınca kolonisi optimizasyonu olarak bilinir. Karınca kolonisi optimizasyonu(KKO), bazı karınca türlerinin yiyecek arama davranışlarından ilham alır. Bu karıncalar bazı avantajlı yolları işaretlemek ve koloninin diğer üyelerinin de bu yolu kullanmaları için feromon denen bir salgıyı zemine bırakırlar. Karınca kolonisi optimizasyonu, optimizasyon problemlerini çözmek için benzer bir mekanizmayı kullanır. Doksanların başında, ilk karınca kolonisi optimizasyonu algoritması önerildiği
  • 15. 3 zaman, KKO birçok artan sayıda araştırmacının dikkatini çekti ve birçok başarılı uygulamalar şu anda mevcut. 2.1.1.2. Esinlenme Fransız böcekbilimci Pierre-Paul Grasse 1940 ve 1950‘erde, beyaz karıncaların bazı türlerinin ” özel uyarıcı” diye isimlendirdiği maddeye tepki gösterdiğini gözlemledi. Bu reaksiyonların etkilerinin hem onu üreten böcek hem de koloninin diğer üyeleri için yeni bir özel uyarıcı olarak hareket ettiğini gözlemledi. Grasse, içinde çalışanların kendi başarmış olduğu performans tarafından yine kendilerinin uyarıldığı bu özel iletişim tipini tanımlamak için “stigmergy” terimini kullandı. Stigmergy’ nin 2 ana karakteristik özelliği kendini diğer iletişim tiplerinden ayırır: Stigmergy, çevre tarafından vasıta olunan direk olmayan ve sembolik olmayan iletişim biçimidir: böcekler çevrelerini değiştirerek bilgi alış verişi yaparlar. Stigmergy bilgisi yereldir: bu bilgi sadece onun bırakıldığı yere(veya çok yakınına) giden böcekler tarafından elde edilebilir. Stigmergy’ nin örnekleri karıncaların kolonisi içinde gözlemlenebilir. Birçok karınca türü içinde, karıncalar yiyecek kaynağı bulmak için rastgele gezinirler. Yiyecek yeri saptandıktan sonra çevre içinde feromon adı verilen bir madde bırakmaya başlarlar. Diğer karıncalar bu feromonu algılarlar ve feromonun yoğun olduğu yolu takip etme eğilimini gösterirler. Birçok gezi gerçekleştirilir yiyecek ve koloni arasında ve eğer yiyeceğe götüren aynı rota takip edilirse ilave feromonlar yere bırakılır. Bu mekanizma sayesinde karıncalar dikkate değer etkili bir yolla yiyeceği yuvalarına taşırlar. Böylece pozitif geri besleme işlemi daha fazla karıncayı bu verimli yola yönlendirir ve bu yol sırayla yeni kullanımlar sayesinde saflaştırılır yani yeni feromonlar bıraklır. Feromonlar çevrede zamanla çürür giderler dolayısıyla eski yolların takibi olasılığı düşüktür. Deneubourg, karıncaların feromon bırakmaları ve takip eden davranışını tam anlamıyla araştırdı. “Çift köprü deneyi” olarak bilinen deney içinde, karınca kolonisinin yuvası eşit uzunluktaki köprüler sayesinde yiyecek kaynağına bağlandı (Şekil 2.1.1. (a)). Bu sistem içinde karıncalar yuvanın etrafını keşfetmeye başladılar ve sonunda yiyecek kaynağına ulaştılar. Karıncalar yiyecek kaynağı ve yuvaları arasındaki yolları boyunca yere feromon bıraktılar biriktirdiler. İlk başta her karınca köprülerden birini rastgele seçer. Bununla birlikte
  • 16. 4 rastgele dalgalanmadan dolayı bir müddet sonra köprülerden biri daha yüksek feromon yoğunluğu sergiler ve dolayısıyla daha fazla karınca çeker. Bu, daha fazla feromon miktarını bu köprü üstüne getirir ve belli bir zaman sonra bütün koloninin aynı köprüyü kullanımı sonucu ile onu daha çekici yapar. Bu koloni düzeyi davranış otokataliz temellidir, pozitif geri besleme kullanımına dayanır ve karıncalar tarafından yuvaları ve yiyecek kaynağı arasındaki en kısa yolu bulmada kullanılır. Goss çift köprü deneyinin bir değişiğini dikkate aldı ve bu deneyde köprülerden biri diğerinden özellikle uzun (Şekil 2.1.1. (b)). Bu durumda, ilk köprü seçiminde rastgele dalgalanma azaltılır ve ikici mekanizma önemli bir rol oynar: şans ile kısa köprüyü seçen karıncalar yuvaya ilk ulaşır. Dolayısıyla kısa köprü, feromonu diğerinden daha erken alır ve bu olay diğer karıncaların uzun köprüden daha ziyade kısa köprüyü seçme olasılığını artırır. Goss gözlemlenen davranışın bir modelini geliştirdi: varsayalım belli bir zamanda m1 süresi içinde karıncalar birinci köprüyü kullandı ve m2 süresi içinde de ikinci köprüyü, bu durumda bir karınca için birinci köprüyü seçme olasılığı p1: Burada k ve h deneysel veri olarak yerleştirilmiş, p2 = 1 − p1. Monte Carlo simülasyonları k ≈ 20 ve h ≈ 2 için çok iyi bir uyma gösterdi. Şekil 2.1.1: Çift Köprü Deneyi için deneysel sistem. 2.1.1.3. Optimizasyon Tekniği Deneubourg ve çalışma arkadaşları tarafından, karıncaların yiyecek arama davranışlarını açıklamak için önerilen model, karınca kolonisi optimizasyonunun gelişimi için ilhamın ana kaynağıydı. KKO içinde, yapay karıncaların bir miktarı, eldeki optimizasyon problemi için
  • 17. 5 çözümler üretir ve ayrıca çözümlerin kalitesi hakkında bilgi değişimi yaparlar, gerçek karıncalar tarafından benimsenmişi hatırlatan plan vasıtasıyla. Farklı KKO algoritmaları önerildi. Orijinal KKO algoritması “Karınca Sistemi” olarak bilinir ve doksanların başında önerildi. O tarihten itibaren bir takım diğer KKO algoritmaları tanıtıldı. Bütün KKO algoritmaları aynı düşünceyi paylaşır. Bir sonraki bölüm, genel KKO algoritmalarının basit terimler içinde seyahat eden satış elemanına nasıl uygulandığını tarif eder. Sonraki kısım ise daha formel bir tarif verir. 2.1.1.4 Seyahat Eden Satış Elemanı Problemi için KKO Seyahat eden satış elemanı problemi için bir şehir kümesi verilir ve onların her birinin aralarındaki mesafe bilinir. Amaç bütün şehirlere sadece bir defa seyahat etmeyi sağlayan en kısa turu bulmak. KKO içinde problem, grafik üzerinde hareket eden bir takım yapay karıncaları simüle ederek ele alınır. Grafik kendisi problemi şifreler: her düğüm bir şehri ve her kenar bir bağlantıyı temsil eder. Feromon diye isimlendirilen değişken her bir kenara aittir ve karıncalar tarafından okunabilir ve değiştirilebilir. Karınca kolonisi optimizasyonu tekrarlayan bir algoritmadır. Her bir tekrarlamada bir takım karıncalar dikkate alınır. Onların her biri grafik üzerinde uğradığı bir düğüme tekrar uğramama kısıtı ile bir düğümden diğerine yürüyerek bir çözüm üretir. Çözüm inşasının her basamağında bir karınca uğramak için bir sonraki düğümü, feromon tarafından etkilenen rastgele mekanizmasına göre seçer: düğüm i’nin içindeyken bir sonraki düğüm seyahet edilmemişlerin arasından rastgele seçilir(şekil 2.1.2). Özellikle eğer j daha önce seçilmemiş ise kenar(i,j) ‘e ait feromonla orantılı bir olasılıkla seçilebilir. Tekrarlamanın sonunda, karıncalar tarafından oluşturulan çözümlerin kalitesinin temelinde, daha önceden oluşturulmuş en iyi çözümlere benzer çözümler oluşturmak ve gelecek tekrarlamalarda karıncaları etkilemek için feromon değerleri değiştirilir. 2.1.1.5. Karınca Kolonisi Optimizasyonu Üstsezgisel (Metaheuristic) Karınca kolonisi optimizasyonu, kombinasyonel optimizaston problemleri için Dorigo ve çalışma arkadaşları tarafından metaheuristic içine formalize edildi. Metaheuristic, farklı problemlerin geniş bir kümesine uygulanabilir bulgusal metodları tanımlamak için kullanılan algoritmik konseptlerin kümesidir. Diğer bir deyişle üstsezgisel (metaheuristic) , kısmen birkaç değişiklik ile farklı optimizasyon problemlerine uygulanabilen genel amaçlı algoritmik framework(uygulama iskeleti). Üstsezgisellerin örnekleri tabu search(araştırma), simulated
  • 18. 6 annealing(tavlama benzetimi), iterated local search(yinelemeli lokal arama) ve karınca kolonisi optimizasyonu. KKO’ nu verilen bir kombinasyonel probleme uygulamak için yeterli bir modele ihtiyaç duyulur: Kombinasyonel optimizasyon problemi model P = (S, Ω, ƒ) şunlardan oluşur: 1-Ayrık kararlılık değişkenlerin sonlu kümesi üzerinde tanımlı arama uzayı S xi, i = 1, . . . , n; 2- Değişkenler arasında kısıtlamaların Ω kümesi ve 3- Amaç fonksiyon Genel değişken xi değerleri içinden alır. Olası çözüm s ∈ S , Ω kümesi içindeki bütün kısıtları sağlayan değişkenlere değerlerin tam bir atamasıdır. Çözüm s∗ ∈ S global optimum olarak isimlendirilir eğer sadece f (s∗) ≤ f (s) ∀s ∈ S. Kombinasyonel optimizasyon probleminin modeli, KKO nun feromon modelini tanımlamaya kullanılır. Bir feromon değeri her muhtemel çözüm bileşenine aittir; bir değerin her muhtemel atamasıyla. Formel olarak feromon değer τij çözüm bileşeni cij ye aittir, bu xi = vi j den meydana gelir. Bütün muhtemel çözüm bileşenleri C ile sembol edilir. KKO içinde, yapay bir karınca bütün düğümleri birbirine bağlanmış yapı grafiğini(construction graph) GC (V,E) travers ederek bir çüzüm inşa eder. Burada V düğümler kümesi ve E kenarlar kümesi. Bu grafik C çözüm bileşenleri kümesinden iki yolla elde edilebilir: bileşenler düğüm veya kenarlar tarafından temsil edilebilir. Yapay karıncalar grafiğin kenarları boyunca düğümden düğüme hareket eder, artarak kısmi çözüm oluşturur. Ek olarak, karıncalar belli bir miktarda feromonu bileşenlerin üzerine bırakır; bu üzerinde yürüdüğü kenar da olabilir düğüm de olabilir. Bırakılan feromonun miktarı Δτ bulunan çözümün kalitesine bağlı olabilir. Sonra gelen karıncalar feromonu arama uzayının umut verici bölgelerine doğru bir rehber olarak kullanılır. Seyahat eden satış elemanı probleminde çözüm, n değişkenin bir seti vasıtasıyla temsil edilebilir, burada n şehir sayısıdır. Bu değişkenlerin her biri bir şehre aittir. Değişken xi şehir i’ den sonra ziyaret edilecek şehri gösterir. Burada çözüm bileşenleri, verilen sıra içinde ziyaret edilecek şehirlerin çiftidir. Çözüm bileşeni cij = (i,j) şunu gösterir şehir j şehir i’ den hemen sonra ziyaret edilmeli. Bu
  • 19. 7 durumda, yapı grafiğinin düğümleri seyahat eden satıcı probleminin şehri ve kenarlar da çözüm bileşenleridir. Sonuç olarak karıncalar feromonu yapı grafiğinin kenarlarına bırakırlar. Şuna dikkat edilmeli, yapı grafiği düğümlerin çözüm kümesi olarak temsil edilmesiyle elde edilebilr. Bu durumda feromon, düğümler üzerinde biriktirilir. Seyahat eden satış elemanı problemi için yapı grafiği elde etmenin ikinci yolu daha az doğal gözükmesine rağmen, o yinede doğrudur. Dört şehirli seyahat eden satış elemanı problemi için yapı grafiği tanımlamanın iki yolu Şekil 2.1.2 de gösterilir. Şekil 2.1.2: Muhtemel inşa grafiği (çizge) örneği. KKO üstsezgisel(metaheuristic) Şekil 1.3’ teki algoritima içinde gösterilir. Ön değer atamadan sonra(initialization), üstsezgisel üç faz üzerinde yineler. Her bir yinelemede karıncalar tarafından birkaç çözüm oluşturulur. Bu çözümler daha sonra yerel arama(local search) ile geliştirilir(bu adım isteğe bağlı). Aşağıda bu üç fazın daha geniş bir tanımını göreceksiniz. Karınca Çözümleri İnşası(ConstructAntSolutions): m yapay karıncaların kümesi, mevcut çözüm bileşenlerin sonlu kümesinin(C={cij)}) elemanlarından çözümler inşa ederler. C={cij)},i=1,...,n,(j=1,...,|Di|). Çözüm yapımı, boş bir kısmi çözümden başlar sp = ∅. Her inşa basamağında, N(sp )⊆C kümesinden uygun bir çözüm bileşeni ile kısmi çözüm kümesi sp genişletilir. N kümesi, Ω kümesinin hiçbir kısıtlamasını delmeden, kısmi çözüm kümesine eklenebilen bileşenlerin
  • 20. 8 kümesi olarak tanımlanır. Çözümlerin inşası işlemi, yapı grafiği GC = (V, E) üzerinde yürüme olarak dikkate alınabilir. Çözüm bileşeninin N kümesinden seçimi, rastgele mekanizması ile rehberlik edilir. Bu seçim N kümesine ait her bir elemana ait olan feromon ile etkilenir. Çözüm bileşenlerinin rastgele seçimi için kural, algoritmadan algoritmaya değişir. Fakat bütün hepsi içindeki bu kural, daha önce yukarıda denklem 1’ de verilen gerçek karıncaların davranışlarının modelinden esinlenilmiştir. Lokal Arama Uygulama (ApplyLocalSearch): Çözümler oluşturulduktan sonra ve feromon değiştirilmeden, karıncalar tarafından elde edilen çözümleri lokal arama vasıtasıyla geliştirmek yaygındır. Bu aşama büyük ölçüde probleme özgüdür. Modern algoritmalar içinde dahil olmasına rağmen isteye bağlıdır. Feromonları Değiştirme(UpdatePheromones): Feromon değiştirmenin amacı, iyi ve umut verici çözümlere ait feromonları artırmak ve kötü olanlara ait olanları da düşürmek. Bu değiştirme genellikle, feromon buharlaştırma (pheromone evaporation) sayesinde bütün feromon değerleri düşürülerek ve seçilen iyi çözümlerin kümesine ait feromon düzeyini de artırarak başarılır. Şekil 2.1.3: Karınca Koloni Optimizasyonu Algoritması. 2.1.1.6. Temel KKO Algoritmalar Bir çok KKO algoritmaları sunuldu literatür içinde. Bu bölümde orijinal Karınca Sistemi ve çok başarılı iki değişik biçimi gösterilecek: MAX-MIN Karınca Sistemi ve Karınca Koloni Sistemi. Bu algoritmalar arasındaki farklılıkları göstermek için seyahat eden satıcı problemini somut örnek olarak kullanacağız. 2.1.1.7. Karınca Sistemi(KS)
  • 21. 9 Karınca Sistemi, literatür içinde ilk sunulan KKO algoritmasıdır. Onun ana karakteristiği, kendi yinelemesi içinde bir çözüm üretmiş olan m tane karınca tarafından feromon değerleri her yinelemede güncellenmesidir. Feromon τij, i ve j şehirleri birleştiren kenara aittir ve şöyle güncellenir: Burada p buharlaşma oranı, m karıncaların sayısı ve Δτ karınca k tarafından kenar (i,j) üzerinde bırakılmış feromon miktarıdır. Q/Lk, eğer karınca k, turu içinde (i,j) kenarını kullandıysa ve 0 aksi takdirde. Burada Q sabit ve Lk karınca k tarafından oluşturulan turun uzunluğudur. Bir çözümün oluşumu içinde, karıncalar seyahat edilecek şehri rastgele mekanizması aracılığı ile seçer. Karınca k şehir i içinde ve şimdiye kadar kısmi çözüm sp inşa ettiği zaman, şehir j ye gitme olasılığı şöyle verilir: Burada N(sp ) yapılabilir bileşenlerin kümesidir; kenar (i,l) burada l, karınca k tarafından henüz ziyaret edilmemiş bir şehirdir. Parameterler α ve β, deneysel bilgi olan ηij‘ e karşı feromonun ilgili önemini kontrol eder. Burada dij, şehir i ve şehir b arasındaki mesafedir. 2.1.1.8. MAX-MIN Karınca Sistemi(MMKS)
  • 22. 10 Bu algoritma orijinal Karınca Sistemi üzerinde bir ilerlemedir. Onun ayırt edici özelliği, sadece en iyi karınca günceller feromon izini ve bu feromonun değeri sınırlıdır. Feromon güncellemesi şöyledir: Burada τmax ve τmin sırayla feromonun etkilendiği üst ve alt sınırlarıdır; operator [x]b a şöyle tanımlanır: Ve : Burada Lbest en iyi karıncanın yaptığı turun uzunluğudur. Bu (algoritmanın dizaynına bağlıdır) mevcut yinelemenin içinde bulunan en iyi tur olabilir(iteration-best, Lib) ya da algoritmanın başlamasından itibaren bulunan en iyi çözüm de olabilir(best-so-far, Lbs) veya her ikisinin birleşimi de olabilir. Alt ve üst sınırı hakkında feromon değerlerin (τmin ve τmax), onlar tipik olarak deneysel elde edilir ve dikkate alınan özel probleme ayarlanır. Yine de bazı yönergeler esaslar sağlandı τmin ve τmax’ ı, göz önüne almanın analitiksel temelinde tanımlamak için. 2.1.1.9. Karınca Koloni Sistemi (KKS)
  • 23. 11 KKS’ nin en önemli katkısı, oluşturma işleminin sonunda icra edilen feromon güncellemesine (offline pheromone update olarak isimlendirilir) ek olarak yerel feromon güncelleştirmesinin tanıtımıdır. Yerel feromon güncellemesi, her inşa basamağından sonra bütün karıncalar tarafından gerçekleştirilir. Her karınca onu son yürünen(traversed) kenara uygular: Burada ϕ ∈ (0, 1] feromon çürüme katsayısıdır ve τ0 feromonun ilk değeridir. Lokal güncellemenin ana amacı bir yineleme esnasında, sonraki karıncalar tarafından icra edilen aramayı çeşitlendirmek: seyahat edilen kenardaki feromon yoğunluğunu azaltarak, karıncalar daha sonra gelen karıncaları farklı çözümler üretmek için diğer kenarları seçmeye cesaretlendirirler. Bu işlem, bir yineleme esnasında birçok karıncanın benzer çözümler üretmesini, daha az muhtemel yapar. Çevrim dışı feromon güncelleme(The offline pheromone update) MMKS ‘ye benzer bir şekilde yinelemenin sonunda sadece bir karınca tarafından uygulanır. Bu (iteration-best veya the best-so-far) en iyi yineleme veya şimdiye kadar en iyi olabilir. Bununla birlikte güncelleme formülü hafifçe değişik: MMKS ‘de olduğu gibi Δτij=1/Lbest, burada Lbest şu ikisinden biri olabilir, Lib veya Lbs. KKS ve KS arasındaki diğer bir farklılık inşa işlemi sırasında. KKS içinde pseudorandom diye isimlendirilen kural kullanılır : bir karınca için şehir i ’ den j ‘ye seyahat etme olasılığı rastgele q değerine bağlıdır ve bu değer [0,1) üzerinde eşit olarak dağıtılmıştır. Ve parameter q0, aksi takdirde denklem 4 kullanılır.
  • 24. 12 2.1.2 Arı Kolonisi Optimizasyonu 2.1.2.1. Genel Bakış Arıların kendini örgütlemesi, diğerlerine nazaran basit birkaç bireysel böcek davranışı kurallarına dayanır. Büyük bir sayıda farklı sosyal böcek türlerinin ve onların değişik davranışsal modellerinin oluşumuna rağmen, böceklerin bireylerini karışık birçok konuları görevleri icra eden olarak tanımlamak mümkündür. En iyi örnek, arıların nektar toplaması ve onu işlemeleridir. Bu pratik son derece organize edilmiştir. Her bir arı nektar kaynağına ulaşmak için daha önceden çiçeklerin bulunduğu araziyi keşfetmiş bir arıyı yani kovan arkadaşını takip etmeye karar verir. Her bir arı kovanı, dans yeri diye isimlendirilen bir yere sahiptir. Burada nektar kaynağı keşfetmiş arılar dans eder ve bu yolla kovan arkadaşlarını ikna etmeğe çalışır kendilerini takip etmeleri için. Eğer bir arı nektar toplamak için kovanı terk etmeğe karar verirse, dans eden arılardan birini takip eder nektar alanlarından birine doğru. Yem arayan arı alana vardıktan sonra nektar yükünü alır ve kovana geri döner nektarı yiyecek depolamadan sorumlu arıya bırakmak için. Yükünü bıraktıktan sonra arı (a) nektar kaynağından vazgeçebilir ve tekrardan kararsız bağımsız takipçi olabilir (b) yiyecek aramağa devam eder nektar kaynağı alanda, kovan arkadaşlarını toplamaksızın veya (c) dans eder ve böylece arkadaşlarını toplar, sevk etmeğe çalışır nektar alanına dönmeden önce. Arı bu üç seçenekten birini icra eder belli bir olasılıkla. Dans alanında arı dansçılar farklı yiyecek alanlarını reklam eder. Arıların hangi dansçı arıyı takibe karar vermeleri için kullandıkları mekanizma tam olarak anlaşılamamıştır. Ancak arılar arasındaki sevk yönlendirme, yiyecek
  • 25. 13 kaynağının kalitesinin fonksiyonudur. Ayrıca bütün arılar aynı anda yem aramağa başlamazlar. Deneyler onaylamıştır ki, yeni arılar yem aramağa belli bir oranda başlar. Bu oranda, olası toplam sayı ile şu anda yem arayan sayıların farkıyla orantılıdır. Burada anlatılan Arı Kolonisi Optimizasyonu (AKO) arı sisteminin ileri gelişimini, genellemesini sunar. AKO’nun temel özelliklerini tanıtır. Bizim yapay arı kolonimiz kısmen benzer ve kısmen farklı davranır doğadaki arı kolonisinden. Belirsizlikle karakterize edilmiş kombinatoryal optimizasyon problemlerini çözme yeteneğine sahip olan Bulanık Arı Sistem (BAS) ayrıca tanıtılacaktır. BAS içindeki yapay arılar iletişimleri içinde yaklaşık akıl yürütme ve bulanık mantık kurallarını kullanır. 2.1.2.2.Üstsezgisel (Metaheuristic) Arı Kolonisi Optimizasyonu üstsezgisel içinde arıları yapay arı olarak isimlendiririz. Yapay arılar birlikte çalışırlar zor kombinatoryal problemleri çözmek için. Arama işlemi başlangıcında bütün arılar kovanın içinde bulunurlar. Arama işlemi esnasında yapay arılar direk iletişime girerler. Her yapay arı yerel hareketlerin bir serisini yapar. Bu yolla problemin bir çözümünü artarak inşa eder. Arılar çözüm bileşenlerini şu anki kısmi çözüme ekler, yapılabilir bir veya daha fazla çözüm oluşturana kadar. Arama işlemi yinelemelerden oluşur. Birinci yineleme, arılar ilk defa bir ya da daha fazla çözüm ürettiği zaman biter. Yineleme esnasında keşfedilen en iyi çözüm kayıt edilir ve ikinci yineleme başalar. İkinci yineleme içinde arılar tekrar problemin çözümünü artarak inşa ederler. Her bir yineleme sonunda bir ya da daha fazla kısmi çözüm olur. Çözüm yapıcı analist belirtir toplam yineleme sayısını. Yapay arılarımız alan boyunca uçtuğu zaman “ileri geçiş” ve “geri geçiş” icra ederler. İleri geçiş esnasında arılar değişik kısmi çözümler üretir. Onlar bunu geçmişten ortak deneyim ve bireysel keşiflerinin birleşimiyle yaparlar. Daha sonra arılar geri geçiş yaparlar örneğin kovana geri dönerler. Kovan içinde bütün arılar “karar verme” işlemine katılır. Her arının, diğer arılar tarafından üretilen çözümlerin kalitesi hakkında bilgi elde edebildiğini varsayıyoruz. Bu yolla arılar oluşturulan kısmi çözümlerin kalitesi hakkında bilgi alış verişi yaparlar. Arılar bütün üretilen kısmi çözümleri karşılaştırırlar. Üretilen kısmi çözümlerin kalitesine dayanarak her arı bir karar verir. Oluşturulan kısmi çözümden vazgeçerek tekrardan bağımsız bir takipçi olabilir, dans yapmadan yani arıları ikna etmeğe çalışmadan aynı kısmi çözümü genişletebilir, ya da dans yapar ve arıları ikna etmeğe çalışır üretilen kısmi çözüme dönmeden önce. Üretilen kısmi çözümün kalitesine bağlı olarak her arı önceden keşfedilmiş kısmi çözüme götüren yola karşı
  • 26. 14 belli bir bağlılık düzeyine sahiptir. İkinci ileri geçiş esnasında arılar, önceden üretilmiş kısmi çözümleri genişletirler. Daha sonra yeniden geri geçiş icra ederler ve kovana geri dönerler. Kovan içinde arılar tekrardan karar verme işlemine katılırlar ve üçüncü ileri geçiş icra ederler ve böyle devam ederler. Yineleme bir ya da daha fazla uygulanabilir çözümler üretildiği zaman sona erer. Dinamik programlamaya benzer şekilde, ayrıca AKO kombinatoryal problemleri aşamalar içinde çözer (Şekil 2.1.4). Sonlu önceden seçilmiş aşamalar kümesini ST={st1, st2,…,stm} ile sembol edelim. Burada m aşamaların numarası. B ile arama işlemine katılan arıları ve I ile de toplam yineleme sayısını sembol ediyoruz. Kısmi çözüm kümesi aşama stj de Sj (j= 1,2,…,m). Şekil 2.1.4: Birinci geçiş ve birinci geri geçiş. Arı kolonisi optimizasyonu Algoritması (1) Initialization. Arıların sayısı B ve yineleme sayısı I belirle. Aşamaların kümesi ST ={st1,st2,…,stm} seç. Problemin her hangi bir yapılabilir makul çözümü x bul. Bu çözüm ilk en iyi çözüm.
  • 27. 15 (2) i=1 ata. i = I olana kadar, aşağıdaki adımları yinele: (3) j=1 ata. j=m olana kadar, aşağıdaki adımları yinele: İleri geçiş: Arıların kovandan uçmasına ve B kısmi çözümleri seçmesine izin ver kısmi çözümler kümesi Sj den aşama stj de. Geri geçiş: Bütün arılar geri kovana gönder. Arıların oluşturulan kısmi çözümlerin kalitesi hakkında bilgi alış verişine izin ver. Ayrıca üretilen kısmi çözümden vazgeçip geçmeceyi ve tekrardan bağımsız bir takipçi olmasına, devam edip dans yapmaksızın aynı kısmi çözümü genişletmesine ya da dans yapıp arkadaşlarını toplamasına izin ver üretilen kısmi çözüme geri dönmesinden önce. j=j+1 atama yap. (4) Eğer en iyi bilinen çözümden daha iyi en iyi çözüm xi elde edilirse i ninci yinelemede, en iyi bilinen çözümü güncelle. (5) i=i+1 atama yap. Alternatif olarak, ileri ve geri geçişler bazı diğer durdurma şartları karşılana kadar icra edilir. Muhtemel durdurma şartları örneğin ileri/geri geçişlerin maksimum toplam sayısı ya da iki amaç fonksiyon değer gelişimi arasındaki ileri/geri geçişlerin maksimum toplam sayısı. İleri geçiş esnasında arılar belli bir sayda düğümleri ziyaret edecek ve kısmi çözüm üretecektir. Daha sonra kovana(düğüm O) geri dönecektir. Kovan içinde arılar karar verme işlemine katılacaktır. Arılar üretilen bütün kısmi çözümleri karşılaştıracaktır. Üretilen kısmi çözümlerin kalitesine bağlı olarak her arı karar verecektir üretilen yoldan vazgeçip bağımsız bir takipçi olup olmayacağına, dans etmeksizin keşfedilen yol boyunca devam edip etmeyeceğine ya da dans yapar ve böylece arkadaşlarını toplar ikna etmeğe çalışır keşfedilen yola devam etmeden önce. Üretilen kısmi çözümlerin kalitesine bağlı olarak, her arının daha önce keşfedilen yola belli bir bağlılığı vardır. Örneğin arı B1, B2 ve B3 karar verme işlemine katıldı. Üretilen bütün kısmi çözümleri karşılaştırdıktan sonra B1 daha önceden üretilen yoldan vazgeçmeye ve arı B2 ye katılmaya karar verir. Arılar B2 ve B1, B2 tarafından üretilen yol boyunca beraber uçarlar. Onlar yolun sonuna ulaştıkları zaman ziyaret edilecek bir sonraki düğüm hakkında bireysel karar verebilirler. Arı B3 keşfedilen yol boyunca uçmaya devam edecektir arkadaşlarını sevk etmeksizin(Şekil 2.1.5). Bu yolla arılar tekrar ileri geçiş icra ederler. İkinci ileri geçiş esnasında arılar birkaç düğüm daha ziyaret edecek, oluşturulmuş kısmi yolu genişletecek ve tekrar geri geçiş icra ederek
  • 28. 16 kovana(düğüm O) geri döneceklerdir. Kovan içinde arılar tekrar karar verme işlemine katılacak, karar verecek ve üçüncü ileri geçişi icra edeceklerdir… Yineleme bütün düğümler ziyaret edildikten sonra bitecektir. Şekil 2.1.5 : İkinci ileri geçiş. Önerilen AKO Üstezgisel(Metaheuristic) içinde, arıların davranışlarını tanımlayan birçok değişik algoritmalar geliştirilebilir ve test edilebilir. Bu algoritmalar, arıların oluşturulmuş olan kısmi çözümden vazgeçip geçmeme kararını, arkadaşlarını ikna etme çabasına girmeden aynı yolu kullanmaya devam edip genişletmesi ya da oluşturulmuş yola dönmeden önce dans ederek arkadaşlarını ikna etmeye çalışması yollarını tanımlamalıdır. 2.1.2.3. Bulanık Arı Sistemi Tarafından Yolculuk Eşleştirme Probleminin Çözümü Şehir yol ağları birçok ülkede aşırı derecede sıkışık. Buda yolculuk sürelerinin artmasına, durma sayısının artmasına, beklenmedik gecikmelere, daha yüksek seyahat maliyetlerine, sürücü ve yolculara zahmet, hava kirliliğinin artmasına ve trafik kazalarının sayısının artmasına sebep oluyor. Trafik ağı kapasitelerini daha fazla yol yaparak genişletmek aşırı maliyetli ve aynı şekilde çevresel olarak hasar veriyor. Var olan kaynakların daha verimli kullanımı çok önemli, artan seyahat talebini karşılayabilmek için. Yolculuk paylaşımı tekniği, genişçe yayılmış Seyahat Talebi Yönetimi (STY) tekniklerinden bir tanesidir. Bu teknik iki veya daha fazla kişilerin katılımını varsayar yani birkaç noktadan birkaç varış noktasına seyahat ettikleri zaman hep birlikte araç paylaşımı yaparlar. Yolculuk paylaşımına katılan bütün sürücüler gelecek hafta için planlanmış yolculuğa ilişkin aşağıdaki bilgileri operatöre sunarlar : (a) Araç kapasitesi (2,3 veya 4 kişi). (b) Kişinin yolculuk paylaşımına hazır olduğu hafta içinki günler.
  • 29. 17 (c)Yolculuk başlangıç noktası hafta içindeki her gün için. (d)Varış noktası hafta içindeki her gün için. (e) Kalkış ve/veya varış süresi haftadaki her gün için. Yolculuk paylaşımı problemi şu şekilde ifade edilebilir: Mümkün olan en iyi yolla bütün hafta için yolcuların ve araçların planlanması ve güzergâh belirlenmesi yapımı. Potansiyel amaç fonksiyonlar: (a) Bütün katılımcılar tarafından seyahat edilen mesafeyi azalt. (b) Toplam gecikmeyi azalt. (c) Araç kullanımını nispeten eşit yap. İstenen ayrılış ve/veya varış süreleri belirtildiği zaman belirleyici yani rastgele olmayan(deterministic) kombinatoryal optimizasyon problemiyle karşılaşırız(örneğin “Saat tam 8 de alınmak istiyorum.”). Diğer taraftan bir çok gerçek hayat durumlarında istenen ayrılış ve/veya varış zamanı bulanıktır(“Saat 8 civarı alınmak istiyorum”). Bu durumda, yolculuk eşleştirme problemi belirsizlikle karakterize edilmiş kombinatoryal problemi olarak ele alınmalıdır. Tanımlanan problemi Bulanık Arı Sistemi ile çözeriz. 2.1.1.4 Bulanık Arı Sistemi Arılar en iyi çözümü ararken birçok defa karar verme problemiyle karşılaşırlar. Aşağıdakiler arıların seçim ikilemleridir: (a) Kısmi çözüme eklenecek bir sonraki çözüm bileşeni nedir. (b) Kısmi çözümden vazgeçilmeli mi geçilmemeli mi? (c)Aynı kısmi çözüm genişletilmeli mi dans etmeksizin yoksa genişletilmemeli mi? Şekil 2.1.6: Mesafeleri tanımlayan bulanık kümeler. Seçim modellerinin çoğu rastgele fayda modelleme kavramına dayanır. Bu yaklaşımlar yüksek oranda mantıklıdır ve onlar, karar vericilerin mükemmel bilgi işleme ve her zaman mantıklı bir şekilde davranma yeteneğine sahip olduğu varsayımlarına dayanır(faydayı artırmayı denemek). Alternatif modelleme yaklaşımı sunmak için, araştırmacılar daha az normativ teoriler kullanmaya başladılar. Beklenmedik durum, belirsizlik ve sözel vurgulanmış gözlemler için bulanık kümeler teorisinin temel kavramları, sözel değişkenler, yaklaşık akıl yürütme ve kelimelerle hesaplama daha anlaşılır. Bu düşünceleri takip ederek, arılar
  • 30. 18 tarafından algılanan miktar bulanıktır varsayımından başlarız seçim modelimiz içinde. Yapay arılar yaklaşık akıl yürütme(muhakeme, düşünme) ve bulanık mantık kurallarını kullanırlar kendi iletişimleri ve davranışları içinde. Arılar j’ninci aşama esnasında kovandan uçar ve B kısmi çözümleri seçerler Si kısmi çözümler kümesinden aşama stj de(ileri geçiş). Çözüm bileşenini ileri geçiş esnasında şu anki kısmi çözüme eklerken, belirli arı belirli çözüm bileşenini “az çekici”, “çekici” veya “çok çekici” olarak algılar. Ayrıca yapay arıların belirli bir özelliği “kısa”, “orta” veya “uzun” (Şekil 2.1.6) “ucuz”, “orta” veya “pahalı” ve benzeri olarak algılayabildiğini varsayarız. 2.1.2.5. Çözüm Bileşeni Çekiciliğini Hesaplama ve Kısmi Çözüme Eklenecek Bir Sonraki Çözüm Bileşeninin Seçimi Çözüm bileşeni çekiciliğini hesaplamak için yaklaşık akıl yürütme algoritması aşağıdaki tiplerin kurallarından oluşur: Eğer(If) çözüm bileşeninin özellikleri ÇOK İYİ Sonra(Then) dikkate alınan çözüm kümesi ÇOK ÇEKİCİ Çözüm bileşeni çekiciliğini hesaplamak için yaklaşık akıl yürütme algoritması kullanmanın temel avantajı eğer girdi verilerin bazıları sadece yaklaşık olarak bilinse bile çözüm bileşeni çekiciliğini hesaplamak mümkün. Çözüm bileşeni i’nin çekicilik değerini fi ile sembolize edelim. Kısmi çözüme eklenecek çözüm bileşeni i’nin olasılığı pi; fi’ nin bütün dikkate alınan çözüm bileşeni çekiciliği değerlerinin toplamına bölümüdür. Yapay arılar kısmi çözüme eklenecek bir sonraki çözüm bileşenini seçmek için, “rulet tekerlek seçimi” diye bilinen orantılı seçimi kullanırlar.(Ruletin kısımları, pi olasılıklarına orantı içindedir.) Rulet tekerlek seçimine ek olarak diğer birçok seçim yolları kullanılabilirdi. 2.1.2.6 Arıların Kısmi Çözümleri Karşılaştırma Mekanizması Arıların kısmi çözümleri karşılaştırması mekanizmasını tanımlamak için kısmi çözüm kusurluluğu(badness) kavramını tanıtırız. Kısmi çözüm kusurluluğunu şu şekilde tanımlarız:
  • 31. 19 Burada: Lk - k’nıncı arı tarafından keşfedilen kısmi çözümün kusurluluğu L(k) - k’nıncı arı tarafından keşfedilen kısmi çözümün amaç fonksiyon değerleri Lmin - arama işleminin başlangıcından itibaren keşfedilen en iyi kısmi çözümün amaç fonksiyon değeri Lmax – arama işleminin başlangıcından itibaren keşfedilen en kötü kısmi çözümün amaç fonksiyon değeri Kısmi çözüm kusurluluğunu belirlemek için yaklaşık akıl yürütme algoritması aşağıdaki tiplerin kurallarından oluşur: Eğer(if) keşfedilen kısmi çözüm KÖTÜ ise (then) bağlılık DÜŞÜK Arılar yaklaşık akıl yürütmeyi(reasoning) kullanır ve arama işleminin başlangıcından itibaren keşfedilen en iyi ve en kötü kısmi çözümleri kendilerinin keşfedilmiş çözümleri ile karşılaştırırlar. Bu yolla “tarihsel gerçekler” arı kolonisinin bütün üyeleri tarafından keşfedilir. Bu önemli bir etkiye sahiptir gelecek yön aramada. 2.1.2.7 Yönünü Değiştiren Arıların Sayısını Hesaplama Dans alanında reklam edilen her kısmi çözüm(kısmi yol) iki özelliğe sahiptir: (a) amaç fonksiyon değeri (b) kısmi çözümü(kısmi yolu) reklam eden arıların sayısı. Kısmi çözümü reklam eden arıların sayısı, arıların ortak bilgilerinin iyi bir göstergesidir. Bu, arı kolonisinin nasıl özel kısmi çözümleri algıladıkları gösterir. Reklam edilen kısmi çözümlerin çekiciliğini belirlemek için yaklaşık akıl yürütme algoritması aşağıdaki tiplerin kurallarından oluşur: Eğer(if) reklam edilen yolun uzunluğu KISA ve yolu reklam eden arı sayısı KÜÇÜK (then) reklam edilen kısmi çözümün çekiciliği ORTA
  • 32. 20 Bu yolla hesaplanan yol çekiciliği [0,1] aralığında değerler alabilir. Daha yüksek hesaplanan değer, daha çekici reklam edilen yol manasına gelir. Arılar daha az veya daha fazla bağlı eski yollara. Aynı zamanda reklam edilen yollar daha az veya daha çok çekici gelir arılara. Yolları pi ve pj olarak not edelim. pi yolundan vazgeçecek ve pj boyunca uçacak olan arkadaşlarına katılan arıların sayısını nij ile gösterelim. Yollarını değiştiren arıların sayısını bulmak için olan yaklaşık akıl yürütme algoritması aşağıdaki tiplerin kurallarından oluşur: Eğer(if) arıların yol pi’ye olan bağlılığını DÜŞÜK ve yol pj nin çekiciliği YÜKSEK ise (then) yolunu pi den pj ye değiştiren arıların sayısı YÜKSEK. Bu yolla, yeni ileri geçiş başlamadan önce belirli yol boyunca uçan arıların sayısı değiştirilmiş oldu. Ortak bilgi kullanmak ve aralarında bilgi paylaşmak ile arılar daha umut verici arama yollarına yoğunlaşmış olur ve yavaşça daha az umut vaat eden yollardan vazgeçerler.
  • 33. 21 2.1.3 Parçacık Sürü Optimizastonu Algoritması 2.1.3.1. Genel Bakış Parçacık Sürü Optimizasyonu(PSO) popülasyon tabanlı ve kuşların sosyal davranışının taklitide dayanan bir arama algoritmasıdır. Bilim adamlarına göre, yiyecek aramak için, kuşların topluluğu içindeki her bir üye hızını kendilerinin kişisel deneyimleri yansıra topluluğun diğer üyeleri ile iletişim sayesinde elde ettikleri bilgilere göre belirlerler. Tipik PSO, sürekli fonksiyonlar optimizasyonu(continuous functiıon) için uygulanabilir ve o genişçe bilim, mühendislik alanına uygulanır. 2.1.3.2. Parçacık Sürü Optimizasyonu Algoritması PSO içindeki arama işlemi parçacık üzerine dayanır. Parçacığın önceki en iyi çözümü ve popülasyonun güncel en iyi çözümü parçacığın çözümünü güncellemek içindir. Arama mekanizmasından dolayı PSO algoritması için lokal optimum çözüm edinme olasılığı düşürülebilir. PSO kolaylıkla uygulanabilir ve sayısal olarak masrafsızdır çünkü bellek ve CPU hız gereksinimleri düşüktür. Algoritma uygulama için kolaydır, birkaç parametre ayarlama ve kısa çalışma süresi gerektirir diğer avantajlara da sahiptir. Her optimum problem için mümkün bir çözüm sunulur parçacık olarak. Her bireysel parçacık sırasıyla kendisi ve popülasyon için iyi bir deneyim seçmek için amaç fonksiyon tarafından değerlendirilen bir uygunluk değerine sahiptir. Parçacık sürü algoritması, her parçacığın önceki en iyi performansı ve onun komşusunun en iyi performansı hakkındaki bilginin temelinde bir problem alanı boyunca parçacıkların popülasyonunun yörüngelerini ayarlar. PSO popülasyonun parçacıklarını rastgele başlatır ve oluşumları güncelleyerek optimum için arama yapar. Varsayalım arama uzayı içinde global olarak optimum çözüm için arama yapan m parçacığın sürüsü ve D boyutlu arama uzayı, ve sonra sürünün i parçacığı D boyutsal vektör xi=(xi1, xi2,. . . ,xiD) ile temsil edilebilir (i=1,2,..,m). Bu parçacığın hızı diğer bir D boyutsal vektör vi =(vi1,vi2,…,vid) tarafından temsil edilir. Her parçacığın uygunluğu
  • 34. 22 optimizasyon probleminin amaç fonksiyonuna göre değerlendirilebilir. Parçacık i nin daha önce ziyaret etmiş olduğu en iyi pozisyon onun bireysel en iyi pozisyonu pBest olarak dikkate alınır. Bütün sürünün en iyi bireyselinin pozisyonu global pozisyon gBest olarak dikkate alınır. Her adımda parçacığın hızı ve onun yeni pozisyonu aşağıdaki iki denkleme göre atanır: En sonda, algoritma her yinelemenin sonuçlarını en iyi çözümü bulana kadar kontrol edecek ya da şartlar sağlandığında sonlandırır. Burada Vid(t), parçacık i’nin orijinal hızı, Vid(t+1) ise parçacık i’nin yeni hızı. Xid(t), parçacık i’nin orijinal pozisyonu, Xid(t+1) parçacık i’nin yeni pozisyonu, Pgd(t) komşular içinde her hangi bir parçacığın önceki en iyi pozisyonu, c1 ve c2 maksimum adım büyüklüğünü(step size) kontrol eden hızlanma katsayıları olarak isimlendirilen pozitif sabitler(c1=c2=2.0 ), r1 ve r2 [0,1] aralığı ile bağımsızca düzgün olarak dağıtılmış rastgele değişken ve ω eylemsizlik ağırlığı önceki hız parçacığının şimdikinin üzerindeki etkisini kontrol eder ( 0.4 <= ω<=1.4 ). Arama alanını ayarlamak için ω kullanılır. Arama alanları devamlı şekilde azalır yinelemenin sayısı arttıkça. Eylemsizlik ağırlığının tanımı aşağıda gösterilir(10). Parameter ω, algoritmanın arama davranışını belirler, şöyle ki büyük değerler yeni alanları aramayı kolaylaştırır hâlbuki küçük değerler ince arama sağlar şimdiki alan içinde. Global ve lokal keşifler arasında bir denge elde edilebilir algoritmanın çalışması esnasında eylemsizlik ağırlığını azaltarak. Parameter ω doğrusal olarak(linearly) azaltma ile kullanılır, bu da ωmax‘dan ωmin’a değişir. Bu yöntem PSO’nun başlangıçta daha global arama yeteneğine ve sona doğru ise daha lokal arama yeteneğine sahip olma eğilimine neden olur. Fonksiyon şöyle tanımlanır: Burada ωmax başlama ve ωmin ise sonlanma eylemsizlik değerlerini, itermax maksimum yineleme sayısını ve iter şu anki yineleme sayısını gösterir.
  • 35. 23 Genel olarak parçacığın aşırı dolaşımını kontrol etmek için bir üst sınır Vmax yerleştirilir hız üzerine arama uzayının dışında: PSO ‘ nun standart yöntemi şöyle özetlenebilir: Adım 1: Rastgele hız ve pozisyonlar ile parçacıkların popülasyonunu başlat. Adım 2: Amaç fonksiyon ile bütün parçacıların uygunluk değerlerini değerlendir. Adım 3: Her parçacık için onun şimdiki uygunluk değeri ile pBest uygunluk değerini karşılaştır. Adım 4: Sürünün en iyi parçacığını en iyi uygunluk değeri ile belirle. Adım 5: Her bir parçacığın hızı ve pozisyonu değiştirilir. Adım 6: Eğer durma kriteri karşılanırsa gbest çıktısını ve onun uygunluk değerini ver; aksi taktirde adım 2’ ye git.(Algoritma yinelemenin maksimum sayısından sonra sonlandırılır ya da nispeten en iyi uygunluk değeri elde edildikten sonra) 2.1.3.3. Yolcu Treni Planlaması Yolcu trenlerinin durma sayısı demir yolu taşımacılığının geçiş kapasitesini, araç sayısını, kalkma ve durma nedenli ek zamanı, seyahat süresini, trenlerin sıklığını, yolcuların rahatlığını ve yolcu trafiğinin hacmini etkiler. Yolcu treni durma planı ara istasyonlardaki yolcular için uygun binme şartı sağlamalı bununla birlikte trenlerin seyahat hızlarını aşırı derede azaltmamalıdır. Yeterli sayıda yolcu olduğu zaman duraksız tercih edilir. Yani durma planlarını belirlemeden önce her iki istasyondan trenler vasıtasıyla taşınabilen yolcuları çıkarırız. Varsayalım demir yolu ağı (S,E), toplam istasyon sayısı N, istasyonların sayısı S={si|i=1,2,..,N}, bölümlerin kümesi E={eij i=1,2..,N; j=1,2,..,N}, bölümlerin uzunluğu D={d(eij) i=1,2,..,N; j=1,2,..,N}, istasyonun geçiş kapasitesi N(si), istasyon si’ den istasyon sj’ ye yolcu hacmi q(si,sj). Varsayalım, ağ üzerinde işleyen trenlerin belli bir seti T={T1,T2,..,Tİ}, tren Tk’nın taşıma kapasitesi A(Tk), tren Tk ‘nın geçtiği istasyonlar S(Tk)={sk1,sk2,…skh} ve geçtiği bölümler E(Tk)={ek1,ek2,…,ek(h-1)}. tren Tk’nın istasyon si de durup durmamasını gösterir. KTk(eki) boş koltukların sayısını gösterir tren Tk için bölüm eki de çalıştığtı zaman. qs (si ,sj) kalan yolcuları gösterir istasyon si ‘den istasyon sj ’ ye. QTk (ski skj) tren Tk üstündeki yolcuları gösterir bölüm ski den
  • 36. 24 bölüm skj ‘ye giderken. Varsayalım durma için ortalama maliyet Cstop (Yuan/time), boş koltuk kaybı Cvacancy (Yuan/seat * kilometer), ortalama transfer maliyeti Ctransfer (Yuan/person*time). Yüksek hızlı demir yolu hatları üzerinde yolcu treni durma planı için çok-amaçlı(multi- objective) optimizasyon modeli aşağıdaki gibi tanımlanır: Amaç fonksiyon 1: Bütün yolcu trenleri için durma zamanlarını azalt. Amaç fonksiyon 2: Boş trenlerin seyahat mesafesini azalt. Bu, boş koltukların sayısı ve her bölümün uzunluğunun çarpımını azaltır.
  • 37. 25 Amaç fonksiyon 3: Kalan yolcuların sayısını azalt. Kısıtlama: Bir istasyondaki ayrılan ve duran trenlerin sayısı istasyonun kapasitesine eşit ya da daha az. Durma planlama prensiplerini ve kolay uygulamayı dikkate alarak yukarıdaki üç fonksiyonu amaç olarak seçeriz durma planını optimize etmek için. Demir yolu ulaşımı şirketi açısından birinci ve ikinci amaç fonksiyonlar bütün yolcu trenlerin durma sayısını ve boş trenlerin seyahat mesafesini azaltır ayrı ayrı. Üçüncü amaç fonksiyon, yolcu kaybını azaltır ve yolcuların isteklerini karşılamak için kalan yolcuların sayısını azaltır. Kısıtlamalar için varsayıyoruz ki trenlerin sınıfları ve miktarı elde edilir ve bu önkoşul durma planı için. Biz sadece istasyonların geçiş kapasitesini kısıtlama fonksiyonu olarak seçiyoruz.
  • 38. 26 2.1.4. Bakteri Yiyecek Arama Optimizasyonu Algoritması 2.1.4.1 Sınıflandırma Bakteri Yiyecek Arama Optimizasyonu Algoritması(BYAOA), Bakteri Optimizasyon algoritması ve Sürü Optimizasyonu ve genel manada Sayısal Zekâ ve Üstsezgiseller(Metaheuristics) alanına aittir. BYAOA, diğer Bakteri Optimizasyonu Algoritmaları ile alakalıdır örneğin Bakteri Kemotaksi(Chemotaxis) Algoritması ve diğer Sürü Zekâsı Algoritmaları ile örneğin Karınca Kolonisi Optimizasyonu ve Parçacık Sürü Optimizasyonu. Algoritmayı diğer Sayısal Zekâ algoritmaları ve Özsezgiseller örneğin Parçacık Sürü Optimizasyonu eve Genetik Algoritma ve Tabu Arama ile melezleme girişimi yaklaşımının ilaveleri bulundu. 2.1.4.2 Esinlenme Bakteri Yiyecek Arama Algoritması, E.coli ve M.xanthus gibi bakterinin gurup yiyecek arama davranışından esinlenilmiştir. Özellikle BYAOA, bakterinin çevresi içindeki kimyasal değişimi(örneğin besin) algılama ve ona doğru veya özel sinyallerden uzağa hareket etmesi olan kemotaksi davranışından esinlenilmiştir. 2.1.4.3 Benzetme (Metafor) Bakteri, çevresindeki kimyasalların değişimine dayalı yiyecek yönünü algılar. Benzer şekilde, bakteri, çevresine çekici ve itici kimyasallar salgılar ve birbirlerini algılayabilir benzer yolla. Bakteri, hareket mekanizmalarını kullanarak(örneğin kamçı) çevreleri etrafında hareket edebilir, bazen karmakarışık düzensizce (dönerek, yuvarlanarak) ve diğer zamanlarda yönlendirilmiş tutum içinde, yüzme olarak bahsedilebilir. Bakteriyel hücreler, hareket etmek için yiyecek algılarını ve diğer hücreleri neden gibi ve yer değiştirmek için rastgele yuvarlanma ve yüzmeyi hareket gibi kullanan çevre içindeki faktörler(agents) gibi ele alınabilir. Hücre-hücre etkileşimine bağlı olarak hücreler bir yiyecek kaynağına üşüşebilir ve/veya saldırganca birbirlerini itebilir ya da görmezden edebilirler. 2.1.4.4 Strateji Algoritmanın bilgi işleme stratejisi, hücrelere rastgele ve beraberce optimuma doğru toplanmaya izin vermek. Bu, taklit edilen hücrelerin popülasyonu üzerindeki üç işlemin serisi
  • 39. 27 vasıtasıyla başarılır: 1) ‘Kemotaksi’(kimyasal bir maddeye yönelme), hücrelerin maliyeti, diğer hücrelere yakınlığı ile indirilir ve hücreler her defasında bir kere ayarlanmış maliyet yüzeyi boyunca hareket eder(algoritmanın çalışmasının çoğunluğu). 2) ‘Üreme’, gelecek nesillere, yaşamları süresince iyi performans göstermiş hücreler sadece katkıda bulunabilir. 3) ‘Eleme-dağıtılma’, hücreler çıkarılır ve düşük bir olasılık ile yeni rastgele modeller sokulur. 2.1.4.5 Yöntem Şekil 1,7’deki algoritma, maliyet fonksiyonunu azaltmak için Bakteri Yiyecek Arama Optimizasyonu algoritmasının sözde kodu(pseudocode) listesini sağlar. Şekil 1,8’deki algoritma, BYAOA algoritmasının kimyasal bir maddeye yönelme ve yüzme davranışı için sözde kod sağlar. Bir bakteri maliyeti, diğer hücreler ile etkileşimi ile azaltılır. Bu etkileşim fonksiyonu (g()) aşağıdaki gibi hesaplanır: burada cellk belli bir hücre, dattr ve wattr çekicilik katsayıları, hrepel ve wrepel itme katsayıları, S popülasyondaki hücre sayısı, P belli bir hücreler pozisyon vektörü üzerindeki boyutların sayısı. Algoritmanın geriye kalan parametreleri, Cellsnum popülasyon içinde sürdürülen hücrelerin sayısı, Ned elemenin-dağıtılmanın adım sayısı, Nre üreme adımlarının sayısı, Nc kemotaksi adımlarının sayısı, Ns belli bir hücre için yüzme adımlarının sayısı, Stepsize rastgele yön vektörü ve bütün değerler [-1,1] arasında, Ped bir hücrenin elenme ve dağıtılmaya tabi tutulma olasılığıdır. 2.1.4.6 Sezgisel(Heuristic) • Algoritma, sürekli fonksiyon optimizasyon problem alanlarına uygulama için dizayn edildi. • Algoritma içinde verilen döngüler, farklı arama davranışları elde etmek için birçok yolla ayarlanabilir. Kemotaksi yinelemenin büyük sayısına ve diğer yinelemelerin küçük sayısına sahip olmak geneldir.
  • 40. 28 • Varsayılan (default) katsayılar sürü toplanması davranışı (hücre-hücre etkileşimi) için dattract = 0.1, wattract = 0.2, hrepellant = dattract ve wrepellant =10. • Step size genellikle arama uzayıının küçük bir kısmıdır örneğin 0.1. • Üreme esnasında, tipik olarak düşük sağlık ölçülü olan popülasyonun yarısı çıkarılır ve popülasyonun birinci (yüksek-sağlıklı) yarısının her bir üyesinden iki kopyası elde edilir. • Eleme ve dağıtılmanın olasılığı (ped) genelde hayli büyük ayarlanır örneğin 0.25. Şekil 2.1.7 : BYAOA için sözde kod.
  • 41. 29 Şekil 2.1.8 : Kemotaksi ve yüzme fonksiyonu için sözde kod.
  • 42. 30 2.2 BAĞIŞIK ALGORİTMALAR 2.2.1. Genel Bakış 2.2.1.1 Bağışık Sistem Bağışık algoritmalar, biyolojik bağışık sistemin mekanizmalarından ve işlemlerinden esinlenmiş, hesaba dayalı (sayısal) metotlar ile alakalı çalışmaların Yapay Bağışık Sistem alanına aittir. Bağışık sistemin basitleştirilmiş tanımı, ev sahibi organizmaları hastalık yapıcı (patojen), toksik maddeler tehlikesinden korumaya niyetlenmiş organ sistemidir. Patojenler çeşitli mikro organizmaları kapsar örneğin bakteri, virüs, parazit. Bağışık sistemin rolü ile alakalı geleneksel bakış açısı iki ana konuya ayrılır: patojeni belirleme ve eleme (yok etme) işlemi. Bu davranış genel anlamda kendisini (ev sahibi organizmalara ait hücre ve moleküller) potansiyel zararlı kendine ait olmayan maddelerden ayırt etme işlemidir. Bağışık sistemin mimarisi şöyle ki, savunma amaçlı katmanlar ev sahibini korur. Patojen içeri girdikten sonra, doğuştan ve sonradan edinilmiş bağışık sistem ile uğraşmalı savaşmalı. Bu birbirleriyle alakalı bağışıksal alt sistemler, uzmanlaşmış organ ve işlemler tarafından birçok değişik molekül ve hücre türlerinden oluşturulurlar, kendi-kendi olmayan problemi kimyasal bağlanma kullanarak en düşük düzeyde ele almak için. Bu bağlanmada hücrelerin yüzeyleri patojenin yüzeyleri ile etkileşir, reaksiyon gösterir. Uyarlanır bağışık sistem, ayrıca sonradan edinilen bağışıklık sistemi diye de anılır, bu şekilde isimlendirilir çünkü özel bir patojene maruz kalmış ev sahibi organizma için savunma özelliği kazanma, uzmanlaşma için sorumludur. Doğuştan var olan bağışık sistemden farklı olarak sonradan edinilen bağışık sistem sadece omurgalı hayvanlarda bulunur. Sistem, daha önce karşılaşmış olduğu maruz kalmanın anısını muhafaza eder. Bu anı (memory), daha önceden öğrenilmiş bir patojen kimliği sergileyen enfeksiyon kapma üzerine anımsanır (recall). Bu öğrenme işlemi iki farklı karşılık verme olarak ayrılır. Birinci veya asıl karşılık verme, sistem yeni bir patojen türüyle karşılaştığı zaman olur. Sistem yavaş karşılık verir, enfeksiyonu temizlemek birkaç hafta alır. Aynı patojen ile tekrar karşılaşmada, sistem ikinci karşılık vermeyi sergiler, birinci karşılık vermede ne öğrenildiyse onu uygular ve enfeksiyonu hızlıca temizler. Sistemin birinci karşılık vermede elde ettiği anı (memory) genel olarak uzun sürer ve bu anı ev sahibi hücre için hayat boyu bağışıklık sistemi sağlar, iki genel örnek kızamık ve suçiçeği. Edinilen bağışık sistem için en önemli hücre lökosit diye isimlendirilen
  • 43. 31 akyuvarlardır. Lökositler, patojenin tanınmasını ve yok edilme işini kapsar ve ev sahibi organizma içinde devridaim eder. 2.2.1.2 Yapay Bağışık Sistem Yapay Bağışık Sistemler(YBS), bağışıklıkbilim tarafından esinlenmiş, hesaba dayalı(sayısal) zekanın alt alanıdır ve 1990’ larda ortaya çıkmıştır. Makine öğrenme (machine learning) ve otomatikleştirilmiş problem çözmeye, teorik bağışık modelleri uygulamak için 1980’ lerin sonunda sunulan önerilere dayalıdır. Alana en biçimlendirici kimlik veren çalışmalar, bağışık sistemi, bilgisayar güvenliği alanı içinde bilgi koruma sistemi için bir benzetme olarak önerenlerdi. Klasik örnekler Forrest’ in Bilgisayar Bağışıklığı (Computer Immunity) ve Kephart’ ın Bağışık Anti-Virüs (Immunue Anti-Virus). Bu çalışmalar alan için şekillendirici idi çünkü onlar sezgisel (anlaşılması kolay) bir uygulama alanı sağladı ve bu daha geniş kitleleri cezbetti, bağımsız alt alan olarak çalışmayı farklılaştırmaya yardım etti. Modern Yapay Bağışık Sistem şu üç alt alanlardan birinden esinlenildi: klonal seçim (clonal selection), negatif seçim (negative selection), bağışık ağ algoritmaları(immue network algorithms). Teknikler genel olarak kümeleme(clustering), model tanıma (pattern recognition), sınıflandırma, optimizasyon ve diğer benzer makine öğrenme problem alanları.
  • 44. 32 2.2.2 Klonal Seçim Algoritması (Clonal Selection Algorithm (CLONALG)) 2.2.2.1. Sınıflandırma Klonal Seçim Algoritması (KSA), Yapay Bağışık Sistemlere aittir. Diğer Klonal Seçim Algoritmaları ile ilişkilidir örneğin Yapay Bağışık Tanıma Sistemi, B-Hücre Algoritması (B- Cell Algorithm), Çok-Amaçlı Bağışık Sistem Algoritması (Multi-Objective Immunne System Algorithm). KSA için Birçok genişletmeler mevcuttur örneğin CLONALG1 ve CLONALG2 yaklaşımları, Klonal Sınıflandırma (Clonal Classification) diye isimlendirilen sınıflandırma versiyonu ve Klonal Seçim (Adaptive Clonal Selection) diye isimlendirilen uyarlanır versiyon. 2.2.2.2 Esinlenme Klonal Seçim Algoritması, edinilen bağışıklık teorisinden esinlenilmiştir. Klonal seçim teorisi, sonradan edinilen bağışık sistem içindeki antikorların kabiliyet ve davranışını açıklamak için önerildi. Teoriye göre, antijenler lenfositleri (her iki B ve T hücreleri) seçer. Lenfosit seçildiği zaman ve antijenik belirleyici faktöre (kofaktör) bağlandığında, hücre kendisinin binlerce kopyasını yaparak çoğalır ve değişik hücre tiplerine (plazma ve anı) farklılaştırır. Plazma hücreleri kısa bir ömre sahiptir ve çok büyük miktarda antikor molekülleri üretir. Bununla birlikte anı hücreleri genişletilmiş bir periyod aynı belirleyici faktörün gelecekteki tanımasını bekleyerek yaşar. Teorinin önemli bir özelliği, bir hücre seçildiği zaman ve ürediğinde, küçük kopyalama yanlışlıklarına maruz kalır (hypermutation) ve bu yanlışlıklar, ifade edilen reseptörün şekli ve lenfosit hücre yüzeylerine bağlı antikorların ve plazma hücrelerin ürettiği antikorların sonraki belirleyici faktör tanıma yeteneklerini değiştirir. 2.2.2.3 Benzetme Teori şunu ortaya koyar, genel bağışık hücrelerin başlangıçtaki birikimi ile başlayarak, sistem kendini (bileşenler, hücrelerin yoğunluğu ve onların reseptörleri) değiştirebilir çevreyle olan deneyime karşılık olarak. Seçimin kör bir işlemiyle ve milyonlarca hücrenin büyük ölçeği üzerinde birikmiş değişiklik sayesinde, kazanılmış bağışık sistem, ev sahibi organizmayı çevrenin özel patojenik tehlikelerinden korumak için gerekli bilgiyi elde etme yeteneğine sahip. Teori ayrıca şunu önerir, sistem maruz kalınacak patojeni ummalı (tahmin etmeli) ve patojene maruz kalmayı istemeli. Sistem, savunma sağlamak için gerekli bilgiyi elde etmeden önce patojen organizmaya zarar verebilir.
  • 45. 33 2.2.2.4 Strateji Klonal seçim teorisinin bilgi işleme prensipleri, genel bir öğrenme stratejisini tanımlar. Bu strateji, seçim için rekabetçi işlemlere maruz bırakılan uyarlanabilir bilgi birimlerin (her biri bir problem çözümü veya bileşen) popülasyonunu içerir bununla birlikte meydana gelen kopyalama ve dönüşme, en sonunda bilgi birimlerinin çevreye uyumlayıcı uygunluğunu geliştirir. 2.2.2.5 Yöntem Şekil 2.2.1’deki algoritma, maliyet fonksiyonunu azaltmak için Klonal Seçim Algoritmasının (KSA) sözde kod listesini sağlar. Genel KSA modeli, antikorların (aday çözümler), her ikisinden biri, ya bir antijen modeline karşı eşleşme ya da maliyet fonksiyonu tarafından bir modelin değerlendirme yakınlığına dayalı seçimini kapsar. Seçilen antikorlar yakınlıkla orantılı olarak kopyalamaya tabi tutulur ve kopyalama yanlışlıkları ters orantılı yakınlıkla. Çıkan klon kümesi, sonraki kuşak içinde üye olabilmek için mevcut antikor popülasyonu ile rekabet eder. Ayrıca, düşük yakınlıklı popülasyon üyeleri, rastgele üretilen antikorlar ile yerleri değiştirilir. Şekil Şekil 2.2.1’deki algoritmanın model tanıma değişikliği, anı çözüm kümesinin bakımını içerir. Bu küme içindeki bütünlük probleme bir çözüm sunar. İki terimli (binary) kodlama planı, iki terimli (binary)-model tanıma için çalıştırıldı ve sürekli fonksiyon optimizasyon örnekleri ve tamsayı permütasyon planı, Seyahat Eden Satıcı Problemi için çalıştırıldı. 2.2.2.6 Sezgisel(Heuristic) • KSA, genel bir makine öğrenme yaklaşımı olarak dizayn edildi ve model tanıma, fonksiyon optimizasyon ve kombinatoryal optimizasyon problem alanlarına uygulandı. • İki terimli dizi gösterimi kullanıldı ve özel problem alanı için uygun bir gösterim için şifre çözüldü. • Her seçilmiş üye için üretilen klonların sayısı, birikim büyüklüğünün bir fonksiyonu olarak hesaplandı Nc= round(B.N), burada beta kullanıcı parametresi Clonerate. • Derece tabanlı yakınlık orantılı fonksiyon, model tanıma problem örnekleri için popülasyonun seçili üyeleri için üretilen klonların sayısını belirlemek için kullanılır. • Her yineleme de rastgele eklenen antikorların sayısı genel olarak çok düşük(1-2). • Nokta mutasyonları, hypermutation operasyonlar içinde kullanılır.
  • 46. 34 • Fonksiyon exp(-p*f), belli bir aday çözüm için bireysel mutasyon bileşeninin olasılığını belirlemek kullanılır. Burada f aday yakınlık (normalize edilmiş çoğaltma değeri) ve p kullanıcı parametre. Şekil 2.2.1. : KSA için sözde kod.
  • 47. 35 2.2.3 Negatif Seçme Algoritması 2.2.3.1. Sınıflandırma Negatif Seçim Algoritması Yapay Bağışık Sistemlerin alanına aittir. Algoritma diğer Yapay Bağışık Sistemler ile ilişkilidir örneğin Klonal Seçim Algoritması ve Bağışık Ağ Algoritması. 2.2.3.2. Esinlenme Negatif Seçim algoritması, memelilere ait sonradan elde edinilen bağışık sistem içinde kendi- kendinden olmayanı ayırt etme davranışı tarafından esinlenilmiştir. Kazanılmış bağışıklığın klonal seçim teorisi, vücut içindeki potansiyel zararlı maddeleri seçen hücrelerin çoğalması ve devam eden seçimini içeren bağışık sistemin uyarlanır davranışına açıklama getirir. Bu işlemin ilginç bir yönü, bedenin dokuları için seçim yapmayan bağışık hücrelerin popülasyonunu yönetmekle sorumlu, özelliklede otomatik bağışıklık olarak bilinen kendi kendine reaktif bağışık hücreleri oluşturmaz. Bu problem ‘kendi-kendinden olmayan ayırt etme olarak bilinir’ ve hiçbiri otomatik-bağışık olmayan bağışık hücrelerin bir birikiminin devam eden bakımını ve hazırlanmasını içerir. Bu işlem, hücre çoğalma ve oluşturması esnasında kendi kendine reaktif olan hücreleri seçen ve çıkaran negatif seçim işlemi tarafından başarılır. Bu işlem T-lenfositlerin hazırlanması esnasında gözlemlendi, naif versiyonları timus içinde pozitif ve negatif seçim işlemlerinin her ikiside kullanılarak olgunlaştırılır. 2.2.3.3 Benzetme Kendi-kendinden olmayanı ayırt etme kuralı şunu önerir; klonal seçim içinde önceden yapılan tahminler uygun olmayan bölgeler tarafından filtrelenir(protein yapıları kendi dokularına bağlar). İlaveten, kendi-kendinden olmayan immünolojik örnek, bilinenin tümleyenini modelleyerek bilinmeyen alanın(karşılaşılan patojen) modellemesini önerir. Bu öneri, bilinmeyen bilgiyi tahminden ve bu tahminleri bilinen tarafından filtrelemeden daha ziyade bilinenden farklı olan bilinmeyen bilgiyi sınıflandırmak doğal eğilim oldukça sezgisel olmayandır. 2.2.3.4 Strateji Negatif seçme yolu ile kendini-kendinden olmayandan ayırt etmenin bilgi işleme prensipleri, anomali(anormallik) ve değişiklik tespit etme sistemleri bilinenden değişimin öngörüsünü
  • 48. 36 modeller. Prensip, mevcut (kendi ve normal) modelllerin varolan külliyat ile eşleşmeyen modellerini üreterek ayrıca bilinmeyen veri(kendi olmayan veya normal olmayan), anomolilerin veya değişikliklerin bir modelini inşa ederek başarılır. Normal olmayan modellere eşleştirmeler araştırılarak yeni verinin akımlarını veya varolan normal veriyi izlemek için hazırlanan normal olmayan modeller kullanılır. 2.2.3.5 Sezgisel(Heuristic) • Negatif Seçme Algoritması değişiklik tespit etme, yenilik tespit etme, ihlal tespit etme ve benzer model tanıma ve iki sınıf sınıflandırma problem alanları için dizayn edildi. • İkili(binary) temsil ve ikili eşleştirme kuralı örneğin Hamming distance ve r- contiguous bits için geleneksel negatif seçme algoritması kullanılır. • En uygun bir veri temsili seçilmelidir bilinen problem alanı için ve veri temsiline bir eşleştirme kuralı sırayla seçilmeli veya uygun hale getirilmeli. • Algılayıcılar, bilinen(normal veya kendi) very kümesinden başka problem alanının ön bilgisi olmaksızın hazırlanabilir. • Algoritma, algılayıcı yakınsama(eşleştirrme kalitesi) ve alan karışıklığı(algılayıcı sayısı) arasında dengeleme için yapılandırılabilir. • Algılayıcılar arasındaki bağımsızlık eksikliği şunu ima eder, algılayıcı hazırlama ve uygulama, sırasıyla dağıtık ve parelel uygulama için doğal olarak parallel ve uygundur.
  • 49. 37 2.3 SİNİRSEL ALGORİTMALAR 2.3.1 Genel Bakış 2.3.1.1 Biyolojik Sinirsel Ağlar Biyolojik Sinirsel Ağlar, sinir sisteminin bilgi işleme elemanlarından bahseder, sinirsel hücrelerin topluluğu olarak düzenlenir, sinir olarak isimlendirilir, bunlar birbirlerine ağ içinde bağlıdırlar ve eletkrokimyasal sinyaller kullanarak birbirleriyle etkileşirler. Bir biyolojik sinir genel olarak girdi sinyali sağlayan dendritlerden oluşur ve diğer sinirlere sinapslar vasıtasıyla bağlıdır. Sinir, girdi sinyale tepki verir ve akson olarak isimlendirilen çıktı bağlantısı üzerinde çıktı sinyali üretebilir. Biyolojik sinir ağları, biyolojinin bir dalı olan, sinir sistemi ile alakalı sinir bilimi alanı içine girer. Sinir anatomisi, sinir ağlarının guruplarının fonksiyonu ve yapısı ile alakalı bir konudur. İkisi de, beynin parçaları ve beyinden vücudun geriye kalan kısmına ve buralardan beyne götüren yapıyla alakalıdır. Nöropsikoloji, beynin yapısı ve fonksiyonu ile alakalı diğer bir alandır ve soyut psikolojik davranışlara ile ilgilenir. 2.3.1.2 Yapay Sinir Ağları Yapay Sinir Ağlarının (YSA) alanı, beyin içindeki hücrelerin biyolojik ağlarının fonksiyon ve yapısının gözlem ve teorisi tarafından esinlenilmiş sayısal (hesaba dayalı) modellerin araştırılması ile alakalıdır. Onlar genel olarak matematiksel, sayısal (hesaba dayalı) ve mühendislik problemleri ele almak için modeller olarak dizayn edildi. Örnek olarak bilgisayar bilimi, nörobiyoloji ve matematik içinde branşlar arası araştırmanın birçoğu mevcuttur. Yapay Sinir Ağı genel olarak, çıktı modelleri üretmek ve girdi modelleri üzerinde bazı hesaplamalar yapmak için birbirleriyle bağlanmış yapay sinirlerin topluluğundan oluşur. Onlar uyarlanabilir(uyabilen) sistemler, kendi içyapılarını değiştirme yeteneğine sahipler. Genel olarak, ağ içinde bulunan düğümler arasındaki ağırlıklar içerik adreslenebilir bellek, özellik çıkarma, gerilim ve sınıflandırma gibi fonksiyon yakınlaştırma problemlerinin çeşitleri için kullanılır.
  • 50. 38 Sinir ağlarının birçok tipi vardır, bunların çoğu şu iki kategoriden birinin içine girer: İleri-beslemeli Ağlar: burada girdi, ağın bir tarafı üzerinden sağlanır ve ağ yapısı boyunca ileri (bir yönde) doğru çıktı sinyalleri okunan diğer tarafa yayılır. Bu ağlar bir hücre, sinirlerin bir katmanı veya birçok katmanı olarak oluşabilir. Bazı örnekler Perceptron, Radyal Temelli Fonksiyon Ağlar ve birçok katmanlı perceptron ağlar. Geri-beslemeli Ağlar: burada ağ içindeki döngülere izin verilir ve yapı tamamen birbirleriyle bağlı olabilir. Örnek olarak Hopfield Ağ ve Çiftyönlü İlişikili Hafıza. Yapay Sinirsel Ağ yapıları düğümler ve ağırlıklardan yapılır ve genel olarak bir problem alanından modellerin örnekleri üzerine dayalı bir eğitim gerektirir. Öğrenme stratejilerinin bazı örnekleri: Denetlenen Öğrenme: burada ağ bilinen beklenen bir cevaba sahip girdiye tabi tutulur. Beklenen sonuçla daha iyi eşleşebilmesi için ağın iç durumu değiştirilir. Bu öğrenme metodunun örnekleri Geri-Yayılım algoritması ve Hebb kuralı. Denetlenmeyen Öğrenme: burada ağ girdi modellerine tabi tutulur ve bu modellerden anlam kavramalı ve özellik çıkartmalıdır. Denetlenmeyen Öğrenme’ nin en genel tipi rekabetçi öğrenme. Rekabetçi öğrenmede, sinirler çıktı modeli üretmek için girdi modeli üzerine dayalı olarak yarışır. Örneğin Sinirsel Gaz, Öğrenme Vektörü Niceleme ve Kendi-Organizeleyen Harita. Yapay Sinir Ağlarını ayarlamak ve eğitmek genel olarak zordur ama hazırlandığı zaman uygulama içinde çok hızlıdır. Onlar genel olarak fonksiyon yakınlaştırma-temelli problem alanları için kullanılır ve eksiklik veya bozukluğa (noise) karşı tolerans ve genellemenin yeteneklerine sahip olduğu için ödüllendirilmiştir.
  • 51. 39 2.3.2 Perceptron Algoritması 2.3.2.1 Sınıflandırma Perceptron algoritması, Yapay Sinirsel Ağlar ve daha genişçe Sayısal Zekâ alanına aittir. O bir, tek katmanlı ileri-beslemeli sinirsel ağ (tek hücre ağı), o birçok genişletmelere ve seçeneklere ilham verdi. 2.3.2.2 Esinlenme Perceptron, tek sinirsel hücrenin (sinir) bilgi işleme tarafından esinlenildi. Bir sinir, dendritleri sayesinde girdi sinyalini kabul eder, elektriksel sinyal aşağı doğru hücre bedenine geçer. Aksonlar sinyali dışarı, sinapslara taşır, bunlar, hücrelerin dendritlerinin diğer hücrelerin aksonuna bağlantı yerleridir. Sinaps içinde, elektiriksel aktivite moleküler aktivite içine dönüştürülür (sinir taşıyıcı moleküller sinaptik çukurları geçerler ve alıcılar ile bağlanır). Moleküler bağlanma, bir elektriksel sinyal geliştirir ve bu sinyal, bağlı hücre dendritleri üzerine geçirilir. 2.3.2.3 Strateji Tekniğin bilgi işleme amacı, beklenen çıktı sinyalini üretmek için dâhili ağırlaştırmaları değiştirerek belli bir fonksiyonu modellemek. Sistem, denetimli öğrenme metodu kullanarak eğitilir. Bu eğitimde, sistemin çıktısı ve bilinen beklenen bir çıktı arasındaki hata sisteme sunulur ve onun dâhili durumunu değiştirmek için kullanılır. Durum, girdi sinyalleri üzerindeki ağırlaştırmanın bir kümesi ile korunur. Ağırlıklar, çıktı sinyaline girdi vektörünün haritalamasının bir soyutlamasını temsil etmek için kullanılır, örneğin sistem eğitim esnasında tabi tutuldu. 2.3.2.4 Yöntem Perceptron veri yapıları (ağılıklar) ve ayrı yöntemlerden oluşur, eğitim ve yapıları uygulama için. Yapı sadece ağırlıkların bir vektörü (her beklenen girdi için bir tane) ve etkileleme terimi(bias).
  • 52. 40 Şekil 2.3.1’ deki algoritma, Perceptron’u eğitmek için bir sözde kod sağlar. Her bir girdi için bir ilk ağırlık değeri verilir artı belli bir bias sabit girdisi için ek bir ağırlık ve bu yaklaşık her zaman 1.0 alınır. Ağın aktivasyonu, belli bir girdi modeli için şöyle hesaplanır: Burada n, girdi ve ağırlıkların sayısı, xki , i’ninci girdi modeli üzerindeki k’nıncı nitelik ve wbias bias ağırlığıdır. Ağırlıklar şöyle güncellenir: Burada wi, zaman t ve (t+1) de i’ ninci ağırlık, alfa öğrenme oranı, e(t) ve a(t) t zamanında umulan ve gerçek çıkt ve xi i’ninci girdi. Bu güncelleme işlemi sırayla her ağılığa uygulanır (aynı zamanda bias ağırlığı temas girdisiyle birlikte). Şekil 2.3.1 : Perceptron için sözde kod. 2.3.2.5 Sezgisel (Heuristic) • Perceptron, rastgele doğrusal fonksiyon yakınlaştırma için kullanılabilir ayrıca gerilim (regression) ve sınıflandırma problemleri için de kullanlabilir. • Perceptron, girdi ve çıktı nitelikleri arasında doğrusal olmayan bir haritalama öğrenemez. Perceptron’ un öğrenemediği klasik örnektir XOR problemi. • Girdi ve çıktı değerleri normalize edilmelidir örneğin x elemanıdır [0,1). • Öğrenme oranı (alfa elemanıdır [0,1)), sistem üzerindeki her hatanın sahip olduğu değişikliği kontrol eder. Daha düşük öğrenme oranları geneldir örneğin 0.1.
  • 53. 41 • Ağırlıklar çevrim içi (online durumda) durumda güncellenebilir (her girdi modeli tabi tutulduktan sonra) veya gurup olarak (modellerin belli bir sayısı tabi tutulduktan sonra) • Bazı karışık problemler için gurup güncelleme çevrim içi güncellemeden daha istikrarlı beklenir. • Öğrenme işlemine karalılık sağlamak için bir sabit girdi sinyali ile bir bias ağırlığı kullanılabilir. • Aktivasyonu ikili (binary) bir çıktıya transfer etmek için genellikle step fonksiyonu kullanılır. (1<---aktivasyon >=0, aksi takdirde 0) • Girdi kümeleri boyunca, farklı, rastgele her liste içinde olan girdi modellerine sistemi tabi tutmak iyi bir pratiktir. • İlk atanan değerler genel olarak küçük rastgele değerler genel olarak [0,0.5) arasında.
  • 54. 42 2.3.3 Hopfield Ağ 2.3.3.1 Sınıflandırma Hopfield Ağ, bir Sinirsel Ağdır. Sinirsel Hesaplama ve Yapay Sinirsel Ağların alanına aittir. Geri-beslemeli bir sinirsel ağdır ve diğer geri-besleme ağlar ile alakalıdır, örneğin Çiftyönlü İlişkili Hafıza (Bidirectional Associative Memory). O genellikle ileri-beslemeli sinirsel ağlar ile alakalıdır, örneğin Perceptron ve Back-propagation. 2.3.3.2 Esinlenme Hopfield Ağ algoritması, insan beyninin çağrışımsal hafıza özelliğinden esinlenildi. 2.3.3.3 Benzetme Eğitim işlemi boyunca, ağ içinde ağırlıklar bir enerji fonksiyonunu azaltmak için düşünülebilir ve bir enerji yüzeyini düşürür. Eğitilmiş bir ağ içinde, ağa sunulmuş her model bir cazibe merkezi (attractor), denge noktası sağlar. Burada, cazibe noktasına doğru, ağ etrafında bilgi yayarak ilerleme yapılır. 2.3.3.4 Strateji Sistemin bilgi işleme amacı, İçerik Adreslenebilir Hafıza olarak isimlendirilen modelin bir bütünsel gösterimi ile bir girdi modelinin bileşenlerini çağrıştırmak. Sistem eğitildikten sonra, bir girdi modelin bozuk türünün veya verilen kısmi bir girdi modelin bütün modellerini hatırlar. 2.3.3.5 Yöntem Hopfield Ağ, çizge veri yapısı ile ağırlıklı kenarlar ve yapıyı uygulama ve eğitim için farklı yöntemlerden oluşur. Ağ yapısı tamamen bağlıdır (bir düğüm kendisi hariç diğer bütün düğümlere bağlıdır) ve düğümler arasındaki kenarlar (ağırlıklar) çift yönlüdür.
  • 55. 43 Ağın ağırlıkları bir-atış metodu (bir-yineleme modeller boyunca) ile öğrenilebilir (güncellenebilir) eğer bütün modeller hatırlanacaksa ağ tarafından. Alternatif olarak, Hebb kuralı kullanarak ağırlıklar artarak güncellenebilir. Burada ağırlıklar, gerçek ve beklenen çıktı arasındaki farka dayalı olarak artırılabilir veya azaltılabilir. Bir düğüm için ağın ağırlıklarının bir-atış yöntemiyle hesabı şöyledir: Burada wi,j , sinir i ve j arasındaki ağırlık, N girdi modellerinin sayısı, v girdi modeli ve vk i , k’nıncı girdi modeli üzerindeki i’ninci nitelik. Bilginin yayılımı ağ boyunca asinkron (eş zamanlı olmayan) olabilir. Burada her yinelemede rastgele bir düğüm seçilebilir. Veya aynı zamanlı olabilir burada ise bütün ağa uygulanmadan önce her düğüm için çıktı hesaplanır. Bilginin yayılması, daha fazla değişiklik olmayana kadar veya maksimum yineleme sayısı tamamlanana kadar sürekli olarak devam eder. Bundan sonra ağdan çıktı modeli okunabilir. Aktivasyon tek bir düğüm için şöyle hesaplanır: Burada ni , sinir i’nin aktivasyonudur. i ve j düğümleri arasındaki ağırlık ile wi,j ve nj , j’ ninci sinirin çıktısıdır. Bir transfer fonksiyonu kullanarak aktivasyon bir çıktı içine transfer edilir, genel olarak step fonksiyon kullanılır: Burada teta eşik değer, genel olarak 0. 2.3.3.6 Sezgisel (Heuristic) • Hopfield ağ, bir girdi modelin, bir ön-öğrenilen ilişkili model ile ipuçları eşleştirme geri çağırma problemini çözmek için kullanılabilir. • Transfer fonksiyonu, bir sinirin aktivasyonunu bir çıktıya dönüşmek için genllikle bir step fonksiyonudur f(a) elemanıdır {-1,1} (tercih edilen), veya daha genellikle f(a) elemanıdır {0,1} • Girdi vektörleri genellikle mantıksal değerlere (boolean) normalize edilir x eleman