Bölüm 3. Klasik Mantık ve Bulanık Mantık Serhat YILMAZ serhaty@kocaeli.edu.tr 1 Klasik Mantık ve Bulanık Mantık Bulanık kümeler, bulanık mantığa bulanıklık kazandırır. Bulanık kümelerde yürütme işini işleçler (operatörler) yapar. İnsanlar karar verirken, gözlemlediği durumlardan sonuç çıkarırken belirli bir düşünce sistematiği içinde mantık yürütürler. Bulanık mantıkta... Özne Bulanık Küme Yüklem Bulanık İşleçler Bulanık işleçler, VE, VEYA, DEĞİL, İSE dir. Bulanık kümeleri birleştirmek için kullanılan işleçlere birleştirme işleçleri (aggregation operators) adı verilir. Gerçek durumlar veya sistemleri modellemek için birleşme ve dağılma özellikleri gibi belirli matematiksel aksiyomları sağlayan, pratikte uygulanabilir işleçler kullanılmalıdır. Serhat YILMAZ serhaty@kocaeli.edu.tr 2 Klasik Mantık, Modern Mantık ve Bulanık Mantık Kavramları(1) Düşünce, bilincimizin belleğimizde bulunan deneyimler, görüntüler, sesler veya kelimeler ile algılarımızı birleştirerek ortaya çıkardığı, zihinsel bir süreçtir. Mantık, düşünceyi de konu alan, doğru ve sistemli düşünmek demektir; aynı zamanda doğru ve sistemli düşünmenin yollarını arayan, kurallarını koyan bilim alanıdır. Mantık bilimi, bir yargı taşıyan düşünceleri ele alır. Dolayısıyla, bu tür düşüncelerin dildeki ifadesi olan yargı cümleleri mantığın konusu içindedir. Serhat YILMAZ serhaty@kocaeli.edu.tr 3 Klasik Mantık, Modern Mantık ve Bulanık Mantık Kavramları(2) Gerçeğe varmak amacıyla aklın uyması gereken genel düşünce yasalarını ve işlemlerini araştıran Aristoteles (İ.Ö. 384-322), tümdengelimi esas alarak, bugün klasik mantık dediğimiz mantık türünün temellerini atmıştır. Aristoteles Alman matematikçi Friedrich L.G. Frege (1848-1925) değişkenleri simgelerle göstererek mantık biliminin gelişimine katkıda bulunmuştur. De Morgan (1806-1871), G. Boole (1815-1864), B. Russel (1872- Friedrich Frege 1970) ile geliştirilen ve simgesel akıl yürütme denilen yöntemle matematikselleşen mantık, Modern Mantık (ya da sembolik mantık, matematiksel mantık) adını almıştır. De Morgan Serhat YILMAZ serhaty@kocaeli.edu.tr G. Boole 4 Klasik Mantık, Modern Mantık ve Bulanık Mantık Kavramları(3) Matematikte önerme, kesin bir hüküm bildiren ifadelere denir. Mantığın konusu önermelerdir. Yeni tanımımıza göre akıl yürütmeyi de "öncül önermelerden yargı çıkarma (hipotezden hüküm çıkarma)" olarak ifade edebiliriz. Mantık, kelimeleri düzenleyerek anlamlı, matematiksel karşılıkları açık ve net olan cümleler kurmamıza yardımcı olur. Bulanık mantık insanın kesin olmayan bilgilerle karar verebilme, yaklaşık sonuç çıkarabilme yeteneğini formülleştirmek için kullanılan matematiksel bir yöntem olarak kabul edilebilir. Bulanık mantıkta bütün doğrular, tam olabildiği gibi kısmen yani yaklaşık olarak da doğru olabilir. Serhat YILMAZ serhaty@kocaeli.edu.tr 5 Önerme ve Mantık(1) Cümleler emir, istek, ünlem, soru, yargı cümleleri diye sınıflandırılır. Mantık, yargı cümlelerini ele alır. Birkaç yargı cümlesi : Kar beyazdır. İki kere iki dörttür. Kediler uçar. Önerme : Bir yargı taşıyan ve bu yargının doğruluğu ya da yanlışlığı kesin olarak belirlenebilen cümlelerdir. Tek yargı Yalın önerme Birçok yargı Bileşik önerme Bileşik önermeler, yalın önermelerin VE, VEYA, İSE gibi işleçlerle birleştirilmesi sonucu oluşur. Yalın önermeler p, q, r, ... ve ........ veya ........ değil ........ ise ........ gerektirme ... ~ Serhat YILMAZ serhaty@kocaeli.edu.tr 6 Önerme ve Mantık (2) p: Bugün hava soğuktur. q: Bugün hava yağışlıdır. yalın önermelerinden "ve" bağlacıyla oluşturulan bileşik önerme p q : Bugün hava soğuk ve yağışlıdır. p q : Bugün havanın soğuk olması yağışlı olmasını gerektirir. Bir önermenin doğruluğu ya da yanlışlığına o önermenin doğruluk değeri adı verilir. Doğru önerme 1 Yanlış önerme 0 olarak gösterilir. Yalın önermenin doğruluk değeri kolayca belirlenebilirken, bileşik önermenin doğruluk değeri yalın önermelerden ve bulanık işleçlerden yararlanılarak bulunur. Serhat YILMAZ serhaty@kocaeli.edu.tr 7 Boole Cebrinde Mantık İşleçleri İki seviyeli mantıkta, bir ifadenin varlığı ya da doğruluğu 1 (bütünüyle doğru), yokluğu ya da yanlışlığı 0 (tamamen yanlış) ile temsil edilir. İşleçlere ait tablolar aşağıda verilmiştir. Serhat YILMAZ serhaty@kocaeli.edu.tr 8 İşleçlere ait yargı cümleleri (1) “ise” yani koşullu önermesi ~p q mantıksal işlemiyle aynı sonucu verdiği görülür. “Gerektirme” önermesi de VE ile aynıdır ve bu iki önerme şunları anlatır; 1) Bir hipotez yanlış (p = 0) ise yanlış bir sonuç (q = 0) verebilir. Bu koşullu önermenin anlattığı şey yanlış değildir, gerçekten doğrudur (p q = 1). Ancak bir hipotezin yanlış olması mutlaka yanlış sonuç vermesini de gerektirmez, doğru sonuç ta verebilir. Bu gerektirme önermesinin anlattığı şey ise doğru değildir (p q = 0). 2) Yanlış bir hipotez (p = 0) kazara doğru bir sonuç da (q = 1) verebilir. Bu nedenle koşullu önermemizi yanlış sayamayız, önermemiz doğrudur (pq = 1). Ancak hipotezin yanlış olması her zaman doğru sonuç vermesini gerektirmez (p q =0). Serhat YILMAZ serhaty@kocaeli.edu.tr 9 İşleçlere ait yargı cümleleri (2) 3. Üçüncü satırda “hipotezimiz doğruysa (p = 1) sonucumuz yanlıştır (q = 0)” koşullu önermesi sorgulanmaktadır. Hipotezimiz gerçekten doğru bir hipotez (p = 1) ise yanlış sonuç (q = 0) veremez! Bu şekilde nedenle koşullu önermemiz yanlıştır (p q = 0). Benzer hipotezin doğru olması sonucun yanlış olmasını gerektirmez, ki bu zaten mümkün değildir (p q = 0). 3. Doğru bir hipotez (p = 1) doğru sonuç ( q = 1) verir. Bu nedenle koşullu önermemiz doğrudur (p q = 1). Aynı şekilde hipotezin doğru olması sonucun doğru olmasını gerektirir (p q = 1). Serhat YILMAZ serhaty@kocaeli.edu.tr 10 Önerme ve Mantık (3) Bulanık kümeler belirsiz kavramları bilgisayarda tanımlamak için kullandığımız matematiksel modellerdir. Bilgisayarda karar verme işlemi bu kümeler arasında yapılan işlemlerle sağlanacaktır. Küme işlemleriyle boole cebrindeki mantık işlemleri arasında bir benzerlik vardır. Mantıkta doğru veya yanlışlığı 1 ve 0’larla simgeleriz. Kümelerde ait olmak ya da ait olmamayı da üyelik fonksiyonları aracılığıyla aynı sayısal değerlerle simgeleriz. Serhat YILMAZ serhaty@kocaeli.edu.tr 11 Önerme ve Mantık (4) İnsanlar karar vermelerinde etkili olacak bir büyüklüğü gözlemlerken onu tek bir sayısal değer olarak ayırt edemez. Onu bir bölge ile birlikte, bir çok elemandan oluşan bir küme, bir giriş yelpazesini şeklinde algılar ve ancak bu bölgeye üye olup olmadığına bakarak yaklaşık olarak akıl yürütürler. Göz bir insanın boyunu 1.724596 m olarak ölçemez uzun, orta boylu, kısa gibi bölgeler olarak algılar. Serhat YILMAZ serhaty@kocaeli.edu.tr 12 Önerme ve Mantık (5) Mantık işlemlerini kümelerle yapmak istersek aşağıdaki şekilleri elde ederiz. Buradaki mantık işlemleri kümelerdeki birleşim, kesişim ve tümleme işlemlerine benzemektedir. p: x A q: x B şeklinde olsun... Bileşke önermeler aşağıda verilen taralı bölgeler şeklinde temsil edilebilirler. İki değerli mantığın kümelerle gösterimi Serhat YILMAZ serhaty@kocaeli.edu.tr 13 Kesişim, Birleşim ve Tümleme İşlemleri(1) Kesişim işlemi; X evrensel kümesindeki x elemanlarının aldığı üyelik değerlerinden her ikisinin de aynı anda buluştuğu ortak değer olan minimum değeri ile belirtilir. Birleşim işlemi; x elemanlarının aldığı üyelik değerlerinden ikisinin de işleme katıldığı değer olan maksimum değeri ile belirtilir. Tümleme işlemi de x elemanlarının aldığı üyelik değerlerinden geriye kalan yani üyelik derecesini 1’e tamamlayan değer ile belirtilir. Bu 3 fonksiyon sırasıyla VE, VEYA, DEĞİL işlemleriyle aynı sonuçları verir. Aynı zamanda bu fonksiyonlar 1 ve 0 hariç ara değerler için de hesap yapabilirler. Serhat YILMAZ serhaty@kocaeli.edu.tr 14 Kesişim, Birleşim ve Tümleme İşlemleri(2) VE A B x AB x min imum( A x , B x ) VEYA A B x AB x maksimum( A x , B x ) DEĞİL ~ A x X A x 1 A x GEREKTİRME önermesinin doğruluk derecesi de hipotez ile sonucun örtüştüğü değer olan minimum değer ile matematiksel olarak temsil edilebilir. AB x AB x minimum( A x , B x ) Serhat YILMAZ serhaty@kocaeli.edu.tr 15 Kesişim, Birleşim ve Tümleme İşlemleri(3) Mantık operatörleri ve matematiksel fonksiyonlar Doğruluk tablolarını matematiksel fonksiyonlarla gerçekleme ihtiyacı bulanık mantığa geçişte ortaya çıkar. Bulanık küme kuramının ortaya atılmasındaki amaç kesin olmayan değerler için, başka bir deyişle 0-1 aralığında kısmi doğruluğa sahip ara değerler için, de hesap yapabilen modeller oluşturmaktır. Serhat YILMAZ serhaty@kocaeli.edu.tr 16 Bulanık Mantık İşleçleri(1) Bulanık mantıkta, VE işlemi kümelerdeki kesişimin karşılığı olan minimum fonksiyonuyla; A B x A x B x A B min A x , B x ~ ~ ~ ~ ~ ~ ~ ~ VEYA işlemi, kümelerdeki birleşimin karşılığı olan maximum fonksiyonuyla; A B x A x B x A B max A x , B x ~ ~ ~ ~ ~ ~ ~ ~ DEĞİL işlemi, kümelerdeki tümleme işlemi ile; A ~ x X A x 1 A x ~ ~ GEREKTİRME işlemi de kümelerdeki kesişimin matematiksel karşılığı olan min fonksiyonuyla belirtilir... A B x min( A ( x), B ( x)) ~ ~ ~ ~ Serhat YILMAZ serhaty@kocaeli.edu.tr 17 Bulanık Mantık İşleçleri(2) Bu fonksiyonlar [0-1] aralığındaki ara değerler için de mantık işlemi yapabilmektedir. Bu nedenle bulanık mantık işleci olarak tercih edilirler. p:xεA q:xεB önermeleri için... Çoklu değerli mantık işlemlerinin bulanık kümelerle gösterimi Serhat YILMAZ serhaty@kocaeli.edu.tr 18 VE İşleminin MATLAB’da Gerçeklenmesi(1) Bu uygulamada “min” fonksiyonu kullanılarak VE işlemi gerçekleştirlecektir. Örnek program üçgen üyelik fonksiyonlarına VE işlemi uygular. Serhat YILMAZ serhaty@kocaeli.edu.tr 19 VE İşleminin MATLAB’da Gerçeklenmesi(2) Program, üçgenleri kesikli çizgiyle, kesişim kümesini temsil eden VE üyelik fonksiyonunu düz çizgiyle çizer. Min fonksiyonu kullanarak iki üçgen üyelik fonksiyonunda mantıksal VE işlemi Serhat YILMAZ serhaty@kocaeli.edu.tr 20 VEYA İşleminin MATLAB’da Gerçeklenmesi(1) Bu uygulamada “max” fonksiyonu kullanılarak VEYA işlemi gerçekleştirlecektir. Örnek program VEYA mantık işlemini, Z tipi bir sigmoid eğrisiyle bir üçgen üyelik fonksiyonunun birleşimini kullanarak gerçekleştirir. Serhat YILMAZ serhaty@kocaeli.edu.tr 21 VEYA İşleminin MATLAB’da Gerçeklenmesi(2) Program, üyelik fonksiyonlarını kesikli çizgiyle, birleşim kümesini temsil eden zarfı, yani VEYA üyelik fonksiyonunu, düz çizgiyle çizer. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 Max fonksiyonu ile Z ve üçgen üyelik fonksiyonunda mantıksal VEYA işlemi Serhat YILMAZ serhaty@kocaeli.edu.tr 22 GEREKTİRME İşleminin MATLAB’da Gerçeklenmesi Örnek program GEREKTİRME mantık işlemini, A ve B gibi iki üçgen üyelik fonksiyonu kullanarak gerçekleştirir. Serhat YILMAZ serhaty@kocaeli.edu.tr 23 GEREKTİRME İşleminin MATLAB’da Gerçeklenmesi Program, xi elemanının A kümesine üyelik derecesini hesaplarken, bu noktadan A kümesine dikme çıkar. A kümesinde xi=4 elemanı için üyelik derecesi 0.5 bulunur. Üyelik kestiği nokta olan üyelik derecesi, bir başka çizgi A (fonksiyonunu xi ) aracılığıyla sonuç~ üyelik fonksiyonunu kırpmak üzere karşıya taşınır. Serhat YILMAZ serhaty@kocaeli.edu.tr 24 Alternatif Bulanık Mantık İşleçleri : T ve S tipi Bulanık küme kuramının pratikte de kullanışlı olabilmesi için bulanık VEYA, bulanık VE ve bulanık (kısmi) GEREKTİRME gibi operatörler biraz değiştirilerek kullanılabilirler. VE işlemi VE metodu Üçgen tipi (Triangular Norm, T-tipi) VEYA işlemi VEYA metodu S-tipi (Corresponding Triangular Norm) T-tipi ve S-tipi sırasıyla VE ve VEYA işlemlerine alternatif işleçler kazandırır. T-tipi min işleci, çarpım işlemi S-tipi max işleci, cebirsel toplama – veya olasılığı Serhat YILMAZ serhaty@kocaeli.edu.tr 25 Çarpım, Cebirsel Toplama – VEYA olasılığı VE doğruluk tablosuyla aynı sonuçları elde edebilecek bir başka matematiksel fonksiyon, çarpım (product) işlemidir. Çarpım işlemi kümelerde, iki kümenin üyelik değerlerinin çarpımını alarak yeni bir kümenin üyelik derecesini hesaplar. A B ~ x A x B x ~ ~ ~ VEYA doğruluk tablosuyla aynı sonuçları elde edebilecek bir başka matematiksel fonksiyon, cebirsel toplama (product) işlemidir. Cebirsel toplama işlemi, VEYA olasılığı (Probabilistic OR, probor) fonksiyonuyla tanımlanmaktadır. A B x A x B x A x B x ~ ~ ~ ~ ~ ~ Serhat YILMAZ serhaty@kocaeli.edu.tr 26 Çarpım, Cebirsel Toplama – VEYA olasılığı Mantıksal GEREKTİRME bağlacını temsil etmek için minimum işlemi yerine doğruluk tablosunu sağlayacak çarpım (product) işlemi kullanılabilir. Çarpım işlemi kümelerde, iki kümenin üyelik değerlerinin çarpımını alarak yeni bir kümenin üyelik derecesini hesaplar. A B x ~ ~ A ~ xi B x ~ Yeni operatörlerle doğruluk tablosunu yeniden düzenlersek, çarpım ve cebirsel toplama fonksiyonlarının da öncekiler gibi klasik boole cebrini ifade etmek için yeterli olduğu görülür. Serhat YILMAZ serhaty@kocaeli.edu.tr 27 Çarpım, Cebirsel Toplama İşlemlerinin Bulanık Kümleler Üzerindeki Gösterimi Bu işlemleri bulanık mantık için genişleterek, fonksiyonların [0-1] aralığındaki ara değerler için yaptığı mantık işlemlerini bulanık kümeler üzerinde gösterelim. Çoklu değerli mantık işlemlerinin bulanık kümelerle gösterimi a) çarpım b) cebirsel toplama c) çıkarma d) skaler değerle küme vektörünün çarpımı işlemleri Serhat YILMAZ serhaty@kocaeli.edu.tr 28 Çarpma işlemi kullanarak VE mantık işleminin MATLAB’da hesaplanması x ve y gibi iki sayıyı çarpmak için x * y işlemi, A ve B gibi iki vektörün aynı sıradaki elemanlarını çarpmak için A .* B işlemi yeterlidir. Serhat YILMAZ serhaty@kocaeli.edu.tr 29 Çarpma işlemi kullanarak VE mantık işleminin MATLAB’da hesaplanması Çarpma işlemi kullanılarak iki üçgen üyelik fonksiyonunda mantıksal VE işlemi Serhat YILMAZ serhaty@kocaeli.edu.tr 30 Çarpma işlemi kullanarak VE mantık işleminin MATLAB’da hesaplanması Fonksiyon daha önce belirttiğimiz A B x A x B x A x B x ~ ~ ~ ~ ~ ~ işlemini yapar. İki vektörün aynı sıradaki elemanlarını çarpmak yine noktasal çarpım “.*” kullanılır. Serhat YILMAZ serhaty@kocaeli.edu.tr 31 Çarpma işlemi kullanarak VE mantık işleminin MATLAB’da hesaplanması Cebirsel toplama işlemi kullanılarak Z tipi ve üçgen üyelik fonksiyonlarıyla yapılan bir mantıksal VEYA işlemi Serhat YILMAZ serhaty@kocaeli.edu.tr 32 Çarpma işlemi kullanarak GEREKTİRME mantık işleminin MATLAB’da hesaplanması Örnek program GEREKTİRME mantık işlemini, A ve B gibi iki üçgen üyelik fonksiyonu kullanarak gerçekleştirir. Burada A xi katsayisi, çıkıştaki B x üçgen üyelik fonksiyonuyla çarpılarak bu üçgenin boyutunu yeniden ölçeklendirir. Serhat YILMAZ serhaty@kocaeli.edu.tr 33 Çarpma işlemi kullanarak GEREKTİRME mantık işleminin MATLAB’da hesaplanması Program, min fonksiyonunda olduğu gibi xi elemanının A kümesine üyelik derecesini hesaplarken, bu noktadan A kümesine dikme çıkar. A kümesinde xi=4 elemanı için üyelik derecesi yine A ( xi ) 0.5 bulunur. Üyelik ~ derecesi, bir başka çizgi aracılığıyla sonuç üyelik fonksiyonunu ölçeklendirmek üzere karşıya taşınır. Serhat YILMAZ serhaty@kocaeli.edu.tr 34 Kaynaklar Orhan ÖZER,1998,Soyut Matematik,T.C. Anadolu Üniversitesi Yayınları No:1062,Açıköğretim Fakültesi Yayınları No:584 ISBN 975492-820-7. Fuzzy Logic with Engineering Applications,Ross T.J.,Mc. Graw Hill,1995,New York. Fuzzy Logic Toolbox For Use with Matlab,Users Guide,Mathworks Inc.,1998. Nguyen,H.T.,Prasad,N.R.,Walker,C.L.,Walker,E.A.,(2003).A First Course in Fuzzy and Neural Control,Cahpman&Hall/CRC,New York. Kosko,B.,1992,Neural Networks and Fuzzy Systems,A Dynamical Systems Approach to Machine Intelligence,Prentice Hall International Editions. Serhat YILMAZ serhaty@kocaeli.edu.tr 35