Пример #1
0
        public Najczestszy Futwurz_najczesciej_wystepujaca_wartos_w_danej_kolumnie(string[] kolumna, int numerArgumentu)//numerArgumentu=NumerObiektu
        {
            Najczestszy n = new Najczestszy();

            n.numer_kolumny = numerArgumentu;
            int czestosc = 0;
            // string wartosc;
            var sl = new Dictionary <string, int>();

            sl = fczestosc(kolumna);
            foreach (var kvp in sl)
            {
                if (kvp.Value > czestosc)
                {
                    czestosc = kvp.Value;
                    n.czestosc_wystepowania = kvp.Value;
                    n.wartosc_najczesciej_wystepujacego_argumentu = kvp.Key;
                }
            }
            // = czestosc;
            // = wartosc;
            return(n);
        }
Пример #2
0
        public Form2(string[][] systemDecyzyjny)
        {
            InitializeComponent();
            Regula      r           = new Regula();
            Najczestszy n           = new Najczestszy();
            var         Lista_Regul = new List <Regula>();
            var         Lista_najczejsciej_wystepujacyh_argumentow = new List <Najczestszy>();
            var         Lista_unikalnych_decyzji    = new List <string>();
            var         Lista_obiektow_konceptu     = new List <int>();//jeden koncept(wszystko na jednym potem następne)
            var         Lista_obiektow_niepokrytych = new List <int>();
            var         Lista_obiektow_spelniajacych_regula_w_danej_chwili = new List <int>();

            Lista_unikalnych_decyzji = r.Flistakonceptow(systemDecyzyjny);                                                     //lista unikalnych konceptow
            for (int i = 0; i < Lista_unikalnych_decyzji.Count; i++)                                                           //ilosc unikalnych deczyjii
            {
                Lista_obiektow_konceptu = r.Fwyciagnij_numery_obiektow_konceptu(systemDecyzyjny, Lista_unikalnych_decyzji[i]); //mamy liste zawierajaca numery obiektow danego konceptu
poczatek:
                if (Lista_obiektow_konceptu.Count == 0)
                {
                    goto zmienkoncept;
                }
                for (int j = 0; j < Lista_obiektow_konceptu.Count; j++)//OBIEKTY
                {
                    string[] kolumna_konceptu = n.Kolumna_konceptu(systemDecyzyjny, Lista_obiektow_konceptu, j);
                    n = n.Futwurz_najczesciej_wystepujaca_wartos_w_danej_kolumnie(kolumna_konceptu, j);
                    Lista_najczejsciej_wystepujacyh_argumentow.Add(n);
                    //lista najczeszcziej wystepujacyhc argumentow i ich wartosci
                    //Lista unikalnych decyzjii
                    //Lista zawierajaca numery obiektow na ktore patrzymy
                }
                var Tab_Czestosc_Wartosc_NumerKol = new int[3];
                Tab_Czestosc_Wartosc_NumerKol = r.Max_Czestosc_Wartosc_NumerKol(Lista_najczejsciej_wystepujacyh_argumentow);//wiem ile wiem jakie i ktory argument
                r = r.stworzregule(Tab_Czestosc_Wartosc_NumerKol[2], Convert.ToString(Tab_Czestosc_Wartosc_NumerKol[1]), Lista_unikalnych_decyzji[i]);
                Lista_Regul.Add(r);
                // var Lista_Obiektow_spelniajacych_regule = new List<int>();
                Lista_obiektow_spelniajacych_regula_w_danej_chwili = r.KtoreObiektySpelniajaRegule(systemDecyzyjny, r);//tylko te z danego konceptu
                //goto Start;
                //for(int k=0;k<Lista_obiektow_spelniajacych_regula_w_danej_chwili.Count;k++)
Start:
                if (r.CzyRegulaNieSprzeczna(r, systemDecyzyjny) == true)
                {
                    Lista_Regul.Add(r);
                    for (int x = 0; x < Lista_obiektow_spelniajacych_regula_w_danej_chwili.Count; x++)
                    {
                        Lista_obiektow_konceptu.Remove(Lista_obiektow_spelniajacych_regula_w_danej_chwili[x]);
                    }
                    goto poczatek;
                }
                else
                {
                    Lista_najczejsciej_wystepujacyh_argumentow.Clear();//czyszczę listę przed zmiana konceptu
                    for (int j = 0; j < Lista_obiektow_spelniajacych_regula_w_danej_chwili.Count - 1; j++)
                    {
                        string[] kolumna_konceptu = n.Kolumna_konceptu(systemDecyzyjny, Lista_obiektow_spelniajacych_regula_w_danej_chwili, j);
                        n = n.Futwurz_najczesciej_wystepujaca_wartos_w_danej_kolumnie(kolumna_konceptu, j);
                        Lista_najczejsciej_wystepujacyh_argumentow.Add(n);
                    }
                    Tab_Czestosc_Wartosc_NumerKol = r.Max_Czestosc_Wartosc_NumerKol(Lista_najczejsciej_wystepujacyh_argumentow);//wiem ile wiem jakie i ktory argument
                    r.deskryptory.Add(Tab_Czestosc_Wartosc_NumerKol[2], Convert.ToString(Tab_Czestosc_Wartosc_NumerKol[1]));
                    // r = r.stworzregule(Tab_Czestosc_Wartosc_NumerKol[2], Convert.ToString(Tab_Czestosc_Wartosc_NumerKol[1]), Lista_unikalnych_decyzji[i]);
                    // var Lista_Obiektow_spelniajacych_regule = new List<int>();
                    Lista_obiektow_spelniajacych_regula_w_danej_chwili = r.KtoreObiektySpelniajaRegule(systemDecyzyjny, r);//tylko te z danego konceptu
                    goto Start;
                }
zmienkoncept:
                {
                    Lista_najczejsciej_wystepujacyh_argumentow.Clear();//czyszczę listę przed zmiana konceptu
                }
            }
        }