I've been reading a scientific paper about a cellular automaton which models the spread of cancer cells. I've almost finished my model in C++ when I noticed a possible error in probability interpretation on the authors' part. It's really strange because the paper was used as a source in a different paper which seemingly made the same mistake. I am writing here to make sure whether I am wrong or the authors of both papers are.
I will try to explain the possible mistake:
When we choose a cancer cell, it can:
- Infect other cells with a probability of $r_{\text{infect}}$.
- Be caught by a immune cell with a probability of $r_{\text{caught}}$.
- It can do nothing with a possibility of $1-(r_{\text{infect}}+r_{\text{caught}})$
The authors say that a random floating point number $r$ between $0$ and $1$ must be generated. Then they propose an algorithm:
If the generated number $r$ is smaller than $r_{\text{infect}}$, then the cell will infect. Else if the generated number $r$ is smaller than $1-r_{\text{caught}}$, the cell will get caught. If it is bigger than that, the cell will do nothing.
This, however, seems wrong to me. If $r_{\text{infect}}$ is $0.7$ and $r_{\text{caught}}$ is $0.2$, then the algorithm would actually make the possibility of getting caught $0.1$, not $0.2$, because $1-0.2$ is $0.8$ and therefore, in order to be caught, the necessary floating point number will have to lie between $0.7$ and $0.8$, which makes its probability $0.1$, not $0.2$.
It seems like a weird mistake because the authors then talk about the rules of a different kind of cell, where the probabilities are correct. So I don't know whether the model is valid or not.
Here's the first and original paper with the proposed rules (on the far bottom of the paper): First paper
And here's the second paper which uses the rules from the first: Second paper