package bots.mctsbot.ai.bots.bot.gametree.search.expander.sampling; import java.util.Arrays; public class StochasticUniversalSampler extends RouletteWheelSampler { public StochasticUniversalSampler() { super(); } public StochasticUniversalSampler(int nbBetSizeSamples) { super(nbBetSizeSamples); } protected double[] getStochasticSamples(int n) { RelativeBetDistribution distr = new RelativeBetDistribution(); double[] samples = new double[n]; double sample = r.nextDouble() / n; for (int i = 0; i < n; i++) samples[i] = distr.inverseCdf(sample + (double) i / n); Arrays.sort(samples); return samples; } public static void main(String[] args) { StochasticUniversalSampler s = new StochasticUniversalSampler(); double[] list = s.getStochasticSamples(8); for (int i = 0; i < list.length; i++) { System.out.println(" - " + list[i]); } } }