İL Rİ ALGORİTMA ANALİZİ ISIL İŞLM ALGORİTMASI (Simulated ... · malzeme fiziği benzetimi,...

19
Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com İLERİ ALGORİTMA ANALİZİ ISIL İŞLEM ALGORİTMASI (Simulated Annealing) 1. Giriş Benzetilmiş tavlama algoritması, pek çok değişkene sahip fonksiyonların en büyük veya en küçük değerlerinin bulunması ve özellikle pek çok yerel en küçük değere sahip doğrusal olmayan fonksiyonların en küçük değerlerinin bulunması için tasarlanmıştır. Bu algoritma ve türevleri, katı cisimlerin soğurken mükemmel şekilde atomik dizilişlerini örnek aldığından ve özellikle metallerin (örneğin: çelik) tavlama işlemini andırdığından bu ismi almıştır. Diğer olasılıksal yaklaşımlar gibi en iyi çözümün en kısa zamanda üretimini sağlar. Bu sebeple, özellikle matematiksel modellerle gösterilemeyen kombinasyonel problemlerin eniyileme uygulamalarında tercih edilir. Algoritmayı anlamak için şöyle bir örnekle benzeştirebiliriz. Diyelim ki en alçak noktasını aradığımız bol delikli bir golf sahamız var. Eğer sahanın eğimi yönünde ilerlemek gibi basit bir yöntem kullansak o zaman yüksek olasılıkla deliklerden birinde takılabiliriz. Bunun yerine şöyle yapıyoruz: Sahaya bir top koyup araziyi olduğu gibi sallamaya başlıyoruz. Top arada bir deliklere girse de sürekli salladığımız için sonra çıkıyor. Zamanla sallama hızımızı yavaş yavaş azaltıyoruz. Tamamen durduğumuzda ise topumuzun sahanın en alçak noktasında (genel minimum) ya da yakın bir yerlerde olduğunu farz ediyoruz. Gerçek dünyadaki katı cisimlerde de durum bu örnektekine benzer. Örneğimizdeki sallama hareketi cisimlerin sıcaklığına karşılık gelir. Bir gazı soğuturken atomlar bir süre sonra nasıl ki periyodik aralıklarla dizilip potansiyel enerjiyi minimiz e ediyorlar ise (kristalleşme) biz de aynı yöntemi kullanarak enerjiyi değil kendi tanımladığımız bir fonksiyonu minimize etmeye çalışıyoruz. Bu yöntem bölgesel en iyi çözümlere (local optimum) takılmamak için iyidir. Soğutma işlemi bu algoritmada daha iyi sonuçların bulunmasını sağlayacak yeni komşu çözümlerin üretilmesini sağlayan üstel (exponential) bir ifadedir. Benzetilmiş tavlama algoritması; elektronik devre tasarımı, görüntü işleme, yol bulma problemleri, seyahat problemleri, malzeme fiziği benzetimi, kesme ve paketleme problemleri, iş/akış çizelgeleme ve benzeri pek çok problemin çözümümde kullanılabilir. Fonksiyon Minimizasyonu Fonksiyon minimizasyonu karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu için minimum enerjili durumlar aranır. N değişkenli fonksiyonunun sayısal yöntemlerle minimumunu bulmak oldukça zor bir problemdir. Fonks iyonun alabileceği değerler uzayı büyük olduğunda bu problem daha da zorlaşır. Fonksiyon argümanı , N boyutlu uzayda sürekli değer alan bir vektördür. Sayısal yöntem kullanıldığında uzayın kesikli hale getirilmesi söz konusu olduğundan iyi bir sonuç için N boyutlu uzayda ¸çok küçük aralıklı bir ızgara (mesh) oluşturulmalıdır. Bu da uzayda¸ çok fazla sayıda nokta olması demektir. Fonksiyonun tüm bu noktalarda aldığ değer bulunup, bu değerler arasında karşılaştırma yapılır. N boyutlu uzayda fonksiyon minimumunu daha hızlı bulan bir algoritma¸ söyle olabilir. Bir başlangıç noktasından başlanıp, nokta rastgele değiştirilebilir. Yeni noktadaki fonksiyon değeri eski noktadakinden daha küçükse yeni nokta kabul edilir, değilse kabul edilmez. Bu nokta yine rastgele değiştirilir, elde edilen nokta için aynı işlem ile seçim yapılır. Böylece daha kısa sürede fonksiyon minimizasyonu yapılabilir. 1. başlangıç noktası (i = 0) seçilir, hesaplanır. 2. Nokta ¸ şeklinde rastgele bir hareketle ötelenir, hesaplanır. 3. ise yeni hareket noktası olur, değilse yeni hareket noktası olarak kalır. 4. 2,3 işlemleri yeni hareket noktası için yinelenir. 5. Hareketin durduğu zaman adımında fonksiyonun minimumu bulunmuş olacaktır. Bu ve benzeri yöntemlerin hepsi birden¸ çok minimumlu fonksiyonlarda¸ çalışmaz. Algoritma bulduğu ilk minimumda takılacak (yerel minimum), büyük ihtimalle global minimumu bulamadan sonlanacaktır. Metropolis Algoritması Metropolis algoritması birden¸ çok minimumlu fonksiyonun global minimumu bulunabilir.

Transcript of İL Rİ ALGORİTMA ANALİZİ ISIL İŞLM ALGORİTMASI (Simulated ... · malzeme fiziği benzetimi,...

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

İLERİ ALGORİTMA ANALİZİ

ISIL İŞLEM ALGORİTMASI (Simulated Annealing)

1. Giriş

Benzetilmiş tavlama algoritması, pek çok değişkene sahip fonksiyonların en büyük veya en küçük değerlerinin bulunması ve özellikle pek çok yerel en küçük değere sahip doğrusal olmayan fonksiyonların en küçük değerlerinin bulunması için tasarlanmıştır. Bu algoritma ve türevleri, katı cisimlerin soğurken mükemmel şekilde atomik dizilişlerini örnek aldığından ve özellikle metallerin (örneğin: çelik) tavlama işlemini andırdığından bu ismi almıştır. Diğer olasılıksal yaklaşımlar gibi en iyi çözümün en kısa zamanda üretimini sağlar. Bu sebeple, özellikle matematiksel modellerle gösterilemeyen kombinasyonel problemlerin eniyileme uygulamalarında tercih edilir.

Algoritmayı anlamak için şöyle bir örnekle benzeştirebiliriz. Diyelim ki en alçak noktasını aradığımız bol delikli bir golf sahamız var. Eğer sahanın eğimi yönünde ilerlemek gibi basit bir yöntem kullansak o zaman yüksek olasılıkla deliklerden birinde takılabiliriz. Bunun yerine şöyle yapıyoruz: Sahaya bir top koyup araziyi olduğu gibi sallamaya başlıyoruz. Top arada bir deliklere girse de sürekli salladığımız için sonra çıkıyor. Zamanla sallama hızımızı yavaş yavaş azaltıyoruz. Tamamen durduğumuzda ise topumuzun sahanın en alçak noktasında (genel minimum) ya da yakın bir yerlerde olduğunu farz ediyoruz.

Gerçek dünyadaki katı cisimlerde de durum bu örnektekine benzer. Örneğimizdeki sallama hareketi cisimlerin sıcaklığına karşılık gelir. Bir gazı soğuturken atomlar bir süre sonra nasıl ki periyodik aralıklarla dizilip potansiyel enerjiyi minimize ediyorlar ise (kristalleşme) biz de aynı yöntemi kullanarak enerjiyi değil kendi tanımladığımız bir fonksiyonu minimize etmeye çalışıyoruz.

Bu yöntem bölgesel en iyi çözümlere (local optimum) takılmamak için iyidir. Soğutma işlemi bu algoritmada daha iyi sonuçların bulunmasını sağlayacak yeni komşu çözümlerin üretilmesini sağlayan üstel (exponential) bir ifadedir.

Benzetilmiş tavlama algoritması; elektronik devre tasarımı, görüntü işleme, yol bulma problemleri, seyahat problemleri, malzeme fiziği benzetimi, kesme ve paketleme problemleri, iş/akış çizelgeleme ve benzeri pek çok problemin çözümümde kullanılabilir.

Fonksiyon Minimizasyonu

Fonksiyon minimizasyonu karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu için minimum enerjili durumlar aranır.

N değişkenli fonksiyonunun sayısal yöntemlerle minimumunu bulmak oldukça zor bir problemdir. Fonksiyonun alabileceği değerler uzayı büyük olduğunda bu problem daha da zorlaşır.

Fonksiyon argümanı , N boyutlu uzayda sürekli değer alan bir vektördür. Sayısal yöntem kullanıldığında uzayın kesikli hale getirilmesi söz konusu olduğundan iyi bir sonuç için N boyutlu uzayda ¸çok küçük aralıklı bir ızgara (mesh) oluşturulmalıdır. Bu da uzayda¸ çok fazla sayıda nokta olması demektir. Fonksiyonun tüm bu noktalarda aldığ değer bulunup, bu değerler arasında karşılaştırma yapılır.

N boyutlu uzayda fonksiyon minimumunu daha hızlı bulan bir algoritma¸ söyle olabilir. Bir başlangıç noktasından başlanıp, nokta rastgele değiştirilebilir. Yeni noktadaki fonksiyon değeri eski noktadakinden daha küçükse yeni nokta kabul edilir, değilse kabul edilmez. Bu nokta yine rastgele değiştirilir, elde edilen nokta için aynı işlem ile seçim yapılır. Böylece daha kısa sürede fonksiyon minimizasyonu yapılabilir. 1. başlangıç noktası (i = 0) seçilir, hesaplanır. 2. Nokta ¸ şeklinde rastgele bir hareketle ötelenir, hesaplanır. 3. ise yeni hareket noktası olur, değilse yeni hareket noktası olarak kalır. 4. 2,3 işlemleri yeni hareket noktası için yinelenir. 5. Hareketin durduğu zaman adımında fonksiyonun minimumu bulunmuş olacaktır.

Bu ve benzeri yöntemlerin hepsi birden¸ çok minimumlu fonksiyonlarda¸ çalışmaz. Algoritma bulduğu ilk minimumda takılacak (yerel minimum), büyük ihtimalle global minimumu bulamadan sonlanacaktır.

Metropolis Algoritması

Metropolis algoritması birden¸ çok minimumlu fonksiyonun global minimumu bulunabilir.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Metropolis Algoritması, N boyutlu uzaydaki bir noktayı argüman kabul eden fonksiyon minimumu bulma problemi için kullanılabilir. Bir önceki algoritmaya göre üstünlüğü, yerel minimumlarda takılmayıp diğer minimumlara doğru aramaya devam edebilmesidir.

Minimum arama sırasında, fonksiyonun argümanı olan , N boyutlu uzayında hareket ettirilir, , , . . . , , , . . . noktaları boyunca olan hareket sonunda aranan minimum değerini veren nokta olması beklenir.

Algoritma

Olası bir algoritma şu şekildedir,

1. N boyutlu uzayda başlangıç noktası (i = 0) seçilir, hesaplanır.

2. Nokta ¸ şeklinde rastgele bir hareket gerçekleştirilir, hesaplanır. 3. ise hareket kabul edilir, değilse

a. önceden seçilen ve program boyunca sabit olan bir T değeri için hesaplanır. b. olacak biçimde bir rastgele sayısı üretilir. c. ise hareket kabul edilir, değilse reddedilir.

4. 2,3 işlemleri yeni hareket noktası için yinelenir. 5. Hareketin durduğu önceden belirlenmiş olan zaman adımında (yeterince büyük seçilmişse) fonksiyonun bir

minimumu bulunmuş olacaktır.

Bu tür bir algoritmanın üstünlüğü, olması durumunda da harekete belli bir ölçüde izin vermesi ve böylece olası bir yerel minimumda takılmayı önlemesidir. Ancak böyle bir algoritmada kritik olan¸ şey T parametresinin seçimidir. T seçiminde iki uç durum,

T çok büyük seçilirse durumunda algoritmadaki 2(c) adımı her zaman gerçekleneceğinden hareketin sonlandığı yer fonksiyonun belli bir minimum değeri olmayacaktır.

T çok küçük seçilirse durumunda algoritmadaki 2(c) adımı hiç bir zaman gerçeklenmeyecek bu durumda hareketin sonlandığı yer fonksiyonun bulunan ilk minimumu olacaktır. Bu durumda bu tür bir algoritmanın ilk bölümdeki algoritmadan bir farkı olmayacaktır.

Bir boyutlu probleme uygulama

, Şeklindeki fonksiyona Metropolis Algoritmasını uygulayarak fonksiyonun

minimumunu arayalım. Fonksiyon Şekil 1 de görüldüğü gibi birden fazla minimuma sahiptir:

Minimum arama başlangıç noktası x = 0.5 olmak üzere farklı T değerleri için Metropolis Algoritmasının verdiği hareket ve

bu hareketler sırasındaki en küçük fonksiyon değeri ( ) ile bu değeri veren x değerleri ( ) aşağıdaki¸ şekillerden ve

tablodan görülebilir. Şekillerdeki siyah noktalar hareket sırasında ziyaret edilen noktaları göstermektedir.

Şekil 2 den görüldüğü gibi büyük sıcaklık değerleri için hareket uzayın geniş bir bölgesinde yer alırken, küçük T değerleri

için hareket uzayın dar bir bölgesinde oluşmaktadır.

Şekil 2 (b) (d) (f) den görüldüğü gibi küçük T değerleri için hareket x = 0.5 başlangıç noktasında başlamış ve bu noktanın

hemen yakınındaki minimumda devam ederek burada bitmiştir. Bu yerel minimumda yer alan 500 adımlık hareket ile

minimum iyi bir¸ şekilde belirlenmiş ancak hareket yerel minimumun dışına¸ çıkarak bulunmak istenen global minimuma

ulaşamamıştır.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Şekil 1-f(x) fonksiyonu

T x' f(x’)

1030

1010

105

10−5

10−10

10−30

−0.1948420000

0.2417261000

−0.1940888000

0.6627267000

0.6634904000

0.6637583000

−1.000870786

−0.8912118971

−1.000774538

−0.4216151044

−0.4216619145

−0.4216491707

Fonksiyon minimumu bulma probleminde kullanılan Metropolis Algoritmasında bir kaç kritik nokta vardır.

T değerinin seçimi

Hareketin adım sayısının seçimi

Rastgele hareketin oluşturulması (özellikle adım büyüklüğü seçimi)

Tüm bu değişkenler hakkında birkaç deneme sonunda sağlıklı bir seçim yapılabilir.

Simulated Annealing

Metropolis Algoritmasında, program boyunca T parametresinin sabit kalmasının sakıncalarından bir boyutlu probleme uygulama kısmında bahsedilmişti. T’nin küçük seçilmesi, hareketin yerel bir minimumdan kurtulamamasını, büyük seçilmesi ise hareket global minimumdan geçse dahi global minimumu veren noktayı hassas bir biçimde bulamamasını getiriyordu.

Simulated Annealing ile bu sorunlar giderilir. Program, uzayda belli bir başlangıç vektöründen ikinci kısımda anlatıldığı gibi yüksek bir T parametresi için hareket başlatır. Hareket sırasında ziyaret edilen noktalardan en küçük değerini veren nokta bir sonraki hareketin başlangıç noktası olur. Bir sonraki harekette T değeri belli bir miktar azaltılır. T’nin belli bir değerine varıldığında program sonlanır.

Algoritma

Simulated Annealing ile fonksiyon minimumu bulmada kullanılabilecek olası bir algoritma şu şekildedir,

1. T için başlangıç değeri seçilir. 2. N boyutlu uzayda başlangıç noktası (i = 0) seçilir, hesaplanır. 3. Nokta ¸ şeklinde rastgele bir hareket gerçekleştirilir, hesaplanır. 4. ise hareket kabul edilir, değilse

a) önceden seçilen ve program boyunca sabit olan bir T değeri için hesaplanır. b) olacak biçimde bir rastgele sayısı üretilir.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

