• Sonuç bulunamadı

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

N/A
N/A
Protected

Academic year: 2022

Share "ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ"

Copied!
61
0
0

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

Tam metin

(1)

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

YÜKSEK LİSANS TEZİ

OĞUL ROBOTLARI YÖN BULMA PROBLEMİ

Mehmet KARA

BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI

ANKARA 2016

Her hakkı saklıdır

(2)

ETİK

Ankara Üniversitesi Fen Bilimleri Enstitüsü tez yazım kurallarına uygun olarak hazırladığım bu tez içindeki bütün bilgilerin doğru ve tam olduğunu, bilgilerin üretilmesi aşamasında bilimsel etiğe uygun davrandığımı, yararlandığım bütün kaynakları atıf yaparak belirttiğimi beyan ederim.

10.10.2016

Mehmet KARA

(3)

ÖZET

Yüksek Lisans Tezi

OĞUL ROBOTLARI GÖREV PAYLAŞIM PROBLEMİ

Mehmet KARA

Ankara Üniversitesi Fen Bilimleri Enstitüsü

Bilgisayar Mühendisliği Anabilim Dalı

Danışman: Yrd. Doç. Dr. Mehmet Serdar GÜZEL

İnsanoğlunun yaratıcılığının kaynağı her zaman yaşadığı doğal çevre olmuştur. Örneğin, birçok fonksiyona sahip günümüz uçakları, biri onları geliştirene kadar uçabilen canlılara bakılarak insanlar tarafından nasıl olacağı düşünüldü. Sürü Zekası ise yine insanın doğal ortamını inceleyerek tasarladığı, algoritma anlamında son zamanlarda önemi artan bir kavramdır. Bu algoritma tasarımı da doğadaki canlı gruplarının (kuş, arı, balık, karınca sürüleri, vb.) sosyal manada davranışları incelenerek geliştirilmiştir. Genel olarak bu algoritmalardan en göze çarpanları “Parçacık Sürü Optimizasyonu” ve “Karınca Koloni Optimizasyonu”dur.

Bu çalışmada ise Parçacık Sürü Optimizasyonu geliştirilmiş doğadan izlenerek esinlenilen formuna daha yakın performans sergileyecek şekilde özellikler eklenmiştir. Sadece geliştirme değil mevcut algoritma ve geliştirilen yeni halinin performans değerlendirmeleri de yapılmıştır.

Parçacık Sürü Optimizasyonu canlı gruplarının toplu halde çevre ile etkileşiminde yaklaşımlarının optimuma nasıl ulaştığı incelenerek tasarlandığından bu algoritmanın en yetkin haline ulaşabilmesi için eklenen özelliklerden birisi robotların bireysel olarak hareketli engelleri aşıp hareketli hedefe ulaşabilmesi ve grup halinde hedefe giderken engellere yaklaştığında yakınlaşıp engelden uzaklaştıktan sonra tekrar eski hacmine ulaşmasıdır.

Bu iki yeni farklı tepki Parçacık Sürü Optimizasyonunu robotların çevresine uyumu ve etkileşimi anlamında daha da güçlü kılmıştır.

Ekim 2016, 51 sayfa

Anahtar Kelimeler: Sürü Zekası, Parçacık Sürü Optimizasyonu, Hareketli Engel, Hareketli Hedef, Optimizasyon Algoritmaları

(4)

ABSTRACT

Master Thesis

SWARM ROBOTS NAVIGATION PROBLEM

Mehmet KARA

Ankara University

Graduate School of Natural and Applied Sciences Department of Computer Engineering

Supervisor: Asst. Prof. Dr. Mehmet Serdar GÜZEL

The source of human inspiration is always the environment he lives. For example, the planes of our time until someone develop them, had been thought how they could be by looking living beings. Submarines were also invented by thinking how it can be possible to move under sea.

Swarm intelligence is also a concept designed by observing our own environment whose significance at current times. The design of this algorithm is made by observing social behaviours of living groups (bird, bee, fish, ant swarm groups, etc) in nature. In general, the most remarkable ones are “Ant Colony Optimization” and “Particle Swarm Optimization”.(i.e., PSO)

In this paper, a new PSO is designed to perform like the form in nature and added new functions to achieve it. Not only it is developed but also the existing PSO and new PSO are tested.

As PSO is designed by observing to reach the closest form of interactions with their environment of living groups in nature, one of the added features of algorithm is reaching mobile target by surpassing mobile obstacles and shrinking-enlargement swarm groups according to positions of obstacles to achieve optimum case.

These two new reaction makes PSO more robust and powerful in manner of interaction and harmony with its environment.

October 2016, 51 pages

Key Words: Swarm Intelligence, Particle Swarm Optimization, Mobile Obstacle, Mobile Target, Optimization Algorithms

(5)

ÖNSÖZ VE TEŞEKKÜR

Söz konusu tez çalışmasının yürütülmesinde tez danışmanım ve değerli hocam, Ankara Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı öğretim görevlisi, Sayın Yrd. Doç. Dr. Mehmet Serdar GÜZEL’e, başından sonuna kadar araştırmalarımın her aşamasında bilgi, öneri ve yardımlarını esirgemeyerek akademik ortamda olduğu kadar beşeri ilişkilerde de engin fikirleri ile yetişme ve gelişmeme büyük emeği bulunan değerli eski tez danışman hocam, Ankara Üniversitesi, Fen Bilimleri Enstitüsü, Bilgisayar Mühendisliği Anabilim Dalı öğretim görevlisi, sayın Yrd. Doç. Dr. Hacer YALIM KELEŞ’e sonsuz şükranlarımı ve saygılarımı sunarım.

Topoloji geliştirme algoritması kısmında büyük emeği geçen Ankara Üniversitesi Bilgisayar Mühendisliği Bölümü’nde yüksek lisans öğrencisi arkadaşım Sahand VAHIDNIA ve doktora öğrencisi arkadaşım Ömer Sevinç’e,

Yardımlarını esirgemeyen Ankara Üniversitesi Bilgisayar Mühendisliği Bölümü, hocalarıma,

Son olarak bugüne ulaşmamı sağlayan, hayatımın her anında yanımda olan, maddi ve manevi desteklerini benden esirgemeyen ANNEM ve BABAM’a teşekkür ediyorum. İyi ki varsınız…

Bu tez çalışması TÜBİTAK, 114E648 numaralı proje tarafından desteklenmiştir.

Mehmet KARA Ankara, Ekim 2016

(6)

İÇİNDEKİLER

TEZ ONAY SAYFASI

ETİK………...i

ÖZET………...ii

ABSRACT………...iii

ÖNSÖZ ve TEŞEKKÜRLER... iv

KISALTMALAR DİZİNİ………...…..vii

ŞEKİLLER DİZİNİ………..viii

ÇİZELGE DİZİNİ………..ix

1. GİRİŞ………...……….…1

2. SÜRÜ ZEKASI İLE İLGİLİ KAVRAMLAR………...4

2.1 Sürü Zekası………...4

2.2 Parçacık Sürü Optimizasyonu………...5

2.3 Yapay Sinir Ağları………...6

2.4 Genetik Algoritma………...8

2.5 Karınca Koloni Optimizasyonu………....9

3. PARÇACIK SÜRÜ OPTİMİZASYONU………..…...11

4. PSO ALGORİTMASI………....14

4.1 PSO Algoritma Basamakları………...15

4.1.1 En İyi tekil değer belirleme………..15

4.1.2 Parçacıkların hızlarının belirlenmesi………..…15

4.1.3 Pozisyon belirleme………...17

5. BU ÇALIŞMADA PSO’DA YAPILAN YENİLİKLER……….19

5.1 Algoritma Basamakları………...…20

5.1.1 Parçacıkları dağıt………..20

5.1.2 Ortam oluştur………....21

5.1.3 Görev tamamlandı mı?...23

5.1.4 Hız ve konum güncelle……….………...23

5.1.5 En iyi yol mu?...24

5.1.6 Yönünü bul….………...25

5.1.7 Bitti……….………....25

(7)

6. SİSTEM DEĞERLENDİRMESİ………26

6.1 Performans Değerlendirmeleri(Hareketli Engel, Hareketli Hedef Senaryosu)...28

6.2 Performans Değerlendirmeleri(Engellere Göre Hacim Küçültme Senaryosu)...31

6.3 Performans Değerlendirmeleri(Azalan Üyeli PSO Senaryosu)….………..36

6.4 Performans Değerlendirmeleri(Hedefe Giden Farklı Sürüler Senaryosu)……40

7. GELECEK ÇALIŞMALAR……….………...44

8. SONUÇ………...46

9. KAYNAKLAR………...……...47

ÖZGEÇMİŞ……….……..……....51

(8)

KISALTMALAR DİZİNİ

GA Genetik Algoritma

HE Hareketli Engel

HH Hareketli Hedef

KKO Karınca Koloni Optimizasyonu PSO Parçacık Sürü Optimizasyonu

SZ Sürü Zekası

YSA Yapay Sinir Ağları

(9)

ŞEKİLLER DİZİNİ

Şekil 1.1 Mobil Robotlara Örnek…...……….………...3

Şekil 2.1 Sürü Zekası İçermeyen Sürü Hareketi………...……….4

Şekil 2.2 Parçacık Sürü Optimizasyonu Akış Şeması….….………..5

Şekil 2.3 Yapay Sinir Ağları Anlamlı Gösterimi………….……..……….….…..7

Şekil 2.4 Genetik algoritma akış şeması………….……..……….…...…..8

Şekil 2.5 Karınca Koloni Hareketi……….…..….…...10

Şekil 3.1 Kuş Sürüsü Hareketi……….………….…….…..12

Şekil 4.1 PSO Modeli….…...………..…….15

Şekil 4.2 PSO’da kullanılan robotlar……….………..16

