17
YAPAY ZEKA BULANIK MANTIK HAZIRLAYAN Cihan ÖZBEK DANIŞMAN Özer ÇELİK ESKİŞEHİR,2017

BULANIK MANTIK(Fuzzy Logic)

Embed Size (px)

Citation preview

Page 1: BULANIK MANTIK(Fuzzy Logic)

YAPAY ZEKA BULANIK MANTIK HAZIRLAYAN

Cihan ÖZBEK DANIŞMAN Özer ÇELİK

ESKİŞEHİR,2017

Page 2: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık Bulanık mantık kavramını tanımlamadan önce klasik mantık kavramından bahsedelim.Klasik mantık ya da diğer adıyla Aristo mantık: Herhangi bir önermeye soru sorulduğunda cevabımız sadece doğru ve yanlış’tan oluşan iki parametreye bağlıdır.Bilgisayar bilimlerinde bunun karşılığı:Önermemiz doğru ise 1, yanlış ise 0 değerini almaktadır.Bu da bildiğimiz ikili sistem mantığıdır.Yani her şey 0 ya da 1 olarak ifade edilmekte örneklerle açıklayacak olursak;

Türkiye’nin tek 4 yıldızlı futbol takımı Galatasaray’tır.⇢⇢Doğru(1) Türkiye’nin en büyük futbol takımı Galatasaray’tır.⇢⇢Yanlış(0) Esogü Matematik-Bilgisayar Bölümünde yapay zeka dersi vardır.⇢⇢Doğru(1) Bulanık Mantık Öğrenmek Zordur.⇢⇢Yanlış(0) Klasik(Aristo) Mantık

● Kesinlik ifade eder. ● Bilgisayar bilimlerinde 0-1 kullanılır ● ikili mantık olarak da bilinir ● Gündelik hayat için yeterli olmamaktadır ● Kesinlik ifade ettiği için yapay zeka için eğitilebilmesi uygun değildir. ● Modern Dünya düşüncesine pek uygun değildir.

1

Page 3: BULANIK MANTIK(Fuzzy Logic)

Günlük konuşma dilinde klasik mantık yeterli olmamaktadır.Çünkü gündelik dilde

sorulan bir soruya,doğru ya da yanlış gibi cevapların yanın da farklı cevaplar da vermekteyiz.Tabi cevaplarımızı verirken bir çok parametre bulunmakta, bunlardan birkaçı:zaman,mekan,kişi,deneyimlerimiz,korkularımız ve benzeri.Somut örnekler vermek gerekirse;Türkiye’de dana etini çok seven berk can,Hindistan’da vejetaryen olduğunu söyleyebilir.

2

Page 4: BULANIK MANTIK(Fuzzy Logic)

Örneklerde gördüğünüz üzere,klasik mantık birçok sorunun yanıtını tam olarak vermemekte yani hayat kesinlikliklerden ibaret değildir.Örnek vermek gerekirse evimizdeki tüm elmalar kümesini düşünelim ve güzel bir yeşil elmadan bir ısırık alalım.Şimdi klasik mantığa göre artık o elma,elmalar kümesinin bir elemanı değil.Çünkü o bir tam elma değil,peki sizce bu kulağa mantıklı geliyor mu? Günlük hayatta ısırılmış olsa da hala bir elmadır ve keyifle yenilebilir.Bu ve bunun gibi sayısız örnekler verilebiliriz.1965’te Azeri kökenli sistem bilimci Lotfi Zadeh, bir çok-değerli küme teorisi geliştirdi, ve ‘bulanık’ kelimesini teknik terimlere dahil etti. Bulanık Mantık Kavramı

Bulanık mantık, insan bilgi tecrübelerinden yararlanarak, bunların kural tabanları halinde işleyip her bir kural tabanının belirli bir matematik fonksiyona karşılık gelecek şekilde sonuç çıkarılmasıdır.

Bulanık mantığın ardındaki temel fikir, bir önermenin ‘doğru’, ‘yanlış’, ‘çok doğru’, ‘çok yanlış’, ‘çok çok doğru’, ‘çok çok yanlış’, ‘yaklaşık olarak doğru’, ‘yaklaşık olarak yanlış’, v.b. gibi, olabileceğidir.

Bulanık mantıkta,elemanlar bulanık bir kümeye ancak kısmen aittir. Ayrıca aynı anda birden fazla kümeye ait olabilirler.Yukarıda verdiğimiz elma örneğinde,ısırılmış elma 0-1 arasında bir değer alabilir.Aldığı değere göre bir ya da birden fazla bulanık kümeye ait olabilir.

3