c) ise hareket kabul edilir, değilse reddedilir.

5. 3,4 işlemleri yeni hareket noktası için yinelenir.

6. Fonksiyonun en küçük değerini veren bulunur ( ) 7. T azaltılır

8. Yeni T için 2-6 arası işlemler, hareketin başlangıç noktası 6 da bulunan olacak şekilde uygulanır. 9. T, programın başında belirlenen değere indiğinde program durur.

Bu algoritmanın Metropolis Algoritmasına göre üstünlüğü şuradadır: T nin¸ çok büyük değeri için başlayan hareket uzaydaki birçok noktayı gezer. Bir sonraki harekette T belli bir miktar azaltıldığında hareket yine uzayın büyük -ama bir önceki harekete göre daha küçük bir bölümünde ve bir önceki harekette bulunan minimum noktasından başlayarak gerçekleşir. Eğer bu başlangıç noktası global minimum değilse program hareketi sırasında bir önceki hareketten biraz düşük olan T sayesinde bir çok yerel minimumu aşacak ve global minimumu bulacaktır. Belli bir T den daha düşük değerdeki T ler için ise hareket artık uzayın küçük bir kısmında ve hep global minimum civarında olacak böylece program sonlandığında global minimumu veren iyi bir hassasiyet ile belirlenmiş olacaktır.

