Пример #1
0
  /**
   * Devuelve el padre de la regla, su antecesor de esta
   *
   * @return Regla La regla sin el ultimo valor añadido
   */
  public Regla parentRule() {
    // generamos la nueva regla, padre de la actual
    Regla parent = new Regla(this);
    // se elimina el ultimo atributo añadido
    Atributo_valor aux = parent.antecedentes.removeLast();
    // se elimina de la lista de valores invalidos si estuviera
    parent.removeValorInv(aux.getAtributo(), aux.getValor());

    return parent;
  }
Пример #2
0
 /**
  * Compara dos reglas
  *
  * @param rule Regla regla con la que se compara
  * @return boolea Verdadero si es igual, Falso si es diferente
  */
 public boolean equals(Regla rule) {
   boolean igual = true;
   // si tiene el mismo tamaño en los antecedentes
   if (this.antecedentes.size() == rule.getAntecedente().size()) {
     for (int i = 0; i < this.antecedentes.size(); i++) {
       if (!rule.getAntecedente().get(i).equals(antecedentes.get(i))) igual = false;
     }
     if (!igual) return false;
   } else {
     return false;
   }
   // ahora se compara que tienen el mismo consecuente
   if (this.consecuente.equals(rule.getConsecuente())) return true;
   else return false;
 }
Пример #3
0
 /**
  * Contructor copia de Regla
  *
  * @param r Regla regla desde la que se copia
  */
 public Regla(Regla r) {
   antecedentes = (LinkedList) r.getAntecedente().clone();
   consecuente = r.getConsecuente();
   consistencia = r.getConsistencia();
   valoresinvalidos = (LinkedList) r.getValoresInvalidos().clone();
 }