Introduction to Continuous Probability Distributions
In this lesson, we give an introduction to continuous probability distribution.
We'll cover the following...
In the previous lesson, we described our first attempt of fixing System.Random
:
- Make every method static and thread-safe
- Draw a clear distinction between crypto-strength and pseudo-random methods
Continuous Probability Distribution
Let’s start by taking a step back and asking what we want when we’re calling NextInt
or NextDouble
or whatever on a source of randomness. What we’re saying is: we have a source of random T
s for some type T
, and the values produced will correspond to some probability distribution. We can express that very clearly in the C# type system:
public interface IDistribution<T>
{
T Sample();
}
In this lesson, we are going to look at continuous probability distributions, which we will represent as IDistribution<double>
. We’ll look at integer distributions and other possible values for type parameter T
in the upcoming lessons.
Now that we have an interface, what’s the simplest possible implementation? We have a library that produces a uniform distribution of double
s over the interval , which is called the standard continuous uniform distribution.
Here, the notation ...