1. Suggestion for 2.4+: Mersenne Twister

Hi all,

Here's an idea I want to toss out, to
Rob for future versions of Euphoria:

While Eu's pseudorandom algorithm is
adequate for most purposes, I've found
a good deal of "pattern" in the results
when used "en masse".

I would suggest that Rob switch to
using the Mersenne Twister; it has
numerous advantages over most other
algorithms. I would make use of it in
IGT myself, with the Euphoria translation
of MT, but an interpreted algorithm
appears to be too slow.

Downside: it could break code. But then
hopefully any software that *depends*
on rand() for consistency would have
taken into account the idea that the
random-number generator could change.

Rod Jackson

new topic     » topic index » view message » categorize

2. Re: Suggestion for 2.4+: Mersenne Twister

Rod Jackson writes:
> I would suggest that Rob switch to
> using the Mersenne Twister; it has
> numerous advantages over most other
> algorithms. 

Thanks for the suggestion.
I know of a few user programs that would
break if I changed the random number generator.
I also wonder if Mersenne would be significantly
slower than what we have now. I haven't measured
anything, but at first glance there seems to be
a lot more computation going on than with the current rand().

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Suggestion for 2.4+: Mersenne Twister

<snip>

> I would suggest that Rob switch to
> using the Mersenne Twister; it has
> numerous advantages over most other
> algorithms. I would make use of it in
> IGT myself, with the Euphoria translation
> of MT, but an interpreted algorithm
> appears to be too slow.

<snip>

> Rod Jackson

Maybe it would be worth implementing it in Assembly and just calling
it from eu code?

Thomas Parslow (PatRat) ICQ #:26359483
Rat Software
http://www.rat-software.com/
Please leave quoted text in place when replying

new topic     » goto parent     » topic index » view message » categorize

4. Re: Suggestion for 2.4+: Mersenne Twister

On 12 Sep 2001, at 16:53, Robert Craig wrote:

> 
> Rod Jackson writes:
> > I would suggest that Rob switch to
> > using the Mersenne Twister; it has
> > numerous advantages over most other
> > algorithms. 
> 
> Thanks for the suggestion.
> I know of a few user programs that would
> break if I changed the random number generator.
> I also wonder if Mersenne would be significantly
> slower than what we have now. I haven't measured
> anything, but at first glance there seems to be
> a lot more computation going on than with the current rand().

Yea, Rod, sheesh! When we call rand(), we do it to get the cpu to execute a 
short burst of code fast, not to get a real random number!

Kat

new topic     » goto parent     » topic index » view message » categorize

5. Re: Suggestion for 2.4+: Mersenne Twister

Rod, would you explain the Mersenne Twister algorithm?
Thanks.
----- Original Message ----- 
From: "Rod Jackson" <rodjackson_x at hotmail.com>
To: "EUforum" <EUforum at topica.com>
Subject: Suggestion for 2.4+: Mersenne Twister


> 
> 
> Hi all,
> 
> Here's an idea I want to toss out, to
> Rob for future versions of Euphoria:
> 
> While Eu's pseudorandom algorithm is
> adequate for most purposes, I've found
> a good deal of "pattern" in the results
> when used "en masse".
> 
> I would suggest that Rob switch to
> using the Mersenne Twister; it has
> numerous advantages over most other
> algorithms. I would make use of it in
> IGT myself, with the Euphoria translation
> of MT, but an interpreted algorithm
> appears to be too slow.
> 
> Downside: it could break code. But then
> hopefully any software that *depends*
> on rand() for consistency would have
> taken into account the idea that the
> random-number generator could change.
> 
> Rod Jackson
> 
> 
>

new topic     » goto parent     » topic index » view message » categorize

6. Re: Suggestion for 2.4+: Mersenne Twister

Rod Jackson writes:
> Anyhow, as I said the Twister's version
> of rand() seems to be a very superior
> algorithm to the C standard, with many
> advantages:

1. I don't think there is any C standard for the algorithm 
   used in rand(). ANSI specifies only the minimum range 
   of values returned.

2. Euphoria has its own rand() implementation.
    It does not call the rand() function in any C library.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu