private void nud_Hassaslik_ValueChanged(object sender, EventArgs e)
        {
            // Kullanıcıdan almış olduğum değerleri alıyoruz
            Hassaslik hassaslik = new Hassaslik((double)nud_Hassaslik.Value);
            Miktar    miktar    = new Miktar((double)nud_Miktar.Value);
            Kirlilik  kirlilik  = new Kirlilik((double)nud_Kirlilik.Value);

            FuzzyLogic fuzzyLogic = new FuzzyLogic(hassaslik, miktar, kirlilik);

            // Sonuçların Gösterilmesi
            label13.Text = fuzzyLogic.sonuclar[0].ToString();
            label14.Text = fuzzyLogic.sonuclar[1].ToString();
            label15.Text = fuzzyLogic.sonuclar[2].ToString();


            for (int i = 0; i < 27; i++)
            {
                dgw_Veriler.Rows[i].Selected = false;
            }
            // Datagridviewda işaretleme
            for (int i = 0; i < Kurallar.dgwId.Count; i++)
            {
                dgw_Veriler.Rows[Kurallar.dgwId[i] - 1].Selected = true;
            }

            lbl_Hassaslik.Text = hassaslik.HassasDurum();
            lbl_Miktar.Text    = miktar.MiktarDurum();
            lbl_Kirlilik.Text  = kirlilik.KirlilikDurum();
        }
Пример #2
0
        public FuzzyLogic(Hassaslik hassaslik, Miktar miktar, Kirlilik kirlilik)
        {
            this.hassaslik = hassaslik;
            this.miktar    = miktar;
            this.kirlilik  = kirlilik;

            Fuzzy();
        }
        public Kurallar(Hassaslik hassaslik, Miktar miktar, Kirlilik kirlilik)
        {
            this.hassaslik = hassaslik;
            this.miktar    = miktar;
            this.kirlilik  = kirlilik;

            this.donusHizi = new DonusHizi();
            this.sure      = new Sure();
            this.deterjan  = new Deterjan();

            List <double> derece = new List <double>();

            dgwId.Clear();
            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //1
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Kısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("ÇokAz", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);

                dgwId.Add(1);
            }


            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //2
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Kısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Az", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(2);
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //3
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalKısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(3);
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //4
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Kısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(4);
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //5
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalKısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(5);
            }
            else
            {
                if (dgwId.Contains(5))
                {
                    dgwId.RemoveAt(5);
                }
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                // 6
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(6);
            }
            else
            {
                if (dgwId.Contains(5))
                {
                    dgwId.RemoveAt(5);
                }
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                // 7
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalKısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(7);
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //8
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(8);
            }

            if (hassaslik.hassaslikDurumu.Contains("Hassas") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                // 9
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalUzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(9);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //10
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalKısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Az", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(10);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //11
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("Kısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(11);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //12
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalGuclu", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(12);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //13
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalHassas", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalKısa", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(13);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //14
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(14);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //15
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Uzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(15);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //16
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(16);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //17
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalUzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(17);
            }

            if (hassaslik.hassaslikDurumu.Contains("Orta") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //18
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Hassas", tempMamdani[0]);
                sure.BulanikKumeEkle("Uzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("CokFazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(18);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //19
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Az", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(19);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //20
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalGuclu", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(20);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Küçük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //21
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Guclu", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalUzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(21);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //22
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Orta", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(22);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //23
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalGuclu", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalUzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Orta", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(23);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Orta") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //24
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Guclu", tempMamdani[0]);
                sure.BulanikKumeEkle("Orta", tempMamdani[0]);
                deterjan.BulanikKumeEkle("CokFazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(24);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Küçük"))
            {
                //25
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalGuclu", tempMamdani[0]);
                sure.BulanikKumeEkle("NormalUzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(25);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Orta"))
            {
                //26
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("NormalGuclu", tempMamdani[0]);
                sure.BulanikKumeEkle("Uzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("Fazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(26);
            }

            if (hassaslik.hassaslikDurumu.Contains("Sağlam") &&
                miktar.miktarDurumu.Contains("Büyük") &&
                kirlilik.kirlilikDurumu.Contains("Büyük"))
            {
                //27
                List <double> tempMamdani = mamdaniTemp();

                donusHizi.BulanikKumeEkle("Guclu", tempMamdani[0]);
                sure.BulanikKumeEkle("Uzun", tempMamdani[0]);
                deterjan.BulanikKumeEkle("CokFazla", tempMamdani[0]);

                Output cikti = new Output(donusHizi, sure, deterjan);
                output.Add(cikti);
                dgwId.Add(27);
            }
        }
Пример #4
0
 public Input(Hassaslik hassaslik, Miktar miktar, Kirlilik kirlilik)
 {
     this.hassaslik = hassaslik;
     this.miktar    = miktar;
     this.kirlilik  = kirlilik;
 }