[
https://issues.apache.org/jira/browse/MAHOUT-687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13029815#comment-13029815
]
Lance Norskog commented on MAHOUT-687:
--------------------------------------
bq. If you want setSeed() to work on MersenneTwisterRNG, that's easy with a
different one-line change that makes a new generator.
A deterministic random matrix or vector needs to set the seed for each
multiply. This fix would create too much garbage. (Each MersenneTwister has
2500 bytes!) Once you say you need Commons MersenneTwister instead, because it
has a setSeed(long), the rest of the patch ticks over.
bq. Removing Uncommons Maths is not necessarily a goal, but I'd support it.
Other chatter on the list talked about pushing uncommons out completely. One
step at a time.
bq. It's replacing seeding based on /dev/urandom or SecureRandom with a simple
increasing counter.
Oops- thought I changed that back.
.
The patch is clearly not finished. If a test fails because it relies on a
deterministic result, that's easy to fix. If a test fails otherwise, probably
the test does not supply enough data points for the algorithm to function. From
a quick look, LogLikelihoodTest may have this problem.
> Random generator objects- slight refactor
> -----------------------------------------
>
> Key: MAHOUT-687
> URL: https://issues.apache.org/jira/browse/MAHOUT-687
> Project: Mahout
> Issue Type: Improvement
> Reporter: Lance Norskog
> Priority: Minor
> Attachments: MAHOUT-687.patch
>
>
> Problems:
> * Uncommons MersenneTwisterRNG, the default RandomUtils.getRandom(), ignores
> setSeed without throwing an error.
> * The project wants to move off Uncommons anyway.
> This patch uses the org.apache.commons.math.random.RandomGenerator classes
> instead of org.apache.uncommons.maths.RepeatableRNG classes.
> Testcases: All math test cases pass except for
> org.apache.mahout.math.stats.LogLikelihoodTest.
> Other package tests fail that are mostly about testing random-oriented
> classes; not a surprise.
> Almost all tests that use random numbers in algorithms still pass; this is a
> good sign of their stability.
> .
> Still, a lot of tests have to be fiddled to make this commit.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira