Given 10 fishes, each time one fish is chosen randomly, marked and returned to the pool. If a fish is already marked, it constitutes as a turn, and returned the the pool as well.

What is the expected number of marked fishes after 7 times?

Is it:

For each fish, P(marked by 1st turn) OR P(marked by 2nd turn)... OR P(marked by 7th turn) = $\frac{1}{10} * 7$

Hence, for ten fishes, the expected number of marked fishes after 7 times (by linearity): $$\frac{7}{10}*10=7.$$

This is a similar question from Brilliant.org where it asked about: What is the expected number of unmarked fishes after 7 times?

The thought process would be for each time to not be marked: $\frac{9}{10}$.

So, P(unmarked in 1st) AND P(unmarked in 2nd) ... AND P(unmarked in 7th) = $\frac{9}{10}^7.$ Then it would be


Part of what I would like to clarify is whether my way of thinking is correct between AND and OR; not AND: multiply and OR: sum, but rather, did I construct the solution correctly for the marked version? My initial immediate thought for the marked fishes was to use $0.1^7$ instead of $\frac{1}{10} * 7$.

Sorry if what I am asking is unclear.

  • 1
    $\begingroup$ Note that the more fish you tag, the less chance you have of seeing an untagged fish on future attempts. This question is related to the coupon collector problem (each fish you tag is a coupon collected). $\endgroup$
    – Glen_b
    Aug 15 at 10:13
  • $\begingroup$ I see. Thanks for the reference. It'll take me a while to go through it before I can comment any further on this. $\endgroup$
    – mathnoob
    Aug 15 at 10:34
  • 1
    $\begingroup$ The expected number of marked fish equals to 10 minus the expected number of unmarked fish. If Brilliant.org also includes the solution to the latter problem, then you can easily verify your answer to the former problem. $\endgroup$ Aug 15 at 22:20
  • $\begingroup$ Try out different numbers of rounds to get an intuitive sense of if an equation makes any sense. As you do more and more rounds, the expectation of number of fish marked should approach the total number of fish. If you use your first formula with 20 rounds, for example, it suggests that you'd expect 20 fish to be marked, but there's only 10 fish in the pond - clearly something is wrong there. $\endgroup$ Aug 16 at 18:08
  • $\begingroup$ Literal fish? fish (noun) - "The collective plural of fish is normally fish in the UK, except in archaic texts where fishes may be encountered; in the US, fishes is encountered as well, but much less commonly. When referring to two or more kinds of fish, the plural is fishes." $\endgroup$ Aug 17 at 2:42

Let $X_t$ denote the number of marked fish after $t$ rounds. Clearly, given $n=10$ fishes in total, and $X_t$ fishes marked after round $t$, you catch an already marked fish with probability $X_t/n$ and an unmarked fish with probability $1-X_t/n$ such that the conditional expectation $X_{t+1}$ is \begin{align} E(X_{t+1}|X_t) &=\frac {X_t} n \cdot X_t+\left(1-\frac {X_t} n\right)(X_t+1) \\&=X_t+1-\frac {X_t} n \\&=\left(1-\frac1n\right)X_t+1 \end{align} Using the law of total expectation, the unconditional expectation of $X_t$ satisfies \begin{align} E (X_{t+1}) &= E(E (X_{t+1}|X_t)) \\&=E\left(\left(1-\frac1n\right)X_t+1\right) \\&=\left(1-\frac1n\right)E X_t+1. \end{align} With the initial condition $X_0=0$, the solution of this first order linear non-homogenous difference equation is $$ E X_t=\left[1 - \left(1-\frac1n\right)^t \right]n. $$ Thus, for $n=10$ fishes, the expected number of fish marked after $t=7$ rounds would be $$ E X_7=(1-0.9^7)10=5.217031. $$


Just in case you do not want to do analytical math, we can use numeric simulation in R to answer this approximately. If I name your ten fish using values from 1 to 10, each time we catch only one, mark and return it to the pool. That is sampling with replacement. So we sample the pool 7 times, count the number of unique values.

    length(unique(sample(10,7, replace=T)))

We can simulate this process 100000 times to get the probability.

count <- vector()
for (i in 1:100000){
  count[i] <- length(unique(sample(10,7, replace=T)))

The result is about 5.2.

  • 3
    $\begingroup$ A slightly more concise version without a loop would be: set.seed(1); mean(replicate(1e5, {length(unique(sample.int(10, 7, replace=TRUE)))})) $\endgroup$ Aug 15 at 11:09
  • $\begingroup$ Thanks, appreciate the alternative way to determine the solution. $\endgroup$
    – mathnoob
    Aug 15 at 12:17

To answer your question about which thought process is correct: The AND one is, the other (first presented) is wrong. That can be seen by looking critically at your result that after 7 marking rounds, the expected number of marked fish is supposed to be 7, when that is actually the maximum number you can hope for.

Generally, if you have 2 events $A$ and $B$ and know $P(A)$ and $P(B)$, you need different kinds of assumptions to be able to calculate $P(A \cup B)$ and $P(A \cap B)$ just from $P(A)$ and $P(B)$.

In order for $P(A \cup B) = P(A) + P(B)$ to hold, you need to know that events A and B are disjoint, meaning they can't both happen. That's why the OR approach is incorrect, you can mark the same fish in the first and 3rd turn, for example, so the events whose probabilities you added were not disjoint.

In order for $P(A \cap B) = P(A)P(B)$ to hold, the events must be independent. That's why the AND approch works: Knowing if a given is fish being (un)marked on turn 1 does not tell you anything if it is being (un)marked on turn 2 or any other turn.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.