T - Type of items in the collection.SharedStateSampler<DiscreteProbabilityCollectionSampler<T>>public class DiscreteProbabilityCollectionSampler<T> extends java.lang.Object implements SharedStateSampler<DiscreteProbabilityCollectionSampler<T>>
CollectionSampler.
Sampling uses UniformRandomProvider.nextDouble().
| Constructor | Description |
|---|---|
DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng,
java.util.List<T> collection,
double[] probabilities) |
Creates a sampler.
|
DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng,
java.util.Map<T,java.lang.Double> collection) |
Creates a sampler.
|
| Modifier and Type | Method | Description |
|---|---|---|
T |
sample() |
Picks one of the items from the collection passed to the constructor.
|
DiscreteProbabilityCollectionSampler<T> |
withUniformRandomProvider(org.apache.commons.rng.UniformRandomProvider rng) |
Create a new instance of the sampler with the same underlying state using the given
uniform random provider as the source of randomness.
|
public DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng, java.util.Map<T,java.lang.Double> collection)
rng - Generator of uniformly distributed random numbers.collection - Collection to be sampled, with the probabilities
associated to each of its items.
A (shallow) copy of the items will be stored in the created instance.
The probabilities must be non-negative, but zero values are allowed
and their sum does not have to equal one (input will be normalized
to make the probabilities sum to one).java.lang.IllegalArgumentException - if collection is empty, a
probability is negative, infinite or NaN, or the sum of all
probabilities is not strictly positive.public DiscreteProbabilityCollectionSampler(org.apache.commons.rng.UniformRandomProvider rng, java.util.List<T> collection, double[] probabilities)
rng - Generator of uniformly distributed random numbers.collection - Collection to be sampled.
A (shallow) copy of the items will be stored in the created instance.probabilities - Probability associated to each item of the
collection.
The probabilities must be non-negative, but zero values are allowed
and their sum does not have to equal one (input will be normalized
to make the probabilities sum to one).java.lang.IllegalArgumentException - if collection is empty or
a probability is negative, infinite or NaN, or if the number
of items in the collection is not equal to the number of
provided probabilities.public T sample()
public DiscreteProbabilityCollectionSampler<T> withUniformRandomProvider(org.apache.commons.rng.UniformRandomProvider rng)
withUniformRandomProvider in interface SharedStateSampler<T>rng - Generator of uniformly distributed random numbers.Copyright © 2016–2019 The Apache Software Foundation. All rights reserved.