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

Konusu 'Bulanık Mantık (Fuzzy Logic)' forumundadır ve musa_ tarafından 12 Kasım 2013 başlatılmıştır.


  1. musa_

    musa_ Üye

    Katılım:
    12 Kasım 2013
    Mesajlar:
    10
    Beğenilen Mesajları:
    1
    Ödül Puanları:
    3
    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.
     
  2. sose

    sose Üye

    Katılım:
    24 Kasım 2013
    Mesajlar:
    3
    Beğenilen Mesajları:
    0
    Ödül Puanları:
    1
    Kolay gelsin
     
  3. musa_

    musa_ Üye

    Katılım:
    12 Kasım 2013
    Mesajlar:
    10
    Beğenilen Mesajları:
    1
    Ödül Puanları:
    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);
     
  4. sose

    sose Üye

    Katılım:
    24 Kasım 2013
    Mesajlar:
    3
    Beğenilen Mesajları:
    0
    Ödül Puanları:
    1
    vay muhteşem yaa nasıl degerlendire bilirim bakıyım bii
     
  5. musa_

    musa_ Üye

    Katılım:
    12 Kasım 2013
    Mesajlar:
    10
    Beğenilen Mesajları:
    1
    Ödül Puanları:
    3
    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.
     
  6. komkom

    komkom Üye

    Katılım:
    27 Şubat 2013
    Mesajlar:
    13
    Beğenilen Mesajları:
    0
    Ödül Puanları:
    1
    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.
     
Yüklüyor...
Benzer Konular
  1. antugari
    Mesaj:
    6
    Görüntüleme:
    2.850
  2. sefaxxxxx
    Mesaj:
    0
    Görüntüleme:
    2.293
  3. zhr_a
    Mesaj:
    2
    Görüntüleme:
    3.901
  4. pcMühendis
    Mesaj:
    0
    Görüntüleme:
    2.066
  5. ohmckm
    Mesaj:
    7
    Görüntüleme:
    3.121
  6. vatansever44
    Mesaj:
    3
    Görüntüleme:
    2.109
  7. yusufgani.27
    Mesaj:
    6
    Görüntüleme:
    2.104
  8. gozkayar
    Mesaj:
    6
    Görüntüleme:
    7.058
  9. MuraTh
    Mesaj:
    5
    Görüntüleme:
    6.144
  10. MuraTh
    Mesaj:
    48
    Görüntüleme:
    57.330

Sayfayı Paylaş