Bulanık Mantık #0: Nedir-Ne Değildir?

Ahmet Ataşoğlu
6 min readJun 22, 2019

Bu yazıda Bulanık Mantığa ve ardındaki felsefeye kısa ve öz bir giriş yapacağız. Sonraki yazılarda bulanık mantık hakkında daha çok şeye değineceğiz. Bundan daha kısa bir özet için önceden yazdığım şu yazıya da göz atabilirsiniz.

Nedir bu Bulanık Mantık?

Bulanık Mantık (ing. Fuzzy Logic) ilk kez 1961 yılında Azeri kökenli matematikçi Lütfi Alasker Zadeh tarafından temelleri atılmış matematiksel bir kuramdır. Adında da geçtiği gibi bir 'mantık’ çeşididir. Aslında lisedeki matematik derslerinden mantık konusuna pek de yabancı sayılmayız. “Ve, veya, ise, ancak ve ancak" gibi hafızamızda yer edinen kavramları hepimiz bu derslerden anımsarız. Önerme dediğimiz cümlelerde geçen olguların, gerçeklerle örtüşüp örtüşmediğini anlamaya çalışırdık bu derslerde. Gerçeklerle örtüşen, diğer bir deyişle mantığa aykırı olmayan önermelere ‘doğru’ (1) derken; gerçeğin aksini söyleyenlere ‘yanlış’ (0) diyorduk. Az evvel bahsettiğimiz kavramlar da bu önermelerin, yani 1 ve 0’ların birbirleriyle olan ilişkilerini anlamlı hale getirmeye yarıyordu. O zamanlar bizim için garip gözükse de ve tam olarak bize ne anlatmaya çalıştığını yeterince anlamamış olsak da; bugünün bilgisayar ve elektronik teknolojilerinin altyapısı aslında tam da mantık konusundan ortaya çıkmıştır. Çünkü matematikteki mantık, en basit anlamda; gerçek hayattaki herhangi bir problemi çözebilmek için onu belirli düşünce yöntemleriyle sayılar dünyasına nasıl aktarabileceğimizin anahtarıdır. Sonrasında çözüm için matematiğin imkanlarını kullanır ve yine mantığın bize sunduğu yöntemlerden faydalanırız. İşte Bulanık Mantık da tam olarak aynı amaç doğrultusunda çalışıyor. Fakat bir kaç farkla: Biraz daha kapsamlı bir perspektifden bakıyor ve bu bildiğimiz klasik mantığın aksine, daha 'insansı' şekilde kurgulanmış sonuçlar üretecek şekilde yapıyor bunu. Bu yüzdendir ki günümüzde 'insansı’ deyince akla ilk gelen yapay zeka başta olmak üzere; kontrol sistemleri, otomasyon, robotik ve sibernetik gibi mühendislik bilimlerinin pek çok alt dalında bulanık mantığın izlerine rastlıyoruz.

Bulanık mantığın babası Lütfi A. Zade. (1921–2017)

‘Bulanık’ derken?

Klasik mantığın çizdiği sınırlar içindeyken, bir önermenin yalnızca iki koşuldan birini sağlayabileceğini ön görürüz (doğru ya da yanlış). Çünkü varlığın mutlak gerçeklikle olan ilişkisi bir çeşit ‘tekillik’ durumundadır. Örneğin yaşınızın hem 18’den küçük, hem de büyük olamaması; ya da bugünün hem pazartesi hem de salı olmaması gibi. Ya pazartesidir, ya salıdır ya da ikisi de değildir. Fakat hem pazartesi hem de salı kesinlikle değildir! Objektif olarak ele alınan bütün olguların bu tekillik durumuna derinden sadakati, klasik mantığı ortaya atan Aristoteles’den bu yana matematikçilerin ve felsefecilerin epey ilgisini çekmiştir. Fakat zamanla fark edilmiştir ki: Bazı durumlarda önermelerin doğru ya da yanlış zeminine oturtulması pek de mümkün olamıyor. Çünkü gerçeklik dediğimiz şeyin bir kısmının insan zihninin bir ürünü olması ve bazılarının da tam olarak ölçülebilir şeyler olmaması, işleri bu noktada biraz ‘bulandırıyor’.

Yine aynı örnek üzerinden gidelim: Yaşınızın kaç olduğunu ölçebiliriz. Bunu yalnızca kimliğinize bakarak değil, çeşitli tıbbi testlerle yapmanın ve ‘kesin’ sonuçlara varmanın yolları da var üstelik. Bu sonuçlara bakarak, yaşınız hakkında yapılan “Bu kişi 18 yaşından büyüktür” gibi bir önermeye yüzde yüz yanlış ya da yüzde yüz doğru gibi bir yorum getirmek mümkündür. Fakat önerme “Bu kişi gençtir” şeklinde ortaya atılsaydı, aynı şekilde yüzde yüz cevaplar verebilmek mümkün olabilir miydi? ‘Gençlik’ kavramının pek çok yorumu olduğu açık. Burada kastedilen fiziksel bir gençlik mi yoksa duygusal bir gençlik mi? Bunlara cevap verebilecek kadar yeterince doneye sahip olsak dahi, gençliğin insanlardaki algısının birbirinden farklı olması yine bir başka çıkmazı ortaya çıkarıyor. Çünkü objektif olması gereken önermemiz, önermeyi ortaya atan kişinin öznelinden kendini koparamamış oluyor.

