public void inferir(BaseReglas baseCon) throws IOException
    {
        baseCon.cargar();
        Archivos a = new Archivos();
        float min = 1,temp=1;
        int i;
        
        while(baseCon.tieneRegistros())
        {
            //Obtener regla
            baseCon.siguienteRegla();
            
            for (i = 0; i < baseCon.noAnt(); i++) 
            {
                //Obtener grados de pertenencia de cada uno
                temp = buscar(baseCon.nombreAntecedente(i),baseCon.etiquetaRegla(i),varDifusa);
                    
                //Calcular el mínimo
                min = Math.min(min,temp);   
                
                //System.out.println("\tValor de la regla: " +min);
            }
            
        //Asignar al(a los) consecuente(s) el máximo entre su valor anterior y el minimo
            
            for (int j = 0; j < baseCon.noCon(); j++) 
            {
                    temp = buscar(baseCon.nombreConsecuente(j),baseCon.etiquetaConsec(j),salDifusa);
                    if(temp < min || temp == 0.0f)
                        inserta(baseCon.nombreConsecuente(j),baseCon.etiquetaConsec(j),min);
            }
        //Fin de reglas        
        //Salida difusa
        }   
    }