• Sonuç bulunamadı

Yapay Zeka 802600715151

N/A
N/A
Protected

Academic year: 2021

Share "Yapay Zeka 802600715151"

Copied!
31
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Yapay Zeka 802600715151

Doç. Dr. Mehmet Serdar GÜZEL

(2)

GENETİK ALGORİTMA VE PSO’NUN DENKLEM

MİNİMİZASYONUNDA KARŞILAŞTIRILMASI

By MERT FİLİZ

(3)

Genetik Algoritma

Genetik Algoritma yaklaşımının ortaya çıkışı 1970’lerin başında olmuştur. 1975’te John Holland’ın makine öğrenmesi üzerine yaptığı çalışmalarda canlılardaki evrimden ve değişimden etkilenerek, bu genetik evrim sürecini bilgisayar ortamına aktarması ve böylece bir tek mekanik yapının öğrenme yeteneğini geliştirmek yerine, çok sayıdaki böyle yapıların tamamını

“çiftleşme,çoğalma,değişim...” gibi genetik süreçler sonunda üstün yeni bireylerin elde edilebileceğini gösteren çalışmasından çıkan sonuçların yayınlanmasından sonra geliştirdiği yöntemin adı

“GenetikAlgoritmalar” olarak tanınmıştır.

(4)

Bir probleme olası pek çok çözümün içerisinde en uygununu(eniyisini) bulmaya çalışan algoritmalardır.

Popülasyon nesilden nesile geliştikçe kötü çözümler yok olma, iyi çözümler ise daha iyi çözümler oluşturmak için kullanılma eğilimindedirler.

Çözüm uzayının tamamını değil yalnızca bir kısmını tararlar.

Böylece etkin arama yaparak çok daha kısa bir sürede çözüme ulaşırlar.

Önemli bir üstünlüğü ise çözümlerden oluşan popülasyonu eş zamanlı inceleyerek yerel en iyi çözümlere takılmamaları.

Genellikle çözüm alanı oldukça geniştir.

Problemi etkileyen faktörlerin fazla olduğu durumlarda kullanılır.

Genetik algoritmalar olasılık kurallarına göre çalışır ve ne kadar iyi çalışacağı önceden bilinemez.

(5)

Kullanım Alanları

Optimizasyon

Otomatik Programlama ve Bilgi Sistemleri

Mekanik Öğrenme

Finans

Pazarlama

Çizelgeleme Problemi

Montaj Hattı Dengeleme Problemi

Tesis Yerleşim Problemi

Sistem Güvenilirliği Problemi

Gezgin Satıcı Problemi

(6)

Temel Kavramlar

GEN:Kendi başına anlamı olan ve genetik bilgi taşıyan en küçük genetik birimdir.

Bir gen A, B gibi bir karakter olabileceği gibi

0

veya

1

ile ifade edilen bir bit veya bit dizisi olabilir.

Örneğin bir cismin x koordinatındaki yerini gösteren bir gen

101

şeklinde ifade edilebilir.

(7)

KROMOZOM: Bir ya da birden fazla genin bir araya gelmesiyle oluşurlar.

Probleme ait tüm bilgileri içerirler.

Kromozomlar toplumdaki bireyler ya da üyelere karşılık gelirler.

Ele alınan problemde alternatif çözüm adayıdır.