Bu çıkmaz, klasik mantığın sınırlarını zorlayan bir durum. Fakat hal böyleyken, insan mantığı aynen bu şekilde çalışıyor. Gerçekliği yorumlamamız, mutlak ifadelerden ziyade belirsizlik çizgisinde ilerliyor. Örneğin birisini betimlerken; genç, yaşlı, uzun boylu, kısa boylu gibi belirsiz ama yine de bizim için bir anlam ifade eden olgulara başvuruyoruz. Aslında bizler de bir makine gibi, dış dünyayı sensörlerimizle algılıyoruz. Bu sensörler duyu organlarımız ve bunlardan gelen bilgileri sezgilerimize ve tecrübelerimize göre yorumluyoruz. Gerçek bir makinenin sensörleri, insan algılarından çok daha gelişmiş olabildiği için bunu büyük bir hassasiyetle yapabiliyor. Fakat biz bu hassasiyette olmadığımızdan, en azından doğru sonuçlara yaklaşabilmek adına, belirsiz yani ‘bulanık’ yorumlar yapıyoruz. Çünkü böylesi pratik açıdan işimizi kolaylaştırıyor.

İnsan mantığının doğası:

  • Belirsiz çıkarımlar yoluyla dış dünyayı anlamlandırması,
  • Tecrübelerinden ve gözlemlerinden yola çıkarak fiziksel ve zihinsel işlemler yapabilmesi

üzerine kuruludur. Bulanık mantıksa insan mantığına yaklaşmaya ve onu taklit etmeye çalışır. Dolayısıyla insan mantığının bu özellikleri, bulanık mantıkta da kendine birer karşılık bulur. Yani bulanık mantığın ‘bulanık’ kısmı, aslında insan zihninin bir yansımasıdır.

Bulanık özellikler

Yukarıda da bahsettiğim gibi, bulanık mantığı klasik mantıktan ayıran önemli farklardan biri ‘belirsizliktir’. Geleneksel mantık diyebileceğimiz Aristo mantığında belirsizliğin yeri yoktur. Belirsizlikler genel olarak paradokslara yol açtığı ve göreceli dayanaklara sahip olduklarından, doğru ve yanlışın ötesi burada çalışmaz.

Aristo mantığı önermelerin doğruluk değerlerini yalnızca {0, 1} değerleriyle ifade eder. Önermelerin yada elemanların alabileceği bu iki değer, o önermenin/elemanın üyelik derecesidir. Eğer bir eleman, herhangi bir A kümesine dahil olmak — diğer deyişle, kümenin üyesi olmak — için gereken özellikleri taşıyorsa, onun A kümesinin bir elemanı olduğunu söyleriz. Bu durumda söz konusu eleman için:

  • A kümesine olan üyelik derecesi 1 iken,
  • A kümesi dışında kalan bütün kümeler için üyelik derecesi 0’dır (Şekil 1).
Şekil 1. A kümesi ve onun dışında kalan E-evrensel kümesi. Bu tür kümeler kesin sonuçlara işaret ettiğinden ‘Kesin kümeler’ (ing. crisp sets) olarak adlandırılır. illüstrasyon: kaynak

Bulanık mantığa geldiğimizdeyse, üyelik derecelerini belirlemek için daha cömert bir yola başvuruyoruz.

Bulanık mantıkta geçen her bir küme bulanık küme olarak adlandırılır. Ve her bir elemanın bulanık kümelere olan üyelik dereceleri yalnızca 0 ve 1 sayılarını değil, bu iki sayı arasındaki bütün reel sayı değerlerini alabilir (0 ve 1 dahil). Yani, bulanık mantıkta üyelik derecelerinin alabileceği değerler sonsuzdur diyebiliriz.

Şekil 2’de, bahsettiğimiz örnekte olduğu gibi ‘genç’ dilsel değerinin bulanık ve kesin kümeler açısından karşılaştırılmasına göz atalım.

Şekil 2. Bulanık(solda) ve Kesin(sağda) kümelerin karşılaştırılması.
  • Grafiklerin x ekseni yaş değerini gösterirken, y ekseni yaş değerlerinin genç kümesine olan üyelik derecesini gösterir. Yalnızca karşılaştırma amacıyla incelediğimiz için, yaş değerlerinin tutarlı olup olmadığını görmezden gelebilirsiniz.
  • Sağdaki kesin küme grafiğine göre, bir kişinin genç sayılabilmesi için onun ancak 25 yaşından küçük olması gerekir. 26 yaşındaki bir insan için, gençliği ellerinden çoktan kayıp gitmiştir.
  • Soldaki bulanık küme grafiği ise; 0-15 yaşları arasında gençliğin orantılı şekilde arttığını, 15-20 yaşlarında insanın artık tamamen genç sayıldığını ve 20-40 yaşları arasında da yine orantılı olarak gençliğin azaldığını söylemektedir.