Page 5: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık Temel Özellikleri

● Bulanık mantıkta her şey [0,1] aralığında belirli bir dereceyle gösterilir. ● Bulanık mantıkta bilgi büyük,küçük,çok az,çok sıcak gibi sözel ifadeler

şeklindedir. ● Her mantıksal sistem bulanık olarak ifade edilebilir. ● Bulanık mantık matematiksel modeli çok zor elde edilen sistemlere çok

uygundur. ● Bulanık sistemler eğitilebilir. ● Bulanık Mantıkta bir önerme aynı zamanda hem doğru hem de yanlış olamaz

denilemez. Son ifadeyi bir Nasreddin Hoca fıkrasıyla açıklayalım.

Hoca birgün mahkemede kadılık yaparken,iki adam gelir ve birbirinden şikayetçi olduklarını söylerler.Hoca önce birini dinler ve ona haklısın der.İkincisini dinledikten sonra ona da haklısın der.Hoca’nın yardımcısı Hoca’ya döner ve bu iki kişinin aynı anda haklı olamayacağını söyleyince,Nasreddin Hoca ona da döner ve sen de haklısın der. Kültürümüzde 800 yıllık birikimlerinden biri olan bu fıkranın aslında toplumsal bilinçaltımızdaki çok değerli/bulanık mantık kavramına olan yatkınlığını göstermesi açısından çarpıcı olduğunu vurgulayalım.

4

Page 6: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık ve Klasik Mantık Arasındaki Farklar

Klasik mantık ve Bulanık mantık arasındaki farkı birkaç örnekle açıklayalım. Örneğin, Eskişehir’den Ankara’ya hızlı trenle gitmek istediniz.Hızlı tren bileti almak için .https://ebilet.tcdd.gov.tr/view/eybis/tnmGenel/tcddWebContent.jsf internet sitesine girdiniz.

TCDD’ye göre genç olarak indirimli bilet alabilmeniz için 13-26 yaş aralığında olmalısınız.Diğer bir deyişle 13 yaşında gençliğiniz başlıyor 26 yaşında bitiyor.Bu mantığa göre 26 yaşını yeni bitirmiş.27 yaşından gün almaya başlamış bir kişi genç sayılmamakta ya da 12 yaşını bitirmiş 13.yaşını kutlayan bir kişi artık çocuk değildir.Bu örnek tam olarak klasik mantığın günlük hayatta kullanımına iyi bir örnek

5

Page 7: BULANIK MANTIK(Fuzzy Logic)

Aklımıza şöyle bir soru geliyor,26 yaşındaki bir insan ne kadar genç ise 27 yaşındaki bir insan da en az onun kadar gençtir.Bulanık mantık yaklaşımıyla düşünürsek,26 yaşında olanlar yüzde 96 genç ise,27 yaşında olanlar ise yüzde 78 gençtir.Ama 27 yaşında olanı orta yaş sınıfına da sokarsanız,yüzde 12 orta yaş sınıfındadır.Yani bir kişinin yaşıyla ilgili değerlendirme yaparken her türlü sınıfı göz önüne almak gerekir.Bu da bulanık kümelere iyi bir örnektir.Yani bir kişi birden fazla bulanık kümeye ait olabilir. Bir başka örnek

Diyelim arkadaşlarınızla pazar pikniğine gideceksiniz,piknik yeri için şehirden uzak olsun dediniz.Bilmediğiniz bir yola girdiniz.Yanınızdaki telefonların şarjı bitmiş ve navigasyon cihazınız olmadığını varsayalım. Gittiniz gittiniz karşınıza bir yol ayrımı geldi. Soldan mı,sağdan mı gideceğinizi bilmiyorsunuz,oradan geçen bir kişiye sordunuz,O kişi de size “pek emin değilim ama soldan giderseniz yüzde 85 olasılıkla gideceğiniz yere ulaşırsınız,eğer sağdan giderseniz yüzde 85 gideceğiniz yere ulaşırsınız” dedi.Hangisini seçerdiniz?

Bu soruya vereceğiniz cevap sizin bulanık mantık felsefesini günlük hayatta ne kadar benimsediğinizi ölçmek için iyi bir test olabilir.Günlük hayatta karar verirken çok sık bulanık mantık kullanmaktayız.

