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.

Kural ve Sorgu Örüntülerinin Düzenlenmesi ile Rete Tabanlı Bir Çıkarsama Motorunun EniyilenmesiTuğba Özacar Öztürk, Övünç Öztürk, Murat Osman Ünalırru çıkarsama algoritması, kuralları uygulayarakyeni olgular elde eder ve ontolojiye bir olgueklendiği veya ontolojiden bir olgu çıkartıldığıanda, algoritma neredeyse bir önceki döngüdekilerile aynı sonuçları üretmek üzere en baştanbaşlar. Rete, önceden bulunmuş sonuçları hatırlayarak,bunların tekrar hesaplanmasını önleyeneniyilenmiş bir algoritmadır. Rete yalnızcasilinen ve yeni eklenen olguları kurallarla testederek performansı önemli ölçüde arttırır.Rete algoritması, Rete ağının çıkarsama sürecinedayalıdır. İzleyen tanımlar, Rete ağındakikavramların biçimsel gösterimlerini sunmaktadır.U sabitler kümesi, W={w| w = (s, p, o) ∧s, p, o ∈ U} ontolojideki tüm olguların kümesi,R ontolojiye ait tüm kurallar kümesi ve O = (W,R) ontoloji ve w ∈ W olmak üzere her bir w, diğerbir deyişle her bir olgu, bir özne (s), bir yüklem(p) ve bir nesneden (o) oluşur. r ∈ R ve lhsve rhs atom listeleri olmak üzere, r = (lhs, rhs)‘dir. Bir atom, at = (a, i, v), bir öznitelik a, birtanıtıcı i ve bir değişkenden v oluşur ve a,i,v ∈T ve V değişkenler kümesi olmak üzere T = U∪ V’dir. Bir lhs atomu koşul olarak adlandırılır.C, tüm kurallara ait tüm koşulların bulunduğukümedir. Bir ontolojiye ait Rete ağında Ω(O) =(α, β), α “alpha” ağını, β ise “beta” ağını belirtir.α = {δ(c) | c ∈ C} ve D = {x | x ⊆ W}olmak üzere, δ : C → D bir fonksiyondur. δ(c),c koşulu ile eşleşen tüm olguları içeren kümeyi,diğer bir deyişle {w | w = (s, p, o) ∧ c = (a, i, v)∧ ((s = a) ∨ (a ∈ V)) ∧ ((p =i) ∨ (i ∈ V)) ∧((o = v) ∨ (v ∈ V))} kümesini döndürür. β ağı“beta” belleklerden ve “join” düğümlerden oluşur.“Beta” bellekler “token” adı verilen, kurallarınkısmi gerçeklenmelerini saklarken, “join”düğümler kural koşulları arasındaki değişkenbağlamalarının tutarlılığını test ederler. Şekil-1[3], ağdaki kavramlar arası ilişkileri göstermektedir.Şekilde, dikdörtgenler “beta” bellek düğümlerini,ovaller “alpha” bellekleri ve daireler“join” düğümleri göstermektedir.322S = {x | x=(c1∧ ... ∧ cn) ∧ r = (lhs, rhs) ∧ lhs= (c1 ,..., ct) ∧ (1 ≤ n ≤ t) ∧ r ∈ R}, I = {x |x, w ∈ W elemanlarından oluşmuş bir tümelevetlemeliküme} ve φ : S → I bir fonksiyonolmak üzere, PI = {φ(s) | s ∈ S} bütün “beta”bellekleri içeren kümedir. φ(s), s ile eşleşen olgularınbağlamalı setlerini döndürür. Rete ağınınsonundaki gerçeklenmeler, “production”düğümleri, diğer bir deyişle, “p-node”, olarakele alınırlar. P = {φ(s) | s = (c1 ∧...∧ct )∧r =(lhs, rhs)∧lhs = (c1, ..., ct)∧r ∈ R} kümesi,tüm “p-node”ları içeren kümedir. Bir yayılımınRete ağının sonuna varması, diğer bir deyişlebir “p-node”un aktive edilmesi, bir kuralın tümkoşullarının tamamıyla eşleştiğini ve kuralınsağ el tarafındaki (rhs) atomların ontolojiyeeklenecek yeni bir olgu ürettiğini gösterir. Ontolojiyeyeni bir olgunun eklenmesi, Rete ağınıtetikler ve önceden bulunmuş olguların tekrarhesaplanmasını gerektirmeden, bu yeni eklenenolgulara bağlı yeni olgular çıkarsanır.Şekil-1. Örnek bir RETE Ağı.Bu çalışmada kullanılan çıkarsama motoru, OWLontolojilerindeki örtük bilginin, kurallar aracılığıile belirlik hale getirilmesi için Rete algoritmasınıkullanmaktadır. Rete tabanlı çıkarsama motoru,kural belirtimi için OWL Rules Language [5],sorgu belirtimi için OWL-QL [6] kullanır. Sorgular,kuralların özel bir altkümesidirler. Çıkarsamaaracına bir sorgu gönderildiğinde, bu sorgu Reteağına, sağ el tarafı (lhs) boş olan bir “p-node”olarak eklenir. Bu “production” düğümünün elementleri,kullanıcıya sorgu sonucu olarak döndürülürler.Sonuç döndürüldükten sonra, bu “production”düğümü ve “production” düğümününebeveyn düğümleri Rete ağından silinir.3. Eniyileme Buluşsalları veBunların Melez KullanımıYüksek performanslı çıkarsama, anlamsal webvizyonu açısından büyük önem taşımaktadır.Rete bir performans eniyileme algoritmasıolmasına karşın, Rete üzerinde yapılabilecekdaha ileri eniyilemeler sözkonusudur. Bu eniyilemebuluşsallarının bir kısmının çok öncedenbiliniyor olmasına karşın, bu çalışmakapsamında en iyiye yakın performansa ulaşabilmekiçin bilinen eniyilemeler yeniden elealınmış, bunların güncellenmesi ve birleştirilmesisonucu melez bir eniyileme ortaya konulmuştur.Aşağıda her bir eniyileme tekniği vebu tekniğin performansa etkisi anlatılmaktadır.Daha sonra bu buluşsalların birleştirilmesi sonucuoluşan melez eniyileme buluşsalı ayrıntılıolarak anlatılmaktadır.Şunu da belirtmek gerekir ki, bu melez eniyilemeyeek performans artışı sağlamak için, Reteağının “Alpha” ve “Beta” kısımlarında bazı indekslememekanizmaları da kullanılmıştır.3.1. Buluşsal 1: Kısıtlayıcı KoşullarıÖncelikli Olarak YerleştirmekBu optimizasyon, kısıtlayıcı koşulları öncelikliolarak yerleştirerek, Rete ağının orta kısmındaoluşan yükü azaltır. Rete algoritması, kuralları,ontoloji üçlüleri ile karşılaştırarak, bir kuralınbütün gerçeklenmelerini bulur. {c1, ...,cn} birkuralın sol el tarafı olmak üzere, L=((c1), (c1∧ c2 ), ..., (c1 ∧ ... ∧ cn−1 ), (c1 ∧...cn ))bir sıralı liste, K = {k1 , ..., kn } kümesi r’nintüm gerçeklenmelerinin kümesi ve kx L’nin x.elementine ait tüm eşleşmelerin olduğu kümedir.kn, K’nın n. elementi olmak üzere, E (kn)kn’nın boyutunu gösterir;E (k0)=1E (kn) ⊆ E (kn−1) x δ(cn)<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 Üniversitesi323Bu nedenle kısıtlayıcı, diğer bir deyişle minimum“alpha” belleğe sahip, koşulları öncedizmek izleyen gerçeklenmelerin boyutlarınıazaltır. Hangi koşulun daha kısıtlayıcı olduğunakarar vermek için aşağıdaki üç yöntemkullanılır:Yöntem 1: Bu yöntem daha az sayıda ontolojiüçlüsüyle eşleşen koşulları, daha öncelikli olaraksıralar. t anında minimum “alpha” belleğesahip koşulu (m), bulur, fakat m koşulunun birdizi ekleme ve silme işleminden sonra da minimumbelleğe sahip koşul olacağını garantietmez.Yöntem 2: Bu buluşsal daha fazla değişken içerenkoşulların, daha büyük “alpha” belleğe sahipolacağı varsayımını kabullenir. Bu nedenledaha az değişkene sahip koşulları öncelikli olaraksıralar.Yöntem 3: Anlamsal web ontolojilerindekompleks yüklemlerin kullanımı minimum düzeydedir[7]. Ontolojiler genel olarak kapsamave örneği olma ilişkilerinden oluşur.Bununla birlikte, kapsama ilişkileri, çıkarsamasırasında döngüsel olarak tekrarlayan birhesaplamaya neden olurlar ve bu hesaplamasonucunda kapsama yüklemi içeren koşullarınsayısı daha da fazlalaşır[9]. Bu nedenlerdendolayı, bu buluşsal, kompleks yüklemlere sahipkoşullara ait “alpha” belleklerin, kapsamaveya örneği olma yüklemine sahip koşulların“alpha” belleklerine göre daha küçük boyutlardaolacağı varsayımını kabullenir.Sonuç olarak, sıklıkla kullanılan yüklemleresahip koşulları, kural koşulları dizisinin ensonuna yerleştirir. Aynı zamanda, bu buluşsal,ontolojiye yapılan ekleme ve silme işlemlerininperformansını da arttırır. Çünkü sıklıklakullanılan bir yükleme sahip koşulun değişmeolasılığı, diğer koşullara göre daha fazladır veeğer bu koşul, n tane koşulun en sonunda yeralırsa, koşul yeni yaratılan (veya silinen) birolguyla eşleştiğinde yalnızca bir “join” işlemigerçekleşir. Fakat bu koşul , n tane koşulunen başında yer alırsa, n-1 tane “join” işlemigerçekleşir [4].

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

Saved successfully!

Ooh no, something went wrong!