Bulanık Mantık #3: Bulanık Kurallar ve Çıkarım

Bulanık mantık yazı serimize devam ediyoruz. Bu yazıda basit bir bulanık sistem tasarımından ve buradaki aşamalarda geçen kural ve çıkarım kavramlarından bahsedeceğiz.

Bulanık Sistem

Önceki yazılarda bulanık mantığı oluşturan temel birimlerden söz ettik. Önemli kısımlardan yer yer bahsettiysek de, bulanık mantıkla oluşturulmuş bir sistemin iskeletinden tam olarak bu yazıda bahsedeceğiz.

Şekil 1. Bulanık Sistem
  • Bulanıklaştırıcı: Sisteme yalın haliyle alınmış değerleri, üyelik fonksiyonunu kullanarak, bulanık değerlere (hatırlayın, 0 ile 1 arasındaydı) dönüştüren birimdir. Yani her bir giriş değerinin, bulanık kümeye/kümelere olan üyelik derecesini hesaplar diyebiliriz.
  • Bulanık Çıkarım Birimi: Bu kısım, bilgi tabanıyla ortak çalışarak, kendisine gelen bulanık değerlerden sonuçlar çıkarmaya çalışır. Bu sonuçların neye göre ve nasıl çıkarılacağının bilgisi (ismiyle müsemma) bilgi tabanında tutulmaktadır.
  • Bilgi Tabanı: Bulanık kümeler arasındaki ilişkiler burada tutulur. Gelecek verilere göre hangi çıkarımların yapılacağıyla ilgili kurallar yine buradadır. (Bu kısmı, bulanık sistemin anayasası gibi düşünebiliriz.)
  • Durulaştırıcı: Çıkarım yapılmış veriler buraya kadar bulanık değer aralığında gelmektedir. Oysa bizim ihtiyacımız olan çıkış verilerin bambaşka bir aralıkta olması gerekebilir. Durulaştırıcı; gelen bulanık değerleri, istediğimiz bir aralığa göre ölçeklendirmeyi sağlar.

Çıkarım

Üyelik fonksiyonları konusunda çıkarım yöntemine kısaca değinmiştik. Bu yöntemi üyelik fonksiyonlarının belirlenmesinde kullanılan bir yöntem olarak gördük fakat; aslında bundan çok daha fazlasıdır. Çıkarım yöntemi daha geniş bir açıdan; var olan bilgileri kullanarak, yeni bilgilerin elde edilmesini ifade eder.

Kişi, 14 yaşındaysa ve kadınsa gençtir.

Burada iki farklı değeri (önermeyi) birbirine bağlayan ‘ve’ bağlacına dikkat ediniz. Bu iki önermeyi, aslında iki bulanık kümenin (yaş ve cinsiyet kümeleri) bir temsili olarak düşünelim. Bulanık kümelerin ilişkilerinden bahsettiğimiz yazıda, birleşim ve kesişim durumlarının mantıksal ifadelerle de gösterilebildiğine atıf yapmıştık. Nitekim, buradaki bağlaç da, aslında bu iki bulanık kümenin ilişkisini tanımlamaktadır. Bu şekilde önceden yaptığımız tanımlarla, bulanık sistemin bilgi tabanında tutulacak kurallarını oluşturmuş oluruz. Daha sonra da (birazdan bahsedeceğimiz) çıkarım yöntemlerini kullanarak, oluşturduğumuz kuralların direktifinde yeni bilgiler elde ederiz. Bu bilgiler de sistemden alınan sonuçlara karşılık gelecektir.

Mantıksal Bağlaçlar

Birden fazla önermeyi birbirine bağlamak için kullanılan ifadelere mantıksal bağlaçlar denmektedir. Bu bağlaçları kullanarak, kendilerine özgü doğruluk değerleri olan önermelerden, üçüncü bir değer elde edilebilir. (Şekil 2) Yani, bir çıkarım sağlanabilir.

Şekil 2. Mantıksal bağlaçlar. kaynak
  • Bağlaçlar sırasıyla: ‘ve’, ‘veya’, ‘ise’, ‘ancak ve ancak’ şeklinde ifade edilir.
  • Bağlaçlı önermelerin (bileşik önermelerin) okunması şu şekildedir; her bir önermenin gerçek değerine bakılır ve mantıksal bağlacın, bu değerlere göre hangi sonucu döndürdüğü tablodan bulunur. Örneğin: P önermesinin değeri 1, Q önermesinin ise 0 olsun. Bu durumda P ⇒ Q (P ise Q) bileşik önermesinin değeri 0 olacaktır.

(P Λ (P ⇒ Q)) ⇒ Q

