This is why we normally use prng's based on murmur hash for building
deterministic random vectors. Smutty and Jake can probably get you a
specific pointer before I get back to a real computer. Alternately
search for references to MurmurHash.

On Sunday, February 20, 2011, Lance Norskog <[email protected]> wrote:
> I discovered this when I wanted to make deterministic random vectors
> and matrices. To get the same result from each entry on every access,
> I can either cache the values or use an algorithm to recreate unique
> seed for that entry. I naively just added the coordinate to the base
> seed, and created very not-random vectors and matrices. Yes, the JDK
> Random is intended to be lame but fast., but this was just too far
> over the line.
>
> Lance
>
> On Sun, Feb 20, 2011 at 2:31 AM, Dawid Weiss
> <[email protected]> wrote:
>> A perhaps better question is what are you trying to prove or what was
>> your original intention? :) This is a very strange program indeed --
>> what it does is basically check what the next double value from a
>> fixed initial seed is... since random uses a relatively simple
>> congruential algorithm, the result isn't really that surprising (to
>> me?).
>>
>> Dawid
>>
>> On Sun, Feb 20, 2011 at 2:51 AM, Lance Norskog <[email protected]> wrote:
>>> What does this program print?
>>>
>>>
>>> package hack;
>>>
>>> import java.util.Random;
>>>
>>> public class JDKRandomThreatOrMenace {
>>>
>>>        public static void main(String[] args) {
>>>                Random rnd = new Random(0);
>>>
>>>                double last = rnd.nextDouble();
>>>                long i = 1;
>>>                for(; i < Long.MAX_VALUE; i++) {
>>>                        rnd.setSeed(i);
>>>                        double next = rnd.nextDouble();
>>>                        if (Math.abs(next - last) > 0.2)
>>>                                break;
>>>                }
>>>                System.out.println(i);
>>>        }
>>>
>>> }
>>>
>>> Your prize if you get it right? A patch would be welcome...
>>>
>>>
>>
>
>
>
> --
> Lance Norskog
> [email protected]
>

Reply via email to