PARDUS

PARDUS - BULANIK MANTIK

ANA SAYFA
PARDUS DIS
PARDUSCAD
PARDUS
PARDUSTA AUTOCAD
PARDUSTA QCAD
SCILAB - MATLAB
PARDUS - BULANIK MANTIK
PARDUS VE EAGLE
PARDUSTA PIC PROGRAMLAMA
PARDUSTA ANSYS 5.5
ANSIS ORNEKLERI

BULANIK MANTIK NEDİR ?

Zor ve karışık Aristo mantığı yerine son 30-40 yıldır geliştirilen bulanık mantık ile çok karmaşık sorunlar çok basit şekilde çözülebiliyor.

Bulanık Mantık (BM) aristo(Batı) mantığının eksiklik, zorluk veya yanlışlıklarını giderebilmek için Azeri bilim adamı Prof. Lütfi A.Zade tarafından geliştirilmiştir.aristo mantığında bilindiği gibi bir şey ya A kümesinin elemanıdır yada değildir. yani ya siyah yada beyaz.(ya bizimlesiniz yada düşmanla sözünün altındaki mantık gibi.) gerçekte tam siyah veya tam beyazı bulamazsınız. Aristo mantığı bunları yok sayar. BM ise gerçek hayata uygun olarak hemen hemen tamamıyla grilerle çalışır. çok uç durumlarda siyah veya beyaz vardır. (Doğunun güzel düşünce iklimi). Batı hala BM yi anlayamıyor. BM japonyada çinde ve Türkiye'de aselsanda ve evrenkentlerde geliştirilmektedir.
BM'ı anlamanın en iyi yolu bir örneği incelemektir. Bunun için makine mühendisliğinde malzeme seçimi için örnek yazılım geliştirelim. malzeme seçimine etki eden iki etkeni alalım.(etken sayısını çok fazlalaştırabiliriz, ancak örneğin anlaşılmasının kolaylaşması için iki etkeni alıyoruz.)etkenlerden birisi malzemenin sertliği diğeri ise malzemenin işlenebilirliği olsun. sonuç ise malzeme kalitesi olarak çıksın. BM insani değerlendirmeleri kullanabildiğimiz bir mantıktır. (Sıcak soğuk hızlı yavaş sert yumuşak gibi)

Malzeme sertliğini 5 gruba ayıralım.Bunlar Çok az Sert (ÇOS), Az Sert(AS), Sert(S), Oldukça Sert(OS), Çok sert (ÇS) olsun. sertlik birimi olarak brinell i seçelim.
20-50 brinell arası ÇOS,40-80 arası AS,65-120 arası S 110-160 arası OS 145-200 arası da ÇS olsun. yan resimde bu değerlere göre grafiği gösterilmektedir.

gr2.gif

Malzemenin işlenebilirliğinide 5 gruba ayıralım. bunlar 1-Çok kötü işlenir(ÇKİ)2- Kötü işlenir (Kİ) 3-Orta İşlenir(Oİ) 4- İyi İşlenir(İİ) ve 5- Çok iyi işlenir(Çİİ) olsun.İşlenebilirliği 0-10 arası değerlendirelim. 0-2 ÇKİ, 1.5-4 Kİ, 3-7 Oİ, 6-8,5 İİ ve 7.5-10 Çİİ olsun. işlenebilirlik grafiğide yanda gösterilmiştir.

gr3.gif

Şimdi bu iki özelliğe bağlı olarak malzeme kalitemizin ne olacağını değerlendirelim.mlz kalitesinide 5 gruba ayıralım. bunlar 1- Çok kötü kalite (ÇKK) 2- Kötü kalite (KK) 3-Orta kalite(OK) 4-İyi kalite(İK) ve 5- Çok iyi kalite(ÇİK) olsun.değerleri işlenebilirlikte olduğu gibi 1-10 arası grup değerleride aynı olsun.bunun grafiği de yandadır

gr4.gif

KURAL TABANI
Kural tabanı oluşturabilmek için incelenen konuyu iyi bilmek gerekir. yan tarafta kural tabanı tablosunu oluşturdum. bu örneğimiz için değişik sonuçlar verecek şekilde tanımlanmıştır.kural tabanını oluşturduktan sonra eğer ise tanımlamarı yapılabilir.
Eğer işlenebilirlik çok iyi ise ve sertlik az sert ise orta kalite ürün alırız.
Eğer işlenebilirlik çok iyi ise ve sertlik oldukça sert ise çok iyi kalite ürün alırız.
Eğer işlenebilirlik iyi ise ve sertlik çok az sert ise çok kötü kalite ürün alırız.
Eğer işlenebilirlik iyi ise ve sertlik normal sert ise oldukça kalite ürün alırız.
bunları kural tabanı grafiğinde gösterildiği şekilde her durum için ayrı ayrı yazabiliriz.

