Fuzzy Logic ve Matlab Fuzzy Logic Toolbox
İÇERİK
• Fuzzy Logic nedir
• Nasıl çalışır
• Kullanım alanları
• Avantajları
• Bileşenleri: Fuzzification, Rule base, Inference engine, Defuzzification
• Örnek uygulamalar
• Matlab Fuzzy Logic Toolbox ve Simulink uygulamaları, Fuzzy PD kontrol
Bulanık Mantık (Fuzzy Logic)
• İlk defa L.A. Zadeh tarafından 1965 yılında yayınlanmıştır.
• İnsanın hayat tecrübelerinden ve bilgilerinden yararlanarak bir kurallar işleyişini
oluşturup makineye aktarma fikrinin temelini almıştır.
• Karmaşık ve belirsiz durumlar karşısında net sonuçlar almak ve daha mantıklı
cevaplar üretebilmek için kullanılır.
Nasıl Çalışır
• Klasik mantıkta çalışma prensibi olarak 1 ve 0 değerlerinden oluşan bir tablo
karşımıza çıkar. Bir ifade ya doğru ‘1’ ya da yanlış ’0’ dır.
• Bulanık mantıkta bunun aksine doğruluk derecelerine (degree of membership) dayalı
bir hesaplama yaklaşımı vardır. Yani 1 ve 0 değerleri kesin değerler değil, sınırlar
olarak görülür ve arasındaki diğer değerler de üyelik derecesi olarak kullanılır.
Nasıl Çalışır
• Basit bir örnekle açıklamak gerekirse, klasik mantıkta dalında yeşil bir domates 0, olmuş kırmızı
bir domates ise 1’dir. Bunların dışında tamamen kırmızı ya da yeşil olmayan domateslerin klasik
mantıkta bir yaklaşımı olmazken bulanık mantığa göre aradaki renklere de etiketler mümkündür.
Biraz kızarmış domates 0.25, daha çok kızarmışsa 0.35 gibi doğruluk değerlerini zenginleştiren
bir anlatım ortaya çıkar.
• Başka bir örnekle bir klasik fırın düğmeyi çevirip çevirmemeye göre çalışır. Düğme çevrilmezse
fırın çalışmaz (0) fakat çevrilirse fırın çalışır (1). Yani fırın kapanmadıkça yemek pişmeye devam
edecektir. Fakat akıllı fırınlarda durum böyle değildir. Akıllı fırınlarda yemek piştiyse kapan
mantığıyla görev yapar. Bulanık mantık sistemini kullanır.
Kullanım Alanları
• Yazılım alanı
• İlaç sektörü
• Yapay zeka teknolojisi
• Robot teknolojisi
• Beyaz eşya teknolojisi
• Otomotiv sektörü
• Ulaşım sektörü
o Bulanık mantığın uygulama alanları olarak; metrolar, elektrikli araç motorları kontrol
sistemi, elektrikli süpürgeler, kamera sistemleri, televizyon, çamaşır makinesi, trafik
lambaları vb. gibi birçok örnek verilebilir.
Avantajları
• Bulanık mantık klasik mantığın kapsamına giren durumlarda da çalışır.
• Klasik mantıkta çözüm bulunamayan durumlara cevap bulur.
• Yazılımı basittir.
• Belirsiz ve karmaşık durumlara cevap üretir ve insan mantığına yakın sonuçlar verir.
• Denetimin kalitesi arttırılmış olur.
• Yapay zeka teknolojisinin geliştirilmesinde avantaj sağlar.
o Bulanık mantığın sağladığı en büyük yarar insanın tecrübe ile öğrenmesi olayının kolay
modellenebilmesi ve belirsiz kavramların bile matematiksel olarak ifade edilmesine
imkan tanımasıdır denilebilir.
Bileşenleri
• Bulanıklaştırma (fuzzification): Dışarıdan gelen ana girdileri bulanık kümelere dönüştürür.
• Kural tabanı (rule base): Karar vermeyi sağlayan kuralları içerir.
• Çıkarım motoru (inference engine): Sonucu oluşturmak için girdiye kuralların nasıl
uygulanacağını belirler.
• Durulaştırma (defuzzification): Bulanık kümeleri açık sonuca dönüştürür.
Üyelik fonksiyonları
Örnek: Fuzzification
• Bulanık mantık için tipik olarak bir yaş örneğini verebiliriz.
• Klasik kümelerde,
• Bu ifadeye göre 34 yaşındaki kişi %100 oranında “genç” etiketini alırken, 36 yaşındaki kişi
%100 oranında “orta yaşlı” etiketini alır. Artık bu kişinin genç etiketine üyelik derecesi sıfır
olmuştur.
Örnek: Fuzzification
• Bulanık mantık bu gösterimi değiştirerek geçişleri yumuşatır ve ortaya aşağıdaki şekildeki
gibi bir gösterim çıkar:
Örnek: Fuzzification
Şekle göre şu tespitlerde bulunabiliriz:
 15 yaşından küçük kişiler %100 oranında genç kümesinin üyesidir ve genç