bileşik önermesi, P ve Q değerleri ne olursa olsun, her zaman 1 sonucunu üretir. Yani totolojidir (önermedeki ifadeler ne olursa olsun, önermeden çıkarılan yorumlar doğrudur) Verilen örnek, özel bir bileşik önermeyi ifade etmektedir. Bu ifadeye modus ponens (doğrulama) denir. Burada; P bir olguyu, (P ⇒ Q) bir kuralı, (en sağdaki) Q ise sonucu temsil etmektedir. Örneğin:

  • Q = Ali’nın yeni bir araba alması (sonuç)
  • (P ⇒ Q) = Ali para kazanıyorsa, araba alabilir (kural)

( ~Q Λ (P ⇒ Q)) ⇒ ~P

şeklindedir. Bu bileşik önerme de bir totolojidir ve modus tollens (yanlışlama) olarak bilinir. Benzer şekilde ~Q olgu, (P ⇒ Q) kural ve ~P ise sonuçtur. Aynı örnek üzerinden incelersek (~ işareti, önermenin olumsuzunu belirtmektedir):

  • ~Q = Ali’nin yeni bir araba almaması (sonuç)
  • (P ⇒ Q) = Ali para kazanıyorsa, araba alabilir (kural)

Kural Sunumu

Bir giriş değerine ve bir kurala bağlı olarak yeni bir bilginin nasıl çıkarılacağı konusunu inceledik. Şimdi ise bir kuralın, bulanık sistemleri kurgularken nasıl ifade edilebileceğinden bahsedelim.

  • EĞER (IF) elma kırmızı ise, O HALDE (THEN) olgundur.
  • EĞER (IF) hava kapalı VE/VEYA saat geç ise, O HALDE (THEN) sıcaklık düşüktür.

Bulanık Çıkarım Yöntemleri

Bulanık mantıkla çalışırken yukarıda bahsettiğimiz temel yöntemlerin yanı sıra, kullanabileceğimiz pek çok çıkarım yöntemi bulunmaktadır. Bu yöntemlerden bazıları (bizim de değineceğimiz) doğrudan bulanık mantık üzerinde çalışmak üzere geliştirilmiştir. Her bir yöntem temelde aynı işlevi (belirlenen kurallara göre yeni bilgiler çıkarma görevini) yerine getirse de; verimlilik, karmaşıklık gibi yönlerden bazıları diğerlerine göre tercih sebebi olabilir. Bu tercihler, üzerinde çalışılan problemin parametrelerine bağlıdır.

  1. Sugeno Çıkarımı

1. Mamdani Çıkarımı

En çok kullanılan bulanık çıkarım yöntemidir. Bunun başlıca sebepleri; Mamdani çıkarımının insan algısına daha çok hitap etmesi, tasarımının nispeten kolay olması ve yorumlanabilirliliği daha fazla olmasından dolayıdır.

Mamdani çıkarım yönteminin babası İbrahim Mamdani (1942–2010). kaynak
  • Giriş değerlerinin tetiklediği kurallara göre, üyelik değerleri hesaplanır. Daha sonra hesaplanan değerler, kuralların içerisinde geçen ve/veya mantıksal bağlaçlarına göre max ya da min operatörüne verilirler. Eğer, kural içerisinde geçen olgular birbirine ‘ve’ ile bağlıysa, hesaplanan üyelik değerleri min operatörüne; ‘veya’ ile bağlıysa max operatörüne verilir. Bu operatörler, adlarından da anlaşılabildiği gibi, aldıkları birden çok değer arasından en küçüğü ya da en büyüğü döndürürler.
  • Çıkış değeri: fiyat
  • Kilometre: Düşük [0, 50K km], Orta [0, 100K km], Yüksek [50K, 100K km]
  • Fiyat: Düşük [0, 20K TL], Orta [0, 40K TL], Yüksek [20K, 40K TL]
  • KURAL 2: EĞER model Orta VE kilometre Orta ise, O HALDE fiyat Ortadır.
  • KURAL 3: EĞER model Yüksek VE kilometre Düşük ise, O HALDE fiyat Yüksektir.
  • Kilometre = 25K
  • 𝜇Morta(2011) = model_orta = 0.24
  • 𝜇Myüksek(2011) = model_yüksek = 0.8
  • 𝜇Korta(25000) = kilometre_orta = 0.52
  • 𝜇Kyüksek(25000) = kilometre_yüksek = 0
  • min(0.8, 0.48) = fiyat_yüksek = 0.48
Şekil 3. Araç problemi için uygulanan Mamdani çıkarımı.

2. Sugeno Çıkarımı

Sugeno çıkarımı özellikle kontrol problemlerinde çokça tercih edilen çıkarım yöntemlerinden birisidir.

Şekil 4. Sugeno çıkarım yöntemi

Referans

  • Dr. A. Merve ACILAR, NEÜ, Bilgisayar Müh., Bulanık Mantık dersi notları