Bir boyutlu probleme uygulama

, Şeklindeki fonksiyona Simulated Annealing Algoritmasını uygulayarak

fonksiyonun minimumunu arayalım. Fonksiyonun davranışı Şekil 1 den görülebilir.

Program boyunca hareketlerin verdiği minimum değerler aşağıdaki tabloda görülebilir:

Simulated Annealing Algoritmasındaki bir kaç kritik nokta şunlardır:

T başlangıç değerinin ve azalma hızının seçimi

Hareket sırasındaki rastgele adım büyüklük aralığının seçimi

Kaynaklar

1. Kenan KILIÇASLAN, TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MAKİNA MÜHENDİSLİĞİ ANABİLİM DALI

NOTLAR DÜZENLENECEK

***************************************

Bu algoritma katı cisimlerin soğurken mükemmel şekilde atomik dizilişlerini örnek aldığından ve özellikle metallerin (ör:çelik) tavlama işlemini andırdığından bu ismi almıştır. Benzetilmiş tavlama bir metalin soğuyarak ve donarak minumun enerjili kristal yapısına dönüşmesi ile daha genel bir sistemde minumumun araştırılması arasındaki benzerlikten yararlanır.

BT’nin yaklaşımını daha iyi anlayabilmek için tabii tavlama hakkında kısa bir bilgi sahibi olunması gerekmektedir. Herhangi bir katı madde erime noktasını aşıncaya kadar ısıtılır ve ardından katılaşıncaya kadar soğutulursa, bu maddenin yapısal özellikleri soğuma hızına bağlı olarak değişir. Örneğin büyük kristaller çok yavaş soğutulacak olursa gelişmeler gözlenebilirken; hızlı soğutulma neticesinde yapılarında birçok bozulmaları barındırır.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Görüldüğü gibi ısıtılan ve ardından belli bir hızla soğutularak en iyi biçime ulaştırılmaya çalışılan bir madde, bir sistemdeki parçacık gibi algılanırsa bu tavlama sürecinden benzetilmiş tavlama elde edilmiş olur.

BT’nin diğer yöntemlere kıyaslandığında en büyük avantajı yerel minimumdan kurtulabilme yeteneğidir.

1) YEREL ARAMA ALGORİTMASI

Eğer (S, f) bir minimizasyon problemi olarak kabul edilecek olursa, S çözüm kümesi ve f(S) maliyet fonksiyonu olacaktır. Buna göre tüm S kümesi araştırılmalıdır. Ancak gerçek hayat problemlerinde bu çok büyük bir küme olduğundan ötürü bir alt küme seçilerek bu alt küme içinde çözümüm araştırılması sonucunda yerel arama algoritması(YYA) ortaya çıkar.

YYA rastlantı bir i € S noktasını belirleyerek bu noktanın komşularını arar. Söz konusu noktanın komşuları ¥(i) fonksiyonu ile belirlenir. Bu fonksiyon çalışmadan çalışmaya farklılık gösterir. Böylece i’nin komşusu j=¥(i) olur ve eğer f(j)<f(i) ise i=j olur. Başka bir ifadeyle rastlantı olarak olarak başlanan aramada seçilen komşu çözümün maliyeti mevcut çözümden daha düşük ise artık komşu çözüm mevcut çözüm olacaktır ve onun komşuları araştırılacaktır.

