Example #1
0
  /* Calcula el grado de compatibilidad (Ri(ek)) de la regla con el ejemplo */
  public double ReglaCubreEjemplo(Difuso[] R, double[] ejem) {
    int i;
    double minimo;

    for (i = 0; i < tabla.n_variables; i++)
      grado_pertenencia[i] = base_reglas.Fuzzifica(ejem[i], R[i]);

    minimo = 1;
    for (i = 0; i < tabla.n_variables; i++)
      if (grado_pertenencia[i] < minimo) minimo = grado_pertenencia[i];

    return (minimo);
  }
Example #2
0
  /* Errores Cuadratico y Lineal */
  void Error_tst(MiDataset tabla_tst) {
    int i, j;
    double suma1, suma2, fuerza;

    for (j = 0, suma1 = suma2 = 0.0; j < tabla_tst.long_tabla; j++) {
      fuerza = base_reglas.FLC(tabla_tst.datos[j].ejemplo);
      suma1 += Math.pow(tabla_tst.datos[j].ejemplo[tabla.n_var_estado] - fuerza, 2.0);
      suma2 += Math.abs(tabla_tst.datos[j].ejemplo[tabla.n_var_estado] - fuerza);
    }

    EC = suma1 / (double) tabla_tst.long_tabla;
    EL = suma2 / (double) tabla_tst.long_tabla;
  }
Example #3
0
  /* Error Cuadratico */
  double ErrorCuadratico() {
    int i;
    double suma;

    for (i = 0, suma = 0.0; i < tabla.long_tabla; i++)
      suma +=
          0.5
              * Math.pow(
                  tabla.datos[i].ejemplo[tabla.n_var_estado]
                      - base_reglas.FLC(tabla.datos[i].ejemplo),
                  2.0);

    return (suma / (double) tabla.long_tabla);
  }
Example #4
0
  /* salida */
  public String getSalidaObli(MiDataset tabla_datos) {
    int j;
    double fuerza;
    String salida;

    salida = "@data\n";
    for (j = 0; j < tabla_datos.long_tabla; j++) {
      fuerza = base_reglas.FLC(tabla_datos.datos[j].ejemplo);
      salida +=
          (tabla_datos.datos[j]).ejemplo[tabla_datos.n_var_estado] + " " + fuerza + " " + "\n";
    }

    salida = salida.substring(0, salida.length() - 1);

    return (salida);
  }