示例#1
0
        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();
        }
示例#2
0
 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);
 }
示例#3
0
 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);
     }
 }
示例#4
0
        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));
        }
示例#5
0
        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);
        }
示例#6
0
        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;
            }
        }
示例#7
0
        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);
        }