Re: The two dices
- To: mathgroup at smc.vnet.net
- Subject: [mg54497] Re: The two dices
- From: Mark Fisher <mark at markfisher.net>
- Date: Tue, 22 Feb 2005 04:22:55 -0500 (EST)
- References: <cvc8dt$qte$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Apparently, dice[] + dice[] gets converted to 2 dice[] for n >= 250. To
get around this, you can define twodice[] := dice[] + dice[]
--Mark.
Antoine wrote:
> Hello,
>
> I wanted to simulate the throws of two dices and something happened I can't
> explain:
> (Mathematica 5.0 , the same occurs on Mathematica 5.1 )
>
>
> The following code is OK:
>
>
> n=300;
> theThrows = Table[Random[Integer, {1, 6}] + Random[Integer, {1, 6}], {n}];
> theStats = Table[Count[theThrows, i], {i, 2, 12}]
>
>
> the occurences, as n becomes greater and greater, looks like the Gaussian
> curve
> (sorry for my English)
>
>
> Suppose you want your dice function, and that it is defined by
>
>
> dice[]:=Random[Integer, {1, 6}] ( nothing wrong about it, I suppose )
>
>
> Now the behavior of the following code changes depending on the value of n.
> If n < 250 everything is fine ...
> hen n >= 250, then there is no occurence of odd values.
> ( the two dices never give 3, 5, ....)
>
>
> n=250;
> theThrows = Table[dice[] + dice[], {n}];
> theStats = Table[Count[theThrows, i], {i, 2, 12}]
>
>
> Does a rationnal explanation exists ? Is it a bug ?
>
>
> The two definitions ( see below ) of the dice function "makes" the code
> running properly.
> But, of course, I prefer the former definition.
>
>
> dice:=Random[Integer, {1, 6}] ( not so nice, specially if you want to have
> several dice functions)
> dice[_]:=Random[Integer, {1, 6}] ( you must give a parameter to the
> function, quite horrible )
>
>
> Thank you for your help.
> Antoine
>
>