Örneğin bir insana aşık olduğumuz zaman klasik mantıkla karar verecek olsaydık,karşı cinsten olması kriteri bizim için yeterli olacaktı.Ama bir insana aşık olabilmek için bir çok kriter vardır ve bu kriterler kişiden kişiye göre değişmektedir.Aslında farkında olmadan beynimizden bulanık kümeler oluşturup yüzdeler buluyoruz. Örnek vermek gerekirse, Ayça aşık olmak için birkaç kriter belirlesin bunlar zeki,uzun boylu,kibar ve yakışıklı olsun.Diyelim ki Cem zeki,kısa boylu,yerine göre kibar ve Ayçaya göre biraz yakışıklı olsun.Ayça bu kriterleri göz önünde bulundurup,Cem’e aşık olabilir.Çünkü kafasındaki bulanık kümeler yüzdesinde Cem’in kriterleri yakın olabilir.

6

Page 8: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık Avantajları

● İşleyişi insan düşünce tarzındadır. ● Matematiksel modele ihtiyaç duymaz, doğrusal

olmayan sistemlerde iyi sonuç verir. ● Bulanık Mantık eksik tanımlı problemlerin çözümü

için uygundur. ● Uygulanması oldukça kolaydır ve uygulamaların

daha hızlı bir şekilde sonuca ulaşmasını sağlar. Bulanık mantık günlük hayatta, insanlığın var olduğu günden beri farkında olmadan kullanılmakta bu nedenle uzman olduğunuz bir konuda matematik ve programlama bilginiz az bile olsa bir problemi modelleyebilirsiniz.Hatta bilgisayar programları olmadan da kağıt ve kalemle kabaca bir problemi modelleyebilirsiniz.Örnek vermek gerekirse sosyal medyada çok sık paylaşılan bir capsi yazalım.

ERKEK YAKIŞLI YAKIŞLI DEĞİL

AZ KONUŞUYORSA COOL SIKICI

ÇOK KONUŞUYORSA EĞLENCELİ GERZEK

HİÇ KONUŞMUYORSA GİZEMLİ ŞANSI YOK

Yukarıdaki örneği yazan kişi,muhtemelen bulanık mantıktan bihaberdir.Eğlence amacıyla erkek durumlarını, kendi gözlemleri çerçevesinde modellemiştir.Bu örneği bilgisayarda eğitip,geliştirebilir.Siz de çevrenizdeki gözlemlerinize göre bir model geliştirebilir ve eğitebilirsiniz.Bu örnekten sonra siz de bir örnek düşünün ve tabloya aktarınız.

7

Page 9: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık Dezavantajları

● Kuralların uygun şekilde belirlenmesi için uzman deneyimine ihtiyaç duyar.

● Kuralları ve üyelikleri tanımlamak kolay olmayabilir. ● Üyelik fonksiyonlarının belirlenmesinde kesin sonuç

veren bir yöntem ve öğrenme yeteneği yoktur. ● En uygun yöntem deneme yanılmadır. Bu sebeple

uzun zaman gerekebilir. ● Kararlılık, gözetlenebilirlik ve denetlenebilirlik

analizinin yapılamaması bu yöntemin en temel sorunudur.

8

Page 10: BULANIK MANTIK(Fuzzy Logic)

Bulanık Mantık ile Otomatik Vites Değişimi Bilindiği gibi otomatik vites değişimi motorun belli hızlara ulaşması sonucunda otomatik olarak gerçekleşir. Buna karşılık manuel vitesli bir arabada ise sürücü, yol, yük ve kendi araba kullanış tarzına göre belli durumlarda vites değiştirir. Subaru tarafından üretilen justy tipi otomobilde kullanılan aktarım organının değiştirilmesi, bir kayışın konumunun bulanık mantık kullanılarak değiştirilmesi ile sağlanır. Böylece arabanın ivmesi ve performansı sürekli olarak ayarlanır hale gelir. Subaru, bu otomobilde kullandığı bulanık mantık üyelik fonksiyonlarını, otomobili test şoförlerine kullandırarak ve onlardan ivme ve performans açısından en iyi aktarım oranını öğrenerek ayarlamıştır. Bu konuda Honda ve Nissan da benzer çalışmalar yapmışlardır.

9

Page 11: BULANIK MANTIK(Fuzzy Logic)

Bulanık mantık ile Matlab Uygulaması Matlab komut satırına fuzzy yazarak,”fuzzy logic designer” penceresini açıyoruz.Bazı sürümlerde fuzzy logic designer matlab ile beraber yüklenmemektedir.Bu nedenle eğer pencere açılmazsa,fuzzy logic designer yüklenmeniz gerekmektedir.

10

Page 12: BULANIK MANTIK(Fuzzy Logic)

