Re: The two dices
- To: mathgroup at smc.vnet.net
- Subject: [mg54508] Re: The two dices
- From: Peter Pein <petsie at arcor.de>
- Date: Tue, 22 Feb 2005 04:23:05 -0500 (EST)
- References: <cvc8dt$qte$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
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
>
>
Salut Antoine,
have a look at
Table[d[]+d[],{3}]
==>
{2 d[],2 d[],2 d[]}
If you define twoDices[]:=dice[]+dice[] or - for an arbitrary number of
dices - dices[k_]:=Plus@@Table[dice[],{k}], everything works as
expected. But don't ask me, why this phenomenon occurs for n>=250 but
not for smaller values of n.
--
Peter Pein
Berlin