double root = Math.sqrt(nbSamplesEst);
nbCommunitySamples = (int) (root * rollout.nbMissingCommunityCards / 2);
nbOpponentSamples = (int) (root * 2 / rollout.nbMissingCommunityCards);
}
RolloutResult result = rollout.doRollOut(nbCommunitySamples, nbOpponentSamples);
int stackSize = rollout.botState.getStack();
informListeners(result.getValues(), result.getTotalProb(), rollout.gamePotSize, stackSize);
double mean = result.getMean();
double var = result.getVariance(mean, nbOpponentSamples * nbCommunitySamples);
valueDistribution = new Distribution(stackSize + mean, var);
}
return valueDistribution;
}