Over the weekend, our household reached the point where all of us are fully vaccinated for COVID-19. We celebrated this milestone with an escape room outing. That got me thinking about my little escape room model, the Quandary Den. You can read more details here`, but the short version is that the Quandary Den simulates a game where a player has to “solve” the challenge of the room. My family’s in-person escape room involved lots of combination locks, and here on the blog we simulated some password challenges of a similar sort. In our initial visits to the Quandary Den, we also simulated a challenge where a player had to “solve” the room by tagging the opposing players without getting tagged. That might not seem like much of a puzzle for a real escape room, but when the information about where the opposing players are has to be learned through exploration with feedback, the difficulty goes up a bit. In a real escape room, we can reduce the difficulty (and increase the fun) by adding friends. Does that work in the Quandary Den?
We could simulate friends multiple ways. In our earlier simulations, the single player was just a given. We could just as easily fix it so that there are two or three or forty two players, or I could give you a slider and let you choose a fixed number of players. But one of my main interests with the Quandary Den is illustrating how evolutionary biology works. So rather than just picking a number of players, let’s see how that number might change in a more evolutionary fashion.
Recall that the player’s actions are determined by a sequence of moves encoded in a gene on a chromosome. Our very simple “organisms” have a single chromosome with a single gene (compared to 23 pairs of chromosomes with tens of thousands of genes in humans). Biological organisms can experience gene duplications, and occasionally even whole chromosome or whole genome duplications. Gene duplications can actually be more frequent than single nucleotide substitutions. Genes and chromosomes can be lost as well. We’ll simulate both duplication and loss. For simplicity of programming, we’ll apply these to the chromosomes, each of which contain just one gene. Strictly speaking that’s not the most realistic, but functionally it is no different than if the genes were duplicating on a single chromosome.
So instead of picking a number of players, you can pick a rate at which chromosomes are duplicated or lost, and that will influence the number of players. After each generation, the simulation will randomly decide whether or not to duplicate a chromosome with the probability you chose. If it decides to duplicate, one of the existing chromosomes will be chosen with equal probabilities. The simulation will also decide to randomly delete a chromosome, again with the probability you chose and again picking an existing chromosome with equal probability if a loss occurs (but it will never delete a chromosome if there is only one). In addition to the fitness, you will also see a chart of how the number of players/chromosomes/genes (they are all the same number) changes over time. You can experiment below, or open that page separately using this link.
For reference, the chart at the top shows results from simulations of just the duplication and loss process without any content. In other words, genes are duplicated and lost as described above, but no fitness benefit or cost is involved and so it is just random. How do you expect your results to differ? Do you think the simulation will favor keeping more genes or losing more genes compared to this random scenario? Do you think the player type will matter? And do you think these teams of players will solve the room faster than a single player? See if you can test any or all of these hypotheses, or ones of your own.