Genel amaçlı bir bulanık uzman sistem

thumbnail.default.alt
Tarih
1999
Yazarlar
Yonar, Yusuf Barbaros
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Özet
Uzman sistemler; bilgi tabanı, çıkarım mekanizması ve kullanıcı arayüzünden oluşan, günlük yaşamda kendi alanlarında uzmanlaşmış kişilerce yürütülen işlemleri gerçekleştiren bilgisayar programlan olarak tanımlanabilir. Genellikle doğal konuşma diliyle ifade edilen bilgi belirsizlik içerir. Belirsizlik; karmaşıklık, ihmal, ölçümlerde yapılan hata veya duyarsızlık gibi pekçok nedenden kaynaklanabilir ve uzman kişilerin, karar verme sürecinde bu belirsizlik içeren bilgiyle çıkarım yapması gerekir. Dolayısıyla, uzman sistemlerin de belirsizlik içeren bilgiyi kullanabilmesi bir zorunluluktur. Bu yüksek lisans tez çalışmasının amacı; belirsizlik içeren bilgiyi kullanarak çıkarım yapabilen genel amaçlı bir bulanık uzman sistem geliştirmektir. Uzman sistemi geliştirme sürecinde Shyi Ming Chen tarafından ortaya atılan Ağırlıklı Bulanık Çıkarım Algoritması kullanılmıştır. Bu algoritmada, kuralların koşul kısmında yeralan önermelerin doğruluk değerleri ve ağırlıkları (çıkarım sürecinde sahip oldukları önem), kuralların belirginlik çarpanları (uzman kişinin kuraldan emin olma derecesi) belirsizlik içerebilir ve bu belirsizlik, dilsel terimler ve bu dilsel terimlere karşılık gelen yamuk bulanık sayılar (yamuk şeklindeki normal, konveks bulanık kümeler) aracılığıyla temsil edilir. Belirsizliğin temsil edilmesinde kullanılan dilsel terimler ve bu terimlere karşılık gelen yamuk bulanık sayılar aşağıda listelenmiştir: unknown absolutely-false very-low low medium-low medium medium-high high very-high absolutely-high (0,0,0,0) (0,0,0,0) (0,0,0.02,0.07) (0.04,0.1,0.18,0.23) (0.17,0.22,0.36,0.42) (0.32,0.41,0.58,0.65) (0.58,0.63,0.80,0.86) (0.72,0.78,0.92,0.97) (0.975,0.98,1,1) (1,1,1,1) Kural tabanında yeralan bir kuralın genel yapısı (1.1) denkleminde görülmektedir: R;: IF Cj THEN Ck (CF=fkj) (1.1) vııı (1.1) denkleminde, Cj doğruluk değeri bilinen önermeyi, Ck doğruluk değeri hesaplanacak önermeyi ve fkj kuralın belirginlik çarpanını göstermektedir. Eğer tj ile Cj önermesinin doğruluk değerini gösterirsek Ck önermesinin doğrulık değeri tk (1.2) denklemiyle hesaplanır: tk= tj X fkj (1.2) Kurallann koşul kısmında AND ve/veya OR bağlaçlarıyla birleştirilmiş önermeler yeralabilir. Bu bileşik önermelerin doğruluk değerleri (1.3), (1.4) denklemleriyle hesaplanır. a) IF Cji AND Cj2 AND... AND Cjn THEN Ck (CF= fkj) : Cji, Cj2,..., Cjn önermelerinin doğruluk değerleri ve ağırlıkları sırasıyla t,ı, tj2,..., tjn ve Wji, Wj2,..., Wjn olsun. Cj=Cji AND Cj2 AND... AND Cj" şeklinde tanımlanan Cj bileşik önermesinin doğruluk değeri tj: tj = (tjiX Wji+ tj2X Wj2+... + tjnX Wjn) / (Wji+ Wj2+...+ Wjn) (1.3) b) IF Cji OR Cj2 OR...OR Cjn THEN Ck (CF=fkj) : Cji, Cj2,...5 Cjn önermelerinin doğruluk değerleri ve ağırlıkları sırasıyla tji, tj2,..., tjn ve Wj ı, Wj2,..., Wjn olsun. Cj=Cj ı OR Cj2 OR... OR Cjn şeklinde tanımlanan Q bileşik önermesinin doğruluk değeri tj: tj =[(tjiX Wji)/(Wji+ Wj2+...+ Wj")]v [(tj2X Wj2)/(Wji+ Wj2+...+ Wjn)]v [(tjnX Wjn)/(Wji+ Wj2+...+ Wj")] (1.4) Öte yandan kural tabanında pekçok kural yeraldığından (1.2) ile tanımlanan işlemin herbir kural için tekrarlanması gereklidir. Bu işlem için kural matrisi (F) ve doğruluk değer matrisi (T) olarak adlandırılan iki matrise gereksinim vardır. T; önermelerin doğruluk değer matrisidir. Bilgi tabanında m adet basit önermenin ve k adet bileşik önermenin olduğunu varsayarsak j =0, 1,..., m+k için T(j), (1.5a) denklemiyle tanımlanır. T'in matris gösterimi (1.5b) de verilmiştir. TG)=tj (1.5a) ti t2 T = (1.5b) ıx Çıkanın sürecinin başlangıcında Cj önermesinin doğruluk değeri bilinmiyor ise T(j)="unknown"=(0,0,0,0) değerini alır. Cj önermesi bir bileşik önerme ise T(j) (1.3) veya (1.4) denklemi ile hesaplanır. F, kuralların belirginlik çarpan matrisidir. Tüm kuralların koşul veya sonuç kısımlarında toplam m+k adet önermenin olduğunu varsayalım. Herhangi iki Cj ve Ck önermeleri arasında bir ilişki yoksa, F(kj)- 'unknown", Cj ve Cj önermeleri arasında birebir aynı olmak durumu sözkonusu olduğundan, refleksifliği sağlamak için k=0, 1,..., m, F(k,k) = "absolutely-high" olarak atanır. F matrisinin boyutu m+k x m+k olur ve F'in elemanları (F(kj)) k,j =0, 1,..., m+k için (1.1) kullanılarak (1.6a) denklemiyle tanımlanır. F'in matris gösterimi (1.6b) de verilmiştir. F(k,j)=fkj (1.6a) F = fil fil fl2 Û2 ftm+k)l f(m+k)2 fl(m+k) fi(m+k) f(m+kXm+k) (1.6b) Ara doğruluk değer matrisi T*; önermelerin çıkarım sürecinde hesaplanan ara doğruluk değerlerini barındırır ve (1.7) denklemiyle tanımlanan T*= F <8> T işlemiyle oluşturulur. T*=F®T = (£lXtl)v(fi2Xt2) V.:.v(fi(m+k)Xİİn + k) (£lXtl)v(£2XÜ) V...v(£(m+k)Xtn+k) (f(m+ k)lXtl) v(fcn+ k)2XÜ) V...v(fm+ k)(m+ k)Xtm + k) (1.7) Eğer T* = T eşitliği sağlanırsa çıkarım işlemi tamalanmış demektir ve T matrisi önermelerin sonuç doğruluk değerlerini içerir. T* = T eşitliği sağlanmadığı sürece, T = T* atamasının ardından (1.7) ile tanımlanan işlem T* = T eşitliği sağlanıncaya kadar çevrimler halinde yinelenir. Birinci bölümde, yüksek lisans tez çalışmamızın ana başlıklarından olan bilgi ve belirsizlik, ikinci bölümde, bilginin, çıkarım sürecinde kullanılabilmesi için temsil edilmesinde yararlanılan gerçek, kural, hiyerarşi, çerçeve yapılan ve kalıtım, belirginlik çarpanı kavranılan incelenmiştir. Üçüncü bölümün konusu uzman sistemlerin yapısı ve çalışma ilkeleridir. Dördüncü bölümde, çıkarım süreci için şekillendirilen bilginin uzman sistem tarafından kullanılmasında kullanılan yöntemler (ileri yönlü çıkarım, geri yönlü çıkanm) ele alınmıştır. Bilgideki belirsizliğin temsil edilmesinde kullanılan belirgin küme, bulanık küme, üyelik fonksiyonu kavranılan beşinci, bilgi parçalan arasında ilişkiler kurmakta kullanılan belirign bağıntılar ve bulanık bağıntılar altıncı bölümde tanıtılmıştır. Yedinci bölüm, ana konusu, belirsizlik içeren bilgi ile çıkarım yapmak olan bulanık mantık kavramım tanıtmaktadır. Ağırlıklı Bulanık Çıkarım Algoritması'nın tanıtımı ve bu algoritmada anlatılanların, uzman sistemin geliştirme sürecinde nasıl yorumlanarak hayata geçirildiği sekizinci bölümde detaylı olarak açıklanmıştır. Yüksek lisans tez çalışmasının sonundaki eklerde, uzman sistemin, bazı hastalıklarının teşhisini nasıl yaptığının örnekleri yeralmaktadır. Bu örneklerde kullanılan kural tabam, istanbul Üniversitesi Diş Hekimliği Fakültesi 5. sınıf öğrencisi Sn.Onur Çağlar'ın yardımlanyla hazırlanmıştır.
Expert systems are computer programs that consists of a knowledgebase, an inference engine and a user interface and performs operations that are carried out by human experts in our daily life. Knowledge, usually expressed in natural language, contains uncertainty. This uncertainty may result from many reasons (ambiguity, complexity, randomness, ignorance etc) and human experts must deal with this uncertainty in decision making process. So, it is essential that, experts system that has the same task, must be capable of managing uncertainty. Main purpose of this thesis is to develop a general purpose expert system that can use uncertain knowledge. In development process, a weighted fuzzy reasoning algorithm for rulebased systems based on fuzzy logics (A Fuzzy Reasoning Approach for Rule-Based Systems Based On Fuzzy Logics proposed by Shyi Ming Chen) was used. In this algorithm, truth values of conditions appearing in the antecedent portions of rules, certainty factors of rules and weights of conditions appearing in the antecedent portions of rules are represented by trapezoidal fuzzy numbers. A fuzzy number is a fuzzy set that is normal and convex. Trapezoidal fuzzy numbers are fuzzy numbers and are in the form of a trapezoid. In the algorithm, each trapezoidal fuzzy number is represented by a 4-tuple. Linguistic variables that are used to express uncertainty in truth values, weights and certainty factors and their corresponding 4- tuples are as follows: unknown (0,0,0,0) absolutely-false (0,0,0,0) very-low (0,0,0.02,0.07) low (0.04,0.1,0.18,0.23) medium-low (0.17,0.22,0.36,0.42) medium (0.32,0.41,0.58,0.65) medium-high (0.58,0.63,0.80,0.86) high (0.72,0.78,0.92,0.97) very-high (0.975,0.98,1,1) absolutely-high (1,1,1,1) General structure of a rule in the rulebase is as follows: Rj: IF Cj THEN Ck (CF=fkj) (1.1) xii In (1.1), Cj is the condition whose truth value is in hand, Ck is the statement whose truth value to be calculated and fy is the certainty factor of the rule. If tj is the truth value of Cj then truth valule Ck : tk is calculated by (1.2); tkf= tj x fkj (1.2) Rulebase of the expert system may contain rules that have complex conditions in their antecedent portions. To calculate truth values of these complex conditions (1.3), (1.4) are used. a) IF Cji AND Cj2 AND... AND Cjn THEN Ck (CF= fkj) : Truth values of conditions Cji, Cj2,.--, Cjn are tji, tj2,..., tjn and weights Cji, Cj2,..., Cjn are Wji, Wj2,..., Wjn respectively. Truth value of Cj where Cj=Cji AND Cj2 AND... AND Qn is tj = (tji X Wji+ tj2X Wj2+... + tjnX Wjn) / (Wji+ Wj2+...+ Wjn) (1.3) b) IF Cji OR Cj2 OR...OR Cjn THEN Ck (CF=fkj) : Truth values of conditions Cji, Cj2,..., Cjn are tji, tj2,..., tjn and weights Cji, Cj2,.-., Cjn are Wji, Wj2,..., Wjn respectively. Truth value of Cj where Cj=Cji OR Cj2 OR... OR Cjn is tj =[(tjiX Wji)/(Wji+ Wj2+...+ Wj")]v [(tj2X Wj2)/(Wji+ Wj2+...+ Wj")]v [(tjnX Wjn)/(Wji+ Wj2+...+ Wjn)] (1.4) On the other hand, there are more than one rule in the rulebase. So (1.2) must be repeated for each of these rules. For this operation two matrices, called rule matrix (F) and truth value matrix (T), are used. T is the matrix that holds the truth values of statements. If there are m simple staments and k complex statements in the rulebase then; for j =0, 1,..., m+k T(j) is defined by (1.5a) and represented by (1.5b). TGH (1.5a) tl Ü T = (1.5b) tm + k Xlll If truth value of statement Cj is not known in the beginning of inference then T(j)- 'unknown". If Cj is a complex statement then T(j) is calclulated by (1.3) or (1.4). F is the matrix that holds certainty factors of the rules. If there are m + k statemens in the rulebase then; k=0, 1,..., m+k F(k,k)- 'absolutely-true' -(1,1,1,1) for reflexivity. If there is no relation between statements Cj and Ck via a rule then k,j=0, 1,..., m+k F(k,k)="unknown"=(0,0,0,0). If there is a relation between statements Cj and Qvia a rule then k=0, 1,..., m+k F(k,j)=f,g- by (1.6a). Formally: F(k,j)=fkj (1.6a) F = fn fii fl2 fl(m+k) f2(m+k) (1.6b) f(m+k)l f(m+k)2... f(m+kXm+k) Temporary truth values of statemets (T*) is calculated by T*= F ® T given in (1.7) T*=F®T= (£lXtl)v(fi2XÜ) V...V(fi(m+k)Xtm+k) (f2lXtl)v(£2Xt2) V...V(£(m+k)Xtm + k) (1.7) (f(m+ k)lXtl) V(f(m+ k)2Xfc) V...v(f(m+ k)(m+ k)Xtm+ k) IjF T* = T then it's concluded that inference is over and truth values of statements are in T. If it's not, these temporary truth values are taken in hand by T = T* and truth vales of complex statements are calculated again. (1.7) is repeated in cycles until T* = T. In the first part, concepts that are among main ideas of this thesis, information and uncertainty are defined. In the second part, methods of knowledge representation are explained. In the third part, experts systems are introduced. In the forth part, inference methods are presented. In the fifth part, fuzzy sets are defined. In the sixth part, crisp and fuzzy relations are explained. In the seventh part, fuzzy logic concepts are presented. xiv In the eightht part, Weighted Fuzzy Reasoning Algorithm and expert system development process are explained. In the nineth part, usage of expert system is shown. In the tenth part, results and comments are given. Appendix A and B contains two examples of expert system's inference process.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1999
Anahtar kelimeler
Bulanık sistemler, Sistem analizi, Uzman sistemler, Yapay zeka, Fuzzy systems, System analysis, Expert systems, Artificial intelligence
Alıntı