Fuzzy Logic
Bulanık mantık, 0 ile 1 arasında doğruluk değerleri atayarak kural tabanlı sistemlerin ılık veya yakın gibi muğlak kavramlarla akıl yürütmesini sağlar. Denetleyiciler ve kod ele alınır.
Bulanık mantık, bir ifadenin yalnızca doğru ya da yanlış olmak yerine 0 ile 1 arasında herhangi bir doğruluk derecesinde kısmen doğru olabildiği bir çok değerli mantık biçimidir. Bu yaklaşım, Lotfi Zadeh'in 1965'te Kaliforniya Üniversitesi, Berkeley'de bulanık kümeler üzerine yayımladığı makaleyle ortaya çıktı ve bilgisayarlara “ılık”, “yakın” veya “hızlı” gibi belirsiz insan ifadelerini kesin hesaplamalarda kullanma olanağı sağlar. Bulanık sistemler, uzman bilgisini basit eğer-ise kuralları biçiminde kodlar ve kısmen geçerli olan kuralları bir araya getirir; böylece girdiler değiştikçe çıktılar da kesintisiz biçimde değişir. Bu özellik, bulanık mantığı tren fren sistemlerinden çamaşır makinelerine kadar kontrol mühendisliğinin temel unsurlarından biri hâline getirdi; bulanık mantık, yorumlanabilir ve elle ayarlanabilir kurallara ihtiyaç duyan yapay zekâ (AI) sistemlerinin de bir parçası olmaya devam ediyor.
Bulanık Kümeler ve Üyelik Fonksiyonları#
Klasik küme kuramında bir eleman ya kümeye aittir ya da değildir. Bulanık küme, her elemana girdi aralığı üzerindeki genellikle üçgen, yamuk veya Gauss eğrisi biçimindeki bir üyelik fonksiyonu aracılığıyla 0 ile 1 arasında bir üyelik derecesi atar. Komşu kümeler örtüşür; bu nedenle 24 °C'deki bir oda aynı anda 0,6 "ılık" ve 0,2 "sıcak" olabilir ve etiket bir eşikte aniden değişmek yerine kademeli olarak değişir. Mantıksal işlemler de derecelere uyarlanır: Zadeh'in özgün tanımları VE için iki derecenin minimumunu, VEYA için maksimumunu ve DEĞİL için derecenin 1'den çıkarılmasını alır. VE için çarpım gibi diğer seçenekler ise t-normlar adı verilen bir aileye aittir.
Bulanık Çıkarım Sistemi Nasıl Çalışır#
Bulanık bir denetleyici, dört adımda keskin sensör okumalarını keskin bir komuta dönüştürür:
- Bulanıklaştırma: Her girdi değerini tüm bulanık kümelerdeki üyelik derecesine eşle; örneğin bir engelin ne kadar "yakın", "orta mesafede" ve "uzak" olduğunu belirle.
- Kural değerlendirme: "Mesafe yakınsa frenleme serttir" gibi her eğer-ise kuralını, koşulunun ne ölçüde geçerli olduğuna göre devreye sok.
- Birleştirme: Her kuralın çıktı kümesini etkinleşme gücünde kırp ve kırpılmış kümeleri genellikle maksimum işlemiyle birleştir.
- Durulaştırma: Birleştirilmiş kümeyi, çoğunlukla ağırlık merkezini kullanarak tek bir sayıya indir.
Bu düzenek, adını Ebrahim Mamdani'den alan Mamdani yöntemidir. Mamdani, 1975'te Sedrak Assilian ile birlikte laboratuvar tipi bir buhar makinesini kontrol etmek için bu yöntemi kullandı. Takagi-Sugeno sistemleri çıktı kümelerini girdi formülleriyle değiştirip bunların ortalamasını alır; bu yöntem hesaplama açısından daha ucuzdur ve verilerle ayarlaması daha kolaydır. Bu örnek, bir engele olan mesafeye göre frenleme kuvvetini ayarlayan üç kurallı bir Mamdani denetleyicisi uygular:
import numpy as np
# Output fuzzy sets over braking force (0-100%)
force = np.linspace(0, 100, 501)
gentle = np.interp(force, [0, 40], [1, 0])
firm = np.interp(force, [20, 50, 80], [0, 1, 0])
hard = np.interp(force, [60, 100], [0, 1])
for distance in [8, 15, 22, 35]:
# Fuzzification: how near, medium, and far the obstacle is (meters)
near = np.interp(distance, [5, 20], [1, 0])
medium = np.interp(distance, [10, 20, 30], [0, 1, 0])
far = np.interp(distance, [20, 40], [0, 1])
# Rules: near -> hard, medium -> firm, far -> gentle; clip each set (min), combine (max)
combined = np.maximum.reduce([np.minimum(near, hard), np.minimum(medium, firm), np.minimum(far, gentle)])
# Defuzzification: the centroid of the combined set is the crisp braking command
print(f"{distance:>2} m -> brake {np.sum(force * combined) / np.sum(combined):.0f}%")Betik, 8, 15, 22 ve 35 metrelik mesafeler için sırasıyla %86, %60, %47 ve %14 frenleme kuvveti yazdırır. 15 metrede engel 0,33 oranında "yakın" ve 0,5 oranında "orta mesafededir"; bu nedenle sert ve orta karar frenleme kuralları kısmen devreye girer ve bunların harmanı %60 sonucunu verir. Üç kural, komutun aniden değiştiği bir eşik olmadan yumuşak bir frenleme eğrisi oluşturur.
Uygulamalar#
- Kontrol sistemleri: Hitachi'nin bulanık otomatik tren işletim sistemi, 1987'de açılan Sendai Metrosu Namboku Hattı'nda hızlanma ve frenlemeyi kontrol ederek daha yumuşak yolculuklar ve daha hassas duruşlar sağladı. Bulanık denetleyiciler ayrıca çamaşır makineleri, pilav pişiriciler ve klimalar gibi tüketici cihazlarını da kesin olmayan sensör okumalarına göre ayarlar.
- Görüntü segmentasyonu: K-means kümelemenin yumuşak bir biçimi olan bulanık c-ortalamalar, her piksele her kümede bir üyelik derecesi verir. Tıbbi görüntü analizinde, örneğin MRI taramalarındaki beyin dokusu türlerini ayırmak için yaygın olarak kullanılır; sınırdaki bir piksel her iki dokuyu da içerebilir.
- Görüşle yönlendirilen kararlar: Ultralytics'in hız tahmini çözümü, araçları bir YOLO26 modeliyle izler ve her aracın hızını km/sa cinsinden bildirir. Bulanık bir kural tabanı bu kesin girdiyi yavaş, orta veya hızlı olarak derecelendirebilir ve ardından uyarı düzeyini ya da sinyal zamanlamasını ayarlayabilir.
- Sinirsel-bulanık sistemler: Jyh-Shing Roger Jang tarafından 1993'te tanıtılan uyarlamalı sinirsel-bulanık çıkarım sistemi (ANFIS), kuralları okunabilir durumda tutarken üyelik fonksiyonlarını ve kural parametrelerini sinir ağı eğitim yöntemleriyle verilerden öğrenir.
Bulanık Mantık ile Olasılık ve Sembolik Yapay Zekânın Karşılaştırması#
Bulanık mantık ve olasılık 0 ile 1 arasındaki sayıları kullanır, ancak farklı türde belirsizlikleri tanımlar. Bayes ağlarının akıl yürütürken kullandığı olasılık, yarın yağmur yağma ihtimalinin %30 olması gibi kesin olarak tanımlanmış bir olayın ne kadar olası olduğunu ifade eder. Bulanık üyelik ise 50 °C'deki bir fincan kahvenin 0,7 oranında "ılık" olması gibi, muğlak bir tanımın bilinen bir duruma ne kadar uyduğunu ifade eder. Klasik sembolik yapay zekâyla karşılaştırıldığında, bulanık kural tabanları uzman sistemlerin okunabilir eğer-ise biçimini korurken her kuralın evet-hayır koşulunu bir dereceyle değiştirir; böylece aynı karara birden çok kural katkıda bulunabilir.










