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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Birbirleriyle Etkileşim Halinde Bulunan Maddelerin Bir Düzleme Yerleştirilmesi için Bir AlgoritmaPınar Dündar, Görkem Tokatlı, Moharram Challenger,Tufan TuracıŞimdi bu yığını ilişkilendiren bir ikili işlem tanımlayacağız.Bu işlem genellikle kelimelerinbirleşimi(bitişikliği) olarak adlandırılır. x yukarıdaverildiği gibi vey = s s ... s olsun.Birinci kelimeyi yazdıktan sonra ikincikelimenin sembollerini yan yana dizerizx.y = sisi... ss s ... sj11 2 ikj1j2jlgörüldüğü gibi her x kelimesi içinx.ε=ε.x=xöyleyse ∑ * = (∑ * ,⋅,ε) bir monoid’e dönüştüğügörülür çünkü bitişiklik işleminin birleşmeliolduğu açıktır. ∑ * ’yi ∑ alfabesinden elde edilenfree monoid olarak adlandırırız.Örnek 2.1: Eğer ∑ ={0,1} ise, ∑ * ={0, 1, 00,01, <strong>10</strong>, 11, 000, 001, …} şeklindedir. ∑ * ’dekibitişiklik işleminin bazıları aşağıdaki gibi gösterilebilir.<strong>10</strong>⋅001 = <strong>10</strong>001111⋅01 = 11<strong>10</strong>1<strong>10</strong>⋅ε = <strong>10</strong>2.1 Algoritmax E y ⇔ y = xσ (σ∈Σ) ayrıt bağıntısı aracılığıile birleştirilmiş bir sonsuz (digraf) G=(Σ * ,E) grafının tepeler kümesi olarak, G grafınıntepelerinin alfabesinden üretilen bütün kelimelerinkümesini Σ * ile gösterelim. [5].Şekil 2.1’ de B={0,1} ikili alfabesinden oluşturulanB * için sonsuz bir yönlendirilmiş ağaçgraf gösterilmiştir. Şekil 2.1’ de görüldüğü gibiyönlendirilmiş dallar olarak gösterilen ayrıtlarısoldan sağa doğru etiketleriz, grafın bütünündeB * ’ı temsil eden bu sıralamayı gerçektenincelemek istiyorsak bu gerekli olacaktır. Buyönlendirilmiş ağaç grafta ilk tepe grafın kökj2j l264tepesi olarak adlandırılır. Bu aynı zamanda Σ *kümesindeki null kelimesidir.Şekil 2.1V, B * ’ın sonlu bir alt kümesi olmak üzere T =(V, E) şeklinde sonsuz (digraf) bir ikili ağaçtır,xσ ∈ V ⇒ x∈V (σ∈B)x E y ⇔ bazı σ∈B için y = xσ(i). madde bize her bir tepeden köke birleşmişbir yol olduğunu garanti eder. (ii). maddeise daha önce söylendiği gibi ayrıt bağıntısıdır.Aynı zamanda ağacın uçlarındaki düğümlere(tepelere) ait olan kümeleri gösteren alt kümeaşağıdaki şekilde tanımlanır.L= L(T) ={x∈V:bütün σ∈B için xσ∉V }⊆ VÖrnek 2.2: Şekil 2.2’ de bir ikili ağaç gösterilmektedir.İkili ağacın tanımındaki (i). maddeaşağıdaki şekilde örneklendirilmiştir.1<strong>10</strong>1∈V ⇒ 1<strong>10</strong>∈V ⇒11∈V ⇒ 1∈V ⇒ ε∈VGraftaki her bir tepenin gösterdiği x kelimesinin(x∈Σ * ) önce gelenlerinin grafta daha öncedenvar olduğu (i). madde tarafından garantiedilir. Örneğin, Şekil 2.2’ deki 1<strong>10</strong>1 graf tepesi1<strong>10</strong>1=1<strong>10</strong>⋅1 şeklinde oluşturulmuş olup butepenin önce geleni 1<strong>10</strong>’ dır ve bu grafta dahaönceden grafın tepesi olarak vardır. Bu özel Tağacı aşağıdaki düğümler (tepeler) kümesinesahiptir.Şekil 2.2L = L(T) = { 00, <strong>10</strong>, 0<strong>10</strong>, 1<strong>10</strong>0, 1<strong>10</strong>1 }T = (V,E) ikili ağacı algoritmik işlemler içerisindekullanılabilir. Sadece V⊆B * ’daki sonlusayıdaki tepeler kullanılmalıdır. Bu yüzden algoritmadaT için en uygun veri tipi dizi veriyapısıdırT: array B * of ABurada A, tepeler etiketlenirken kullanılan cebirdir.B * sonsuz bir küme olduğu için algoritmanınçalıştırılması sırasında bu tepelerin hepsinietiketlendirmek imkânsızdır. Sadece V⊆B *bir sonlu alt kümesi etiketlendirilecektir. Tepelerinetiketlendirildiği yukarıdan aşağıya doğrusıradan dolayı V alt kümesinin (i) durumu sağladığınısöyleriz. Yani işlem sonlandığı zamanetiketlendirilmiş bir ikili ağaç elde ederiz.<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 Üniversitesi265Etiketlendirilmiş ikili ağaçlar, bir G grafınıntüm maksimal bağımsız kümelerinin bulunmasındave aynı zamanda β bağımsızlık sayısınınhesaplanmasında kullanılır. Bu hesaplamalarilk M.C.Paull ve S.H.Unger tarafından yapılmıştır.Onların oluşturduğu çözümü aşağıdakialgoritma ile gösterebiliriz [5].T: array B * of P (V)β, i, j, n: positive integerE: array n + × n + of BL, M: subset of B *v: array B of Vx: element of B *σ: element of B *beginT ← ∅;T[ε] ← V; L ← {ε};for j ←1 to n – 1 dofor i ←j +1 to n doif E[i, j] = 1 thenbegin M ← {x ∈ L: {v i, v j}⊆ T[x]};L ← L ∼ M;v[0] ← v i; v[1] ← v j;for x ∈ M dofor σ ∈ B dobegin T[xσ] ← T[x] ∼ {v[σ]};if ((T[xσ]⊄T[y]) for all y ∈ L thenL ← L ∪{xσ}end;end;β ←End.max {|T[x]|}x∈LBu algoritma herhangi bir G grafı için β bağımsızlıksayısını belirler ve aynı zamandabütün maksimal bağımsız kümelerin listesiniverir. Bunlardan daha büyük bir bağımsızküme içerilmezÖrnek 2.3: Bir askeri malzeme deposunda bazımalzemelerin yan yana bulunması durumundakimyasal tepki verdikleri bilinmektedir. Şekil2.3’ deki grafta malzemeler birer tepe, kimyasaltepkiye giren malzemeler ise birer ayrıtlaifade edilmiştir.

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

Saved successfully!

Ooh no, something went wrong!