public void ateşle() { cikisChartTemizle(); /* * if (nudHassasiyet.Value == 0 || nudKirlilik.Value == 0 || nudMiktar.Value == 0) * return; */ List <int> indexler = Fonksiyonlar.KuralAteşlemeIndexBul(hassasiyetkumeAdlari, miktarkumeAdlari, kirlilikkumeAdlari); gridisaretle(indexler); indexler.Sort(); listBox1.Items.Clear(); for (int i = 0; i < indexler.Count(); i++) { kuralMandaniÇıkarımıYap(KURAL_TABANI[indexler[i]]); } deterjanKumeVeKestikleri.Clear(); hızKumeVeKestikleri.Clear(); sureKumeVeKestikleri.Clear(); for (int i = 0; i < indexler.Count(); i++) { Kural temp = KURAL_TABANI[indexler[i]]; double yükseklik = (double)listBox1.Items[i]; cıkısGrafiğiKes(temp, yükseklik); } agirlikliOrtalamaHesapla(); }
private static int indexBul(Kural temp) { for (int i = 0; i < Form1.KURAL_TABANI.Count(); i++) { if (Form1.KURAL_TABANI[i].Equals(temp)) { return(i); } } return(-1); }
private void kuralTabanıDoldur() { KURAL_TABANI.Clear(); String[] kurallarListesi = File.ReadAllLines("kural_tabanı.txt"); for (int i = 0; i < kurallarListesi.Length; i++) { String[] kural = kurallarListesi[i].Split(','); Kural temp = new Kural((i + 1), kural[0], kural[1], kural[2], kural[3], kural[4], kural[5]); KURAL_TABANI.Add(temp); mainGrid.Rows.Add(temp.Index_numarası, temp.Hassaslık, temp.Miktar, temp.Kirlilik, temp.Donus_Hizi, temp.Sure, temp.Deterjan); } }
public void kuralMandaniÇıkarımıYap(Kural kural) { double hassaslık = 0.0; double miktar = 0.0; double kirlilik = 0.0; switch (kural.Hassaslık) { case "hassas": hassaslık = (double)nudHassaslıkHassas.Value; break; case "orta": hassaslık = (double)nudHassasOrta.Value; break; case "sağlam": hassaslık = (double)nudHassaslıkSağlam.Value; break; } switch (kural.Miktar) { case "küçük": miktar = (double)nudMiktarKücük.Value; break; case "orta": miktar = (double)nudMiktarOrta.Value; break; case "büyük": miktar = (double)nudMiktarBüyük.Value; break; } switch (kural.Kirlilik) { case "küçük": kirlilik = (double)nudKirlilikKüçük.Value; break; case "orta": kirlilik = (double)nudKirlilikOrta.Value; break; case "büyük": kirlilik = (double)nudKirlilikBüyük.Value; break; } listBox1.Items.Add(Math.Min(Math.Min(kirlilik, miktar), hassaslık)); }
public static List <int> KuralAteşlemeIndexBul(List <String> hassaslıkKumeAdları, List <String> miktarKumeAdları, List <String> kirlilikKumeAdları) { List <int> ateşlenenKurallar = new List <int>(); for (int i = 0; i < hassaslıkKumeAdları.Count(); i++) { for (int j = 0; j < miktarKumeAdları.Count(); j++) { for (int k = 0; k < kirlilikKumeAdları.Count(); k++) { Kural temp = new Kural(hassaslıkKumeAdları[i], miktarKumeAdları[j], kirlilikKumeAdları[k]); ateşlenenKurallar.Add(indexBul(temp)); } } } return(ateşlenenKurallar); }
public void cıkısGrafiğiKes(Kural temp, double aralık) { switch (temp.Deterjan) { case "çok az": { if (deterjanKumeVeKestikleri.ContainsKey("çok az") && deterjanKumeVeKestikleri["çok az"] < aralık) { deterjanKumeVeKestikleri.Remove("çok az"); deterjanKumeVeKestikleri.Add("çok az", aralık); } else if (deterjanKumeVeKestikleri.ContainsKey("çok az")) { } else { deterjanKumeVeKestikleri.Add("çok az", aralık); } chrtDeterjan.Series["cıkıs"].Points.AddXY(0, aralık); chrtDeterjan.Series["cıkıs"].Points.AddXY(85, aralık); } break; case "az": { if (deterjanKumeVeKestikleri.ContainsKey("az") && deterjanKumeVeKestikleri["az"] < aralık) { deterjanKumeVeKestikleri.Remove("az"); deterjanKumeVeKestikleri.Add("az", aralık); } else if (deterjanKumeVeKestikleri.ContainsKey("az")) { } else { deterjanKumeVeKestikleri.Add("az", aralık); } chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanAzUcgen[0], aralık); chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanAzUcgen[2], aralık); } break; case "orta": { if (deterjanKumeVeKestikleri.ContainsKey("orta") && deterjanKumeVeKestikleri["orta"] < aralık) { deterjanKumeVeKestikleri.Remove("orta"); deterjanKumeVeKestikleri.Add("orta", aralık); } else if (deterjanKumeVeKestikleri.ContainsKey("orta")) { } else { deterjanKumeVeKestikleri.Add("orta", aralık); } chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanOrtaUcgen[0], aralık); chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanOrtaUcgen[2], aralık); } break; case "fazla": { if (deterjanKumeVeKestikleri.ContainsKey("fazla") && deterjanKumeVeKestikleri["fazla"] < aralık) { deterjanKumeVeKestikleri.Remove("fazla"); deterjanKumeVeKestikleri.Add("fazla", aralık); } else if (deterjanKumeVeKestikleri.ContainsKey("fazla")) { } else { deterjanKumeVeKestikleri.Add("fazla", aralık); } chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanFazla[0], aralık); chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanFazla[2], aralık); } break; case "çok fazla": { if (deterjanKumeVeKestikleri.ContainsKey("çok fazla") && deterjanKumeVeKestikleri["çok fazla"] < aralık) { deterjanKumeVeKestikleri.Remove("çok fazla"); deterjanKumeVeKestikleri.Add("çok fazla", aralık); } else if (deterjanKumeVeKestikleri.ContainsKey("çok fazla")) { } else { deterjanKumeVeKestikleri.Add("çok fazla", aralık); } chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanCokFazla[0], aralık); chrtDeterjan.Series["cıkıs"].Points.AddXY(bulanıkMantık.deterjanCokFazla[2], aralık); } break; } switch (temp.Donus_Hizi) { case "hassas": { if (hızKumeVeKestikleri.ContainsKey("hassas") && hızKumeVeKestikleri["hassas"] < aralık) { hızKumeVeKestikleri.Remove("hassas"); hızKumeVeKestikleri.Add("hassas", aralık); } else if (hızKumeVeKestikleri.ContainsKey("hassas")) { } else { hızKumeVeKestikleri.Add("hassas", aralık); } chrtHız.Series["cıkıs"].Points.AddXY(0, aralık); chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızHassasYamuk[3], aralık); } break; case "normal hassas": { if (hızKumeVeKestikleri.ContainsKey("normal hassas") && hızKumeVeKestikleri["normal hassas"] < aralık) { hızKumeVeKestikleri.Remove("normal hassas"); hızKumeVeKestikleri.Add("normal hassas", aralık); } else if (hızKumeVeKestikleri.ContainsKey("normal hassas")) { } else { hızKumeVeKestikleri.Add("normal hassas", aralık); } chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızNormalHassasUcgen[0], aralık); chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızNormalHassasUcgen[2], aralık); } break; case "orta": { if (hızKumeVeKestikleri.ContainsKey("orta") && hızKumeVeKestikleri["orta"] < aralık) { hızKumeVeKestikleri.Remove("orta"); hızKumeVeKestikleri.Add("orta", aralık); } else if (hızKumeVeKestikleri.ContainsKey("orta")) { } else { hızKumeVeKestikleri.Add("orta", aralık); } chrtHız.Series["cıkıs"].Points.AddXY(3, aralık); chrtHız.Series["cıkıs"].Points.AddXY(7, aralık); } break; case "normal güçlü": { if (hızKumeVeKestikleri.ContainsKey("normal güçlü") && hızKumeVeKestikleri["normal güçlü"] < aralık) { hızKumeVeKestikleri.Remove("normal güçlü"); hızKumeVeKestikleri.Add("normal güçlü", aralık); } else if (hızKumeVeKestikleri.ContainsKey("normal güçlü")) { } else { hızKumeVeKestikleri.Add("normal güçlü", aralık); } chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızNormalGüçlüUcgen[0], aralık); chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızNormalGüçlüUcgen[2], aralık); } break; case "güçlü": { if (hızKumeVeKestikleri.ContainsKey("güçlü") && hızKumeVeKestikleri["güçlü"] < aralık) { hızKumeVeKestikleri.Remove("güçlü"); hızKumeVeKestikleri.Add("güçlü", aralık); } else if (hızKumeVeKestikleri.ContainsKey("güçlü")) { } else { hızKumeVeKestikleri.Add("güçlü", aralık); } chrtHız.Series["cıkıs"].Points.AddXY(bulanıkMantık.hızGüçlüYamuk[0], aralık); chrtHız.Series["cıkıs"].Points.AddXY(10, aralık); } break; } switch (temp.Sure) { case "kısa": { if (sureKumeVeKestikleri.ContainsKey("kısa") && sureKumeVeKestikleri["kısa"] < aralık) { sureKumeVeKestikleri.Remove("kısa"); sureKumeVeKestikleri.Add("kısa", aralık); } else if (sureKumeVeKestikleri.ContainsKey("kısa")) { } else { sureKumeVeKestikleri.Add("kısa", aralık); } chrtSure.Series["cıkıs"].Points.AddXY(0, aralık); chrtSure.Series["cıkıs"].Points.AddXY(40, aralık); } break; case "normal kısa": { if (sureKumeVeKestikleri.ContainsKey("normal kısa") && sureKumeVeKestikleri["normal kısa"] < aralık) { sureKumeVeKestikleri.Remove("normal kısa"); sureKumeVeKestikleri.Add("normal kısa", aralık); } else if (sureKumeVeKestikleri.ContainsKey("normal kısa")) { } else { sureKumeVeKestikleri.Add("normal kısa", aralık); } chrtSure.Series["cıkıs"].Points.AddXY(22, aralık); chrtSure.Series["cıkıs"].Points.AddXY(60, aralık); } break; case "orta": { if (sureKumeVeKestikleri.ContainsKey("orta") && sureKumeVeKestikleri["orta"] < aralık) { sureKumeVeKestikleri.Remove("orta"); sureKumeVeKestikleri.Add("orta", aralık); } else if (sureKumeVeKestikleri.ContainsKey("orta")) { } else { sureKumeVeKestikleri.Add("orta", aralık); } chrtSure.Series["cıkıs"].Points.AddXY(40, aralık); chrtSure.Series["cıkıs"].Points.AddXY(75, aralık); } break; case "normal uzun": { if (sureKumeVeKestikleri.ContainsKey("normal uzun") && sureKumeVeKestikleri["normal uzun"] < aralık) { sureKumeVeKestikleri.Remove("normal uzun"); sureKumeVeKestikleri.Add("normal uzun", aralık); } else if (sureKumeVeKestikleri.ContainsKey("normal uzun")) { } else { sureKumeVeKestikleri.Add("normal uzun", aralık); } chrtSure.Series["cıkıs"].Points.AddXY(58, aralık); chrtSure.Series["cıkıs"].Points.AddXY(92, aralık); } break; case "uzun": { if (sureKumeVeKestikleri.ContainsKey("uzun") && sureKumeVeKestikleri["uzun"] < aralık) { sureKumeVeKestikleri.Remove("uzun"); sureKumeVeKestikleri.Add("uzun", aralık); } else if (sureKumeVeKestikleri.ContainsKey("uzun")) { } else { sureKumeVeKestikleri.Add("uzun", aralık); } chrtSure.Series["cıkıs"].Points.AddXY(73, aralık); chrtSure.Series["cıkıs"].Points.AddXY(95, aralık); } break; } }
public override bool Equals(object obj) { Kural temp = (Kural)obj; return(this.Hassaslık == temp.Hassaslık && this.Miktar == temp.Miktar && this.Kirlilik == temp.Kirlilik); }