Bulanık Mantık ve Mühendislik Uygulamaları

advertisement
Bölüm 3.
Klasik Mantık ve Bulanık Mantık
Serhat YILMAZ [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 (pq = 1). Ancak
hipotezin yanlış olması her zaman doğru sonuç vermesini gerektirmez
(p  q =0).
Serhat YILMAZ [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
14
Kesişim, Birleşim ve Tümleme İşlemleri(2)
VE
  A B  x    AB  x   min imum(  A  x  ,  B  x )
VEYA   A B  x    AB  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.
 AB  x    AB  x   minimum(  A  x  ,  B  x )
Serhat YILMAZ [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
35
Download