Comment on Soup of Theseus
TranquilTurbulence@lemmy.zip 2 days agoWow, someone actually bothered to do it properly! I just wrote some horrible R code and ended up with 1146 spoons to get to 50% probability of having either 1 or 0 soup molecules. So good to see that the answers were so close.
NeatNit@discuss.tchncs.de 2 days ago
:)
What I would like to do is give a margin of error, e.g. “there is a 95% change that it will be between spoonful 1000 and spoonful 1300” or something like that. But I don’t have the time to figure that out now, sounds like it would be harder to figure out than the expected value.
TranquilTurbulence@lemmy.zip 1 day ago
Ok, I couldn’t resist. Here are the results of running that simulation 6000 times.
histogram
This means that about half the time it’s somewhere between 1126 and 1157 spoons.
FYI: /u/protist@mander.xyz, /u/Sabin10@lemmy.world, /u/neo2478@sh.itjust.works
NeatNit@discuss.tchncs.de 1 day ago
By the way, how did you actually stimulate it? Surely you didn’t keep 10^25 variables in memory…
TranquilTurbulence@lemmy.zip 1 day ago
I thought of making a vector with a length of about 1.671398e+25, but then I remembered what one time when when I tried to make a linear model with hundreds of dimensions. So yeah… We have gigabytes of RAM, and it’s still not enough. Not really a problem, as long as you don’t try to do anything completely ridiculous.
Instead, I just made a variable that simply contains the number of soup molecules and another one for the number of water molecules. Far simpler that way.
Here’s where the magic happens:
The rbinom function is used to generate random numbers from a binomial distribution. It’s a discrete probability distribution that models the number of successes, i.e. scooping out a soup molecule. Rest of the codes is just basic infrastructure like variables, loops, etc.
BTW the variable names look ugly, because I couldn’t be bothered to tidy everything up. I really prefer camelCase, whereas Mistral seems to prefer underscores. That’s what you get for vibing.
Side note: If you do this kind of stuff for private purposes, you have to rely on your own hardware. If you plan to publish your discoveries, universities and publicly funded supercomputers might be an option. If there exists a Journal Of Recreational Mathematics And Useless Simulations (JORMAUS), I could totally publish this stuff and maybe even run my code on a supercomputer.
NeatNit@discuss.tchncs.de 1 day ago
You rock! Thank you :)
If I find myself in the right mood I might try to work out the actual distribution. If I do, your simulation will be a very handy sanity check!
TranquilTurbulence@lemmy.zip 1 day ago
If you want, I can increase the sample size. Just need to figure out how to add a timer to the code and set it to run for a few hours, maybe even overnight. A histogram with 10^6 bins should look pretty smooth.
TranquilTurbulence@lemmy.zip 2 days ago
I’m tempted to run a full simulation that really picks those molecules randomly.