Örneğin kromozom bir problemde açı, boyut ve koordinat değişkenlerinden veya bir dikdörtgen prizmasının ölçülerinden(yükseklik,genişlik,derinlik oluşabilir.

001 101 111

>

1,5,7

değerleri kromozomu oluşturan genlerdir.

(8)

POPÜLASYON(Topluluk):

Kromozomlar veya bireyler topluluğudur. Popülasyon üzerinde durulan problem için alternatif çözümler kümesidir.

Aynı anda bir popülasyondaki birey sayısı sabit ve probleme göre kullanıcı tarafından belirlenir. (Zayıf olan bireylerin yerini kuvvetli yeniler

almaktadır)

(9)

Genetik Algoritmalar Nasıl Çalışır?

1.Adım: Olası çözümlerin kodlandığı bir çözüm grubu oluşturulur.

Çözüm grubuna biyolojideki benzerliği nedeniyle populasyon, çözümlerin kodlarıda kromozom olarak adlandırılır. Bu adıma populasyonda bulunan birey sayısı belirleyerek başlanır. Bu sayı için bir standart yoktur. Genel olarak önerilen 100-300 aralığında bir büyüklüktür. Büyüklük seçiminde yapılan işlemlerin karmaşıklığı ve aramanın derinliği önemlidir.

Populasyon bu işlemden sonra rasgele oluşturulur.

2.Adım:Her kromozomun ne kadar iyi olduğu bulunur.

Kromozomların ne kadar iyi olduğunu bulan fonksiyona uygunluk fonksiyonu denir. Bu fonksiyon işletilerek kromozomların uygunluklarının bulunmasına ise hesaplama(evalution) adı verilir. Bu fonksiyon genetik algoritmanın beynini oluşturmaktadır. GA’da probleme özel çalışan tek kısım bu fonksiyondur. Çoğu zaman GA’nın başarısı bu fonksiyonun verimli ve hassas olmasına bağlı olmaktadır.

(10)

3.Adım:

Bu kromozomlar eşleyerek yeniden kopyalama ve değiştirme operatörleri uygulanır. Bu sayede yeni bir populasyon oluşturulur.

Kromozomların eşlenmesi kromozomların uygunluk değerlerine göre yapılır.

Bu seçimi yapmak için rulet tekerleği seçimi, turnuva seçimi gibi seçme yöntemleri vardır.

4.Adım:

Yeni kromozomlara yer açmak için eski kromozomlar ortadan kaldırılır. Eski kromozomlar çıkartılarak sabit büyüklükte bir populasyon sağlanır.

5.Adım:

Tüm kromozomların uygunlukları tekrar hesaplanır. Tüm kromozomlar yeniden hesaplanarak yeni populasyonun başarısı bulunur.

6.Adım:

GA defalarca çalıştırılarak çok sayıda populasyon oluşturulup hesaplanır. Eğer zaman dolmamışsa 3.adıma gidilir.

7.Adım:

O ana kadar bulunan en iyi kromozom sonuçtur. Çünkü populasyonların hesaplanmasında en iyi bireyler saklanmıştır.

(11)

Genetik Algoritma Akış Şeması

(12)

Seçilim

Yeni topluluğu oluşturmak için mevcut topluluktan çaprazlama ve mutasyon işlemine tabi tutulacak bireylerin seçilmesi gerekir.

Teoriye göre iyi olan bireyler yaşamını sürdürmeli ve bu bireylerden yeni bireyler oluşturulmalıdır.

Bu nedenle tüm seçilim yöntemlerinde uygunluk değeri fazla olan bireylerin seçilme olasılığı daha yüksektir.

En bilinen seçilim yöntemleri Rulet Seçilimi, Turnuva Seçilimi ve Sıralı Seçilimdir.

(13)

Rulet Seçilimi:Topluluktaki tüm bireylerin uygunluk değerleri toplanır ve her bireyin seçilme olasılığı, uygunluk değerinin bu toplam değere oranı

kadardır.

SıralıSeçilim: En kötü uygunlukta olan kromozoma

1

değeri verilir, ondan daha iyi olana

2,

daha iyisine

3

değeri verilerek devam edilir.

TurnuvaSeçilimi: Topluluk içerisinden rastgele k adet(3,5,7..) birey alınır. Bu bireylerin içerisinden uygunluk değeri en iyi olan birey seçilir.

(14)

Çaprazlama

Amaç, ata kromozomun yerlerini değiştirerek çocuk kromozomlar üretmek ve böylelikle zaten uygunluk değeri yüksek olan ata kromozomlardan daha yüksek uygunluklu çocuk kromozomlar üretmektir.

(15)

A)Tek noktalı çaprazlama:

Kromozom-1: 11000|00100110110 Kromozom-2: 11011|11000011110 Çocuk-1: 1100011000011110

Çocuk-2: 1101100100110110 B)Çift noktalı çaprazlama:

Kromozom-1: 11000|00100|110110 Kromozom-2: 11011|11000|011110 Çocuk-1: 1100011000110110

Çocuk-2: 1101100100011110

(16)

Mutasyon

Kromozomların kendi genleri veya genleri oluşturan küçük birimleri üzerinde değişiklik yapılmasını sağlayan işlemcidir.