Gerçekte kişinin 25 ile 26 yaşındaki halleri arasında neredeyse hiçbir fiziksel fark olmamasına rağmen, klasik mantık 25 yaşının üstündeki insanların hiçbirini genç olarak görmüyor. Bulanık mantık içinse; 20 yaşındaki bir birey genç iken (üyelik derecesi 1), 21 yaşındaki başka bir birey daha az genç oluyor (üyelik derecesi 1’e çok yakın bir değer). Görüldüğü gibi bulanık mantıktaki üyeliklerin derecelendirilmesi, klasik mantıktaki yöntemlere nazaran akla ve gerçek dünyaya daha yatkın gelmektedir.

Bulanık kümelerin oluşturulmasıyla ilgili detaylara sonraki yazılarımda değineceğim.

Peki neden Bulanık Mantık?

Bulanık mantığı karşılaştığımız problemleri çözebilmek için kullanıyoruz. Tıpkı diğer tüm matematiksel araçlar gibi. Fakat onu diğerlerinden daha cazip kılan bazı özellikleri var. Bunlardan bazıları:

  • İnsan düşünce sistemi sayısal değil sözel bilgileri işlemeye odaklıdır. Başka bir deyişle insan zihni ‘kelimelerle işlem yapar’. İfade etmeye çalıştığı şeyler için dilsel değerleri kullanır. Bulanık mantık da benzer şekilde çalıştığı için, insan mantığına yaklaşık sonuçlar üretebilir.
  • Gerçek dünyadaki problemleri çözebilmek için gerekli sayısal verilere ulaşmak, genellikle zahmetli ve maliyetlidir. Elimizde yeterli bilgilerin bulunmadığı bu durumlarda bulanık mantık; insanın değer yargılarını, düşünme ve karar verme gücünü kullanarak, kesin olmayan durumlarda bile makul sonuçlar üretebilir.
  • Bulanık sistemi tasarlayan uzman kişilerin, sistem hakkında sayısal olmayan veya matematiksel olarak modellenemeyen tecrübeleri olabilir. Örneğin: Öğrencilerini yeteri kadar iyi tanıyan bir öğretmenin, sınavın zorluk seviyesine göre öğrencilerin alabileceği notları tahmin edebilmesi gibi. Her bir öğrenci için gerçeğe çok yaklaşık tahminler yapılabilir fakat bu tahminleri formülize etmek epey zordur. Sayısal bilgilere ulaşılamadığı bu gibi durumlarda; tecrübelerin bir makine yada bilgisayara aktarılabilmesi, bulanık mantıkla mümkündür.
  • İnsan zihnine yakın çalışabildiği için, pek çok kontrol yöntemine göre anlaşılır seviyededir. Arka planda çalışan teorileri ve matematiği oluşturmak zor değildir.
  • Esnek yapısı sayesinde kesin olmayan olasılık durumlarında; karmaşık ve doğrusal olmayan fonksiyonlarla ve sürekli değerlerle — yani sadece belirli bir aralıkta olduğunu bildiğimiz değerlerle — bile uyumlu şekilde çalışabilir.
  • Günlük hayattaki konuşma diliyle bulanık bir sistem modellenebilir. Bu açıdan bulanık sistemleri geliştirirken, programlama ve sistem tasarımı konularında teknik bilgiye sahip olmayan insanlarla bile etkili şekilde çalışmaya imkan tanır.
  • Bulanık mantık klasik mantığı da kapsadığı için, klasik mantıkla oluşturulan her sistem bulanık mantıkla da oluşturulabilir.

Sonuç

Bulanık mantık, klasik mantığın kapsamından daha öteye gidebilmiş, insanın gerçekte sahip olduğu ve kullandığı mantık modelini bilgisayarlar ve makineler üzerinde inşa etmeye çalışan güzide bir çalışma alanıdır. Bu yazıda bulanık mantığın arkasındaki fikirden bahsetmeye çalıştım. Yazı serisinin sonraki kısımlarında bir bulanık sistemin oluşturma aşamalarını ve problem çözmede nasıl kullanabileceğimizi anlatmaya çalışacağım. Teknik detayları elimden geldiğince süzmeye ve herkes için anlaşılır olabilmesine gayret ediyorum. Pek çok ayrıntıya, bu yazının bir giriş yazısı mahiyetinde olması bakımından değinilmemiştir. Bu ayrıntıların hepsine önümüzdeki yazılarda değinmeye çalışacağım.

Okuduğunuz için teşekkür ederim.

Referans

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

--

--