Aşağıda örnek bir YYA verilmiştir.

i €S başlangıç çözümü rastlantı olarak belirlenir

while(tüm¥(i) araştırılmadı) {

j=¥(i)

if(f(i)<f(j)) i=j

}

YYA’nın en önemli dezavantajı global en iyi yerine çoğunlukla yerel en iyi noktaya takılıp kalmasıdır. Aşağıdaki şekildede YYA l noktasına takılıp kalmıştır. Hâlbuki en iyi çözüm g noktasıdır. Görüldüğü gibi l noktasının komşuları daha iyi f(x) değerine sahip olamadıklarından dolayı YYA g noktasına ulaşamayacaktır.

2) EŞİK ALGORİTMASI

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Aynı şekilde (S, f) bir minimizasyon problemi, S çözüm kümesi f(S) maliyet fonksiyonu, ¥(i) ≤ olur. Eşik algoritmalarında amaç j € S olmak kaydıyla çözüm kümesinde en küçük maliyeti verecek çözümü bulmaktır. Bunun için bir başlangıç noktasından başlanarak komşular araştırılır. Bulunan komşu çözümün maliyeti daha yüksekse, aralarındaki fark bir eşik değerle karlaştırılır. Eğer komşu çözümün maliyetiyle bir önceki çözümün maliyeti arasındaki fark, eşik değerinin altında kalıyorsa yeni çözüm kabul edilir ve artık söz konusu çözümün komşuları araştırılır. Çoğunlukla eşik değer bir olasılık dağılımı olarak kullanılır. Başka bir ifadeyle aynı örnek için fark, eşik değerin ne kadar altındaysa kabul edilme olasılığı o kadar artacak, ancak kesin olmayacaktır. Bununla beraber eşik değer döngüler ilerledikçe azaltılır. Aşağıda orijinal BT çalışmalarında kullanılan komşu kabul etme olasılığı gösterilmektedir.

Denklemde yer alan k değişkeni çevrim numarasını temsil etmektedir ve buna göre tk, k. çevrimdeki eşik değeri

olarak düşünülmelidir. Ayrıca Görüldüğü gibi i çözümünün komşu çözümü olan j’nin maliyeti daha düşükse kabul edilme olasılığı 1’dir ve kabul edilir. Ancak j’nin maliyeti daha yüksekse mevcut eşik değerine bağlı olarak değişen bir olasılıkla kabul edilir. Ancak j’nin maliyeti daha yüksekse mevcut eşik değerine bağlı olarak değişen bir olasılıkla kabul edilir. Örnek bir eşik algoritması şöyledir:

3) TAVLAMA İLE BENZERLİK

BT yaklaşımının merkezinde gerçek fiziksel tavlamadaki kabul etme kıstasları yatmaktadır. Tavlama termal bir işlemdir ve düşük enerjili durum katı hali temsil eder. Buna göre tavlama temel olarak iki adımdan oluşturulabilir: Bu adımlardan ilki katı maddenin erime noktası olan azami seviyeye kadar ısının artırılması, ikincisi ise ısıtılmış maddenin yavaşça soğutularak katı haline dönüştürülmesidir. Sıvı haldeyken maddelerin tüm parçacıkları rastlantı olarak dağılırken, katı halde kuvvetli bir yapısal bütünlük içerisindedir ve sistemin enerjisin asgari seviyededir.

Mevcut i halindeki enerji Ei olsun. Buna göre bir sonraki j hali, i halinin biraz bozulmasıyla elde edilir ve enerjisi Ej ile temsil edilir. Eğer enerji farkı , Ej-Ei <= 0 ise j hali mevcut hal olarak kabul edilir. Aksi halde j hali reddedilmez

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Pt{ j’yi kabul et}= etkB

EjEi

Bu denklemde yer alan t ısı seviyesini göstermekte iken kB boltzman sabiti olarak bilinen bir sabittir.

Isı yeterli yavaşlıkta soğutulduğu takdirde her ısı seviyesinde sistem termal eşitliğe ulaşır. Termal eşitlik şöyle tarif edilebilir: Daha yüksek ısı seviyesindeki bir nesne daha düşük ısı seviyesindeki bir nesne ile temas halindeyse, yüksek ısı seviyesinden düşük ısı seviyesine sıcaklık transferi olur. Bu işlem her iki nesnenin ısı seviyeleri eşit olduğunda durur. Söz konusu eşitlik “termal eşitlik” olarak adlandırılır. Başka bir ifadeyle, termal eşitlik sağlandığında mevcut ısı seviyesi için sistemde enerji değişikliği gözlenmeyecektir.

Buna göre optimizasyon problemlerinde eğer madde ile bir optimizasyon problemi temsil edilecek olursa, bu durumda maddenin halleri de farklı çözümler olacaktır. Böylece mevcut haldeki enerji maliyet fonksiyonuna karşılık gelecektir. Daha öncede denildiği gibi katı haldeki bir tavlama işleminde madde katı haline, başka bir ifadeyle en düşük enerjili seviyesine sahip olduğu hale ulaşana kadar yavaşça soğumaktaydı. Asgari enerjili bir sistem, en düşük maliyet fonksiyonlu optimizasyon probleminin çözümünü verecektir.

4) TAVLAMA ALGORTİMASI

YAA’nın en önemli dezavantajının, global en iyi yerine genellikle yerel en iyi noktasına yönelmesi olduğunu daha önce söylemiştik. Kontrollü bir yaklaşımla daha kötüye gidişlere izin vermek veya ”yokuş yukarı hareket” etmek BT’nin bu soruna getirdiği çözümdür. BT bu yönüyle YYA oldukça benzemektedir. Ancak yokuş yukarı harekete izin verdiği için daha çok bir eşik algoritması türü olarak kabul edilmelidir.

Yokuş yukarı hareket etme işlemini de tam olarak gösterebilir. Mevcut durum l iken g ye doğru hareket etmesi gereken algoritma bir süre yokuş yukarı gidecektir. Ancak bu global en iyi değerin bulunmasını sağlayacaktır. Yokuş yukarı hareket etme BT’de mevcut ısı seviyesine bağlı bir olasılık dağılımına göre kabul edilir. Aşağıda örnek bir BT algoritması verilmiştir. Görüldüğü gibi ısı adeta bir eşik değer olarak kullanılmıştır.

Algoritma şu aşamalara göre ilerler:

a) Komşu kabul et

b) Başlangıç değerinin incelenmesi

c) Isı seviyesinin değiştirilmesi

d) Durdurma koşulu

e) Komşu inceleme sayısı

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Komşu kabul etme fonksiyonu:

BT algoritmasında yokuş yukarı hareketler için kullanılan komşu kabul etme sonfsiyonudur.

eresikt

jfif

eP deg

)()(

Komşu belirleme:

j=¥(i)

Durdurma Koşulu:

Tk>Tson

Komşu İnceleme Sayısı:

n

Isı Seviyesinin Düşürülmesi:

α(t)=a.t 0<a<1 bir değer

T(k)=a.t(k-1) (T(k)=Yeni sıcaklık değeri) (t-1)=eski sıcaklık değeri)

Başlangıç değeri=Tilk

Son ısı değeri =Tson

İ başlangıç değerini rastgele belirle

To(Tilk) başlangıç ısı seviyesini belirle

k=0 (sayaç sıfırla)

while(Tk>Tson) { (Herhangi bir ısı değeri son ısı değerinden büyük olduğu müddetçe dön) (sonlanma koşulu)

for c= 1 to n (Bir den komşu sayısı kadar inceleme yap )

{

j=¥(i) (Komşu belirlendi)

if(r<Pik) { j’yi komşu kabul et} j=i (r rastlantısal bir sayıdır [0,1] arasında)

}

k=k+1

T(k)=a.T(k-1) //ısı düşürme fonksiyonuyla soğuma gerçekleşir

}

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Yukarıda genel bir BT algoritması verilmiştir. Algoritmada yer alan r değişkeni, her çevrimde [0, 1] aralığında seçilen rastlantısal bir sayıdır Ancak BT algoritmaları çözümü araştırılan probleme göre özelleştirilmelidir. Söz konusu özelleştirme başlangıç ısı seviyesinin soğumanın nasıl bir programı izleyeceğinin, sonlanma koşulunun, çözüm uzayının, maliyet fonksiyonunun biçiminin ve komşuluk yapısının belirlenmesiyle gerçekleştirilmektedir. Her problem için bunların tek tek ele alınıp incelenmesi gerekmektedir.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

İNTERNET GAZETESİ SAYFA DÜZENİNİN GERÇEK ZAMANLI ENİYİLEMESİNİN BENZETİLMİŞ TAVLAMA ALGORİTMASIYLA GERÇEKLEŞTİRİLMESİ

ÖZET

İnternet gazetelerinin veya haber sitelerinin çok sık güncellenmelerinden dolayı sayfa düzeninin kullanıcının rahat okuyabileceği bir şekilde ve en az boşlukla oluşturulması gerekmektedir. Kullanıcıların okumak istedikleri makaleler ve yerleşim sıralamaları farklı olacağı için her kullanıcıya göre en uygun sayfa görünümünün çok kısa bir sürede oluşturulması oldukça zordur. Günümüzde bu tür çok sık güncellenen ve yoğun bir şekilde kullanılan sayfaların klasik yöntemlerle düzenlenip kullanıcıya gönderilmesi mümkün değildir. Dolayısıyla bu tür sayfaların görünümü kullanıcıların rahat okumasına uygun olmamaktadır. Ayrıca hazırlanan sayfaların farklı kullanıcıların bilgisayarlarında ve farklı tarayıcılarda görünümü farklı olmaktadır. Bu çalışmada, İnternet gazeteleri için sayfa düzeni eniyilemesinde benzetilmiş tavlama algoritması kullanılmıştır. Kullanıcıların sorguladığı ve görmek istediği makaleler web sunucudan alınmakta benzetilmiş tavlama algoritmasıyla

Kullanıcının bilgisayarındaki tarayıcıda en uygun şekilde sayfaya yerleştirilmektedir. Sayfa düzeni, bilginin kullanıcı bilgisayarına geldiği anda istemci tarafında gerçek zamanlı olarak yapılmış; böylece sunucunun yoğunluğu da azaltılmıştır. Yapılan deneysel çalışmalar gerçekleştirilen benzetilmiş tavlama algoritmasının gerçek zamanlı sayfa düzeni eniyilemesinde çok etkin ve hızlı olduğunu göstermiştir.

1. GİRİŞ

Günümüzde, gazeteler kağıda basılarak okuyucularına sunulmaya ve yoğun bir şekilde okunmaya devam etmekle beraber İnternet’in yaşamın her alanında kullanılmaya başlamasıyla birlikte gazeteler içeriklerinin bir kısmını veya tamamını İnternet üzerinde yayınlamaya giderek artan bir şekilde önem vermektedirler. İnternet gazeteleri üzerinde sunulan bilgi miktarı gün geçtikçe artmakta ve bilgiler çok sık yenilenmektedir. Hatta bilgiler dakikalar seviyesinde güncellenmektedir. Çizelge 1’de Google arama motoru kullanarak yapılan sorgu sonucunda, Şubat 2005 itibariyle en çok ziyaret edilen haber sitelerinde sunulan çevrimiçi toplam sayfa sayısı verilmiştir. Çizelge 1’de verilen bilgiler Google arama motorunun bir site içerisindeki detaylı arama özellikleri kullanılarak elde edilmiştir. Google

arama motoruyla bir sitede bulunan toplam sayfa sayısına yönelik sorgulama yapılmış ve Çizelge 1’de verilen sitelerde bulunan toplam sayfa sayıları elde edilmiştir. İncelenen bazı sitelerin arşiv bilgileriyle birlikte bir milyondan fazla sayfaya sahip oldukları görülmektedir. Bu sayfalar üzerinde kullanıcıların yaptıkları sorgu sonucunda elde edilen bilgilerin düzenli bir şekilde iletilmesi mümkün değildir. Bu yüzden çok fazla bilgiye sahip olan ve çok kısa sürelerde güncellenen bu tür İnternet gazetelerinin sayfa düzenini en etkin ve hızlı bir şekilde düzenleyecek yöntemlere ihtiyaç duyulmaktadır. İnternet gazetesi sayfa düzenlemesinde kullanılan en basit yaklaşım Şekil 1’de görüldüğü gibi makalelerin alt alta sıralandığı dikey gösterimdir. Bu durumda özellikle başlık, tarih veya yazar adı gibi makale ön bilgilerinin sayfa genişliğinden küçük olmasından dolayı sağ üst kısımda bir

çok alan boş kalmaktadır. Başka bir dezavantajı ise diğer makale özetlerine ulaşmak için sayfayı kaydırmak gerekmektedir ve bu okuyucular tarafından istenmeyen bir durumdur.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Şekil 1. Dikey sayfa düzeni

Çok sık kullanılan diğer bir yaklaşım ise, HTML etiketlerinden TABLE etiketini kullanarak makaleleri tablolar içine yerleştirerek sayfayı düzenlemektir. Bu yaklaşım daha uygun bir yapıdadır ancak tablodaki sütunlar sabit genişlikte alınırsa makaleler arasındaki uzunluk farklarına göre büyük boşluklar oluşabilmektedir. Şekil 2’de tablo kullanılarak hazırlanmış bir sayfa düzeni görülmektedir.