GA’da değişimin sağladığı avantaj, problemin çözüm alanını araştırmada yön değişikliklerini sağlayarak

‘Mutasyon(Değişim) yardımıyla araştırmanın kısır döngüye girmesini önlemektir.‘(LokalMaksimum)

Pozisyonagöredeğişim: Rasgele seçilen

karakterlerin(genlerin) yerleri değiştirilerek gerçekleştirilir.

Sıraya göre değişim: Kromozomun rasgele seçilen iki

karakterinden ikincisinin, birincinin önüne getirilmesiyle olur.

(17)
(18)

A simple example will help us to understand how a GA works.

Let us find the maximum value of the function (15x  x2) where parameter x varies between 0 and 15. (integer values with four gens.

GA (Example)

Suppose that the size of the chromosome population N is 6, the crossover probability pc equals 0.7, and the mutation probability pm equals 0.001. The fitness function in our example is defined by

f(x) = 15 x  x

Artificial Intelligence A Guide to Intelligent Systems2

Integer Binary code Integer Binary code Integer Binary code

1 0 0 0 1 6 0 1 1 0 11 1 0 1 1

2 0 0 1 0 7 0 1 1 1 12 1 1 0 0

3 0 0 1 1 8 1 0 0 0 13 1 1 0 1

4 0 1 0 0 9 1 0 0 1 14 1 1 1 0

5 0 1 0 1 10 1 0 1 0 15 1 1 1 1

(19)

Chromosome label

Chromosome string

Decoded integer

Chromosome fitness

Fitness ratio, %

X1 1 1 0 0 12 36 16.5

X2 0 1 0 0 4 44 20.2

X3 0 0 0 1 1 14 6.4

X4 1 1 1 0 14 14 6.4

X5 0 1 1 1 7 56 25.7

X6 1 0 0 1 9 54 24.8

x

50 40 30 20 60

10

00 5 10 15

f(x)

(a) Chromosome initial locations.

x

50 40 30 20 60

10

00 5 10 15

(b) Chromosome final locations.

(20)

Rulet Seçimi Örnek

100 0

16.5

43.1 36.7 49.5

75.2

X1: 16.5%

X2: 20.2%

X3: 6.4%

X4: 6.4%

X5: 25.3%

X6: 24.8%

(21)

PARÇACIK SÜRÜ

OPTİMİZASYONU(PSO)

1995 yılında Dr.Eberhart ve Dr.Kennedy tarafından geliştirilmiş popülasyon temelli sezgisel bir optimizasyon tekniğidir.

PSO’nun temelinin sosyolojik esinlemeli olduğu söylenebilir.

Çünkü algoritmanın orijinal fikri, kuşların sürü halinde toplanmasıyla ilişkilendirilmiş sosyolojik davranışlarına dayanır.

Kuş, balık ve hayvan sürülerinin bir “bilgi paylaşma”

yaklaşımı uygulayarak çevrelerine adapte olabilme, zengin yiyecek kaynağı bulabilme ve avcılardan kaçabilme yeteneklerinden esinlenmiştir.

(22)

PSO, optimum ya da optimuma yakın çözüm bulmak için önce her biri aday çözümü sunan bireyler (parçacıklar) oluşturur.

Bu bireylerin oluşturulması gelişigüzel, düzenli ya da her iki şekilde yapılabilir.

Bireylerin bir araya gelmesinden çözüm için gerçekleştirilen popülasyonumuz (sürü) meydana gelir.

PSO, bireyler arasındaki bilginin paylaşımını esas alır. Her bir parçacık kendi pozisyonunu sürüdeki en iyi pozisyona doğru ayarlarken, bir önceki tecrübesinden de yararlanır.

(23)
(24)

PSO Parametreleri

Parçacık Sayısı: Genellikle 20 ila 40 arasında alınır. Aslında çoğu problem için sayıyı 10 almak iyi çözümler elde etmek için yeterlidir. Bazı zor veya özel problemler için 100 veya 200 parçacık kullanılması gerekebilir.

Parçacık boyutu: Optimize edilecek probleme göre değişmektedir.

Parçacık aralığı: Optimize edilecek probleme göre değişmekle birlikte farklı boyutlarda ve aralıklarda parçacıklar tanımlanabilir

(25)

Vmax: Bir iterasyonda, bir parçacıkta meydana gelecek maksimum değişikliği (hız) belirler. Genellikle parçacık aralığına göre belirlenir.

Öğrenme Faktörleri: c1 ve c2 genellikle 2 olarak seçilir. Fakat farklı da seçilebilir. Genellikle c1, c2 ye eşit ve [0, 4] aralığında seçilir.

Durma Koşulu: Maksimum iterasyon sayısına ulaşıldığında veya değer fonksiyonu istenilen seviyeye ulaştığında algoritma durdurulabilir

(26)

PSO ALGORİTMALARI NELERDİR?

1)

Bir bölge üzerinde eşit dağılmış bir

“popülasyon” maddesi (parçacıklar) oluşturun.

2)

Her parçanın konumunu objektif fonksiyonuna göre hesaplayın.

3)

Bir parçacığın geçerli konumu önceki en iyi konumundan daha iyiyse, güncelleyiniz.

4)

En iyi parçacığı belirleyiniz (parçacığın önceki en iyi konumlarına göre)

(27)

5

) Parçacıkların hızlarını güncelleyin:

6)

Parçacıkları yeni konumlarına taşıyın:

7)

Durma kriterleri yerine getirilinceye kadar 2. adıma gidin

(28)

PARÇACIK SÜRÜ

OPTİMİZASYONU(PSO) AKIŞ

ŞEMASI

(29)

GA İLE PSO’NUN

KARŞILAŞTIRILMASI

1)

PSO ve Genetik Algoritmalar evrimsel hesaplama teknikleri ile birçok benzerlikler gösterir. Sistem random çözümlerden oluşan bir popülasyonla başlatılır ve en iyi çözüm için jenerasyonları güncelleyerek arama yapar. Buna karşın, GA’nın tersine, PSO’da çaprazlama ve mutasyon gibi evrimsel operatörler yoktur. PSO’da parçacık(particles)denilen potansiyel çözümler, mevcut en iyi çözümleri takip ederek problem uzayında gezinirler (uçuş yaparlar).

(30)

2)

GA ile karşılaştırılırsa; PSO’nun avantajı gerçekleştirilmesinin kolay olmasıdır ve ayarlanması gereken çok az parametresi vardır.

3)

Genetik algoritmalar biyolojideki evrimsel süreçten esinlenir. PSO’da ise ele alınan konu biyolojik sistemlerin farklı bir türü olan sosyal

sistemlerdir.

4)

GA’da çözümü oluşturan genler

0

ve

1

’ler şeklinde oluşturulduğu için sonucu virgüllü sayı(örneğin 7,5) olan bir çözümde çözümü net olarak yapamaz. Ayrıca sonuç kromozom aralığının dışındaysa çözüme ulaşamaz.

(Örneğin, 4 kromozomlu populasyon yapısı

0

ile

15

arasında çözüm

sağlar. Ama bizim cevabımız

20

ise bu çözümü bulamaz.) Bu sebepten GA dijital sorular için daha iyi bir çözüm sağlar.

(31)

5)

PSO ise sürünün hızı ve yeri gibi parametrelerle çalıştığı için gerçel sayılarla ilgili değerlerle uğraşır bu yüzden sürekli sonuçların olduğu

fonksiyonlar için iyi çalışır ayrıca sürekli hız ve konum güncellemesi yaptığı için çözüm için dar bir aralığa sıkışmaz.

Referanslar

Benzer Belgeler

Evolutionary genetics: Concepts, analysis, and practice.. Oxford University

• Ancak, duplikasyonda olduğu gibi, bir genin yatay olarak transferi pek çok faktöre bağlıdır. • Buna nadiren de olsa yüksek kopya sayısında olma ihtimali de dahildir...

Pac-Man is a registered trademark of Namco-Bandai Games, used here for educational purposes Demo1: pacman-l1.mp4

 State space graph: A mathematical representation of a search problem.  Nodes are (abstracted)

• It is called the depth-first search because it starts from the root node and follows each path to its greatest depth node before moving to the next path.. • DFS uses a stack

 Backtracking is an algorithmic-technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail

 Go: Human champions are now starting to be challenged by machines, though the best humans still beat the best machines.. In go, b

each time step, the process is in some state , and the decision maker may choose any action that is available in