private void button2_Click(object sender, EventArgs e) { Deskryptor desk = new Deskryptor(); Dictionary <string, int> slownik = new Dictionary <string, int>(); List <Regula3> reguly = new List <Regula3>(); List <Deskryptor> pDeskryptory = new List <Deskryptor>(); string[][] test; foreach (var decyzje in fUnkialnosc(fKolumna(systemDecyzyjny, ostatni))) { List <int> maska1 = new List <int>(); List <int> maska2 = new List <int>(); foreach (var m in maska(konceptFinall(decyzje))) { maska1.Add(m); } string[][] tb; do { pDeskryptory.Clear(); if (maska1.Count() != konceptFinall(decyzje).Count()) { tb = konceptBezPok(konceptFinall(decyzje), maska1); desk = fMaxCalosc(konceptBezPok(konceptFinall(decyzje), maska1), pDeskryptory); } else { desk = fMaxCalosc(konceptFinall(decyzje), pDeskryptory); } Regula3 r = new Regula3(decyzje, desk); do { if (!r.czyRegulaSprzeczna(systemDecyzyjny)) { pDeskryptory.Add(desk); desk = fMaxCalosc(konceptPoPokryciu(konceptFinall(decyzje), maska2), pDeskryptory); r = dodajDeskryptor(r, desk); maska2.Clear(); foreach (var m in maska(konceptFinall(decyzje))) { maska2.Add(m); } maska2 = r.generujPokjrycie(konceptFinall(decyzje), maska2); if (r.czyRegulaSprzeczna(systemDecyzyjny)) { r.SupportReguly(systemDecyzyjny); reguly.Add(r); maska1 = r.generujPokjrycie(konceptFinall(decyzje), maska1); } } else { r.SupportReguly(systemDecyzyjny); reguly.Add(r); maska1 = r.generujPokjrycie(konceptFinall(decyzje), maska1); } } while (!r.czyRegulaSprzeczna(systemDecyzyjny)); } while (maska1.Count() != 0); } foreach (var reg in reguly) { wynik.Text += reg.ToString(); } }
public Regula3 dodajDeskryptor(Regula3 regula, Deskryptor desk) { regula.deskryptor.Add(desk); return(regula); }