Şekil 2. Tablo kullanarak hazırlanmış sayfa düzeni

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Sayfa düzeni oluşturulmasında kağıda basılmış gazetelerde olduğu gibi sayfalar sabit genişliklere sahip sütunlar halinde düzenlenmektedir. Bu yaklaşımda, sayfa genişliği kullanıcının İnternet tarayıcısının o anki ekran boyutlarına göre sabit genişlikte sütunlara bölünür. Şekil 3’de sabit sütun genişliğine sahip bir sayfa düzeni görülmektedir.

Her bir makaleyi tek sütuna yerleştirmek başta uygun bir çözüm olarak görünse bile bu şekilde bir sayfa kullanıcılara tek düze geleceğinden sayfaya olan ilgi azalmaktadır. Bu yüzden makaleler sabit sütun genişliğinde yerleştirilirken bazı makaleler birden fazla sütuna göre düzenlenmektedir. Şekil 4’de birden fazla sütuna yerleştirilmiş sayfa düzeni görülmektedir. Bu yaklaşımda sayfa düzeni ile ilgili işlemleri istemci tarafında yapılmaktadır. En uygun sayfa düzeni kullanıcının tarayıcısındaki bir betik (script) ile anında (on-the-fly) hazırlanarak sunulmaktadır. Bu şekilde sunucu yükü de en aza indirilmektedir.

Şekil 3. Sabit sütun genişliğine sahip dikey sayfa düzeni

Şekil 4. Birden fazla sütuna yerleştirilmiş sayfa düzeni

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Genel olarak yerleşim tasarımı (layout design), gazete sayfa düzeni dışında kullanıcı arabirimi tasarımı, tesislerin yerleşim planı, VLSI (Very Large Scale Integration) devre tasarımı, kesme (odun, cam, tekstil v.b.) ve paketleme (taşıma, depolama) alanlarında sıklıkla kullanılmaktadır. Sayfa düzeninin oluşturulmasında en uygun yerleşimin seçilmesi, iki boyutlu dikdörtgensel şerit paketlemenin (strip packing) bir uygulama alanıdır. Burada amaç, dikdörtgen şeklindeki nesnelerin sabit genişlikteki bir alana en az uzunluğu kapsayacak şekilde yerleştirilmesidir. İnternet sayfa düzeninde dikdörtgenler bir makaleyi çevreleyen alanı ve şerit ise İnternet tarayıcıyı göstermektedir. Özel şart olarak dikdörtgenler dikey olarak yerleştirilmekte ve makalelerin yazı içermesi sebebi ile yönelimleri sabit olarak alınmaktadır (en uygun yerleşimi bulurken makaleler 90º döndürülmemektedir). Tüm bu şartları ile problemin çözümü herhangi bir NP (nonpolynomial) problem kadar zor ve karmaşıktır. Paketleme uygulamalarında kullanılan sezgisel ve meta-sezgisel algoritmalar Hopper tarafından yapılan çalışmalarda incelenmiştir Sele paketlemenin Genetik Algoritma kullanılarak yapıldığı çalışmalar da bulunmaktadır. Paketleme problemlerinde benzetilmiş tavlama algoritmasının çok uygun olmadığını ifade eden Lesh ve arkadaşları, yaptıkları çalışmada BLD (Bottom-Left-Decreasing) yöntemini geliştirerek uygulamışlardır Şerit paketlemede yapılan son meta-sezgisel çalışmalar Iori ve arkadaşları tarafından detaylı bir şekilde araştırılmıştır İnternet veya gazete sayfa düzeni konusunda da yapılmış

çalışmalar bulunmaktadır. Krista ve arkadaşları İnternet üzerinde sayfa düzeni gerçekleştiren ve benzetilmiş tavlama (BT) algoritmasını kullanan üç farklı yöntem önermişlerdir Buhr ise sayfa düzeni görünümünün yapay sinir ağları ile yapılması ile ilgili bir çalışma önermiştir Ahmad ve arkadaşları yapmış oldukları çalışmada, sayfa düzeninin uygunluk değerini ifade eden ve bu konuda çalışan uzmanlar tarafından sağlanan öznel ve belirsiz yönergeleri modellemede bulanık mantığı kullanmışlardır. Gonzales ve arkadaşları web sayfa düzeni oluşturulmasında BT algoritmasını kullanan ilk araştırmacılardır. Yaptıkları çalışmada kabul edilebilir sonuçlara genellikle ulaşmışlardır. Ancak çalışma süresi ve sayfa uygunluk oranı uyguladıkları algoritmadaki parametrelere göre bazen kabul edilemez sonuçlar vermektedir. Ayrıca web üzerinde uyarlanır içerik ile ilgili bir çok çalışma yapılmıştır.

Bu çalışmada, web sunucusundan alınan makalelerin sayfa düzeni, istemci tarafında çalışan BT algoritmasıyla gerçek zamanlı olarak kullanıcının İnternet tarayıcısının özelliklerine uyumlu bir şekilde oluşturulmaktadır. Sayfa düzeni için sabit genişlikte sütunlara makaleler bazen birden fazla sütuna taşacak şekilde yerleştirilmektedir. Algoritmanın amacı makaleleri aralarında en az boşluk oluşacak şekilde yerleştirmektir. Bu çalışmadaki deneysel sonuçlar, BT algoritması kullanılarak elde edilen uygun bir sayfa düzeninin diğer algoritmalara göre daha kısa zamanda oluşturulduğunu göstermiştir.

2. İNTERNET SAYFA DÜZENİ ENİYİLEMESİ İÇİN KULLANILAN BENZETİLMİŞ TAVLAMA ALGORİTMASI

Metin, resim, fotoğraf gibi nesnelerin uygun bir biçimde bir yüzey üzerinde yerleştirilmesi sayfa düzeni (page layout) olarak ifade edilmektedir. Hazırlanan sayfa düzenlerinin hem kullanıcılar tarafından kolay okunabilmeleri hem de az yer kaplamaları gerekmektedirler. Bunun için çok fazla bilginin farklı kullanıcıların sorgu sonuçlarına bağlı olarak ve kullanıcının bilgisayarının özelliklerine ve Şekil 3. Sabit sütun genişliğine sahip dikey sayfa düzeni Şekil 4. Birden fazla sütuna yerleştirilmiş sayfa düzeni ayarlarına göre en uygun şekilde gerçek zamanlı olarak oluşturulması çok hızlı çalışan ve kabul edilebilir bir sonuç üreten algoritmalarla mümkün olmaktadır. Bu çalışmada gerçek zamanlı sayfa düzeni için BT algoritması kullanılmıştır. BT algoritması Kirkpatrick ve arkadaşları tarafından 1983 yılında katıların yavaş yavaş soğutularak kararlı duruma gelmelerinden esinlenilerek ortaya atılmıştır.

