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 + 2p2/6 + p3/6

This simplifies to

p3 + 2p2 – 4p + 1 = 0
(p – 1).(p2 + 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”

Leave a Reply

Your email address will not be published. Required fields are marked *