26
Membrane Algoritması Oğuzhan COŞKUN - Sefa TAFTALI

Membrane Algoritması

Embed Size (px)

DESCRIPTION

Optimizasyon Problemlerinin Çözümü İçin Membrane Algoritması, (P-sistem), NP-Tam Çözümler için, alternatif yaklaşım algoritması.

Citation preview

Page 1: Membrane  Algoritması

Membrane AlgoritmasıOğuzhan COŞKUN - Sefa TAFTALI

Page 2: Membrane  Algoritması

Membrane?

Page 3: Membrane  Algoritması
Page 4: Membrane  Algoritması

NP-Complete Nedir?● NP, belirsiz Turing Makinesi ile çok terimli (polinomsal) zamanda çözülebilen karar problemlerini içeren

karmaşıklık sınıfıdır.

● Bu sınıftaki problemler belirli Turing Makinesi ile çok terimli zamanda doğrulanabilirler ve bu şekilde doğrulanabilen her problem NP sınıfındadır. Bu nedenle NP, (belirli Turing Makinesi ile) çok terimli zamanda doğrulanabilen problemlerin sınıfı olarak da tanımlanabilir.

● Belirli Turing makinesi aynı zamanda belirsiz Turing makinesi olduğundan, P sınıfındaki bütün problemler aynı zamanda NP'dedir.

● NP-Tam (NP-complete), hem NP olup hem NP-Zor olan problemlerin sınıfıdır. Dolayısıyla bu sınıftaki problemler NP sınıfının en zor problemleridir.

● Yukarıdaki tanımdan yola çıkarak, herhangi biri çok terimli zamanda çözülebilirse, bütün hepsi çok terimli zamanda çözülebilir.

Page 5: Membrane  Algoritması

Membrane ’in Taslağı

Page 6: Membrane  Algoritması

Bileşenleri

1- Yukarıdaki yapı figüründeki gibi iç içe geçmiş zarlar ile ayrılmış bölgelerde bir dizi olarak.

2- Her bölgede, bir alt algoritma / işlemi çözerek optimizasyon sorununu gidermek ya da geçici olarak çözmek.

3- Komşu bölgelerin aralarında ulaşım çözüm sistemleri.

Page 7: Membrane  Algoritması

Başlangıç Kuralları1- Yukarıdaki yapı figüründeki gibi iç içe geçmiş zarlar ile ayrılmış bölgelerde bir dizidir.

2- Her bölgede, bir alt algoritma / işlemi çözerek optimizasyon sorununu giderir ya da geçici olarak çözer.

3- Komşu bölgelerin aralarında ulaşım çözüm sistemleri uygulanır (örn. tabu search).

En iyi çözüm en içteki bölgededir.

Page 8: Membrane  Algoritması

Membrane Algoritmasının Ayrıntıları

m membrane sayısı olsun ve bölge 0 içteki bölge ve m-1 dıştaki bölge olmak üzere sıralayalım.n düğümleri ile bir örnek olarak İki boyutlu uzayda noktalara karşılık gelen gerçek sayılar (xi,yi) (i=0.1,……,n-1) çiftini içermektedir. İki düğüm arasındaki mesafev i= (xi , yi) ve vj = (xj ,yj ) geometrik mesafesi d(vi , vj ) = (xi - xy)2+(yi - yj)2dir. Bu çözüm listesi (v0, v1, …., vn-1) olur. v = (v0,v1,.....,vn-1) ile gösterilen değer kümesi W(v) ile belirtilmiştir;

Page 9: Membrane  Algoritması
Page 10: Membrane  Algoritması

Gösterilen iki çözüm olan u ve v için, v u dan daha iyi ise W(v)<W(u) olur. Olası tüm çözümlerde minimum değeri olan çözüm örneğinin kesin çözüm olduğu söylenir. Tam çözüme yakın değeri olan çözüm yaklaşık değer olarak adlandırılır. Algoritmanın 0 bölgesinde belirsiz, 1 den m-1 e kadar olan bölgelerde ise iki çözüm vardır. 0 bölgesinde tabu arama algoritması gibi bir alt algoritma kullandık. Tabu algoritması çözümün içindeki iki düğüm arasında belirsiz çözüme yakın bir çözüm arar. Arama sonuçlarında iki kez aynı çözümün görünmesini engellemek için düğümleri listede tutar. Tabu listesindeki düğümler tekrar değiştirilmez. Eğer aşağıdaki üç durumdan biri oluşursa tabu arama algoritması belirsiz çözümü sıfırlar ve listeyi sıfırlar:

Page 11: Membrane  Algoritması

1. Komşu çözümün değeri belirsiz çözümden daha az ise, Komşu çözüm belirsiz bir çözüm olur.

2. En iyi çözümün değeri Bölge 1 dedir. Bu geçici çözümünkinden daha düşüktür.En iyi çözüm Bölge 1 de yeni geçici çözümle oluşur.

3. Komşu araması önceden belirlenmiş turların aşılmasıdır(n/5 durumunda). Geçici çözüm kalır. Sadece tabu listesi boşaltılır.

Page 12: Membrane  Algoritması

Durum 3 te hiçbir gelişme oluşmaz. Fakat tabu aramada diğer komşuları da aranarak denenir. Çünkü aranamayan komşularda vardır.

Geçici çözümler Bölge 1 ile m-1 arasındadır(Her bölgede iki çözüm vardır.). Bunlar aşağıda özetlenen bir alt algoritma tarafından geliştirilmiştir.

Page 13: Membrane  Algoritması

1. Eğer iki çözüm de aynı sonuca sahipse, çözümün bir parçası iptal edilir.(Burada ihtimal seçilir.)

2. İki sonucu yeniden işleme sokar ve iki yeni sonuç üretir.

3.İki yeni sonuca nokta değişimi uygulanır. i-th durumunda, değişimde i/m den daha düşük bir ihtimal oluşur.

Page 14: Membrane  Algoritması

Belli ki alt algoritmalar yukarıda genetik algoritmayı andırarak tanımlanıyor. Fakat alt algoritmalar her zaman genetik algoritmanın rastgele işleme sokmak için seçtiği durumlarda iki sonucu işleme tabi tutar. Eğer iki çözümde bir durumda aynıysa işlem yenilendiğinde yeni sonuç üretilmez. İlk adım bu durumu önler ve geri çevirme işleminde kullanılan yeni bir çözüm tanımlar.

Page 15: Membrane  Algoritması

Genel Bakış1. TSPnin örneği verilmiştir.2. Bütün Durum 1 ile m-1 arasındaki Durum 0 ve yeni geçici çözümler için gelişigüzel bir geçici çözüm oluşturulur.3. d zamanı kadar 3.1 ile 3.3 arasında tekrar ederler.(d değeri bir parametre olarak verilmiştir.)

3.1 Alt algoritmayı kullanan bütün durumlar aynı anda geçici çözümler oluştururlar.3.2 Bütün durumlar için i(1 <= i <= m-2), durum(son durum ve yenilenen durum) ile

durum i-1 arasında ve en kötü çözüm de durum i+1 iken durumların en iyi durumunu gönderir.

3.3 Bütün durum 1 ile m-1 arasındaki çözümleri temizlerler.

4. Geçici çözüm çıktılarında Durum 0 algoritmanın çıktısıdır.

Page 16: Membrane  Algoritması

Algoritmalar Membrane 2 Membrane 10 Membrane 30 Membrane 50 SA

İyi 440 437 433 429 430

Orta 544 450 442 435 438

Kötü 786 457 450 444 445

Page 17: Membrane  Algoritması

Membrane algoritması 3. adımı 40000 kez kadar tekrar eder. Membrane algoritmasının denenme sayısı 10dur. Membrane 2,10,30, ve 50 sırasıyla 2,10,30 ve 50 durumları için algoritmaları geçerli olur.

Page 18: Membrane  Algoritması

Algoritmalar Membrane 2 Membrane 10 Membrane 30 Membrane 50 SA

İyi 24524 22319 21770 21651 21369

Orta 32973 23422 23200 22590 21763

Kötü 49667 24862 23940 24531 22564

Page 19: Membrane  Algoritması

iyileştirilmiş MembraneBileşik Membrane algoritması iki aşamadan oluşur(Şekil 3). İlk aşaması bir dizi membrane algoritmasını rastgele oluşturulan ilk sonuçlarından iyi sonuçlar oluşturur. Bu iyi çözümler sonuçlarla sırasıyla ikinci adımdaki ilk sonuçları üretir. Sonunda en iyi sonuç elde edilmiş olur.

Page 20: Membrane  Algoritması
Page 21: Membrane  Algoritması

Takip eden parametreleri ile birleşik membrane algoritması incelendiğinde:

● İlk adımda membrane algoritmasının dizisi 100dür.● Bütün membrane algoritmaları 50 membraneden oluşur.● Eğer en iyi sonucu 500 iterasyonda yakalayamazsa her bir membrane algoritması ilk adımda

sonlandırılır.● Eğer en iyi sonucu 5000 iterasyonda yakalayamazsa her bir membrane algoritması ikinci adımda

sonlandırılır.

Birleşik Membrane algoritmalarında bilgisayar deneylerinin sonuçlarını Tablo 3 te gördük.Fark ettik ki birleşik membrane algoritmalarında her zaman neredeyse birbirine çok ykın sonuçlar üretiliyor.

Bir süreçte birleşik membrane algoritmasının zamanını tek bir membrane algoritmasından çok daha uzundur. Çünkü membrane algoritmasında birinci adım bütün işlemlerden bağımsızdır.

Page 22: Membrane  Algoritması
Page 23: Membrane  Algoritması

eil51 eil51 eil51 kroA100 kroA100 kroA100

bileşik membrane SA bileşik membrane SA

en iyi 429 429 430 21431 21651 21369

ortalama 431 435 438 21616 22590 21763

en kötü 435 444 445 21816 24513 22564

Page 24: Membrane  Algoritması

Sonuç● Optimizasyon problemlerinin çözümü için membrane algoritmasını yeni bir

algoritmayı uyarlarken ve sunarken kullandık. Bilgisayar deneylerinin TSP* için membrane algoritmasının en iyi çözüm yaklaşımı olduğunu gördük.

● Membrane algoritmasının yaklaşımı hızlıdır.● Gelişmiş membrane algoritmasının, birleşik membrane algoritmasından

TSP* için genelde neredeyse tam sonuç çözümdür.

TSP; Travelling Salesman Problem (Seyyar Satıcı Problemi) : Bulunan her node a en az bir kere uğrayarak en kısa yolu bulma problemidir.

Page 25: Membrane  Algoritması

$ source.list[1] Taishin Y. Nishida, Toyama Prefectural University, Toyama - Japan

[2] C.A Floudas and P.M. Pardalos (eds), Encyclopedin of Optimization (Kluwer, Dordrecht, 2001).

[3] M.R Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, (Freeman,1979).

Page 26: Membrane  Algoritması

TeşekkürlerOğuzhan COŞKUN - 11541438oguzhancoskun.org

Sefa TAFTALI - 11541506sefa.info