Şekil 5.1 Yeni PSO akış şeması………….………...…………..……….20

Şekil 5.2 Parçacık değerlerinin yakınlaşması………...………..….….21

Şekil 5.3 Engelleri dolanıp hedefe giden robotlar………..…..22

Şekil 5.4 Her robotun hedefe giden parçacıkları (çözümleri) ………….………...…….24

Şekil 6.1 Engelsiz ve Engelli Hedefe Yön Belirleyen Robotlar………….…………...28

Şekil 6.2 Robot 1 İçin Performans Değerlendirmesi……….………...…...29

Şekil 6.3 Robot 2 İçin Performans Değerlendirmesi………...………....30

Şekil 6.4 Robot 3 İçin Performans Değerlendirmesi………...…....31

Şekil 6.5 Hareketin ilk iki aşaması……….….32

Şekil 6.6 Hareketin son iki aşaması………..………...…...33

Şekil 6.7 Küçülen hacim için performans değerlendirmesi………...….……...35

Şekil 6.8 Azalan Üyeli PSO için performans değerlendirmesi...……….……....39

Şekil 6.9 Aynı hedefe giden farklı sürüler………..………....….41

Şekil 6.10 Farklı sürülerle aynı hedefe giden sürü performansı………...42

(10)

ÇİZELGE DİZİNİ

Çizelge 6.1 Algoritmadaki Parametre ve Değerleri……….…26

(11)

1. GİRİŞ

Günümüz robotları, farklı insan davranışını taklit edebilecek kadar gelişmiştir. Bunun temel sebebi, uzun yıllardır robotların önemli bir çalışma alanı olması ve olabildiğince insanların yerine iş yapabilme yetisi kazandırmak için geliştirilmelerine önem verilmesidir. Bu anlamda, temel olarak robotlar kol gücünün yerini alan, insanın yapabileceği ya da yapamayacağı işleri yapmak için tasarlanmış makineler olarak ifade edilir.

Her makineye robot değildir fakat her robot bir makinedir (Thrun 2003). İlk olarak bir makinenin robot özelliği gösterebilmesi için iş yapabilme kabiliyetinin olması gerekir.

Eğer makine iş yapamıyorsa kesinlikle robot özelliği göstermez. İkinci olarak, makine yapılan işin sonucu döndürebilmelidir. Yani, makine işi yaptıktan sonra işin olumlu veya olumsuz şekilde sonuçlandığını söyleyebilmelidir (Hayes ve Dormiani-Tabatabaei 2002). Son olarak robot yapılan iş sonucuna bakarak bir karar verebilmelidir. Bu karar verme aşamasında dışarıdan destek almadan cevaplar bulmadır. Bu temel 3 özelliği gösteren makineler robot olarak adlandırılabilir.

Robotlardaki gelişme o kadar büyük ölçüde ve çeşitlidir ki robotlar için sınıflandırma zorunluluğu doğmuştur (Sarma vd. 2012). Bu tez çalışması kapsamında mobil (gezgin) robotların navigasyonu üzerine çalışmalar yapılmıştır. Mobil robotlar, temel olarak bir noktaya bağlı kalmadan işlevlerini yerine getiren hareketli robotlar olarak tanımlanabilirler. Bu robotlar karada, suda veya havada hareket edebilir. Hareket etme yetisini paletler, tekerlekler, yapay kanatlar gibi hareket fonksiyonu sağlayacak parçalar ile elde ederler (Vicmudo, vd. 2013). Mobil robotlar genelde diğerlerine göre daha yüksek performans gösteren ve karmaşık işlevleri olan robotlardır. Hareket etme yetilerinden dolayı insanlar için yapması zor ve karmaşık işlerde kullanılmaları daha olasıdır.

Robotlar otonom hareket edebilirler veya bilgisayarla kontrol edilebilir. Bilgisayar ile kontrol edilebilen robotlar ise haliyle bir yazılıma yani algoritmaya ihtiyaç duyarlar.

Algoritmalar, robotların işlerini en iyi performansla yapacağı şekilde tasarlanır (Obaidy

(12)

ve Ayesh 2008). Bu bağlamda, insan biyolojisi ve doğal ortamdaki canlıların davranışları incelendiğinde, tasarlanabilecek en güzel algoritmaların yine doğaya bakılarak yapılacağı anlaşılır. Doğal seçim yolunun en uygun değerleri bulmada iyi bir yol olduğunu ‘Genetik Algoritma’ (GA) ispat etmiştir. Bu algoritma, canlıların evrimsel sürecinden esinlenerek geliştirilmiştir. Fakat canlı gruplarının sosyal davranışları herhangi bir parametre olarak sürece katılmamıştır. Burada ise, Parçacık Sürü Optimizasyonu (PSO) devreye girmekte ve farklı bir bakış açısıyla GA’dan daha kolay uygulanabilir ve daha az parametreli bir algoritma olarak kendisini göstermektedir (Navarro ve Matia 2012). Bu iki algoritma bir çok teste girmiş ve performans ve işlem olarak karşılaştırılmaları yapılmıştır (Panduro vd.2009). Uydu tasarımı, Glonski’nin hız düşürücü testi, teleskop dizisi bu testlerden bazılarıdır. Farklarının yanı sıra, bu iki algoritmanın iyi yönlerinin karşılaştırılıp yeni bir algoritma geliştirerek bunun daha iyi sonuçlar verdiği de görülmüştür (Zones 2006, Settles ve Soule 2007, Farokhnia, vd.

2010). En iyi değerleri bulmada iki algoritma benzer performans gösterse de populasyon temelli sezgisel algoritma olarak PSO sonuca ulaşırken daha az işlem yapar.

PSO bu anlamda gerçek dünyadaki problemleri çözmek adına mühendislik dalında sürü mühendisliği olarak da kendini göstermektedir (Liu ve Wineld 2007). Bu çalışmaların iki kısıma ayrılıp tasarım ve analiz çalışmaları bir tarafta, grup halinde davranışların incelenmesi ise diğer tarafta olmak üzere sınıflandırılmıştır (Brambilla, vd. 2013).

PSO’nun davranış temelli, otomatik tasarım, toplanma, desen düzenlenme, toplu keşif, toplu hareket, görev paylaşımı metodları sınıflandırmada incelenen metodlardan bazılarıdır.

PSO’nun kullanıldığı başka çalışmalara bakacak olursak, güç dağılım problemlerinde Ekonomik Yük Sevki (Economic Load Dispatch) (Panigrahi vd. 2008) ve yazılımsal olarak tamsayı programlama (Laskari vd. 2007) bunlara örnektir. Birleşimsel optimizasyon problemleri için geliştirilmiş PSO ise dağıtımın tahmini üzerine temellendirilmiştir. Knapsack birleşimsel problemi bu çalışmanın testleri için kullanılmıştır (Mohamed vd. 2012). Yine durağan ve dinamik ortamlarda daha etkili sürü hareketi için sürü üyelerinin iletişimini daha etkili olarak tasarlandığı yaklaşım toplanma hareketinin daha etkili bir şekilde yapılmasına izin vermektedir (Ferrante, vd.

(13)

2010). Bu çalışmanın devam niteliğindeki başka bir çalışmada ise sürü robotlar için

hareket kontrolü metodu kendi başlarına toplanan hareketli sürüler için tasarlanmıştır (Ferrante vd. 2012). PSO’da sürü üyelerinin iletişimi de en az algoritmanın kendi kadar önemlidir; bu bağlamda üyelerin nasıl haberleşeceği, optimizasyonu etkilemektedir.

Mesela, kısıtlı iletişimin olduğu ve minimum verinin aktarıldığı ortamlarda, radyo dalgalarıyla haberleşen üyelerin kablosuz veya ana bir makinayla iletişim kurmadan, diğer üye bilgilerini ortak değil yerel olarak tasarlayan PSO’lar da etkili bir şekilde gerçek hayattaki uygulamalar için kullanılmaktadır ve bu konuda kapsamlı çalışmalar vardır (Dai 2009).

PSO için günümüzde bir çok çalışma yapılmış olsa da hala doğada izlenen haline ulaşmış değildir. Sosyal davranışların temel özelliği olan üyelerin birbirinden faydalanarak iş yapma mantığı ile, teoride optimum sonuçlar teoride elde edilirken, pratikteki başarılı uygulamaları çok daha azdır. Elbette, gelişen teknoloji ilerleyen zamanlarda pratikte de uygulamaların daha etkili çalışmasını sağlayacaktır ve bu arada PSO geliştirilmeye devam edilecektir. O gelişmelerden biri olarak hereketli engellerden aşıp hareketli hedeflere yönelen sürü grupları için yaptığımız bu çalışma örnek gösterilebilir.

Şekil 1.1 Mobil robotlara örnek (http://www.cs.cmu.edu, 2016)

Şekil 1.1’de mobil robotlara örnek bir robot görülmektedir. Bu robot karada hareket etmek üzere tasarlanmış ve hareket yeteneği için tekerlekler kullanılmıştır.

(14)

2. SÜRÜ ZEKASI İLE İLİŞKİLİ KAVRAMLAR

2.1 Sürü Zekası (SZ)

Canlı gruplarının birlikte yaşarken etkileşim sonucu sosyalleşerek sürünün devamlılığı için birlikte iş gerçekleştirirken yararlandıkları disiplin, kurallar ve hiyerarşi bütününe denir (Brutschy 2009). Bu konudaki çalışmalar 1995 yılına uzanmaktadır. R.C Eberhart ve J.Kennedy kuş sürülerini inceleyerek sürü bazlı optimizasyon tekniği ortaya çıkarmışlardır. Bu çalışmalarını Parçacık Sürü Optimizasyonu olarak adlandırmışlardır.

PSO algoritması ilk o tarihte kullanılmıştır.

Şekil 2.1 Sürü Zekası içermeyen sürü hareketi (www.sondakikahaberleri.info.tr, 2016)

Şekil 2.1’de koyun sürüsü görülmektedir. Bu sürünün hareketi diğer hayvan veya böcek gruplarıyla aynı değildir. Bir hayvan grubunun davranışının SZ temelli olabilmesi için sadece grup üyelerinin beraber ilerlemesi değil aynı zaman bir hedefe gidiyor olması, ağırlık merkezinin olması ve tekil en iyi değerlerini hedefe ulaşmada birbiriyle paylaşıyor olmaları gerekir. Grup olarak hayvanlar bu hareketi bütün koşulları sağlayarak gerçekleştirdikleri vakit SZ kullanmış olurlar (Nouyan vd. 2009).

(15)

2.2 Parçacık Sürü Optimizasyonu

Sürüdeki üyelerin tek başlarına yapamadıkları bir işi, birlikte hareket edip bir yandan kendi bilgilerini grup bilgisinden yararlanıp geliştirirken diğer yandan grup bilgisini optimize etme ve elde edilen ortak bilgiye göre toplu yönelim için en iyi sonucu bulma sürecidir (Campo vd. 2006).

Şekil 2.2 Parçacık Sürü Optimizasyonu Akış Şeması

Şekil 2.2’de tarid edilen süreç, basit ve sayıca az parametreye ihtiyaç duymaktadır. İki aşamada gerçekleşmektedir. Parametrelerden öğrenme katsayısı, üye sayısı, durma kriteri gibi değişkenler temel girdileridir. Optimizasyonun ilk aşamasında grup üyelerinin pozisyonları ve hızları belirlenir, bu genelde rastgele bir düzenlemedir. İkinci aşaması ise “Durma Kriteri” sağlanana kadar grup üyleri tek tek dolaşılarak ortak en iyi

(16)

değer geliştirilir. Durma Kriteri istenen optimum değere gelindiğini gösterir ve süreç tamamlanır. Süreç tamamlandıktan sonra diğer algoritmalara kıyasla daha az olan parametrelere ilk değerleri verilir. Bu açılardan bakıldığında PSO’nun az parametreyle uygulanması kolay optimum sonuçları daha az maliyetle veren etkin bir optimizasyon olduğu görülür.

2.3 Yapay Sinir Ağları (YSA)

Bulanık Sistem Kontrolü, Fonksiyon Optimizasyonu gibi PSO’nun kullanıldığı modellerden biridir. Nasıl ki PSO sosyal yaşamın basit bir formu ise YSA da insanın beyninin basit bir formudur. YSA’nın PSO ile çalışma mantığı ise ratgele çözüm uzayında, PSO’nun bulduğu en uygun tekil çözümü kendi algoritma basamaklarında kullanarak sonuca ulaşmaktır.

Yapay sinir ağlarıyla ilgili çalışma düzenini gösteren bir yapılar 3 aşamadan oluşur.

Buradan da anlaşılacağı üzere bu sistem 3 tane katmandan oluşmaktadır; ‘Giriş Katmanı’, ‘Saklı Katman’ ve ‘Çıkış Katmanı’. Girilen değerler bu katmanlarda işlenerek çözüme ulaşılır.

Şekil 2.3’te gösterilen yapı yapay sinir ağlarının insan beynine benzetildiği ve bu optimizasyonun insanın kendisinden esinlenilerek geliştirildiğini göstermektedir. Bu nedenle bu yapay ağlar öğrenme, belleklerinde tutma ve işlem yaptığı bu veriler arasındaki ilişkiyi ortaya çıkarma özelliklerine sahiptir.

YSA insanlardan esinlenerek geliştirildiği için çalışma mekanizması da insanlarınkine benzemektedir. Bir insan nasıl ki önce doğar, sonra büyür ve öğrenir ise YSA da tasarlandıktan sonra sistem örnekler yoluyla öğrenir. Buna eğitme denmekte ve yüzlerce örnek ile sistemin karar verebilmesi için hafıza oluşturulmaktadır.

(17)

Şekil 2.3 Yapay sinir ağları anlamlı gösterimi (http://teknolojikgelismeler.net, 2016)

Örnek verecek olursak ‘İşaret Dili Tanıma Sistem’leri video ile çekilmiş veya anlık görüntüleri işleyerek tanıdığı el hareketlerinden metin ortaya çıkarır. Böylece konuşma engelli bir insanın video kamerasına yaptığı el işaretlerini anlamlı bir metine dönüştürerek verir. Ama sistemin bunu anlayabilmesi için önceden eğitilmesi gerekir.

Bu da şöyle olmaktadır:

Yüzler farklı el ve ortamdan alınan video görüntüleri ile her bir el işareti için bilgi tutulur.

Yani farklı boyutlarda elleri olanların ve farklı ten rengine sahip olanların yaptığı el işaretleri yinelenerek kamera karşısında yapılır ve bu sisteme öğretilir. Sistem öğrendiği bu verilerden yola çıkarak her işaretin farklı yüzlerce versiyonu için kullanacağı bir çözüm bulutu oluşturur.

(18)

2.4 Genetik Algoritma (GA)

Biyolojideki evrimsel süreçten esinlenerek hesaplama teknikleri geliştirilmiştir. Yine evrim sürecinde canlıların ürerken çaprazlama, mutasyon gibi çeşitlenmeleri ve seçilimi ile sonraki nesillere daha iyi bireyler getirmesi gibi GA da bu kavramlardan türetilmiş tekniklerle en iyi sonucu bulmaya çalışır. Uygulandığı alanlar PSO gibi çoktur ve daha çok parametrelidir. (Mutasyon oranı, çaprazlama oranı, kuşak farkı vs.) Üstelik PSO diğer evrimsel hesaplama teknikleri gibi türev bilgisine ihtiyaç duymaz. PSO; GA’nın kullanıldığı alanlar dahil olmak üzere YSA ve Fonksiyon Optimizasyonunda da kullanılır.

Şekil 2.4 Genetik Algoritma Akış Şeması

Şekil 2.4’te Genetik Algoritmanın akış şeması detaylı bir şekilde ifade edilmektedir.

(19)

2.5 Karınca Koloni Optimizasyonu (KKO)

Karınca topluluklarının davranışları incelenerek ortaya çıkmış bir yapıdır. Yani sosyal yaşam baz alınarak geliştirilen bu sistemin çeşitli problemlerde başarılı sonuçları vardır (Hallam vd. 2002). Karıncalar bir çok yönden incelenebilir. Toplu yaşamları sürü hareketinin kuş sürüleriyle beraber insanlar tarafından ilk izlenen topluluklardandırlar.

KKO’yu açıklamaya başlamadan önce bilinmesi gereken şu bilgilere bakılabilir:

Bilindiği gibi karıncalar KKO ile hareket ederler ve bu hareket PSO kaynaklıdır. Yani tekil en iyi değerler global en iyi değeri iyileştirmek için kullanılır ve sürüdeki her karınca global en iyi değeri kullanrak tekil en iyi değerlerini geliştirir.

Ortama rastgele bırakılan karıncalar birbileriyle insanların duyamayacağı bir koku yayarak haberleşir. Yiyecek olan bir yerde bir kaç dakika içinde yüzlerce karıncanın toplanması bu nedenledir. Yiyeceği bulan ilk karınca taşıyabiliyorsa taşır yoksa yiyeceğin varlığını bildiren bir koku yayarak diğer karıncalara haber verir.

Benzer durum tehlike anında da geçerlidir. Tehlike ile karşılaşan karınca hemen alarm kokusunu yayar ve orada karınca görülmez olur. Bu koku yayma tekniği o kadar gelişmiştir ki yön bulmada da kullanılırlar. Yuvadan yiyeceğe giden yol bir kokuyla işaretlenir ve karıncalar bu yoldan ilerlerler. Genel olarak bu adımlar şu şekilde gösterilebilir:

Adım 1: Başlangıç feromon değerleri belirlenir.

Adım 2: Karıncalar her düğüme rassal olarak yerleştirilir.

Adım 3: Her karınca, sonraki şehri denklemde verilen yerel arama olasılığına bağlı olarak seçmek suretiyle turunu tamamlar.

Adım 4: Her karınca tarafından katedilen yolların uzunluğu hesaplanır ve yerel feromon güncellemesi yapılır.

Adım 5: En iyi çözüm hesaplanır ve ortak (global) feromon yenilemesinde kullanılır.

Adım 6: Maksimum iterasyon sayısı ya da yetelilik kriteri sağlanıncaya kadar Adım 2’ye gidilir.

(20)

Yukarıdaki akış şeması KKO için bir süreç sıralaması göstermektedir. Bu süreç görüldüğü gibi 6 adımdan oluşmaktadır. İlk adımda başlangıç değerleri belirlenir, ikinci adımda PSO gibi tekil üyeler yani çözümler rastgele dağıtılır. Sonraki adımlarda çözüm uzayında her karınca yiyecek arayışına gider ve gittikleri mesafeleri hesaplayarak tekil değerlerini güncellerler. En iyi çözüm hesaplanıp ortak en iyi değer güncellenir. Eğer yeterlilik kriteri sağlanmadıysa 2. Adıma gidilir.

Şekil 2.5 Karınca Koloni Hareketi

Şekil 2.5’te karıncaların engelle karşılaşınca nasıl davrandığı görülmektedir. Önce dağılan ve kendi yollarını bulan karıncalar daha sonra ortak bir yol üzerinde karar kılıp oradan hareketlerine devam etmektedirler. Yani karıncalara neredeyse hiç bir engel fayda etmemekte, bir şekilde yollarını bulmaktadırlar. Bu nedenle dünya üzerinde neredeyse her yerde bulunurlar ve kolonilerinin bekasını sağlarlar.

(21)

3. PARÇACIK SÜRÜ OPTİMİZASYONU

Biyolojik sistemlerin sosyal yaşam formlarının genelinde olduğu gibi PSO da sürülerin yiyecek arama mantığından yola çıkmıştır (Rokbani vd. 2013). Örneğin karıncalar yuvalarından çıktıktan sonra yiyecek aramak için bireysel olarak yaşam alanına yayılırlar. PSO’un çalışma prensibleri maddeler halinde aşağıda açıklanmıştır.

 PSO’da üyeler (parçacıklar, çözümler) ilk başta rastgele çözüm uzayına dağıtılırlar.Fakat bir karınca yiyecek bulduğunda orada kısa bir süre sonra karıncalar yoğunlaşırlar (Nurzaman vd. 2008). Ya da üyelerden biri tehlikeyi farkettiğinde diğer üyeler de o bölgeden uzaklaşırlar. Bu üyeler arasında bir iletişim olduğunu gösterir.

Bunu karıncaların koku salgılayarak yaptığı bilinmektedir. Bu kokunun tehlike alarmı, yiyecek varlığı veya yol üzerinde işaret bırakmak gibi çeşitli anlamları vardır.

 PSO’da grubun her bir üyesi yiyeceğe yakınlık bilgisini grubun diğer üyeleri ile paylaşır, bunun optimizasyonda adlandırılma şekli “pbest”tir ve tekil en iyi değer anlamına gelmektedir.Yiyecek bulunmadan önce aynı yiyeceğe farklı uzaklıklarda bulunan karıncalardan yakın olanı, daha çok koku yayar. Bu da grubun diğer üyelerini bir seçim yapmaya, yani daha yoğun koku gelen tarafa yönelmeye iter. Bu kokunun yoğunluğu genelde ya mesafe ya da karınca üyelerinin sayıca üstünlüğüne bağlı olarak ayarlanır.

 Optimizasyonda ayrıca “gbest” diye adlandırılan ortak en iyi değer vardır. Bu değer grup üyelerinin yiyeceğe ulaşmak için kendi “pbest”lerini geliştirmesinde kullanılır.

"gbest” değeri, pbestler içinde en iyi olandan seçilir.

(22)

Şekil 3.1 Kuş Sürüsü Hareketi

Kuş sürüleri de, birçok bakımdan karınca sürüleri gibi hareket eder. Üyeler yiyeceğe yakınlık bilgisini paylaşır, kuşlar yiyeceğe en yakın kuşa göre hızlarını ve pozisyonlarını belirler (Hassan vd. 2004).

 Öğrenme Faktörleri tam olarak burada devreye girmektedir. Sürünün bireyleri hız ve pozisyonlarını “c1” ve “c2” olarak adlandırılan bu faktörlerden yararlanarak ayarlarlar. c1 ve c2 genellikle birbirine eşit ve 2 değerini alır ama 0 ile 4 arasında farklı değerler de alabilirler.

Eğer kuş sürüleri tekil en iyi değerlerden yararlanarak sonuca gidiyorsa bir sürüdeki kuş sayısı ne kadar çoksa en doğru yolu en hızlı şekilde bulma olasılığı artar.

“Parçacık Sayısı” kullanılacak çözüm sayısıdır ve genellikle problemlerde değer olarak küçük sayılar kullanılır. Karmaşık problemler ve gerçek hayattaki PSO uygulamaları için büyük sayılar kullanılabilir.

(23)

Kuş ve balık sürüleri pozisyonlarını 3 boyutlu ortamda belirlemektedir. Yani [x y z]

onların yaşam alanı için gerekli pozisyon bilgisini ifade edecek gösterim iken, karınca sürüsü için [x y] gibi 2 boyutlu bir düzlemin bilgisi yiyeceğin yeri için yetecektir.

Buradaki pozisyon bilgisi aynı zaman da bireysel en iyi değer, ya da çözüm olarak da düşünülebilir. O pozisyonla yiyecek arasıdaki mesafe de aynı formatta bir bilgi olacaktır (Montes vd. 2008).

“Parçacık Boyutu” ve “Parçacık Aralığı” problemin şekline göre değişmekle beraber sonucu bulmak için ayarlanması gereken önemli parametrelerdendir.

Parçacık boyutu çözüm uzayının kaç boyutlu olduğunu gösterirken, parçacık aralığı her bir çözümün değer aralığını belirtir.

En iyi tekil değerler arasında yiyeceğe en yakın kuşun bilgisi ortak en iyi değer seçilip o tarafa yönelirken kuşlar sürü mantığına göre hızlarını ayarlayacaklardır. Ama bu hızlar sürü içerisindeki hiyerarşiyi bozmaması için sınırlandırılmıştır. Bir kuş sürüden uzaklaşamaz diğer grup üyesine olması gerekenden daha fazla yaklaşamaz gibi kurallara ek olarak yiyecek ve yaşam alanının dışına kontrolsüz çıkacak miktarda hızlanamaz (Cai vd. 2013).

”VMax” optimizasyonda herhangi bir çözüm için hızdaki en çok değişim miktarını gösterir. Sebebi çözümün o aralık dışında olmayışıdır.

Kuş sürüsü yiyeceğe ulaştığı anda grup üyeleri için PSO ile hareket süreci biter.

“Durma Kriteri” optimizasyonu sonlandıran, sonucu tatmin edecek optimum değere ulaşıldığını gösteren bir faktördür. Bu grup üyeleri arasındaki iterasyonu veya fonksiyonun tamamını sonlandırır.

(24)

4. PSO ALGORİTMASI

Bu algoritma iki aşamada gerçekleşmektedir. Aşağıda bu aşamaların formülize edilmiş şekli görülmektedir (Consoli vd. 2007).

PSO Algoritması Akış Şeması

For

End

Problemin çözümünü içeren değerler kümesinde, sürü üyelerinin her birini rastgele dağıt.

Do For

Her üye için yeni tekil en iyi değerini bul.

Her bir tekil üye için hız ve pozisyonunu bul.

End

Bulunan en iyi tekil değeri en iyi ortak değer olarak ayarla.

While

Durma Kriteri sağlanıncaya kadar döngüye devam et End

Bu optimizasyonun en sade halidir. Yukarıda genel PSO olarak optimizasyon adımları gösterilmiştir. Bu adımlar döngülerden oluşmaktadır ve döngülerin zaman maliyetleri çözüm uzayının ve parçacık sayısının büyüklüğüne bağlıdır. Bu büyüklükler sayı olarak artınca doğal olarak zaman maliyeti de artar. Döngülerin durma kriteri ise sistemin entegre edildiği ortam, robot ve hedeflere göre değişir. Daha önce aldığı parametrelerden ve bu parametrelerin optimizasyonu nasıl etkilediğinden bahsedilmişti.

Yukarıdaki formüle bakılınca en can alıcı noktanın en iyi ortak değerlerin; üye, hız ve pozisyonlarının belirlendiği kısım olduğu görülebilir (Castello vd. 2013).

(25)

Şekil 4.1 PSO Modeli

Yukarıda iki farklı sürünün parçacıklarının en iyi ortak değere yönelimi, başka bir deyişle parçacıkların kendi en iyi tekil değerlerini konum ve hız anlamında nasıl güncellediklerini göstermektedir. Bu aynı zamanda kuş, karınca veya arıların toplanma sürü hareketinin genel sayısal modelidir.

4.1 PSO Algoritma Basamakları

Aşağıda Parçacık Sürü Optimizasyonu basamakları yer almaktadır. Sırasıyla, en iyi tekil değerinin belirlenmesi, parçacık hız belirleme ve pozisyon belirleme adımları detaylandırılacaktır.

4.1.1 En iyi tekil değer (pBest) belirleme

Burada her bir üye kendi en iyi değerlerini yeniden bulur. Bu probleme göre değişmekle beraber yiyecek arayan sürüler için her bir üyenin yiyecek ile arasındaki mesafe olabilir.

Bu tezdeki problem için değer hedef ile robot arasındaki mesafedir.

4.1.2 Parçacıkların hızlarının belirlenmesi

Parçacık hız belirleme diğer önemli hususlardan biridir. Burada, c1 ve c2 katsayılarının öğrenme (Galstyan ve Lerman 2005) faktörlerinin genellikle birbirine eşit olduğu ve 2

(26)

değerini aldıklarında en iyi sonuçları verdiği ön deneyler sonucunda belirlenmiştir. PSO ile geliştirilen sistemlerde en iyi çözümlere ilgili katsayılar kullanıldığında geldiği gözlemlenmiştir. Bu faktörler için daha düşük değerler hedefe ulaşma süresini uzatırken, daha yüksek değerler hedefe ulaşırken sapmalara neden olmaktadır. Üyenin kendi tecrübelerine göre değerlerini belirlemesi c1 ile olurken grubun tecrübelerine göre hareket etmesi c2 ile olmaktadır. Diğer yandan rand1 ve rand2 adından da anlaşılacağı üzere rastgele sayılardır ve 0 ile 1 arasında değerler almaktadırlar. Bu değerlerden birisi ile tekil en iyi değer, diğeriyle ortak en iyi değer hesaplanır ve algoritmanın olasılıksal doğasını etkilemek için kullanılılır. İterasyon sayısı ise formülde k ile ifade edilmiştir ve durma kriteri ile ilintilidir. Şekil 4.2’de PSO’da kullanılan gezgin robot örnekleri gösterilmektedir.

vi k+1

= vij

+c1.rand1j

.(pbestij

-xij

) + c2.rand2j

(gbestj-xij

) (4.1)

Denklemden (1) gösterildiği üzere, üyelerin yeni hızı, önceki hızlarına yeni değerlerin eklenmesiyle olmaktadır. Burada ‘c1’ kendi, c2 diğer üyelerin tecrübelerine göre hareket etmesini sağlarken, ‘𝑣’ hızı göstermektedir. ‘𝑖’ ve ‘j’ parçacıkları önceki/sonraki hızlarını formülde belirtmek için kullanılır.’pbest’ tekil, ‘gbest’ ortak en iyi değer iken

‘rand’ metodu rastgele değer üretir.

Şekil 4.2 PSO’da kullanılan robotlar (http://code.ulb.ac.be, 2016)

(27)

4.1.3 Pozisyon belirleme

Pozisyon belirleme önceki konumdan sonra parçacığın yeni konumunu belirlemek için gerekli işlemler bütünüdür.

Yukarıdaki denklemden (1) anlaşılacağı üzere, üyelerin yeni pozisyonu, belirlenen hızlarının önceki konumlarına eklenmesiyle olmaktadır. Burada ‘𝑙’ yolu gösterirken, ‘𝑣’

hızı göstermektedir.‘𝑖’ ve ‘𝑗’ parçacıkları önceki/sonraki hız ve pozisyonları formülde belirtmek için kullanılır.

Günümüzde genel PSO algoritmasına ek bir çok geliştirme vadır (Saska vd. 2008, Jamshidpey ve Afsharchi 2015). Bunları ise şu şekilde sıralamak mümkündür:

 İterasyon veya parçacık sayının arttırılması daha optimum sonuçlar verecektir. Fakat bu tip değişiklikler PSO’nun çalışma süresini arttıracaktır. Bu nedenle yapılan gelişmelerden bir kısmı performans iyileştirmeleri üzerinedir. Denklem (1) üzerinden tartışılacak olursa, temel olarak ‘n’ üyeli bir algoritma ‘n’ iterasyonu sonucu n2’lik bir çalışma süresi ihtiva edecektir. Öyle ki, her iterasyonda üyelerin sayısının birer birer azaldığını ya da arttığını düşünürsek daha kısa sürede optimum sonuca ulaşılacaktır. Bu şekilde çalışma optimum değerden önemli ölçüde uzaklaştırmazken çalışma süresini %60 ile %40 arasında azalmaya götürmektedir (Wang 2007).

 Yine ‘n’ iterasyonun olduğu PSO’da ‘n’ tane üye olduğu varsayılırsa her iterasyon için n tane üyeyi ortak en iyi değeri bulmak için dolaşmak gerekiyor. Eğer ortak en iyi değerden radikal bir şekilde uzak tekil en iyi değerleri olan üyeleri iterasyona katmazsak gene iterasyon sırasında kontrol edilen üye sayısı azaltıldığı için çalışma süresi kısalacaktır.

li j+1

= lij

+vij+1

(4.2)

(28)

 PSO’da yapılan diğer önemli bir gelişme ise optimum değerin gerçek değere daha yakın olmasıyla alakalıdır. Neticede PSO’da sonuçlar üretilirken gerçek değeri değil o değere en yakın değeri bulmakta ve bu değer tatmin edici seviyeye gelince algoritma durmaktadır. Bu gelişme, daha hızlı ve daha yakın değeri yakalamak için tekil en iyi değeri komşularının ve kendisinin önceki iterasyonlarda en iyi değerleri arasında arama yaparak bulmasıdır. Burada her bir üye pbest’ini her bir üyenin en iyi tekil ortak değerinin ortalamasını alarak bulur. Bu da hız bulma formülünü değiştirir.

PSO kullanılan bir diğer parametre ‘Eylemsizlik Ağırlığı’dır ve 1’den küçük olmalıdır.

Bu değer her iterasyonda sabit oranlarla azaltılır (Ojha ve Das 2012). Buradaki amaç ortak ve tekil en iyiler arasında yapılan aramaların dengesini sağlamaktır. Eylemsizlik ağırlığı büyük olduğunda diğer üyelerin en iyilerini aramak kolaylaşırken, küçük değerler aldığında kendi en iyi değerlerini araması kolaylaşır.

(29)

5. BU ÇALIŞMADA PSO’DA YAPILAN YENİLİKLER

Önceki bölümde PSO ile ilgili kavram ve optimizasyon yöntemlerinden bahsedilmiştir.

Bu bölüm ise bahsi geçen çalışmalarla optimizasyona katılan yenilikleri ve geliştirilen uygulamanın ayrıntılarını içermektedir.

Kavramlar kısmında altı çizildiği gibi PSO, biyolojik sistemler içindeki sosyal yaşamın basitleştirilmesi ile elde edilmiş bir optimizasyon şeklidir. Bu optimizasyondan elde edilen algoritmaların da doğadan esinlenilen formuna en yakın olması o algoritmanın gücünü ve etkinliğini göstermektedir. Kanserli hücrelerin insan vücudundan temizlenmesi, mayın tarlasında arama yapılması gibi bugün pratikte çok başarılı olmayan sistemlerin PSO’nun geliştirilmesi ile başarı sağlayacağı öngörülebilir. Bu nedenle, şimdiye dek yapılmış çalışmaları incelediğimizde algoritmaların yetkinliği:

 Sabit hedefe grup halinde yönelme,

 Hedefe giderken sabit engelleri aşma,

 Çeşitli problemleri çözme,

 PSO’ya performans kazandırma,

 PSO’nun diğer optimizasyonlara göre üstünlüklerini, zayıf yönelerini inceleme

gibi temel sürü hareketlerini yapabilme olarak ölçülebilir. Hedefe giden sürülerin hareketli engellerden aşarak hareketli hedeflere gideceği bir algoritmanın daha doğal olduğu düşünülerek geliştirmeler yapıldı. Bu geliştirmeler:

 Hareket eden engelleri aşma,

 Hareket halindeki hedefe ulaşma,

 Grup halinde hareketli engelden aşıp hedefe ulaşma,

 Birkaç grup halinde hareketli engelden geçip hedefe ulaşma olarak sıralanabilir.

(30)

Şekil 5.1 Yeni PSO Akış Şeması

Şekil 5.1’de sistem çalışmasının görsel halini göreceksiniz. İlgili akış diyagramına göre algoritmanın adımları sıra ile aşağıda açıklanmştır.

5.1 Algoritma Basamakları

Yeni PSO Algoritmasının işleyiş basamakları şu şekildedir:

5.1.1 Parçacıkları dağıt

Üyelerin rastgele dağıtılmasındaki anlam, her bir üyenin rastgele pozisyon, hız, ortak en iyi değerlerinin atanmasıdır. Bu aşamadan çıkınca ortak en iyi değer belirlemek mümkündür fakat bu büyük ihtimalle optimumdan çok uzak bir değer olacaktır. Şekil 5.2 parçacıkların dağıtılmasına ilişkin bir gösterimdir.

(31)

Şekil 5.2 Parçacık değerlerinin yakınlaşması

5.1.2 Ortam oluştur

Oluşturulacak ortamın neredeyse tamamı parametre olarak sisteme aktarılacaktır. Bu yüzden buradaki değerler ayrıca önem taşımaktadır. Oluşturulan ortam farklı boyutlarda 3 tane Engel, bir adet Hedef ve 3 tane Robot içermektedir.

Engellerin farklı boyutlarda olmama sebebi en çok adaptasyonu sağlamak içindir. Engel sayısı için 3 değeri diğer ortamdaki üye sayıları gibi rastgele seçilmiştir. Bir hedef vardır ve hareketlidir, bu hedef engellerin aksi istikametine hakereket etmekte. Bu yapı robotların yeniden yönelimleri için en fazla yol değişimini amaçlamaktadır.

3 tane Robot, tek başına değil farklı robotların da aynı hedefe farklı yollardan, farklı sürelerde ulaşabildiğini göstermek içindir. Güncel PSO’da robot değil robot grupları vardır, lidersiz veya liderli. Kendi organize olan bu sistemler pratiğe dökülürken robotlar için bir lider belirlenip bunu takip eden diğer robotlar daha uygulanabilirdir. Sebebi pratikte sayıca az robotla çalışıldığı için optimizasyon etkili çözümler üretememektedir.

Kuş sürülerindeki geniş bir alana yayılmış yüzlerce kuş ile pratikteki 20-40 arasındaki robotların optimizasyonu farklı olmaktadır. Bu sistemdeki her bir robotu aslında sürü olarak da düşünebiliriz. Şekilde 5.3’de gördüğünüz robotlar, sürü lideri ve bu robotla sürü oluşturmuş farklı sayıda robot olarak düşünülebilir. Sistem yine aynı şekilde lider robot için yönelimi belirlemekte, diğer sürü üyeleri lideri takip etmektedir.

(32)

Şekil 5.3 Engelleri dolanıp hedefe giden robotlar

İlgili şekilde, hedefe giden robotlar görülmektedir. Burada 3 farklı robot yeşil, kırmızı ve mavi renkleriyle gösterilmiş ve hepsi arasında 2 birim mesafe bırakarak aynı sırada harekete başlamışlardır. Engeller ise başlama noktası olarak gösterilen daire şeklindeki konumlarından harekete başlamış ortamın sağ alt tarafına doğru hareket etmektedirler. Bu hareket rastgele farklı yönlere de olsa optimizasyon çalışmaya devam edecektir. Burada sürekli aynı hareketi yapmasının sebebi robotlar ile hedefin arasına engellerin maksimum düzeyde girmesi ve optimizasyonu zorlaması içindir. Diğer halde engelin yönünü kestirip ona göre güzergah çizmek, robotlara bu özelliği katmak akıllıca olacaktır. Burada sarı ile gösterilmiş baklava dilimi şekli hedefi göstermektedir ve ortamın sol üst köşesine doğru hareket etmektedir. Bu anlamda sürekli robotlardan uzaklaşmaktadır. Robotların bu durumda daha hızlı olması gerekmektedir.

(33)

5.1.3 Görev tamamlandı mı?

Bu soruyu daha algoritmanın başında sorulması şu nedenle anlamlıdır: Belki de robot veya robot grubu rastgele bulunduğu ortamda Hedef’in yanıbaşındadır. Öyleyse sistem görevi tamamlamış sayıp başlamadan durur.

5.1.4 Hız ve konum güncelle

Sistemde her bir robotun 50 tane üyesi, parçacığı veya çözümü vardır. Parçacık sayısı yine rastgele belirlenmiş olup aralık ve boyut olarak da tanımlanması gerekmektedir. Bu tezdeki her bir parçacığın boyutu 2’dir ve [x y] şeklinde koordinat bilgisini göstermektedir. Parçacıkların çözüm aralığı ise 3’tür. Parçacıklarının her birinin 3 tane değeri olduğu anlamına gelmektedir. Bu sayının artması robotun hedefe çizeceği yolu daha esnek yaparken çalışma süresini uzatır. O yüzden denemelerimiz sonucu en iyi çözüm aralığının 3 olduğu bulunmuş ve testlerimizde bu sayı kullanılmıştır. Çözüm aralığı daha büyük olursa zaman maliyeti artmakta, daha az olunca engellerin etrafından dolanmadaki esnekliği azalmaktadır. Bu bölümde hız ve pozisyonlar ayarlanırken her bir robot çözümleri içerisinde hedefe giden yolda 3 tane nokta belirlemekte ki bu çözüm aralığındaki 3 ayrı değer anlamına gelmektedir. Aşağıda şekilde görüleceği üzerine 4 adet ayrı mesafe 4 tane [x y] koordinat bilgisi içinde kalmaktadır.

Bu durumda tekil en iyi değerler 4 tane nokta arasındaki mesafe toplanarak bulunmaktadır. Robot ve hedef koordinatı her parçacık için aynı olup o döngüdeki konumlarına göre çözüm aralıklarındaki 3 nokta hesaplamalar için kullanılır. Robottan ilk noktaya, ilkinden ikinciye, ikinciden üçüncüye ve oradan da hedefe giden mesafe olarak toplam 4 değer toplanır.

Her bir çözüm için bu mesafeler hesaplanıp toplanır. Her bir toplam, çözüm için tekil en iyi değeri yani pbest’ini temsil eder. Diğer 49 çözüm de bu şekilde değerlerini bularak kendi pbest’lerini bulurlar. Bu pbest’ler arasındaki en iyi çözüm gbest’i yani en iyi ortak değeri verir.

(34)

Şekil 5.4’te 3 farklı robottan hedefe giden 50’şer yol gösterilmiştir.

Şekil 5.4 Her robotun hedefe giden parçacıkları (çözümleri)

5.1.5 En iyi yol mu?

Bir önceki aşamada her bir çözüm için hız ve pozisyon bilgisi ayarlanmış, ortak ve tekil en iyi değerleri bulunmuştu. Bulunan ortak en iyi değerin en iyi yol olduğuna durma kriteri karar verecektir. Sistemde durma kriteri herhangi bir koşula değil de zamana bağlanmaktadır. Sebebi durma kriterleri genelde hedefe ulaşıldıysa sağlanır fakat burada, sistemin amacı hedefe ulaşmak değil, hedefe giden en iyi yolda bir aşama kaydetmektir. Böylece her hareket sonucunda biraz daha hedefe yaklaşılacak, robot küçük mesafelerde ilerlerken hedefe ulaşmış olacak. Bu nedenle her bir robot önceki bölümde bulduğu en iyi ortak değeri belli bir süre boyunca geliştirmek için önceki bölümde yaptığı ayarlamaları yineleyecektir. Bu süre robotun bir önceki hareket süresi olarak düşünülebilir.

(35)

5.1.6 Yön bul

Durma kriteri yani robotun önceki hareket süresi bittiğinde ise elde edilen en iyi ortak değer en iyi yol olmuş olacak ve robot sonraki hareketini o yönde yapacaktır. Sistem pratiğe döküldüğünde bu süre 1 saniyeden daha kısa fakat 1 saniyeye yakın bir değer olarak düşünülmektedir. Matlab platformunda yapılan geliştirme çalışmalarda ise durma kriteri 30 iterasyon ile sınırlandırılmıştır.

5.1.7 Bitti

Yukarıdaki kısımlardan bahsedildiği üzere, yinelerek hedefe yaklaşan her bir robot hedefe istenilen kadar yakınlaştıysa sistem durdurulur. Burada yapılan işlem, en son bulunan ortak en iyi değerin yani hedefe olan uzaklığın çok küçük bir sayıya inmesidir.

Test ortmamı olarak, 13x13 birimlik bir alan tasarlanmıştır. Bu ortamda, ortak en iyi değer 1 birimin altına düştüğü zaman, robot için görevin tamamlandığı öngörülmektedir.

(36)

6. SİSTEM DEĞERLENDİRMESİ

Hareketli engelleri aşıp hareketli hedeflere ulaşmak PSO kullanılan sistemlerde yeni bir yetenek olduğundan dolayı değerlendirme önceki sistemler yerine farklı parametre değerleri arası performans farkları kıyaslanarak yapıldı. Bu durumlara geçmeden önce sistem parametreleri şekil 6.1’de görülebilir.

Çizelge 6.1 Algoritmadaki parametre ve değerleri SİSTEM PARAMETRELERİ

Parametre Değer İsmi

w 1 Eylemsizlik Ağırlığı

c1 1 Tekil Öğrenme Katsayısı

c2 1 Ortak Öğrenme Katsayısı

wdamp 0.98 Eylemsizlik Ağırlığı Azalma Miktarı npop 50 Parçacık Sayısı

x,y 2 Parçacık Boyutu

n 3 Parçacık Aralığı

nLoop 30 Durma Kriteri

Eylemsizlik Ağırlığı parçacıkların pBest’lerini geliştirirken kullandıkları parametredir.

Bu değer büyükse kendi hatıralarına göre, küçükse ortak hatıralara göre en iyi konumunu belirler. Sistemde ilk değeri 1 olarak alındı ve bu değer ilk iterasyonda 0.98 ile başlayıp her iterasyonda aynı oranda azalacaktır. Öğrenme faktörleri genel 2 olan değerinin aksine 1 olarak alınmıştır. Sebebi parçacıkların hedefe ulaşmadan önce çözüm uzayında hedeften uzakta da dolaşması istendiği içindir. Sistem hedefe ulaşmak değil hedefe giden yolda kısa mesafeler kaydetmek istediğinden bu hedefe ulaşma süresini değil her yön belirlendiğinde geçen süreyi uzatacaktır. Durma kriterimiz de sabit bir zamana bağlı olduğu için optimum sonuç sabit zamanda bulunacaktır.

Sistemde önemli olan nokta, yön bulma süresidir. Hedefe ulaşma süresi engellerin hareketine göre değişmektedir. Robot engelin yer bilgisini alınca etrafından dolanıp hedefe giden yolu belirliyor, fakat sonraki aşamada eğer robot belirlediği bu yol

(37)

üzerine gelirse yeniden yön belirlemesi gerekir. Bu da bazen önceki aşamadan daha kötü bir gbest’e sahip olabileceği anlamına gelir. Şöyle ki; eğer robotların her biri arada engel olmasaydı hedefe giden direk yollar çizerek gidecekti. Fakat arada engel olursa onun etrafını dolaşacağı için hedef ile kendisi arasındaki mesafe uzamış olacaktır.

Öyleyse sistemde;

 Sabit Hedef, Sabit Engeller

 Sabit Hedef, Hareketli Engeller

 Hareketli Hedef, Hareketli Engeller

gibi farklı durumlar arasında fark oluşmayacaktır. Oluşacak farklar engellerin ve hedefin sabit olması nedeniyle genel olarak sistem zamanını kısaltacak veya uzatacaktır. Yani hareketli nesne sayısı ne kadar az ise o kadar kısa zaman diliminde sistem çalışmasını durdurcaktır.

Genel sistem çalışma zamanı algoritmadaki iyileştirme ve gelişmelerle değil ortamla ilişkilendirilebilecek bir durumdur. Bu sebeple;

 Parçacık sayısını arttırmak

 Durma Kriteri olarak süre veya iterasyon sayısını arttırmak,

her yön bulma süresi içinde daha uygun değerler bulunmasını sağlayacaktır. Eğer durma kriteri süreye değil de iterasyon sayısına bağlı ise bu iterasyonların tamamlanma süresini kısaltacaktır.

Bu çalışmada toplamda 2 durum yaratılmıştır. Birinci durumda parçacık sayısı 50 ikinci durumda ise parçacık sayısı 100 olarak alınmıştır. Ortama dağıtılan çözümlerin sayısı ile gidilen yolun en uygun olması arasındaki ilişkinin bulunması performans değerlendirme kriterini ortaya konmuştur.

(38)

6.1 Performans Değerlendirmeleri (Hareketli Engel, Hareketli Hedef Senaryosu)

Şekil 6.1’de engelli ve engelsiz ortamda ortak en iyi değerin bulunması üzerine gösterim bulunmaktadır.

Şekil 6.1 Engelsiz ve Engelli Hedefe Yön Belirleyen Robotlar

Yukarıda iki tane farklı senaryo gösterilmektedir. Bunlardan birincisi engelli ortamda bir robotun nasıl yol belirlediğini, ikincisi ise hiç engel olmadan nasıl davrandığı görünmektedir. Bu iki görüntü geliştirilmiş algoritmadan çıkan sonuçlardan elde edilmiştir. İlgili uygulama, engelsiz senaryolarda iki nokta arasındaki en kısa mesafeyi düzgün bir şekilde bulabilmektedir. Burada gösterilmek istenen ortamda bulunan 50 parçacık en iyi yolu bulabilmek için yeterlidir. Çünkü engel olmayan ortamda en kısa mesafeyi bulabilmekte ve kullanılan iterasyon sayısı bunun için yeterli olmaktadır.

Diğer taraftan engelli ortamda bulunan yol robot yüzeyine teğet geçerek hedefe gitmiştir.

(39)

Şekil 6.1’de; 1. Robotun iki farklı durum için verdiği tepkileri görülmektedir. Parçacık sayısının 50 olduğu engelsiz ilk durumda ortak en iyi değer ilk iterasyonda 6 birimden büyük, 7 den küçük bir değer olarak elde edilmiştir. Sonraki iterasyonlarda (en iyi değer) düzenli olarak azalmıştır. Yani ilk yön bulup harekete yöneldiğinde robot yaklaşık 6,5 birimlik yolu varmış. Her ortam değiştiğinde yolunu azaltıp engellerin etrafından dolaşarak hedefe ulaşmıştır.

Engelli olan 2. durumda ise yolu önceki gibi düzenli olarak azalmamış olsa da ilk iterasyonda yaklaşık 5 birim kadar hedefe yolu olduğu görülmektedir. Sonraki iterasyonlarda yolu yani gbest’i farklı büyüklüklerde artıp azalmıştır. Buradan anlaşılacak sonuç, ilk başta belirlediği yolda ilerleyen robot önüne engel çıkması nedeniyle daha uzun bir yol belirlemiş olmasıdır. Son aldığı yolun 1 birimden az olduğu düşünülünce robot ikinci durumda engel önünden çekildiği için ilk duruma göre iterasyonlarda daha hızlı ilerlediği görülmektedir. Yani önüne gelen engelin, sonraki iterasyonlarında önünden çekildiği ya da robotun engeli etrafından aştığı anlaşılmaktadır.

(a) İlk Durum (b) İkinci Durum Şekil 6.2 Robot 1 için performans değerlendirmesi

İlgili şekil iki farklı grafik içermektedir. Bunlardan ilki, 1. Robot için iki farklı performansı göstermektedir. Burada ‘Best Cost’ şeklinde geçen ölçüm hedefe kalan en kısa mesafeyi göstermektedir. ‘Iteration’ ise 30 ile kısıtlanmış durma kriterini göstermektedir. Aslında robot 30 iterasyon sonunda yeteri kadar hedefe yaklaşmıştır.

Burada durma kriteri 30 yerine hedefe kalan belli bir mesafe olarak düşünülebilir.

(40)

Çünkü geliştirilen PSO sisteminde bir robot hedefle asla aynı konumda olamaz. Aradaki yolda bulunan 3 kırılma noktasından ilkine olan mesafenin 5’te 1’i kadar ilerleyerek hedefe yaklaşır. Şekil 6.2’de sonuçları verilen 2. Robot da ilk robot gibi parçacık değişimine olumlu yanıt vermiş ilkine göre ikinci durumda daha kısa bir yol çizmiştir.

Bu robotun önüne ilk durumda engel çıkarken ikinci durumda çıkmamıştır. Fakat iki resimde de robot 30 iterasyon sonunda hedef ile arasındaki mesafeyi istenen düzeye çekmiştir. Bu durumda parçacık sayısını arttırmak belirlenen süre zarfında hedefe gitme konusunda çok büyük değişiklikler yapmamıştır. Buradan çıkarılacak sonuç daha önce de belirtildiği gibi 50 tane parçacık doğru yolu bulmak için yeterli olduğu fakat daha kısa sürede bulmak için yeterli olmadığıdır.

Şekil 6.3 Robot 2 için performans değerlendirmesi

Son robotun parçacık sayısının arttırılması ilk baştaki hedefe çizdiği yolu azaltsa da daha çok engelle karşılaştığı için her yön bulma sırasında dalgalı ortak en iyi değerleri elde etmiştir. Bu, önüne birden fazla engel çıktığı veya değişen durumların yolunu yineleyerek en az 3 defa önceki duruma göre yolunu uzattığı anlamına gelmektedir.

(41)

Şekil 6.4 Robot 3 için performans değerlendirmesi

6.2 Performans Değerlendirmeleri (Engellere Göre Hacim Küçültme Senaryosu)

Daha önceki çalışmada robot tek başına hareket ettiğinden engelleri nasıl aştığı konusunda algoritma performansı üzerine değerlendirmeler yapıldı. Bu kısımda ise grup halinde hareket eden robotlar için engellerden kaçınma konusundaki performans değerlendirmesinden bahsedilecektir.

Engel bir tane ise bunun etrafından dolaşarak yol bulabilmeyi sağlayan algoritma, sürü halindeki robotların engelleri geçebilmesini sağlayacak şekilde de geliştirildi. Normalde engelle karşılaşan robot engelin etrafını dolaşırken, sürü halindeki robotlar hacim olarak küçülerek engelleri aşmaktadır.

(42)

Şekil 6.5 Hareketin ilk iki aşaması

Önceki bölümdeki performans değerlendirmeleri ortamdaki çözümlerin arttırılmasına yönelikti. Yani hedefe giden robot hareket etme süresi içinde doğru yönü bulmak için hesaplamalara gidiyor ve bu hesaplamalara başlamadan önce robotun yerine göre çözüm sayısı ve iterasyon sayısı ile optimum değer bulunuyordu. Çözüm sayısının arttığı önceki bölümde gözle görülür şekilde hedefe giden yollarda kısalma var. Sebebi algoritmanın daha çok çözümle daha uygun sonuçlara gitmesidir. Aynı etkiyi daha fazla iterasyon sayısı da yapacaktır ama iterasyonun sayının artması demek robotun yeniden yön tayin etmesi için geçen süreyi uzatacaktır. Bu durumda robotun engelle çarpışma olasılığı daha da artacak geçmiş ortam bilgilerine göre hareket eden robot değişen ortam koşullarında anlamlı olmayan yollar bulacaktır. Şekiller 6.5 - 6.6’da örnek bir senaryo 4 tane robotlu bir sürü için denenmiştir.

(43)

Şekil 6.6 Hareketin son iki aşaması

İterasyonun sayısının arttırıldığı yeni durumu ele alabilmek için algoritma süresinin kısalması gerekmektedir. Soudan ve Saad (2008) populasyondaki üyelerin sayısını her iterasyonda arttırarak veya azaltarak algoritma süresinin kısaldığını ortaya çıkardılar.

Yaptıkları çalışmaya göre üyelerin yani bu çalışmada çözümlerin sayısı 1’den başlayıp 50’ye kadar arttırılacak ya da tam tersi azaltılacak. Bu sayede her iterasyonda 50 tane çözüm gezmek yerine kaçıncı iterasyon ise o kadar çözüm ortak en iyi değere göre geliştirilecektir. Bu da; n’i çözüm sayısı kabul edersek ‘n2’ çalışma süre yerine daha kısa sürede çalışması demektir. Yeterli iterasyon ve çözüm sayısı ile sonucun yine optimum değer olacağını düşünülmektedir.

Bir diğer performans kriteri olarak grup halindeki robotların hareketli engelleri aşarak hareketli hedefe gitmesi durumunda nasıl davranacağı belirlendi. Buna göre tek bir robot yerine sürü halindeki robotların bu çalışmadaki algoritmayı kullanarak etkinliğini değerlendirilmiştir.

Burada sürü halindeki robotların nasıl olacağı, üye sayısı ve konumları ayrıca önemlidir.

Sürü grupları genellikle liderli ve lidersiz olarak ikiye ayrılır. Bu iki grup tipine doğada da rastlamak mümkündür. Ama lidersiz sürünün PSO mantığına daha uygun ve yatkın olduğu görülmektedir. Yani herhangi bir üye gibi lider de görev sırasında başarısız olsa da sürünün geri kalanı görevi yapmaya devam edecektir.

(44)

Bu senaryo için değerlendirilen sürünün 4 üyesi vardır. Bu sayısı daha fazla da olsa algoritmanın çalışmasını etkilemeyecektir çünkü lider robot dışındaki robotlar sadece aralarındaki mesafeyi koruyacaklardır. Bu üyeler ilk başta birbirilerine belli açı ve mesafelerde sıralanmışlardır. Bu açı ve mesafe yolculuk boyunca, sürünün merkezi ağırlığı, sürüden belirlenenden daha fazla uzaklaşma veya yakınlaşma değerleri gözetilerek korunur. Aşağıda formülün yeni hali görünmektedir.

Uyarlanan PSO Algoritması

For

Sürü üyelerinin her birini sürü olacak şekilde yerleştir.

Çözümleri yol güzergâhında dağıt.

End Do For

For

Parçacık için yeni tekil en iyi değerini ayarla.

Her bir tekil çözüm için hız ve pozisyonunu ayarla.

End

Bulunan en iyi tekil değeri en iyi ortak değer olarak ayarla.

End

Her üye için sürünün yönünü belirle If

Herhangi bir engele çok yaklaşılmışsa hacim küçült.

End While

Durma Kriteri sağlanıncaya kadar döngüye devam et End

Yine ortamda önceki performans değerlendirmesinde olduğu gibi 3 tane engel vardır.

(45)

Fakat bu sefer engellerin boyutları aynıdır. Robot sürüsünün ilk baştaki hareketinde aralarındaki mesafe yatay ve dikey olarak 0.5 birimdir. Bu mesafe ile robot sürüsünün kapladığı alan yaklaşık 1 birim çapında çember gibidir. Bu çember şeklindeki alan engellere yaklaşınca küçülerek çapı 0.4 olan çembere dönüşmektedir. Bu da engellere çarpmamak için robot sürüsünün geliştirdiği artı bir özelliktir.

Robot sürüsünün bulunduğu çember alanı, herhangi bir engelin sınırından sürünün merkezine olan mesafe 1.5 birimin altına düştüğü zaman küçülmektedir. Bu sayede etrafından geçtikleri engellere sürünün herhangi bir üyesinin çarpma ihtimalini ortadan kaldırılmaktadır.

Şekil 6.7 Küçülen hacim için performans değerlendirmesi

Yukarıdaki şekil sürü hedefe giderken kalan yol miktarını göstermektedir. Önceki performans grafiklerine göre sürekli azalan bir yerden sonra da sabit kalmıştır. Buradaki durumun önceki grafiklere göre daha farklı olmasının sebebi hareketli sürünün engelin etrafını dolaşmak yerine hacimce küçülmesidir. Sürü de engele göre ansızın yol

(46)

değiştirebilirdi ama bu sefer sürünün merkezine olan herhangi bir engelin uzaklığı önceki değerlendirmelere göre daha uzun tutulmuştur. Bu da sürüye, engele yakınında değil de daha uzaktan giden bir yol tanımlıyor. Uzaktan giden yolda engeller belirlenen yolda sürünün önüne çıkmadan hacim olarak küçülerek çarpma sorununu aşıyor. Şekil 6.2’ye göre de 5 ile 10 arasındaki bir hareketten sonra engellerin etkilemeyeceği bir pozisyona gelen sürü çembersel bir yörüngede hedefe doğru gitmektedir. Son iterasyonlarda ise sürü hedefe iyice yaklaşmakta ve hereketini sonlandırmaktadır.

6.3 Performans Değerlendirmleri (Azalan Üyeli PSO Senaryosu)

Daha önceki bölümlerde anlatılan işlevleri yerine getirmesi için tasarlanan PSO’nun çalışma zamanında karşılaştığı performans sorunu vardır. Bu performas sorunu değişen engellerin yerine göre yön belirleme sürecinde ortaya çıkmaktadır. Öyle ki robot veya robot sürüsü belli aralıklarla yeniden yön tayini yapmak zorundadır, çünkü bulundukları ortamdaki engeller sürekli hareket halindedir. Önceki duruma göre belirlenen bir yolda sürekli ilerleyince yollarına çıkmış bir engele çarpma olasılığıyla karşılaşırlar veya önlerinden çekilen engelin açtığı daha kısa bir yol bulma fırsatı yakalarlar. Bu nedenden dolayı robot veya robot sürüsü için algoritma belli aralıklarla ortam bilgisini günceller ve buna göre yönünü yeniden belirler.

Yeni PSO Algoritması Başlama sayac = 0

While Hedefe ulaşıldı mı ? If (sayaç = S)

sayac = 0, Sürüdeki en kötü pBest’leri çıkar Else sayac++

End For

Her Parçacık için (i =1,2…NP) Hız ve Pozisyon güncelleme End

End

(47)

Algoritmanın yineleme süresi birçok faktöre bağlı olabilir. Örneğin; robot veya sürü daha önce belirlenmiş bir mesafeyi her katettiğinde algoritma yinelenebilir. Ya da belli bir süre süre kısıtına göre veya engellerle arasındaki pozisyona göre algoritma yinelenmesi gözden geçirilebilir. Fakat yinelenme koşulu ne olursa olsun bu süre algoritmanın en iyi sonucu bulması için yeterli olmayabilir.

PSO ilk önce bütün çözümlerin başlatılması ve ardından iç içe iki iterasyonla optimum sonucun alınması şeklinde gerçekleşmektedir. Bu nedenle n populasyon sayısı olan bir sürüde n tane işlem başlatma için, n2 tane işlem de n iterasyonda optimum sonucu bulmak için gerekecektir. Bu da;

n + n2 işlem süresi demektir. Böylelikle ilgili algoritmanın çalışma süresi, (n2), şeklinde ifade edilebilir. Bu süre görüldüğü gibi iterasyon ve parçacık sayısına bağlıdır.

Bu iki sayının artması daha uygun sonuçlar verirken algoritma çalışma süresi uzayacaktır. Aksi halde optimum sonuçtan daha uzak değerler elde edilirken çalışma süresi kısalacaktır.

Optimizasyon, yani çalışma süresinin kısalması robot veya sürünün ortam değişimine vereceği cevap süresini kısaltacaktır. Bu durum en az, optimum sonuçlar elde etmek kadar elzemdir. Çünkü hedefe en kısa yoldan gitmekten daha önemlisi güvenli bir şekilde (engellere çarpmadan) gidebilmektir.

Düzenlenmiş PSO Algoritması For

Sürü üyelerinin her birini sürü olacak şekilde yerleştir.

Çözümleri yol güzergâhında dağıt.

End Do For

For

Döngüye yeni çözüm koy.

Her çözüm için yeni tekil en iyi değerini ayarla.

(48)

Her bir tekil çözüm için hız ve pozisyonunu ayarla.

End

Bulunan en iyi tekil değeri en iyi ortak değer olarak ayarla.

End

Sürünün yönünü belirle If

Belirlenenden az ise herhangi bir engel ile mesafe sürüyü

End While

Hedefe ulaşıncaya kadar döngüye devam et End

Bu durumda iki tane önemli kavramın ortasını bulacak şekilde önceki çalışmalar yürütüldü. Yani en iyi sonuca yakın değerlerin olacağı ve de çalışma süresinin kabul edilebilir uzunlukta olacağı iterasyon ve parçacık sayısı seçildi.

Optimum değerler çalışma süresine göre daha önceliklidir. Zaten en iyi değerleri bulmak için mecburen bütün çözümleri belli iterasyon sayısında bulmak gerekiyor ki optimizasyonun temel amacı da budur. Ama daha çok parçacık gezilerek gene benzer en iyi sonuçları yakalama konusunda daha önce PSO’da bazı geliştirmeler yapılmıştır.

Bunu sağlamak için yapılan geliştirmelerden iki tanesi dikkat çekici ve başarılıdır. Bu konuda birinci yöntem ortak en iyi değere sayısal olarak çok uzak değerleri olan çözümleri iterasyona almamaktır. Diğer yöntem ise her iterasyonda parçacık yani çözüm sayısını arttırarak sonuca ulaşmaktır. Birinci yöntemde çalışma süresi değişkendir çünkü rastgele dağıtılmış çözüm uzayında her iterasyonda ortak en iyi değere uzak veya yakın değerleri olan çözüm sayısı değişecektir. Bu engellerin olduğu ortamda çarpışma ihtimalini arttıracağı için sakıncalı bir durumdur. Eğer engeller statik olsaydı ve sadece hedef hareketli olsaydı o zaman daha iyi bir yöntem olarak öngörülebilirdi, fakat hareketli engellerin olduğu ortamda çarpma ihtimaline karşı değişken çalışma süresi doğru bir yol olarak öngörülmemektedir.

(49)

Buna karşın, ikinci yöntemde n iterasyonlu n çözümü olan bir PSO’da çalışma süresi n2 işlem süresi yerine daha kısa olacaktır. Çünkü n iterasyon boyunca 1’den başlayıp n’e kadar her döngüde 1 artan işlem sayısı daha az olacaktır.

Bu kısımdaki çalışmalar da çalışma süresini kısaltma adına ikinci yöntem kullanılarak yapılmıştır (Şeki 6.3).

Şekil 6.8 Azalan Üyeli PSO için performans değerlendirmesi

Performans değerlendirmelerinden bölüm 6.1’de hedefe giden robotun zaman zaman kalan mesafesi değişmektedir. Bunun temel nedeni, önüne engel çıkınca etrafını dolaşma ihtiyacının doğmasıdır. Fakat bu değerlendirmede engelin etrafını dolaşmak yerine sürü hacmi küçülmektedir. Bu da sürüyü sürekli yol değiştirme külfetinden kurtarmaktadır. Buradan, sürü harekete başladıktan sonra hiç yol değiştirmeyecek anlamı çıkmamalıdır. Sadece bu çalışmada engellere daha uzak mesafeden yol belirleyen sürü bir de hacim küçültmeye gidince engelin önüne çıkma ihtimalini düşürmektedir. Bu da

Referanslar

Benzer Belgeler

P.25 Baski Için Kağit Yerleştirmek ... P.25 Mürekkep Silindiri Değiştirme ... P.26 Genel Bakim Talimatlar ... P.27 Ondalik Noktasi Seçim Şalteri ... P.27 Genel Toplam / Vergi

Hibe almaya hak kazanmış öğrencilerin, faaliyete başlamadan önce kabul mektuplarında yer alan tarihlere göre, alacakları hibe, Avrupa Komisyonu tarafından hazırlanmış

► Hazır olarak satılan eğitsel kitlerin okul veya öğretmenler tarafından temini tercih edilebilir.. ► Montajlanmamış olarak satışa sunulan eğitsel kitlerin okul

Öğrencilerin sahip olduğu kalem sayılarını gösteren grafiğe göre çetele tablosunu yapınız. Grafik:

Aileyi,  batı  toplumlarında  sıklıkla  kavramlaştırıldığından  daha  geniş  bir  birim   olarak  anlamak  gereklidir.  Çekirdek  aile,  Türkiye’de 

Bu trenin tarihin en radyoaktif treni olduğunu belirten Greenpeace’e göre tren, Çernobil nükleer felaketinin çıkardığı radyoaktif kirliliğin on kat daha fazlasını

ayrılmıştır, İmparatorluk makamının yetkileri ise çok kısıtlanmıştır...  Otuz Yıl Savaşı'nı bitiren bir dizi antlaşma Vestfalya Barışı olarak bilinir. Vestfalya

Örnek A- Sözleşme bedeli döviz cinsinden veya dövize endeksli olarak kararlaştırılması mümkün olmayan sözleşmelerde yer alan bedeller Türk Parası Kıymetini Koruma