etiketini %100 düzeyinde alırlar.
 15 – 35 yaş arasındaki kişiler kısmen genç kümesinin kısmen de orta yaşlı
kümesinin üyesidirler. Yaş 15’e yakınsa genç kümesine üyelik derecesi
yüksek, yaş 35’e yakınsa orta yaşlı kümesine üyelik derecesi yüksektir.
 Yaş 35 ile 55 arasındaki kişiler genç kümesine üye değillerdir, bu kişilerin
genç kümesine üyelik dereceleri sıfırdır. Ancak bu kişiler hem yaşlı hem de
orta yaşlı kümesinin üyeleridir. Yaş 35’e yakınsa orta yaşlı kümesinin
üyelik derecesi yüksek iken yaş 55’e yaklaştıkça yaşlı kümesine üyelik
derecesi artar.
 Yaşı 55’ten büyük olan kişiler yaşlı kümesine %100 oranında dahil olurlar.
Bu kişilerin genç ve orta yaşlı kümelerine üyelik dereceleri sıfırdır.
Örnek: Rule base (kural tabanı)
• Verilen örneğe göre bir giriş değişkeninin farklı kümelere üyelik derecesine (degree of membership) bakarak
sonuçları betimlemek mümkündür. Bunun için ihtiyacımız olan bir diğer araç da kural tabanıdır (rule base).
• Bir kişinin yaşı ve tütün kullanımı ile akciğer kanseri riskini ilişkilendiren bir kural taban örneğini uzun
yıllar hekimlik yapmış bir uzman aşağıdaki gibi tarif edebilir:
1) EĞER kişi yaşlı VE tütün kullanımı çok ise O HALDE akciğer kanseri riski çok yüksektir.
2) EĞER kişi yaşlı VE tütün kullanımı az ise O HALDE akciğer kanseri riski yüksektir.
3) EĞER kişi yaşlı VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski orta düzeydedir.
4) EĞER kişi orta yaşlı VE tütün kullanımı çok ise O HALDE akciğer kanseri riski yüksektir.
5) EĞER kişi orta yaşlı VE tütün kullanımı az ise O HALDE akciğer kanseri riski orta düzeydedir.
6) EĞER kişi orta yaşlı VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski düşüktür.
7) EĞER kişi genç VE tütün kullanımı çok ise O HALDE akciğer kanseri riski orta düzeydedir.
8) EĞER kişi genç VE tütün kullanımı az ise O HALDE akciğer kanseri riski düşüktür.
9) EĞER kişi genç VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski çok düşüktür.
Örnek: Inference engine
Örnek: Defuzzification
• Bulanık sistem çıkışı her bir kuralın öngördüğü değerin ağırlık ortalaması veya ağırlık merkezi (center of
gravity or centroid) bulunarak hesaplanabilir. Literatürde bu sürece durulaştırma (DEFUZZIFICATION)
denir. Farklı DEFUZZIFICATION yöntemleri şu şekilde sıralanabilir:
1. Ağırlıklı ortalama (center of sums)
2. Mean of centroids
3. Mean of maxima
4. Ağırlık merkezi (center of gravity or centroid)
Örnek: Defuzzification
• Bunlardan en yaygın kullanılan yöntem Centroid yöntemi olarak karşımıza çıkmaktadır. Üyelik fonksiyonu
olarak verilen bir sistemin Centroid yöntemiyle durulaştırılmış değeri şu şekilde verilmektedir:
• Konuyu somutlaştırmak için basit bir örnekle açıklayacak olursak; tek girişli bir üyelik fonksiyonu aşağıdaki
gibi verilsin:
𝜇𝐴ሺ
𝑥ሻ=
‫ە‬
ۖ
ۖ
‫۔‬
ۖ
ۖ
‫ۓ‬
0 0 ≤ 𝑥≤ 1
𝑥− 1
2
1 ≤ 𝑥≤ 3
1 3 ≤ 𝑥≤ 5
9− 𝑥
4
5 ≤ 𝑥≤ 9
0 𝑥≥ 9
Örnek: Defuzzification
• Yukarıdaki eşitliği bu üyelik fonksiyonuna uygularsak:
• Durulaştırılmış değer (defuzzified value):
olarak bulunur.
Matlab Fuzzy Logic Toolbox
• Matlab programından Fuzzy Logic Toolbox kullanılarak otonom bir aracın şarj seviyesi ve
trafik yoğunluğuna göre hızının nasıl değişebileceği tasarlanmıştır.
Matlab Fuzzy Logic Toolbox
Matlab Fuzzy Logic Toolbox
Matlab Fuzzy Logic Simulink
Matlab Fuzzy Logic PD Kontrol Simulink
PD Kontrol:

Fuzzy Logic and Matlab Fuzzy Logic Toolbox

  • 1.
    Fuzzy Logic veMatlab Fuzzy Logic Toolbox İÇERİK • Fuzzy Logic nedir • Nasıl çalışır • Kullanım alanları • Avantajları • Bileşenleri: Fuzzification, Rule base, Inference engine, Defuzzification • Örnek uygulamalar • Matlab Fuzzy Logic Toolbox ve Simulink uygulamaları, Fuzzy PD kontrol
  • 2.
    Bulanık Mantık (FuzzyLogic) • İlk defa L.A. Zadeh tarafından 1965 yılında yayınlanmıştır. • İnsanın hayat tecrübelerinden ve bilgilerinden yararlanarak bir kurallar işleyişini oluşturup makineye aktarma fikrinin temelini almıştır. • Karmaşık ve belirsiz durumlar karşısında net sonuçlar almak ve daha mantıklı cevaplar üretebilmek için kullanılır.
  • 3.
    Nasıl Çalışır • Klasikmantıkta çalışma prensibi olarak 1 ve 0 değerlerinden oluşan bir tablo karşımıza çıkar. Bir ifade ya doğru ‘1’ ya da yanlış ’0’ dır. • Bulanık mantıkta bunun aksine doğruluk derecelerine (degree of membership) dayalı bir hesaplama yaklaşımı vardır. Yani 1 ve 0 değerleri kesin değerler değil, sınırlar olarak görülür ve arasındaki diğer değerler de üyelik derecesi olarak kullanılır.
  • 4.
    Nasıl Çalışır • Basitbir örnekle açıklamak gerekirse, klasik mantıkta dalında yeşil bir domates 0, olmuş kırmızı bir domates ise 1’dir. Bunların dışında tamamen kırmızı ya da yeşil olmayan domateslerin klasik mantıkta bir yaklaşımı olmazken bulanık mantığa göre aradaki renklere de etiketler mümkündür. Biraz kızarmış domates 0.25, daha çok kızarmışsa 0.35 gibi doğruluk değerlerini zenginleştiren bir anlatım ortaya çıkar. • Başka bir örnekle bir klasik fırın düğmeyi çevirip çevirmemeye göre çalışır. Düğme çevrilmezse fırın çalışmaz (0) fakat çevrilirse fırın çalışır (1). Yani fırın kapanmadıkça yemek pişmeye devam edecektir. Fakat akıllı fırınlarda durum böyle değildir. Akıllı fırınlarda yemek piştiyse kapan mantığıyla görev yapar. Bulanık mantık sistemini kullanır.
  • 5.
    Kullanım Alanları • Yazılımalanı • İlaç sektörü • Yapay zeka teknolojisi • Robot teknolojisi • Beyaz eşya teknolojisi • Otomotiv sektörü • Ulaşım sektörü o Bulanık mantığın uygulama alanları olarak; metrolar, elektrikli araç motorları kontrol sistemi, elektrikli süpürgeler, kamera sistemleri, televizyon, çamaşır makinesi, trafik lambaları vb. gibi birçok örnek verilebilir.
  • 6.
    Avantajları • Bulanık mantıkklasik mantığın kapsamına giren durumlarda da çalışır. • Klasik mantıkta çözüm bulunamayan durumlara cevap bulur. • Yazılımı basittir. • Belirsiz ve karmaşık durumlara cevap üretir ve insan mantığına yakın sonuçlar verir. • Denetimin kalitesi arttırılmış olur. • Yapay zeka teknolojisinin geliştirilmesinde avantaj sağlar. o Bulanık mantığın sağladığı en büyük yarar insanın tecrübe ile öğrenmesi olayının kolay modellenebilmesi ve belirsiz kavramların bile matematiksel olarak ifade edilmesine imkan tanımasıdır denilebilir.
  • 7.
    Bileşenleri • Bulanıklaştırma (fuzzification):Dışarıdan gelen ana girdileri bulanık kümelere dönüştürür. • Kural tabanı (rule base): Karar vermeyi sağlayan kuralları içerir. • Çıkarım motoru (inference engine): Sonucu oluşturmak için girdiye kuralların nasıl uygulanacağını belirler. • Durulaştırma (defuzzification): Bulanık kümeleri açık sonuca dönüştürür.
  • 8.
  • 9.
    Örnek: Fuzzification • Bulanıkmantık için tipik olarak bir yaş örneğini verebiliriz. • Klasik kümelerde, • Bu ifadeye göre 34 yaşındaki kişi %100 oranında “genç” etiketini alırken, 36 yaşındaki kişi %100 oranında “orta yaşlı” etiketini alır. Artık bu kişinin genç etiketine üyelik derecesi sıfır olmuştur.
  • 10.
    Örnek: Fuzzification • Bulanıkmantık bu gösterimi değiştirerek geçişleri yumuşatır ve ortaya aşağıdaki şekildeki gibi bir gösterim çıkar:
  • 11.
    Örnek: Fuzzification Şekle göreşu tespitlerde bulunabiliriz:  15 yaşından küçük kişiler %100 oranında genç kümesinin üyesidir ve genç etiketini %100 düzeyinde alırlar.  15 – 35 yaş arasındaki kişiler kısmen genç kümesinin kısmen de orta yaşlı kümesinin üyesidirler. Yaş 15’e yakınsa genç kümesine üyelik derecesi yüksek, yaş 35’e yakınsa orta yaşlı kümesine üyelik derecesi yüksektir.  Yaş 35 ile 55 arasındaki kişiler genç kümesine üye değillerdir, bu kişilerin genç kümesine üyelik dereceleri sıfırdır. Ancak bu kişiler hem yaşlı hem de orta yaşlı kümesinin üyeleridir. Yaş 35’e yakınsa orta yaşlı kümesinin üyelik derecesi yüksek iken yaş 55’e yaklaştıkça yaşlı kümesine üyelik derecesi artar.  Yaşı 55’ten büyük olan kişiler yaşlı kümesine %100 oranında dahil olurlar. Bu kişilerin genç ve orta yaşlı kümelerine üyelik dereceleri sıfırdır.
  • 12.
    Örnek: Rule base(kural tabanı) • Verilen örneğe göre bir giriş değişkeninin farklı kümelere üyelik derecesine (degree of membership) bakarak sonuçları betimlemek mümkündür. Bunun için ihtiyacımız olan bir diğer araç da kural tabanıdır (rule base). • Bir kişinin yaşı ve tütün kullanımı ile akciğer kanseri riskini ilişkilendiren bir kural taban örneğini uzun yıllar hekimlik yapmış bir uzman aşağıdaki gibi tarif edebilir: 1) EĞER kişi yaşlı VE tütün kullanımı çok ise O HALDE akciğer kanseri riski çok yüksektir. 2) EĞER kişi yaşlı VE tütün kullanımı az ise O HALDE akciğer kanseri riski yüksektir. 3) EĞER kişi yaşlı VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski orta düzeydedir. 4) EĞER kişi orta yaşlı VE tütün kullanımı çok ise O HALDE akciğer kanseri riski yüksektir. 5) EĞER kişi orta yaşlı VE tütün kullanımı az ise O HALDE akciğer kanseri riski orta düzeydedir. 6) EĞER kişi orta yaşlı VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski düşüktür. 7) EĞER kişi genç VE tütün kullanımı çok ise O HALDE akciğer kanseri riski orta düzeydedir. 8) EĞER kişi genç VE tütün kullanımı az ise O HALDE akciğer kanseri riski düşüktür. 9) EĞER kişi genç VE tütün kullanımı çok az ise O HALDE akciğer kanseri riski çok düşüktür.
  • 13.
  • 14.
    Örnek: Defuzzification • Bulanıksistem çıkışı her bir kuralın öngördüğü değerin ağırlık ortalaması veya ağırlık merkezi (center of gravity or centroid) bulunarak hesaplanabilir. Literatürde bu sürece durulaştırma (DEFUZZIFICATION) denir. Farklı DEFUZZIFICATION yöntemleri şu şekilde sıralanabilir: 1. Ağırlıklı ortalama (center of sums) 2. Mean of centroids 3. Mean of maxima 4. Ağırlık merkezi (center of gravity or centroid)
  • 15.
    Örnek: Defuzzification • Bunlardanen yaygın kullanılan yöntem Centroid yöntemi olarak karşımıza çıkmaktadır. Üyelik fonksiyonu olarak verilen bir sistemin Centroid yöntemiyle durulaştırılmış değeri şu şekilde verilmektedir: • Konuyu somutlaştırmak için basit bir örnekle açıklayacak olursak; tek girişli bir üyelik fonksiyonu aşağıdaki gibi verilsin: 𝜇𝐴ሺ 𝑥ሻ= ‫ە‬ ۖ ۖ ‫۔‬ ۖ ۖ ‫ۓ‬ 0 0 ≤ 𝑥≤ 1 𝑥− 1 2 1 ≤ 𝑥≤ 3 1 3 ≤ 𝑥≤ 5 9− 𝑥 4 5 ≤ 𝑥≤ 9 0 𝑥≥ 9
  • 16.
    Örnek: Defuzzification • Yukarıdakieşitliği bu üyelik fonksiyonuna uygularsak: • Durulaştırılmış değer (defuzzified value): olarak bulunur.
  • 17.
    Matlab Fuzzy LogicToolbox • Matlab programından Fuzzy Logic Toolbox kullanılarak otonom bir aracın şarj seviyesi ve trafik yoğunluğuna göre hızının nasıl değişebileceği tasarlanmıştır.
  • 18.
  • 19.
  • 20.
  • 21.
    Matlab Fuzzy LogicPD Kontrol Simulink PD Kontrol: