Re: RandomReal gets stuck
- To: mathgroup at smc.vnet.net
- Subject: [mg100311] Re: RandomReal gets stuck
- From: Mark Fisher <particlefilter at gmail.com>
- Date: Mon, 1 Jun 2009 07:04:28 -0400 (EDT)
- References: <gvq0eu$n31$1@smc.vnet.net> <gvtmeb$gdh$1@smc.vnet.net>
On May 31, 6:33 am, "Sjoerd C. de Vries" <sjoerd.c.devr... at gmail.com> wrote: > Hi Bas, > > I can confirm this bug. > > Executing an even simpler version, namely > > Maximize[Plus @@ Table[y[i], {i, 31}], Table[y[i], {i, 31}]]; > > will also set the random generator to a fixed starting point. The > number 31 is crucial, as lower values do not appear to cause the bug, > while higher values do. Changing Plus to Times appears to prevent the > bug. > > In[394]:= Table[ > Maximize[Plus @@ Table[y[i], {i, 31}], Table[y[i], {i, 31}]]; > RandomReal[], > {20} > ] > > During evaluation of In[394]:= Maximize::natt: The maximum is not > attained at any point satisfying the given constraints. >> > > Out[394]= {0.455719, 0.455719, 0.455719, 0.455719, 0.455719, \ > 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, > \ > 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, 0.455719, > \ > 0.455719} > > This is very nasty, as a lot of people critically depend on random > functions to be random. I would urge you to report this to wolfram > support. > > Cheers -- Sjoerd > > On May 30, 3:00 am, Bas Straatman <bastr... at ucalgary.ca> wrote: > > > Hi, > > > For a simulation of a stochastic process I am making use of RandomReal. > > I noticed that at some point during the simulation the output of > > RandomReal[] becomes fixed. For some reason, totally beyond my > > comprehension, every time after I execute an optimization the > > RandomReal[] generates the same series of random numbers: > > > In[217]:= optimalactivity > > > Out[217]= {24, 336/25, 616/25, 32/5, 28/5, 76/25, 4, 8, 8, 4/5, 0, 0,= \ > > 0, 0, 0, 4/5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ > > 0, 0, 0, 0, 0, 12, 28, 80, 0, 104/3, 0, 234/125, 0, 0, 0, 0, 4, 0, 0, \ > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} > > > In[218]:= RandomReal[] > > > Out[218]= 0.455719 > > > In[219]:= RandomReal[] > > > Out[219]= 0.977826 > > > In[220]:= RandomReal[] > > > Out[220]= 0.943215 > > > In[221]:= RandomReal[] > > > Out[221]= 0.962216 > > > In[222]:= RandomReal[] > > > Out[222]= 0.302348 > > > In[223]:= optimalactivity > > > Out[223]= {24, 336/25, 616/25, 32/5, 28/5, 76/25, 4, 8, 8, 4/5, 0, 0,= \ > > 0, 0, 0, 4/5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ > > 0, 0, 0, 0, 0, 12, 28, 80, 0, 104/3, 0, 234/125, 0, 0, 0, 0, 4, 0, 0, \ > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} > > > In[224]:= RandomReal[] > > > Out[224]= 0.455719 > > > In[225]:= RandomReal[] > > > Out[225]= 0.977826 > > > In[226]:= RandomReal[] > > > Out[226]= 0.943215 > > > In[227]:= RandomReal[] > > > Out[227]= 0.962216 > > > In[228]:= RandomReal[] > > > Out[228]= 0.302348 > > > optimalactivity simpy calculates an optimum allocation of resources: > > > optimalactivity := Table[y[i], {i, Length[inputmatrix]}] /. Ma= xi= > mize[ > > Plus @@ (Table[y[i], {i, Length[inputmatrix]}].(outputmatri= x = > - > > inputmatrix))[[consumables - 2]], CONDITIONS , > > Table[y[i], {i, Length[inputmatrix]}]][[2]] > > > There is no SeedRandom[] anywhere to be found. > > > Any ideas how this is possible? Thanks. > > > Bas Straatman > > Very disturbing. Dan, Rob, Darren: Any ideas as to what's going on and how to avoid it until it's fixed (soon, I hope). --Mark