@maxdancona,
maxdancona wrote:
In order to build a simulation of a viral epidemic, you need to generate lots of random numbers. This is because you are modeling something in the real world; coming into contact with someone who is infected doesn't automatically mean you will be infected, getting infected doesn't mean you will get severely sick. It's just a roll of the dice.
When you are out shopping and people are passing each other and standing 6 feet apart in lines, etc. there is breathing going on. In the air being exhaled, there are pathogens of different varieties, but they spread out through the air. If you are smelling someone's perfume or cigarette residue or body odor or whatever, that is an indication that you are also breathing in pathogens emitted by them, but the load-density you get from them may be so low that your immune system deals with them very easily and you never get sick.
Within every body, there are specific environmental conditions for pathogens to survive and reproduce or die off due to the immune system killing them. Every body is a battle ground between pathogens and the immune system, which is not random but rather governed by numerous interacting conditions within the body.
So when you can't account for the enormous complexities of numerous interacting systems, each with various differences and similarities with regard to other systems, you can just count outcomes and use probability or some other math to apply a simplified model to making loose predictions about future occurrences.
Any model you produce, however, is just that, a model. Math-oriented people talk about the possibility of making a model so complex that it could predict outcomes with exact certaintly, but that is of course a totally impossible hypothesis because the whole issue of representation is that it always translates reality into a simpler form that reflects it in some way but misses it in others.
So a probability model for rolling dice might be able to tell how how often you will roll 'snakeyes' when you roll dice 1,000 times, but that is only modeling the outcome and not the actual causes of the dice landing as they do each time, which would be too complex to model.
First, you shake the dice in your hand or in a cup; either of which is too complex to predict because the shaking action is not uniform. If you constructed a very accurate machine that would always shake the dice in the same way, in the same cup, and thrown them in the same way onto the same surface; you might be able to isolate exact moments in the sequence of events at which randomness was caused, but it would be difficult.
What about a coin-flip, though? Is it possible to build a machine that tosses the coin with such a stable technique that it always lands the same? I would guess yes, especially if the coin lands on a soft surface that prevents it from bouncing. That is because if the coin spins at a known rate and it travels along a known arc whose time-to-landing is exact, then the coin should always flip the exact same number of times before landing, and so it should always land the same way.
Now, if you want to test that prediction, and you find that the outcome is still 50/50 random, then you're going to just say my prediction is 100% wrong because you have reduced what I'm saying to a simple prediction of non-randomness, but the question is then whether you can identify what is causing the outcome to randomize despite the stability of the system to toss the coin. It could be how the coin fits into the throwing 'hand' of the robot tossing it, or something in the mechanisms of the robot, such as the wobble it its joints, or variability in the capacitor that drives the motor, etc. If miniscule variations in the geometry of the tossing mechanism can alter the spin rate or trajectory sufficiently to cause the coin to turn over one more or one less time, then the whole system will generate random outcomes.