www.aliosmangokcan.com

Matlab araçlarından olan Fuzzy Logic Toolbox ™, bulanık mantığa dayalı sistemleri analiz etmek, tasarlamak ve simüle etmek için MATLAB işlevleri, uygulamalar ve bir Simulink bloğu sağlar. Bu araç, bulanık çıkarım sistemleri tasarlama adımlarında size yol gösterir.

Bulanık kümeleme ve uyarlanabilir sinirsel bulnaık öğrenme gibi birçok yaygın yöntem için işlevler sağlanır. Matlab Fuzzy Logic Araç kutusu, basit mantık kurallarını kullanarak karmaşık sistem davranışlarını modellemenizi ve ardından bu kuralları bulanık bir çıkarım sistemine uygulamanızı sağlar. Bağımsız bir bulanık çıkarım motoru olarak kullanabilirsiniz. Alternatif olarak, Simulink'teki bulanık çıkarım bloklarını kullanabilir ve tüm dinamik sistemin kapsamlı bir modelinde bulanık sistemleri simüle edebilirsiniz[1].

Bu çalışmada Matlab Fuzzy Logic Toolbox kullanılarak lüks bir restoranda yemek sonrası verilecek bahşiş miktarının belirlenmesine yönelik bir bulnaık mantık örneği yapılmıştır.

    

1.GİRİŞ VE ÇIKIŞ ÜYELİK KÜMELERİNİN OLUŞTURULMASI

Bahşiş miktarını belirleyecek iki ana etmen olduğunu varsayalım. Bunlar yemeğin kalitesi ve restoran servis kalitesidir. Sonuç olarak problemimizde 2 adet giriş ve 1 adet çıkış bulunmaktadır. Bunlar:

  1. Yemek Kalitesi: Yemek kalitesi Kötü, Normal, Güzel, Mükemmel olarak 4 dereceye ayrılmış ve bunlar sırasıyla K, N, G, M olarak kısaltılmıştır.
  2. Servis Kalitesi: İlk girişimizde olduğu gibi Kötü, Normal, Güzel, Mükemmel olarak 4 dereceye ayrılmış ve bunlar sırasıyla K, N, G, M olarak kısaltılmıştır.
  3. Bahşiş miktarı: Restorana bırakılacak bahşiş problemimizin çıkışı durumundadır. Çıkışımız Hiç, Az, Orta, Yüksek, Çok Yüksek olarak 5 dereceye ayırmış ve bunlar H, A, O, Y, ÇY şeklinde kısaltılmıştır.

2 adet girişimize ait 4’er adet özellik olduğu için 4x4 şeklinde bir kural tablosu oluşturulmuştur. Tablo oluşturulurken belirlenen kurallar için örnek vermek gerekirse:

  1. Yemek kalitesi kötü (K), servis kalitesi de kötü(K) ise hiç (H) bahşiş bırakılmayacak
  2. Yemek kalitesi normal(K), servis kalitesi normal(N) veya güzel(G) ise orta (O) derece bahşiş bırakılacak
  3. Yemek kalitesi mükemmel (M), servis kalitesi güzel (G) veya mükemmel (M) ise çok yüksek (ÇY) derecede bahşiş bırakılacaktır.

Yemek Kalitesi

Servis Kalitesi

K

N

G

M

K

H

A

O

O

N

A

O

O

Y

G

A

O

Y

ÇY

M

O

Y

ÇY

ÇY

Tablo 1: Kural Tablosu

2. FUZZY LOGIC EDİTÖR ÜZERİNDE GİRİŞ, ÇIKIŞ ÜYELİK FONKSİYONLARININ OLUŞTURULMASI

Matlab komut satırına “fuzzy” komutunu girip uygulamayı çalıştırdıktan sonra 1.bölümde anlatılan üyelik fonksiyonlarının oluşturulması ve bunların sınırlarının belirlenmesi gerekmektedir.

 

Şekil 1: Bulanık Mantık Tasarım Editörü

 