BT algoritması yapısal olarak basit olmasına karşın çok karmaşık arama problemlerinde çok uygun çözümleri kısa sürede üretebilmektedir. Bir tavlama sürecinde, yüksek sıcaklıkta düzensiz durumdaki bir eriyik, sistem herhangi bir zamanda termodinamik dengede kalacak şekilde yavaş yavaş soğutulur. Sistem soğuma süresince giderek düzenli hale gelir ve sonuçta sıfır sıcaklıkta kararlı duruma ulaşır.

BT algoritmasının diğer yöntemlere göre en büyük avantajı yerel minimuma takılmanın önlenmesidir. Bunun için algoritma bir amaç fonksiyonunun değerini sadece azaltan değişiklikleri değil aynı zamanda artıran değişiklikleri de kabul eden rastsal bir arama yapar. Mevcut çözümden daha kötü bir çözüme geçişin olma olasılığı sistemin sıcaklığı ile doğru orantılıdır. Başlangıçta yüksek sıcaklıklarda bu olasılık oldukça yüksektir. BT algoritmasının global en iyi çözümü bulma garantisi yoktur ve elde ettiği çözüm kabul edilebilir bir çözümdür. BT algoritması bazı problemler için kendisinden daha uygun çözüm bulabilen bir eniyileme tekniği olan Genetik Algoritma gibi popülasyon tabanlı değildir. Sadece bir çözümü sürekli iyileştirmeye çalışmaktadır. Bu yüzden oldukça hızlı çalışır ve sonuca yakınsama hızı da yüksektir. BT algoritmasının üzerinde çalıştığı amaç fonksiyonu algoritmayı doğrudan etkilemektedir. Sayfa düzeni problemini bir minimum değer bulma problemi olarak ele alarak sayfa

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

düzeninde kullanılmayan boş alanı en aza indirmek amaçlanmaktadır. Bu çalışmada kullanılan amaç fonksiyonu aşağıdaki gibi oluşan boşlukların ortalaması olarak tanımlanan bir uygunluk fonksiyonudur:

Burada BoslukSayısı kullanılan sayfa düzeninde oluşan boşluk adedi ve Boşlukj ise j. boşluğun piksel cinsinden büyüklüğünü ifade etmektdir. BT algoritmasının performansını etkileyen diğer bir parametre sistem sıcaklığıdır. Algoritma belirli bir başlangıç sıcaklığı ile başlatılarak istenen sıcaklığa ulaşılıncaya kadar çalışmakta ve her yinelemede belirlenen oranda sıcaklık değeri azaltılmaktadır. Farklı şekillerde hesaplanabilen başlangıç sıcaklığı aşağıdaki şekilde seçilmiştir:

Burada ΔOrtalama Uygunluk Artımı rastsal bir değişimde gözlenen ortalama amaç artımını; pkabul ise burada 0,8 olarak alınmıştır ve başlangıç değerin tamamını kabul etme oranıdır. Bu çalışmada başlangıç sıcaklık değeri ortalama amaç artırımına bağlı olarak seçilerek problemin yapısına uygun olması sağlanmıştır. Sıcaklığın azaltılması yineleme sayısına bağlı bir sıcaklık azaltma fonksiyonu kullanılarak yapılmaktadır. Böylece yineleme sayısı arttıkça sıcaklık değeri başlangıç sıcaklığına bağlı olarak doğrusal olarak azalmaktadır ve her sıcaklık aralığında eşit sayıda çözüm üretilmektedir. Bu fonksiyon aşağıda verilmiştir:

Doğrusal olarak sıcaklığın azaltılmasını sağlayan bu fonksiyon diğer soğutma fonksiyonlarına göre daha basit yapıdadır ve daha kısa sürede yeni sıcaklık değerini hesaplanmaktadır, bu yüzden algoritma daha hızlı çalışmaktadır. Algoritmanın sonlandırılmasını sağlayan minimum sıcaklık, T0 başlangıç sıcaklığı ve yineleme sayısı kullanılarak hesaplanmıştır.

BT algoritmasında kullanılan bir diğer parametre ise her sıcaklıkta termal dengeye erişinceye kadar üretilen çözümdeki değişim sayısıdır. BT algoritmasının çalışma sürecinde oluşan her bir çözüm ve sistemin ürettiği son çözüm, sayfada yer alan bütün makale özetlerinin sırasını göstermektedir. Sonuçta gösterilecek sayfanın düzenlenmesi bu dizide yer alan makale sırasını değiştirme işlemidir. Makaleler elde edilen son çözüme göre yerleştirilince çok az miktarda boşluk oluşur. Örneğin bu çalışmada toplam 10 tane makalenin bulunduğu bir düzenek için örnek bir çözüm aşağıdaki şekilde ifade edilmiştir:

Mevcut en iyi çözüm olarak kullanılan bir kromozomdan başka bir çözüm elde etme işlemi için mutasyon işlemi kullanılmıştır. Bunun için kromozom içinde rasgele iki gen seçilmekte ve bu genlerin değerleri aşağıdaki gibi yer değiştirilmiştir:

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Elde edilen son çözümün İnternet sayfasına aktarılması bir algoritma tarafından gerçekleştirilmektedir. Bu algoritma, yerleştirilecek her bir makale için o makalenin üstünde bulunan tüm boşlukların ortalamasını (OrtalamaBoşluki) ve bu boşlukların ortalamadan sapmasını (Sapmai) hesaplanmaktadır.

Bu eşitliklerde OrtalamaBoşluki, makale i. Sütuna yerleştirildiğinde o makalenin üzerinde ortaya çıkan boşlukların aritmetik ortalamasıdır. Boşlukj, j.boşluğun piksel cinsinden yüksekliğidir. Buna göre makalenin hangi sütundan başlayarak yerleştirileceği aşağıdaki adımlarla belirlenmiştir:

• Makalenin yerleştirilmesi mümkün olan her bir i sütunu için en küçük ortalamadan sapmaya

(Sapmai) sahip olan sütun seçilir.

• Eğer bu Sapmai değerine sahip birden fazla sütun seçeneği bulunursa bu sefer en küçük ortalamaya (OrtalamaBoşluki) sahip olan sütun seçilir.

• Eğer hem ortalamadan sapma (Sapmai) hem de ortalama (OrtalamaBoşluki) aynı değere sahipse en soldaki yani i değeri en küçük olan sütun seçilir.Bu çalışmada kullanılan BT algoritmasına ait JavaScript betiğinin kaba kodu (pseudo-code) aşağıdaki gibidir;

Yineleme = 0

T = T0

// Rastsal olarak bir geçerli çözüm

// kromozom seç

// Mevcut çözümün uygunluğunu

// değerlendir

repeat

for Değişim = 1 to DeğişimSayısı

// Mevcut çözümü değiştirerek yeni bir

