Re: SeedRandom and $SessionID
- To: mathgroup at smc.vnet.net
- Subject: [mg58629] Re: SeedRandom and $SessionID
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Sun, 10 Jul 2005 16:51:53 -0400 (EDT)
- Organization: The Open University, Milton Keynes, England
- References: <dao1jp$b6d$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Kerry Kim wrote: > Hi Everyone, > > I'm doing some Monte-Carlo simulations on a cluster. Since by default > the random number seed is based on the system time, I sometimes get the > same seed being used in multiple Kernels if they're launched > simultaneously from a shell script (something to avoid). Is there any > danger in using $SessionID as the random number seed? Also, does anyone > know the bounds on $SessionID (compared to the bounds on the random > number seed) are and whether the processID is included in the > calculation of $SessionID? Alternatively, has anyone worked out a good > way to seed the random number generator in Mathematica? > > Thank you! > -Kerry Kim > Hi Kerry, Since *SeedRandom* can use a string as parameter, you can build a seed with a combination of absolute time and specific machine/session/process information. For example In[1]:= $MachineID Out[1]= "6102-07761-35533" In[2]:= $ProcessID Out[2]= 2692 In[3]:= $SessionID Out[3]= 21823539906304522724 In[4]:= seed = StringJoin[$MachineID, ToString[$SessionID], ToString[$ProcessID], ToString[AbsoluteTime[]]] Out[4]= "6102-07761-35533218235399063045227242692 \ 9\n3.3300079210000000 10" In[5]:= SeedRandom[seed] In[6]:= Random[] Out[6]= 0.38715300837241634 Hope this helps, /J.M.