Şekil 1’de oluşturulan bulanık mantık yapısı ve özellikleri görülmektedir. Edit menüsü altındaki Add Variable Input seçeneğiyle girişler, Add Variable Output seçeneğiyle çıkış eklenmiştir. Girişlerin üzerine çift tıkladığımızda ise bizi Şekil 2’deki ekran karşılar. Bu kısımda üyelik fonksiyonlarına ait özellikler isimlendirilip, giriş yapılacak değer aralığı (range) belirlenmiştir. Çalışmada değer aralığı 0-100 arası olarak belirtilerek yemek ve servis için yapılacak girişlerin bu aralıkta olması sağlanır. Çıkış değer aralığı ise 0-500TL aralığında tanımlanmıştır. Parametreler (params) kısmında üyelik fonksiyonunun sınırları belirlenmiştir.

 

Şekil 2: Üyelik Fonksiyon Editörü

Tüm giriş ve çıkışlar belirlendikten sonra Tablo 1’de oluşturulan kurallar tanımlanmıştır. Tanımlanan 16 adet kural Şekil 3’de görülmektedir.

 

Şekil 3: Kural Editörü

    

3. SONUÇLAR:

Bulanık mantık tasarım editöründe (Şekil 1) View menüsü altındaki Rules seçeneği seçildiğinde karşımıza Şekil 4’de yer alan sonuç ekranı çıkmaktadır. Sonuçlar Ctrl+5 kısayolu ile de görülebilir. Bu ekrandaki verilere göre yemek için 50 (orta derece), servis için 50 değeri girildiğinde 291TL bahşiş verileceği anlamına gelir.

 

Şekil 4: Input [50 50] iken Sonuçlar

Kesikli çizgilerle işaretlenmiş olan 17.ölçek ise Şekil 1’de durulaştırma fonksiyonu için seçilen “centroid” fonksiyonu kullanılarak elde edilmiş sonuç grafiğidir.  Centroid fonksiyonu eğrinin altındaki alanın merkezini döndürür. Alanı eşit yoğunlukta bir plaka olarak düşünüldüğünde, centroid x ekseni boyunca bu şeklin dengeleneceği nokta yani ağırlık merkezidir.

Durulaştırma fonksiyonu değiştirilerek farklı sonuçlar elde edilip, karşılaştırması yapılabilir.

 

Şekil 5: Sonuçlar (Input [100 75])

Şekil 6: Sonuçlar (Input [10 50])

Oluşturulan bulanık mantığa göre lüks restoranda yemek çok güzel, servis ise çok güzel-güzel arası bir değerde ise verilecek bahşiş 446 TL (Şekil 5). Ya da yemek kötü servis ise orta derece bir değerde ise verilecek bahşiş 167TLdir (Şekil6).

KAYNAKLAR:

[1] Mathworks.com

 

 --->>>Matlab Optimtool Toolbox ile Genetik Algoritma Örneği için TIKLAYINIZ <<<---

 --->>>Matlab Nntool Toolbox ile Regresyon Örneği için TIKLAYINIZ <<<---

 --->>>C++ ile Geri Yayılım Algoritması Örneği için TIKLAYINIZ <<<---

 --->>>C++ ile Makine Öğrenmesi KNN algoritması Örneği için TIKLAYINIZ <<<---

'matlab fuzzy logic', 'matlab fuzzy toolbox', 'matlab fuzzy logic toolbox', 'matlab fuzzy örnek', 'matlab fuzzy logic toolbox örneği', 'matlab ile bulanık mantık', 'matlab bulanık mantık örnekleri', 'matlab fuzzy logic restoran örneği', ysa, matlab, 'matlab ysa', 'yapay sinir ağları', 'ysa ile tahmin', 'matlab nntool', 'nntool toolbox regression', 'matlab nnttol regresyon örneği', 'matlab ysa uygulamaları', 'nntool ysa uygulaması', 'artificial neural networks', 'matlab nntool ysa uygulaması', 'matlab uygulamaları', 'ysa uygulamaları', 'yapay sinir ağı uygulamaları', 'Ali Osman Gökcan', 'Ali Osman Hoca', 'Ali Osman','ali osman matlab', 'nntool ile regresyon', 'nntool toolbox regression', 'matlab regression example', 'ali osman gökcan matlab',