Due to popular demand I will take a quick stab at explaining the applicability of mutual algorithmic information and the information non-growth law to an allele frequency scenario.
First, I’ll outline the allele frequency scenario.
The alleles are 1s and 0s, and the gene G a bitstring of N bits. A gene’s fitness is based on how many 1s it has, so fitness(G) = sum(G). The population consists of a single gene, and evolution proceeds by randomly flipping one bit, and if fitness is improved, it keeps that gene, otherwise it keeps the original. Once fitness(G) = N, the evolutionary algorithm stops and outputs G, which consists of N 1s. The bitstring that is N 1s will be denoted Y. We will denote the evolutionary algorithm E, and it is prefixed on an input bitstring X of length N that will be turned into the bitstring of N 1s, so executing the pair on a universal Turing machine outputs the bitstring of 1s: U(E,X) = Y.
Second, I’ll briefly state the required background knowledge on algorithmic mutual information.