public static double[] createRandomDistributionProbabilistWithNoZero(int size, int precision) {
        double[] distribution = new double[size];
        int minimum = (int)Math.pow(precision, 0.2);
        for (int i = 0; i < distribution.length; i++) {
            distribution[i] += minimum;
        }
        
        double somme = precision;
        precision -= minimum * size;
        while (precision > 0) {
            // on selectionne un indice au hasard qu'on incrémente d'un nombre au hasard
            int increment = rand.nextInt(precision + 1);
            precision -= increment;
//            System.out.println("precision : "+precision);
            int ir = rand.nextInt(size);
            distribution[ir] += increment;
        }

        for (int i = 0; i < distribution.length; i++) {
            distribution[i] = distribution[i] / somme;
        }
        return distribution;
    }