private double bowl_expectation() {
        // calculate the expectation for the remaining bowls
        double ret = 0;
        double sum = 0;
        for (int i = 0; i < pref.length; i++) {
            ret += (double)(pref[i]) * estimated_remainging_distribution[i];
            sum += estimated_remainging_distribution[i];
        } 
        return ret * ( bowlSize / sum );
    }