public override bool Equals(object obj) { // If parameter is null return false. if (obj == null) { return(false); } // If parameter cannot be cast to Dependencia return false. Dependencia p = obj as Dependencia; if ((System.Object)p == null) { return(false); } // Return true if the fields match: return(p.implicante.SetEquals(this.implicante) && p.implicados.SetEquals(this.implicados)); }
public HashSet <Dependencia> FunctionalDependeciesWithFPGrow(double confianza = 0.2) { if (confianza < 0 || confianza > 1) { throw new ArgumentOutOfRangeException(); } if (tree == null) { throw new Exception("tree is null"); } HashSet <ItemsSet <String> > result = tree.FPGrow(epsilon); HashSet <Dependencia> posiblesDependencias = new HashSet <Dependencia>(); foreach (ItemsSet <String> i in result) { if (i.Count > 1) { posiblesDependencias.UnionWith(generarDependencias(i)); } } HashSet <Dependencia> dependencias = tree.TestDependenciasV2(posiblesDependencias, confianza); HashSet <Dependencia> dependenciasNombre = new HashSet <Dependencia>(); Dictionary <string, string> dic = new Dictionary <string, string>(); StreamReader lector = new StreamReader("productos.txt"); string linea = lector.ReadLine(); while (linea != null) { string[] array = linea.Split('|'); dic.Add(array[0], array[1].Substring(1, array[1].Length - 1)); linea = lector.ReadLine(); } foreach (Dependencia d in dependencias) { ItemsSet <string> implicantes = d.Implicante; ItemsSet <String> implicantesNombre = new ItemsSet <string>(); foreach (string i in implicantes) { string value = ""; dic.TryGetValue(i, out value); implicantesNombre.Add(value); } ItemsSet <string> implicadosNombre = new ItemsSet <string>(); ItemsSet <string> implicados = d.Implicados; foreach (string idos in implicados) { string value = ""; dic.TryGetValue(idos, out value); implicadosNombre.Add(value); } Dependencia depen = new Dependencia(implicantesNombre, implicadosNombre); dependenciasNombre.Add(depen); } //return dependencias; //StringBuilder sb = new StringBuilder(); //using (StreamWriter writer = new StreamWriter(ruta)) //{ // foreach (Dependencia d in dependencias) // { // foreach (String s in d.Implicante) // { // sb.Append(s); // sb.Append(itemSeparator); // } // sb.Remove(sb.Length - 1, 1); // sb.Append(dependencySeparator); // foreach (String s in d.Implicados) // { // sb.Append(s); // sb.Append(itemSeparator); // } // sb.Remove(sb.Length - 1, 1); // writer.WriteLine(sb.ToString()); // sb.Clear(); // } //} return(dependenciasNombre); }