// komşu çözüm üret

ΔUygunlukArtımı = uygunluk(cyeni) –

uygunluk(cgeçerli)

if (ΔUygunlukArtımı < 0) or

(random(0,1)<e-(ΔUygunlukArtımı/T))

then

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Cgeçerli = Cyeni

end for

T = soğutma(T0, Yineleme)

Yineleme = Yineleme + 1

until (T < Tmin)

// Sayfa düzenini elde etmek için son

// oluşan kromozomu kullan

3. DENEYSEL SONUÇLAR

BT algoritmasıyla sayfa düzenini oluşturan algoritma, JavaScript ile hazırlanmış ve NTV MSNBC haber sitesinden (http://www.ntvmsnbc.com.tr) alınan 25 makale için test edilmiştir. Intel (R) Pentium (R) 4 CPU 2,40 GHz işlemci ve 512 MB RAM bellekli bir bilgisayarda, Microsoft Windows XP işletim sisteminde Microsoft Internet Explorer 6.0 kullanılarak

algoritma 100 kez denenmiş ve elde edilen 50.000 adet sonuç kaydedilmiştir. Birinci test ile algoritmanın farklı yineleme sayılarında, farklı değişim sayılarında yapılan 100 çalıştırma için elde edilen minimum, ortalama ve maksimum çalışma süreleriyle uygunluk değerleri elde edilmiştir. Elde edilen çalışma süreleri Çizelge 2’de ve uygunluk değerleri Çizelge 3’de verilmiştir. Çizelge 2’de görüldüğü gibi çalışma süreleri yineleme sayısı ve değişim sayısı ile doğru orantılı olarak artmaktadır. 1 sn’den kısa süren çalışmaların yineleme ve değişim sayısının 10 ile 30 olduğu aralık olduğu görülmüştür. Çizelge 2’de koyu olarak belirtilen değerler çalışma süresinin 1 sn’den daha az olduğu yineleme sayısı ve değişim sayısını göstermektedir. Daire içine alınmış değer ise tüm yineleme sayıları ve değişim sayıları göz önüne alındığında çalışma süresi 1 sn’den az olan ve Çizelge 3’e göre en düşük uygunluk değerine sahip olan sonuçları ifade etmektedir.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Çizelge 3’de uç değerleri gösteren minimum ve maksimum değerler gözardı edilirse ortalama

uygunluk değerleri yineleme sayısı ve değişim sayısının artması ile düşmektedir. Çizelge 3 (c)’de algoritmanın ürettiği en kötü sonuçlar görülmektedir. Burada büyük yineleme sayıları ve değişim sayıları uygunluk değerinde oluşan bu olumsuzluğu sınırlamaktadır. Şekil 5’te Çizelge 2 ve Çizelge 3’te elde edilen çalışma sürelerine ve uygunluk değerlerine ait grafikler görülmektedir.

Şekil 5’te ilk grafikte görülebileceği gibi çalışma süreleri oldukça düzgün bir şekilde yineleme sayısı ve değişim sayısına bağlı olarak artmaktadır. Ortalama uygunluk değerlerinin gösterildiği ikinci grafikte ise değişim sayısı en az 30 olarak seçilmesi yinelemesayısına göre elde edilen sonuçlardaki hata değişimini azaltmaktadır. Çalışma süresi gözardı edildiğinde yapılan testlerde elde edilen en iyi sonuçlar değişim sayısının 50, yineleme sayısının 80 olduğu uygulamadır. Bütün değerler incelendiğinde mümkün olan en kısa sürede (< 1 sn) en düşük boşluk üreten (<= 10 piksel) algoritma için yineleme sayısının 30, değişim sayısının 10 olarak alınması gerektiği görülmüştür.

Algoritmanın çalışma süresini azaltabilmek amacıyla algoritmaya eklenen bir şartlı sonlandırma yaklaşımı ile ikinci bir test yapılmıştır. 2. test sonuçlarına göre algoritmanın toplam işlem süresinin daha da azaldığı görülmüştür. Bunun için algoritmanın, mevcut çözüme ait uygunluk değeri belli bir sınırın altına düştüğü zaman daha fazla iyileştirmeye gitmeden durması sağlanacak şekilde değişiklikler yapılmıştır. Bu değer 10 piksel olarak alınmıştır. Eğer uygunluk değeri bu değerin altına düşmezse algoritma minimum sıcaklığa düşene kadar normal çalışmasına devam etmektedir.

Çizelge 4’de verilen 2. test sonuçlarına bakıldığında 1. test çalışmasına göre özellikle yineleme sayısı yüksek değerlere çıktığında %90’lara varan bir iyileşme sağladığı görülmüştür. Ayrıca 2. test ile çalışan algoritmanın denediği çözüm sayısı 1. test ile çalışan algoritmanın denediği çözüm sayısından ortalama olarak %25 daha az olmaktadır. Bu şekilde işlem yükü daha da düşürülmüş olmaktadır. Küçük yineleme sayıları (10-20) için hem sürede iyileştirme hem de uygunlukta iyileştirme olması bu değerlerin çalışma için en uygun değerler olduğunu göstermektedir. Bu durum BT algoritmasının yerel minimumdan kaçmak için yüksek sıcaklarda uygunluk değeri daha kötü olan çözümlerin seçilebilmesinden kaynaklanmaktadır. Şekil 6’da 25 makale için elde edilen bir örnek sayfa günümü verilmiştir.

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

Karabük Üniversitesi, Mühendislik Fakültesi.........................................................................................................www.ibrahimcayiroglu.com

4. SONUÇLAR

Bu çalışmada, BT algoritması 2-boyutlu dikdörtgensel şerit paketleme probleminin güncel bir örneği olan İnternet gazetesi sayfa düzeni eniyilemesinde kullanılmıştır. Yapılan testler sonucunda geliştirilen BT algoritmasının gerçek zamanlı sayfa eniyilemesinde etkin bir şekilde kullanılabileceği görülmüştür. Yineleme sayısı 30, değişim sayısı 10 alınarak yapılan denemede algoritmanın 0.7 sn gibi çok kısa bir sürede ortalama 10 piksellik boşluk üreterek uygun bir sayfa düzenini istemcinin İnternet tarayıcı özelliklerine göre oluşturduğu görülmüştür. Algoritmanın istemci tarafında çalışıyor olması sunucunun sayfa düzeni ile uğraşmasını önleyerek sunucu yükünü hafifletmektedir. Sayfa her yüklendiğinde bazı kısımları farklı bir sayfa düzeni ile karşılaşılması bir olumsuzluk olarak görülebilmesine rağmen böyle bir durumun sitenin monotonluğunu azaltabileceği düşünülmektedir. Algoritma donanım kapasitesindeki iyileşmeye bağlı olarak daha kısa sürede daha iyi sonuçlar üretebilmektedir.

BU NOTLAR DÜZENLENECEK..!