Guessing at random until you hit a 16-character phrase over a 27-letter alphabet would take some 8×10²² attempts. The population of 120 strings here reaches the target within a few hundred generations through three repeated moves: score each string by how many characters match, give the high scorers more chances to become parents, then blend two parents and flip a few characters at random. A 0.5% mutation rate advances steadily but sticks on a few stubborn wrong letters; raise it to 20% and every generation wrecks the progress just made; remove selection entirely and the population wanders without improving.
Guessing at random until you hit a 16-character phrase over a 27-letter alphabet would take some 8×10²² attempts. The population of 120 strings here reaches the target within a few hundred generations through three repeated moves: score each string by how many characters match, give the high scorers more chances to become parents, then blend two parents and flip a few characters at random. A 0.5% mutation rate advances steadily but sticks on a few stubborn wrong letters; raise it to 20% and every generation wrecks the progress just made; remove selection entirely and the population wanders without improving.
Related topics in Complexity & Chaos