Beispiel #1
0
  /** @param args */
  public static void main(String[] args) {
    Datos[] numeros = new Datos[3000]; // creamos una lista de objetos de tipo Datos
    try {
      // indicamos la direccion y el nombre del archivo a leer
      FileReader lector =
          new FileReader(
              "D:\\Users\\MARLON\\Documents\\UVG\\4to Semestre\\Algoritmos y Estructuras de Datos\\Hoja3\\src\\Hoja3\\texto.txt");
      // El contenido de lector se guarda en un BufferedReader
      BufferedReader contenido = new BufferedReader(lector);

      // instanciamos cada objeto y le colocamos el valor que lee del txt
      for (int a = 0; a <= 2999; a++) {
        numeros[a] = new Datos(Integer.parseInt(contenido.readLine()));
      }
      // usamos un algoritmo de sorting para ordenar la lista
      Sorting.radixSort(numeros);

      // recorremos cada objeto de la lista y luego extraemos su valor para imprimirlo
      for (Datos numero : numeros) {
        System.out.println(numero.getDato());
      }

      lector.close(); // cerramos el lector del archivo
    }
    // Si se causa un error al leer cae aqui
    catch (Exception e) {
      System.out.println("Error al leer el archivo.");
    }
  }
Beispiel #2
0
  /** Method interface for Automatic Branch and Bound */
  public void ejecutar() {
    String resultado;
    int i, numFeatures;
    Date d;

    d = new Date();
    resultado =
        "RESULTS generated at "
            + String.valueOf((Date) d)
            + " \n--------------------------------------------------\n";
    resultado += "Algorithm Name: " + params.nameAlgorithm + "\n";

    /* call of ABB algorithm */
    runABB();

    resultado += "\nPARTITION Filename: " + params.trainFileNameInput + "\n---------------\n\n";
    resultado += "Features selected: \n";

    for (i = numFeatures = 0; i < features.length; i++)
      if (features[i] == true) {
        resultado += Attributes.getInputAttribute(i).getName() + " - ";
        numFeatures++;
      }

    resultado +=
        "\n\n"
            + String.valueOf(numFeatures)
            + " features of "
            + Attributes.getInputNumAttributes()
            + "\n\n";

    resultado +=
        "Error in test (using train for prediction): "
            + String.valueOf(data.validacionCruzada(features))
            + "\n";
    resultado +=
        "Error in test (using test for prediction): "
            + String.valueOf(data.LVOTest(features))
            + "\n";

    resultado += "---------------\n";

    System.out.println("Experiment completed successfully");

    /* creates the new training and test datasets only with the selected features */
    Files.writeFile(params.extraFileNameOutput, resultado);
    data.generarFicherosSalida(params.trainFileNameOutput, params.testFileNameOutput, features);
  }
Beispiel #3
0
  /** Recursive method for ABB */
  private void abb(boolean feat[]) {
    boolean[] child;
    double measure;

    threshold = data.measureIEP(feat);

    for (int i = 0; i < cardinalidadCto(feat); i++) {
      child = removeOne(feat, i);
      measure = data.measureIEP(child);

      if (legitimate(child) && measure < threshold) {
        if (measure < data.measureIEP(features)) {
          // we keep the best found in 'features'
          System.arraycopy(child, 0, features, 0, child.length);
        }
        abb(child);
      } else { // we prune this node
        pruned.add(child);
      }
    }
  }
Beispiel #4
0
  /** Creates a new instance of ABB */
  public ABB(String ficParametros) {

    /* loads the parameter file */
    params = new Parametros(ficParametros);

    Randomize.setSeed(params.seed);

    /* loads both of training and test datasets */
    data = new Datos(params.trainFileNameInput, params.testFileNameInput, params.paramKNN);

    features = new boolean[data.returnNumFeatures()];

    pruned = new Vector<boolean[]>();
  }
  /**
   * NO SE USAN/FUNCIONAN PORQUE VEHICULO NO ES ENTITY @BodyParser.Of(BodyParser.Json.class) public
   * Result create(){ JsonNode j = Controller.request().body().asJson(); Vehiculo vehiculoN =
   * Vehiculo.bind(j); vehiculoN.save(); return ok(Json.toJson(vehiculoN)); }
   *
   * <p>public Result readAll() { List<Vehiculo> vehiculos = Vehiculo.darVehiculos(); return
   * ok(Json.toJson(vehiculos)); }
   *
   * <p>public Result readVehiculoID(String id) { Vehiculo vehiculoEncontrado = (Vehiculo)
   * Vehiculo.finder.byId(id); if(vehiculoEncontrado != null) { return
   * ok(Json.toJson(vehiculoEncontrado)); } return notFound(); }
   */
  @BodyParser.Of(BodyParser.Json.class)
  public Result agregarDatos(Long id_vehiculo, int tipo_vehiculo) {
    String mensaje;
    JsonNode j = Controller.request().body().asJson();
    Vehiculo vehiculoEncontrado =
        tipo_vehiculo == Vehiculo.TRANVIA
            ? (Vehiculo) TranviaVehiculo.finder.byId(id_vehiculo)
            : (Vehiculo) MoviBusVehiculo.finder.byId(id_vehiculo);

    if (vehiculoEncontrado != null) {
      Datos datosRecibidos = Datos.bind(j);
      datosRecibidos.setIdVehiculo(vehiculoEncontrado.getIdVehiculo());
      datosRecibidos.save();
      vehiculoEncontrado.setUltimosDatos(datosRecibidos);
      vehiculoEncontrado.save();
      if (vehiculoEncontrado.getEstado() != Vehiculo.ACCIDENTE
          && (datosRecibidos.isSensorChoque()
              || datosRecibidos.isBotonPanico()
              || datosRecibidos.getSensorTermico() > 38)) {
        // Crear  emergencia
        vehiculoEncontrado.setEstado(Vehiculo.ACCIDENTE);
        Datos ultimosDatos = vehiculoEncontrado.getUltimosDatos();
        Emergencia em =
            new Emergencia(
                0,
                ultimosDatos.getHoraMedicion(),
                "Comentarios",
                "Altitud:"
                    + ultimosDatos.getGpsAltitud()
                    + "-Latitud:"
                    + ultimosDatos.getGpsLatitud(),
                "Niv Indef/moment");
        vehiculoEncontrado.setUltimaEmergencia(em);
        vehiculoEncontrado.save();
        em.save();
      }

      return ok(Json.toJson(datosRecibidos));
    } else {
      return notFound();
    }
  }