kural_taban_.jpg

ÇIKARIM
Bulanık küme elemanı haline getirdiğimiz giriş öğelerini şimdi durulaştırarak geçirerek kullanılabilir sonuçlara dönüştürmeliyiz. buna çıkarım denir. Örneğimizdeki malzeme sertliği 70 brinell işlenebilirliği içinde 6.5 olsun.
70 brinel için ortalama alırsak.Az sert bölge için x1=(80-40)/(80-70)=5. Sert bölge için x2=(120-65)/(120-75)=1.22 bulunur.5 için 5 ve 1.22 toplamı yüzde olarak, c1=5*100/6.22= %80=0.8. 1.22 içinde c2=1.22*100/6.22=%20=0.2 bulunur. Bunun anlamı az sert= 0.8 sert=0.2 katsayılarıdır.
Yukarıdaki uygulamayı işenebilirlik için yaparsak.6.5 seviyesi orta ve iyi işlenebilme seviyelerindedir. x1=(70-30)/(70-65)=8 x2=(80-60)/(80-65)=1.33 c1=8*100/9.33=%85=0.85 c2=%15=0.15 bulunur. orta işlenme 0.85 iyi işlenme 0.15 tir.
bu sonuçlara göre
1-az sert 0.8 VE orta işlenme 0.85
2-az sert 0.8 VE iyi işlenme 0.15
3-sert 0.2 VE orta işlenme 0.85
4-sert 0.2 VE iyi işlenme 0.15
olur. Bulanık mantıkta ve işlemi en düşük değeri alınır. veya işleminde en yüksek değer alınır.
0.8 VE 0.85 - 0.8 Çok iyi kalite
0.8 ve 0.15 - 0.15 Çok kötü kalite
0.2 ve 0.85 - 0.2 Kötü kalite
0.2 ve 0.15 - 0.15 Çok kötü kalite
demektir.
bundan sonra değişik yöntemler uygulanır. basit 2 yöntemle çalışacağız.
VEYA YÖNTEMİ
0.8 VEYA 0.15 VEYA 0.2 VEYA 0.15 - 0.8
mlzeme kalitesini 0-10 arası derecelendirdiğimizden 0.8*(10-0)=8 değeri bulunur. Kalite grafiğimizde 8 nci kalite grubuna girer. İyi kalite bir malzememiz var demektir.
ALAN YÖNTEMİ.
0.8 VE 0.85 - 0.8 Çok iyi kalite
0.8 ve 0.15 - 0.15 Çok kötü kalite
0.2 ve 0.85 - 0.2 Kötü kalite
0.2 ve 0.15 - 0.15 Çok kötü kalite
bulduğumuz tüm değerleri kalite grafiğinde yerine koyarız ve daha üst değerleri keseriz. ortaya çıkan alanın ağırlık merkezi bize malzeme kalitesini verir. Grafikte gösterilen alanları tek tek hesaplayıp dik eksene göre uzaklıklarına göre ağırlık merkezi
g=1.alan*1.uzaklık+2.alan*2.uzaklık+3.alan*3.uzaklık)/(alanların toplamı) ifadesiyle sonuç bulunur. alan ağırlık merkezi yöntemine göre buradaki sonuç 6.2 çıkmaktadır. Yine iyi kalite bi malzeme kullanıyoruz demektir.

gr5.gif

DEĞERLENDİRME
BM ile birbiriyle sadece mantık olarak ilişki kurabildiğimiz fakat matematiksel bir bağıntıya dönüştüremediğimiz çoğu olayı çözebiliriz. bununla ilgili geliştirilen bilgisayar yazılımları çık iyi sonuçlar vermektedir. Burada en önemli sorun kural tabanını çok iyi kurmalıyız. bu da insanlığın bu güne kadarki deneyimlerini en açık şekilde kullanarak mümkündür.

PARDUSTA Scilabla Bulanık Mantık Hesabı.

Öncelike bilgisayarınıza Matlab-Scilab sayfasında anlattığım şekilde scilabı kurun.

http://es.geocities.com/jaime_urzua/sciFLT/

Bu adresten sciFLT_0.2.tar.gz paketini indirin.(Tabii Siz bu yazıyı okurken daha üst sürümü çıktıysa onu indirin.). Pardusta ev dizinine veya uygun gördüğünüz bir klasöre taşıyın. İki kere tıkladığınızda sciFLT_0.2 klasörü gözükür. bu klasöre sağ tıklayıp kopyala deyin ve scilab dosyası içine yapıştırın. Şimdi bu bulanık mantık araçlarını scilab içine kurmalıyız, bunun için scilabı çalıştırtıyoruz. açılan komut sayfasına