Bir programı anlamanın en iyi yolu o program üzerinde örnek yapmaktır.Matlab ile bir fuzzy controller yapısı oluşturalım. Örnek: Bulanık mantık ile Kalp hastalığı riskini belirleyen,bir fuzzy controller yapısı oluşturalım.Öncelikle ihtiyacımız olan teknik terimleri tanımlayalım. HDL kolesterol (iyi kolesterol): HDL, dokulardaki kolesterolü toplayarak dışarı atılmasını sağladığı için iyi kolesterol olarak bilinir. Yalnızca vücutta bulunur, besinler içerisinde bulunmaz. LDL kolesterol (kötü kolesterol):Kolesterolü dokulara taşıyarak arter ve diğer kan damarlarının duvarlarında birikmesine neden olduğu için LDL, kötü kolesterol olarak da bilinir. Kalp hastalığı riskini belirleyen iki ana etmen vardır.Bunlar HDL ve LDL düzeyleridir.O halde iki giriş ve bir çıkışımız olacaktır.

11

Page 13: BULANIK MANTIK(Fuzzy Logic)

Girişlerin ve Çıkışın Üyelik Kümelerini Oluşturalım. 1.Girişimiz:LDL Düzeyi,bunu beş dereceye ayıralım; Bunlar:Düşük,Düşük sınırda,sınırda,yüksek sınırda ve yüksek 2.Girişimiz:HDL Düzeyi,bunu da üç dereceye ayıralım; Bunlar: Dusuk-HDL,Orta-HDL,Yuksek-HDL Çıkışımız ise Kalp hastalığı riski,bunu da beş dereceye ayıralım.Ekstra riskli,Yüksek riskli,Orta riskli,Düşük riskli,Risk yok 1.Girişimiz LDL-Duzeyi

12

Page 14: BULANIK MANTIK(Fuzzy Logic)

13

Page 15: BULANIK MANTIK(Fuzzy Logic)

Kurallar En önemli aşama kuralları belirlemektir.Kuralları olabildiğince iyi belirlersek,hata oranı o kadar düşük olur.Bu da o alanda ne kadar iyi olduğumuzla dogru orantılıdır. Elbette uzmanlık alanım Kardiyoloji değil,fakat bu konuda önemli bir tezi okudum.Adımlarını uyguladım ve programı eğittim.Hatalar olabilir elbette dediğim gibi uzman değilim.15 tane kural belirledim.Şimdi onları yazalım.

● LDL düşük ve HDL düşük ise kalp hastalığı riski orta riskli ● LDL düşük ve HDL orta ise kalp hastalığı riski düşük riskli ● LDL düşük ve HDL yüksek ise kalp hastalığı riski yok ● LDL düşük sınırda ve HDL düşük kalp hastalığı riski orta ● LDL düşük sınırda ve HDL orta kalp hastalığı riski düşük ● LDL düşük sınırda ve HDL yüksek kalp hastalığı riski düşük ● LDL sınırda ve HDL düşük kalp hastalığı riski yüksek ● LDL sınırda ve HDL orta kalp hastalığı riski orta ● LDL sınırda ve HDL yüksek kalp hastalığı riski düşük ● LDL yüksek sınırda ve HDL düşük kalp hastalığı riski yüksek ● LDL yüksek sınırda ve HDL orta kalp hastalığı riski yüksek ● LDL yüksek sınırda ve HDL yüksek kalp hastalığı riski orta ● LDL yüksek HDL düşük kalp hastalığı riski ekstra ● LDL yüksek HDL orta kalp hastalığı riski yüksek ● LDL yüksek HDL yüksek kalp hastalığı riski orta

14

Page 16: BULANIK MANTIK(Fuzzy Logic)

Tüm kuralları eksiksiz bir biçimde programa girdiğimizden emin olduktan sonra,programı çalıştıralım.Kalp hastalığı riski 0-10 arasında değerler almakta

İletişim adresim:[email protected]

15

Page 17: BULANIK MANTIK(Fuzzy Logic)

KAYNAKLAR: Nazife Baykal-Timur Beyan,Bulanık Mantık İlke ve Temelleri Öğr.Gör. Hüseyin Turgut,Yapay Zeka Ders Notları Prof.Dr.Vasif Vagifoğlu Nabiyev ,Yapay Zeka Tansu Küçüköncü,Bulanık Mantık Dr. S. Govinda Rao-M. Eswara Rao ,Expert System for Heart Problems Rehana Parvin- Dr. Abdolreza Abhari,FUZZY DATABASE FOR MEDICAL DIAGNOSIS

H.Metin Ertuç,Bulanık Mantığa Giriş https://www.medikalakademi.com.tr/yuksek-kolesterol-nedir-belirtileri-tedavisi-iyi-gelen-besinler/

16