Paul, I’m going to write this as plainly as I can. It is the competing selection processes which halt the convergence of ev. The exact reason it occurs at genome lengths with your Rcapacity value, I don’t know but a more careful study of the model should give this answer. What I suspect is happening is as one selection condition is being satisfied, another selection condition is being overwhelmed and the system oscillates between the different selection conditions, never being able to satisfying all three at once. So since you pointed out that you could vary the weights for mistakes a chose a case which does not converge with all three selection conditions imposed.
Wow, am I fatigued. It took me 3 cases to demonstrate that it is competing selection conditions that slow ev’s convergence. The case I used consists of G=16384, binding sites=6, weight width=5, Rfreq=10, Paul’s infamous Rcapacity=2*site width=10. With the weights for each mistake, (missed site, spurious binding in gene, spurious binding outside gene), set to 1, this case fails to converge. But for varying weights you get the following results:
missed site/spurious binding-gene/spurious binding outside gene/gens to perfect creature
1/0/0/7
0/1/0/223
0/0/1/233
So, a case with three different selection conditions will not converge when all three conditions must be satisfied simultaneously. While if you select based on one condition at a time it takes only 7 generations to evolve the binding sites, 223 generations to eliminate spurious binding within the gene and only 233 generations to eliminate spurious binding outside the gene. These cases take so few generations to evolve, it is instructive to step through the evolution and watch the mistakes go to zero. Combining these three selection conditions is exactly analogous to using triple anti-HIV drugs to prevent the evolution of drug resistant strains. Paul’s this is the explanation for your Rcapacity problem. I appreciate your fine programming work.