**Question:** A single alien lands on Earth. After every fixed interval of time the alien undergoes a transformation, which could be any of the four events:

1. The alien does nothing, event probability- 2/6

2. The alien dies, event probability- 1/6

3. The alien replicates itself (2 aliens total), event probability- 2/6

4. The alien replicates itself twice (3 aliens total), event probability – 1/6

What is the probability that the alien would continue to make a large race over an extended period of time?

** Answer:** The situation can be described by the following illustration-

Assume that the probability of alien race dying out is *p*. After each of the four cases, the probability of alien race dying out is-

1. *p*, as it is the probability we assumed

2. *1*, as the alien dies out

3. *p x p*, as now two alien races need to die independently

4. *p x p x p*, as now three alien races need to die independently

Since we know probability of each other four events,

*p = 2p/6+ 1/6 + 2p*^{2}*/6 + p*^{3}*/6*

This simplifies to

*p*^{3} + *2p*^{2}* – 4p + 1 = 0**(p – 1).(p*^{2}* + 3p – 1) = 0*

The solutions of this equation are: 1, -3.3, 0.3. Since probability can’t be negative, -3.3 can’t be the solution. *p = 1* can also be discarded. This is because the expected number of aliens after one event is *1 x 2/6 + 0 x 1 /6 + 2 x 2/6 + 3 x 1/6* * = 1.5*. Since the expected number after first interval is greater than 1, there is chance that the alien can avoid extinction.

Hence, the probability that the alien would continue to make a large race is *1 – 0.3 = 0.7* (note: *0.3* is an approximate solution of the above equation. Otherwise, the exact probability is: *2.5 – 0.5√13*).

We can also test this solution using python. The following code simulates the scenario.

```
import numpy as np
import matplotlib.pyplot as plt
N_EXPERIMENTS = 500
N_TRIALS = 150
N_INTERVALS = 15
sample_estimate = []
for i in range(N_EXPERIMENTS): # number of experiments
counter = 0
for j in range(N_TRIALS): # number of trials, to get probability of survival
n_aliens = 1
for k in range(N_INTERVALS): # see if alien survives after 20 intervals
n_aliens_after = 0
for alien in range(n_aliens):
prob = np.random.uniform(0, 1)
if prob < 2.0/6:
n_aliens_after += 1 # alien does nothing
elif prob >= 2.0/6 and prob < 3.0/6:
n_aliens_after += 0 # alien dies
elif prob >= 3.0/6 and prob < 5.0/6:
n_aliens_after += 2 # replicates
else:
n_aliens_after += 3 # replicates twice
n_aliens = n_aliens_after
if n_aliens > 0:
counter += 1
sample_estimate.append(1.0*counter/N_TRIALS)
plt.figure()
plt.hist(sample_estimate, bins=20)
plt.xlabel('Probability')
plt.ylabel('Frequency')
plt.show()
```

Check out a similar puzzle, which involves Markov chain.

Make sure you sign up at Prepleaf for regular quant and puzzle updates. Click here for more exciting puzzles.

## One Reply to “The Alien Extinction Puzzle”