exec("/sciFLT_klasör yeri/builder.sce")

yazıyoruz. yani eğer scilab klasörünü ev dizininde sciFLT klasörünüde scilab klasörüne koyduysak

exec("/home/ulusoyab/scilab-4.0/sciFLT_0.2/builder.sce")

(burada ulusoyab benim kullanıcı adım siz kendi kullanıcı adınızı yazmalısınız.)
yazıyoruz. kurulum yapılıyor.Bulanık mantık araçlarını her kullanmak istediğimizde önce yine scilab komut satırına

exec("/home/ulusoyab/scilab-4.0/sciFLT_0.2/loader.sce");

yazıp yükleyip çalıştırıyoruz. Artık Scilab içinde bulanık mantık araçalarını kullanabiliriz.

Scilabda Bulanık Mantık Araçlarının Kullanma Örneği

Yan tarafta açıkladığımız Malzeme seçimi örneğini Scilabda yaparsak bakalım ne sonuç bulacağız.
Scilabı açıyoruz ve
exec("home/ulusoyab/scilab-4.0/sciFLT_0.2/loader.sce");

ile bulanık mantık araçlarını yüklüyoruz.scilab komut satırına
--> editfls
yazın. fls editor açılır. Üst bardan Files/Newfls/Mamdaniyi seçin. Sizin doldurmanız için yeni bulanık mantık sayfalarınız hazır. Önce tanımlamaları yapmamız gerekir fls ye tıklayın. Bilgi (İnformation) sayfası açılır. Bu bölümde name kısmına "malzeme" yazdım. siz uygun bir isim verin. Yorum (comment) kısmına da "malzeme secimi" yazdım. işinizi açıklayan bir bilgi notu yazın. diğer bölümleri dolduramazsınız.
Sıra bir alttaki des (Açıklamalar- Description) kısmına geldi. Bu bölümde information ve type kısımları seçilidir. S-Norm da Algebraic sum T-Normda Algeabric product Complement te one İmplication da Product Agg. Methodda Max. Defuzication da Centroide seçilir.
Yanda inputa tıklayın. Örneğimizde 2 adet giriş öğesi seçmiştik. Add e tıklayın
(1) var_name
yazısı variables altına eklenir. var_name i seçip editi tıklayın değişiklik yapabileceğiniz bir pencere açılır. Bu pencereyi alttaki add i kullanarak resimdeki sertlik değerleri gibi düzenleyin. Ben örneğimizdeki değerleri aynen yazdım.Bu islemde birincisi alt baslangıç ikincisi tepe noktası ve üçüncüsü de alt bitiş noktaları olarak tanımlanır.

sertlik1.jpg

Yine yan bölümdeki input a tıklayın add i seçin. Yukarıdaki işlemlere benzer şekilde işlenebilirlik tablosunu oluşturun. alttaki resimdeki gibi.Type kısmında seçili olan trimf üçgen şeklinde demektir. çan eğrisi veya daha değişik eğriler de seçilebilir.

isleme1.jpg

Burada da örneğimizdeki işlenebilirik için alınan değerleri aldım. Giriş öğeleri bitti. Şimdi de Çıkış öğesini yani kaliteyi tanımlayalım. Benzer şekilde alttaki resim gibi bir sonuç çıkar.

kalite1.jpg

Kural tabanı Yan taraftaki rules ile oluşturulur. Kural tabanında örneğimize uygun olarak oluşturulur.

kuralt.jpg

şimdi girişi(input) seçin ve üstten View/PlotCurrentVar ı seçin. giriş çizelgesini elde edersiniz. Sonrada çıkışı (output) seçerek yine çizelgeyi çizdirin. alttaki gibi çizelgeler oluşmalı.

giris.jpg

kalitegraf.jpg

Bunlar bittiğine göre artık sıradaki işlem çıkarımdır.Bunun için fls editörde

File/export/ toworkspace i seçin.

minik bir pencere açılır ismi fls olsunmu der.evet deyin geçin. Artık fls editorde hazırladığımız bulanık kümemizi scilab komut satırlarından yöneteceğiz. İlk önce genel çizimi çizimimizi görelim. Bunun için scilab komut satırına

plotsurf(fls)

yazın.Bir pencere açılır alttaki gibi düzenleyin.

cikarim.jpg

grafiğiniz gözükür.

ulusoyab@yahoo.com