10.07.2015 Views

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Görevdeş (P2P) Ağlarda Sık Bulunan Öğelerin Belirlenmesine Dağıtık YaklaşımEmrah Çem, Öznur Özkasapolmasıdır. Çünkü, amacımız tek bir eşin değil,her eşin sistemdeki sık öğeleri tespit edebilmesidir.Sık öğeyi tanımlarken de bir eşik değeribelirlenmesi gerekir. Bu eşik değerini T olarakgösterelim. Buna göre sistemdeki sık öğeleri şuşekilde tanımlayabiliriz:F( t)= { d g(d ) T}, i = { 1,2,..., t}i i>Önerdiğimiz yöntemin diğer çalışmalardan enönemli farkı sık öğelerin tanımında öğenin sıklıkdeğerini değil, onun sistem genelindeki ortalamasınıtemel almamızdır. Bunun nedeni iseepidemik yöntemde eşler arası haberleşme belirlibir hiyerarşiye dayanmadığından dolayı, aynıeşler birden fazla haberleşmiş olabilirler. Budurumda her eşin yerel değerlerini toplayarakonların sistem genelindeki sıklık değerini eldeetmemiz mümkün değildir. Bizim önerdiğimizyaklaşımda sık öğeler şu şekilde tanımlanır:F ( t){ d g ( d a ) > ∆}i = { 1,2,..., t}ga ( d ) ==i iig(di) 1=N NN∑j=1v(sjiT∆ =NBurada ek olarak hesaplamamız gereken sistemdekaç tane eş bulunduğunun tahmin edilmesidir.Ancak,bu hesaplama da herhangi biröğenin sistem genelindeki sıklık değerininhesaplanmasıyla paralel olduğu için ayrı birişlem gerektirmeyecektir. Tek yapılması gereken,sistemdeki eşlerden her birine aynı öğedenekleyip o öğenin sıklık değerini tek bir eşhariç sıfıra eşitlemek, tek eşte (başlatıcı eş) ise1 e eşitlemek olacaktır. Böylelikle, bu eklediğimizöğenin sistem genelindeki ortalamasınıhesapladığımızda 1/N değerine yaklaşacağız.Algoritmanın İşleyişiÖnerdiğimiz algoritma belirli periyotlarda eşlerinbirbiri ile haberleşmesine dayanmaktadır.Her bir periyotta, eşler komşuları arasından)142rastgele haberleşeceği eşi seçer ve kendi içeriğinigönderir. Bu içeriği alan eş, gelen her öğeyebakar. Eğer bir öğe kendinde bulunmuyorsa oöğeyi sıklık değerini sıfıra eşitleyip içeriğineekler. Daha sonra öğenin kendisindeki ve öğeyialdığı eşteki değerlerin ortalmasını hesaplayıpkendi içeriğine kaydeder. İçeriğini güncelleyeneş, sadece o periyotta güncellemiş olduğu içeriğigeri gönderir. Her eş bu işlemi gerçekleştirdiktensonra ilk periyot tamamlanmış olur. Sistemgenelinde her öğenin sıklık değeri korunduğuiçin ve de her eşte belli bir periyottan sonra aynıdeğere yakınsayacağı için, bu değer o öğeninortalaması olacaktır. Bu yaklaşımı açıklamakaiçin herhangi bir öğenin her eşteki yerel sıklıkdeğerlerinin ilk durumunu düşünelim. Bu değerlerdenen büyüğü ile en küçüğünün değeri V min,V maxolsun. V minyerel sıklık değerini içeren eşilk periyottan sonra V mindeğerini V minden dahabüyük bir değerle değiştirecektir, çünkü kendisindendaha büyük bir değerle ortalamasını hesaplayıpiçeriğine kaydedecektir. Aynı şekildeV maxdeğeri de her periyotta azalacaktır. Bir öğenineşlerdeki sıklık değerleri V minile V maxarasındaolduğu için ve bu değerler gittikçe birbirineyaklaştığı için, en sonunda tüm eşlerdeki değerlergerçek ortalama değere yakınsayacaktır.Örnek SenaryoAğımızda üç eş olduğunu varsayalım ve herbirinindiğer iki eşle komşu olduğunu varsayalım(tam çizge). Başlangıç içerikleri de şöyleolsun:S 1{(id1, 2),(id2, 7)}S 2{(id1, 4)}S 3{(id1, 4)}Toplam {(id1, <strong>10</strong>), (id2, 7)}Eşlerin başlangıç içerikleriEşik değerinin de 8 olduğunu varsayalım. Algoritmanınsık öğe olarak sadece id1 öğesinidönmesi gerekir.XY : X eşinin içeriğini paylaşmak için Y eşiniseçtiği anlamına gelir.1.PeriyotBaşlatıcı eş: P 1S 1S 2, S 3S 1, S 2S 1olduğunu varsayalım. BudurumdaS 1={(id1, 2),(id2, 7),(id, 1)}S 2={(id1, 4), (id, 0)}S 1S 2sonucundaS 1={(id1, (2+4)/2),(id2, (0+7)/2),(id, 0.5) }S 2={(id1, (2+4)/2),(id2, (0+7)/2),(id, 0.5)}S 3={(id1, 4),(id, 0)}Step1S 1={(id1, 3),(id2, 3.5),(id, 0.5)}S 3S 1sonucundaS 3={(id1, 3.5),(id, 0.25)}S 1={(id1, 3.5),(id2, 3.5),(id, 0.25)}Step2S 2={(id1, 3),(id2, 3.5),(id, 0.5)}S 1={(id1, 3.5),(id2, 3.5),(id, 0.25)}S 2S 1sonucundaS 2={(id1, 3.25),(id2, 3.5),(id, 0.375)}S 1={(id1, 3.25),(id2, 3.5),(id, 0.375)}Step3İlk periyot sonunda eşlerdeki içerik şu şekildeolur:S 1{(id1, 3.25),(id2, 3.5),(id, 0.375)}S 2{(id1, 3.25), (id2, 3.5),(id, 0.375)}S 3{(id1, 3.5), (id, 0.25)}Top {(id1, <strong>10</strong>), (id2, 7), ((id, 1))}Birinci periyot sonunda içeriklerTabloda görüldüğü gibi, öğelerin yerel sıklıkdeğerleri değişmesine rağmen, toplam satırındakiöğelerin sistem genelindeki sıklık değerlerindeherhangi bir değişiklik gözlemlenmemiştir.Bu durum bize yakınsanan değerinin öğelerinortalama değeri olduğunu göstermektedir.Birinci periyot sonunda her bir eşe sık öğelerinlistesini sorduğumuzda aldığımız cevaplar ise<strong>Akademik</strong> Bilişim’<strong>10</strong> - XII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>10</strong> - <strong>12</strong> Şubat 20<strong>10</strong> Muğla Üniversitesi143şöyle olacaktır:S 1için ∆ =8*0.375=3, F={id1,id2}S 2için ∆ =8*0.375=3, F={id1,id2}S 3için ∆ =8*0.25=2, F={id1}2. PeriyotS 1S 3, S 2S 1, S 3S 2olduğunu varsayalım.Bu durumda, 2. Periyot sonunda eşlerin içeriğişu şekilde olacaktır.S 1{(id1, 3.3<strong>12</strong>5),(id2, 2.625),(id, 0.34375)}S 2{(id1, 3.34375), (id2, 2.1875),(id, 0.328<strong>12</strong>5)}S 3{(id1, 3.34375), (id2, 2.1875),(id, 0.328<strong>12</strong>5)}Top {(id1, <strong>10</strong>), (id2, 7), ((id, 1))}İkinci periyot sonunda içeriklerBirinci periyot sonunda her bir eşe sık öğelerinlistesini sorduğumuzda aldığımız cevaplar iseşöyle olacaktır:S 1için ∆ =8*0.34375=2.75, F={id1}S 2için ∆ =8*0.328<strong>12</strong>5=2.625, F={id1}S 3için ∆ =8*0.328<strong>12</strong>5=2.625, F={id1}Sonuç olarak her bir eş dağıtık yaklaşım ile sistemgenelinde sık bulunan öğenin id1 olduğunakarar verdi. Sistem geneline baktığımız zamansıklık değeri eşik değerinin üstünde olan teköğenin id1 olduğu da görülmektedir.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!