Bulanık Mantık için kod, makale, çalışma dosyaları.

Katılım
12 Kas 2013
Mesajlar
10
Beğeniler
1
Puanları
3
Yaş
28
#1
değerli dostlar bu yıl bitirme tezimi bulanık mantık üzerine özellikle de bulanık mantık ve veri tabanı konuları üzerine yazmak istiyorum. eğer elinizde kaynak kod, makale veya çalışma notları varsa bu başlık altında paylaşalım. bende tüm bulduklarımı burda paylaşacağım ki birilerine faydalı olsun. saygılar.
 
Katılım
24 Kas 2013
Mesajlar
3
Beğeniler
0
Puanları
1
Yaş
30
#2
Kolay gelsin
 
Katılım
12 Kas 2013
Mesajlar
10
Beğeniler
1
Puanları
3
Yaş
28
#3
bulanık mantık ile ilgili ilk örnek kodları ekliyorum. örneği açıklayım biraz ; servis ve yemek durumuna göre bahşiş veren bir bulanık mantık örneği. mesela servis iyi ve yemek kötü ise ona göre bir bahşiş miktarı, servis kötü yemek de kötü ise ayrı bir bahşiş vs.. diğer ihtimaller işte. Neyse kodları ekleyim yanına kısa kısa notlar da eklerim.Kodlar c++ kodudur. Bulanık mantık düzenleyici bir program ile mantığı oluşturduktan sonra kodları kendi oluşturuyor.

fl::Engine* engine = new fl::Engine; engine->setName("tipper1");

engine->addHedge(new fl::Any);

engine->addHedge(new fl::Extremely);

engine->addHedge(new fl::Not);

engine->addHedge(new fl::Seldom);

engine->addHedge(new fl::Somewhat);

engine->addHedge(new fl::Very);

// aslında burda biraz açıklama yapmam gerek, bulanık mantıkta bilinmesi gereken en önemli şey girişler ve kurallardır. Aşağıda girişleri tanımlandıktan sonra bu girişlere göre kurallar belirlenecek ve o kurallar dahilinde bahşiş miktarı gösterilecektir.

fl::InputVariable* inputVariable1 = new fl::InputVariable;

inputVariable1->setName("service");

inputVariable1->setRange(0.000, 10.000);



inputVariable1->addTerm(new fl::Gaussian("poor", 0.000,1.500));
inputVariable1->addTerm(new fl::Gaussian("good", 5.000,1.500));
inputVariable1->addTerm(new fl::Gaussian("excellent", 10.000,1.500));
engine->addInputVariable(inputVariable1);


fl::InputVariable* inputVariable2 = new fl::InputVariable;
inputVariable2->setName("food");
inputVariable2->setRange(0.000, 10.000);


inputVariable2->addTerm(new fl::Trapezoid("rancid", 0.000,0.000,1.000,3.000));
inputVariable2->addTerm(new fl::Trapezoid("delicious", 7.000,9.000,10.000,10.000));
engine->addInputVariable(inputVariable2);


fl::OutputVariable* outputVariable1 = new fl::OutputVariable;
outputVariable1->setName("tip");
outputVariable1->setRange(0.000, 30.000);
outputVariable1->setDefaultValue(std::numeric_limits<fl::scalar>::quiet_NaN());
outputVariable1->setLockDefuzzifiedValue(true);
outputVariable1->setDefuzzifier(new fl::Centroid(500));
outputVariable1->output()->setAccumulation(new fl::Maximum);


outputVariable1->addTerm(new fl::Triangle("cheap", 0.000,5.000,10.000));
outputVariable1->addTerm(new fl::Triangle("average", 10.000,15.000,20.000));
outputVariable1->addTerm(new fl::Triangle("generous", 20.000,25.000,30.000));
engine->addOutputVariable(outputVariable1);


fl::RuleBlock* ruleblock1 = new fl::RuleBlock;
ruleblock1->setName("");
ruleblock1->setTnorm(new fl::Minimum);
ruleblock1->setSnorm(new fl::Maximum);
ruleblock1->setActivation(new fl::Minimum);


ruleblock1->addRule(fl::MamdaniRule: parse(
"if service is poor or food is rancid then tip is cheap", engine));
ruleblock1->addRule(fl::MamdaniRule: parse(
"if service is good then tip is average", engine));
ruleblock1->addRule(fl::MamdaniRule: parse(
"if service is excellent or food is delicious then tip is generous", engine));
engine->addRuleBlock(ruleblock1);
 
Katılım
24 Kas 2013
Mesajlar
3
Beğeniler
0
Puanları
1
Yaş
30
#4
vay muhteşem yaa nasıl degerlendire bilirim bakıyım bii
 
Katılım
12 Kas 2013
Mesajlar
10
Beğeniler
1
Puanları
3
Yaş
28
#5
bulanık mantığın bir de veritabanı üzerinde kullanılan şekli var. bulanık veritabanı sorguları. şimdi onun üzerine araştırma yapıyorum, SQL server 2012 veya oracle üzerinde nsaıl kullanabiilrim bulanık mantığı bakalım. yalnız bu konuda ileri seviye türkçe kaynak bulmak baya sıkıntılı. bakalım elime geçenleri en son düzenledikten sonra burda paylaşmayı, tez'im bittikten sonra ana hatları ile burda da paylaşabilirim.
 
Katılım
27 Şub 2013
Mesajlar
13
Beğeniler
0
Puanları
1
#6
Bulanık mantık uygulamasıyla DC Motor Hız Kontrolü Gazi niversitesi Akeriim Bu linkte 2008 yılında Gazi Üniversitesi Fen Bilimleri Enstitüsünde yüksek lisans yapan Mohammed M.Faris adlı şahsın tezini indirebilirsiniz. İyi çalışmalar.
 

Sponsor Bağlantı

Forum istatistikleri

Konular
99,854
Mesajlar
702,442
Kullanıcılar
374,584
Son üye
wezosso

Yeni Konular

Üst