If a categorical distribution has k distinct values, traditional approaches will require O(k) work to pick an outcome with the correct probabilities. This algorithm uses conditional probability to construct a table which will yield outcomes with the correct probabilities. Table generation requires O(k) time, but subsequent generation is done in O(1) time.
Required Ruby Version
>= 2.6.0
Authors
Paul J Sanchez
Versions
-
4.0.1
-
source
- 4.0.1 source March 08, 2023 (6 KB)
-
-
4.0.0
-
source
- 4.0.0 source January 24, 2023 (6 KB)
-
-
3.1.0
-
source
- 3.1.0 source September 10, 2018 (6.5 KB)
-
-
3.0.3
-
source
- 3.0.3 source September 10, 2015 (6.5 KB)
-
-
3.0.2
-
source
- 3.0.2 source April 20, 2015 (6.5 KB)
-