public List <List <string> > Reduccion(List <List <string> > listafinal, List <List <string> > listainit) { int cont = 0; foreach (List <string> elemento in listafinal) { if (listainit.Contains(elemento)) { cont++; } if (cont == listafinal.Count()) { return(null); } } foreach (List <string> e1 in listainit) { foreach (string e2 in e1) { string elementoant = e2; foreach (List <string> elemento1 in listainit) { foreach (string elemento2 in elemento1) { string negacionE = "-" + elementoant; if (elemento1.Contains(negacionE) && elemento1.Contains(elementoant)) { ListarReglas.Remove(listainit); return(listafinal); } } } } } foreach (List <string> e1 in listafinal) { foreach (string e2 in e1) { string negacionE = "-" + e2; foreach (List <string> elemento1 in listainit) { foreach (string elemento2 in elemento1) { if (elemento1.Contains(negacionE)) { elemento1.Remove(negacionE); e1.Remove(e2); foreach (string valor in e1) { elemento1.Add(valor); } } } } } } return(listainit); }
public void Base_de_Conocimiento(List <List <string> > lista) { ListarReglas.Add(lista); }