Extreme Optimization >
User's Guide >
Statistics Library >
Discrete Probability Distributions >
The Discrete Uniform Distribution
Extreme Optimization User's Guide
User's Guide
Up: Discrete Probability Distributions Next: Hypothesis Tests Previous: The Poisson Distribution Contents
The Discrete Uniform Distribution
The uniform distribution models a situation where a fixed number
of outcomes all have an equal probability of occurring.
A uniform distribution has two parameters: the lower limit and
the upper limit. The upper limit is exclusive, which means the
highest possible value is actually one less than the upper
limit.
Examples of the uniform distribution are:
- Coin tossing when the coin is known to be unbiased has a
uniform distribution with two possible values: 0 ('heads') and 1
('tails'). The lower limit is 0. The upper limit is 2.
- When rolling dice, the score has a uniform distribution with
lower limit 1 and upper limit 7.
- When choosing an element at random from a collection of
n elements, the (zero-based) index has a uniform
distribution with lower limit 0 and upper limit n.
The discrete uniform distribution is implemented by the
DiscreteUniformDistribution
class. It has two constructors. The first constructor takes one
parameter: the upper limit of the distribution. This limit is
exclusive. A sample from the distribution is always strictly
smaller than the upper limit. The following constructs a discrete
uniform distribution with variates in the range 0 to 4,
inclusive:
| C# | Copy Code |
DiscreteUniformDistribution uniform1 = new DiscreteUniformDistribution(5); |
| Visual Basic | Copy Code |
Dim uniform1 As DiscreteUniformDistribution = New DiscreteUniformDistribution(5) |
The second constructor has two parameters. The first parameter
is the lower limit for the distribution. The second parameter is
the upper limit of the distribution. The following constructs a
discrete uniform distribution for the number of eyes when rolling
one dye:
| C# | Copy Code |
DiscreteUniformDistribution uniform2 = new DiscreteUniformDistribution(1, 7); |
| Visual Basic | Copy Code |
Dim uniform2 As DiscreteUniformDistribution = New DiscreteUniformDistribution(1, 7) |
The DiscreteUniformDistribution class has two
specific properties,
Minimum and
Maximum, which return the lower and upper limits of
the distribution.
DiscreteUniformDistribution has one static
(Shared in Visual Basic) method,
GetRandomVariate, which generates a random variate
using a user-supplied uniform random number generator. It has two
overloads, corresponding to each of the two constructors.
| C# | Copy Code |
MersenneTwister random = new MersenneTwister();
double variate1 = DiscreteUniformDistribution.GetRandomVariate(random, 4);
double variate2 = DiscreteUniformDistribution.GetRandomVariate(random, 1, 7); |
| Visual Basic | Copy Code |
Dim random As MersenneTwister = New MersenneTwister()
Dim variate1 As Double = DiscreteUniformDistribution.GetRandomVariate(random, 4)
Dim variate2 As Double = DiscreteUniformDistribution.GetRandomVariate(random, 1, 7) |
The above example uses the Mersenne
Twister to generate uniform random numbers.
For details of the properties and methods common to all discrete
probability distribution classes, see the topic on DiscreteDistribution
class.
Up: Discrete Probability Distributions Next: Hypothesis Tests Previous: The Poisson Distribution Contents
Copyright 2004-2008,
Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M
Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual
Studio.NET, and the Visual Studio Logo are registered trademarks of Microsoft Corporation