private double[] smooth_bowl(int[] bowl) {
        double[] ret = new double[bowl.length];
        int count_of_zero = 0;
        for (int i = 0 ; i < bowl.length; i++ ) {
            if ( 0 == bowl[i]) {
                count_of_zero++;
            }
            ret[i] = (double)(bowl[i]);
        }
        double smoothing_count = smoothing_factor * 
                                (double)(count_of_zero) /
                                (double)(bowl.length - count_of_zero);

        for (int i = 0 ; i < bowl.length; i++ ) {
            if ( 0 == bowl[i]) {
                ret[i] += smoothing_factor;
            }
            else {
                ret[i] -= smoothing_count;
            }
        }
        return ret;
    }