Context. Dead by Daylight is a 1v4 computer game, where one hunter tries to prevent 4 survivors from escaping death. The game has 34 killer characters to choose from, each has his own 20 addons (from which he can take 2 into the trial), and any character has 4 slots for additional superpowers/skills (115 perks to choose from).
That creates an optimisation problem: What combination of those things I could pick to increase chances of winning?
If you happen to like playing hunter, there are more than 2e12 possible combinations to build your character. Currently the community goes primarily by intuition: read description of a perk, play it couple times, make a conclusion about its possible synergies, make a tierlist, use the S or A tier every game. But those conclusions are always truncated - I cannot trust myself to predict all possible synergies and would like to get rid of opinion effect on the results. If I decided to use statistical methods to discover correlations, then I would need to either play N of matches before making any conclusions, or to collect data from the community. The problem with the first approach is time - it just takes too long with 20 minutes per match, and the N is huge (because it is a function of accepted confidence level). The problem with the second is called "meta stagnation". Gamers in the community usually do not experiment with builds and trust conclusions made by predeccessors, which creates a skew in perk usage. Even though some people adapt their build slightly, in majority of cases it is the same set of synergies used and the data will not contain anything else.
Here is how I will optimise my build for each character. Each will have two pools of entities (pool for addons and pool for perks). There will be X entities of each kind in pools at the start. Amount of entities (lets call it tickets) will be proportional to the chance I will play that entity the next match. After a win (4k) with an entity, I add 1 ticket to it in the according pool, after a loss I substract 1. That creates an environmental pressure, because after reaching 0 the entity will not be tested again. That leaves a chance of losing a good perk after just X unlucky matches, but those who stay for long in the population and whose tickets increase will at least be consistent in their effect on the match, and they will reflect my personal playstyle.
So, I expect to land at not The best build, but at a build of consistently positively interacting perks and addons. The more likely to survive are the entities, which either are good by themselves, or have a bigger count of possible synergies with other entities.
After the pools are greatly reduced in size or there appear ~6 dominant species, I may consider the search completed.
The evolution is meant to quickly reduce the space of search. If every perk in the pool starts with just 1 ticket, then most of perks will only be tested once (because they lead to a loss and their population immediately got to zero). If the very first run is a loss, then the true-unknown winrate of a perk is likely not a 90%, so we should not regret throwing it away.
The synergies will have effect on the populations sizes later. Those pairs that synergise are slightly more likely to lead to a win and to increase tickets of both in the pool. After some weak perks fell off and the total amount of species in the pool was reduced, we expect potential synergy-makers to "meet" more often. That is a step in the right direction. If their win was just a lucky coincidence when the perks are not consistently good, they will die out a bit later.
Of course, if the very best build relies purely on synergy and is a combination of very-bad-in-solo perks, it will not be found. I acknowledge there is no way to find the true best combination, that search would require bruteforce playing all possible combinations 20+ times. The aim is to find a managable algorithm which does not rely on personal evaluation at all (because opinions is partially the reason of "stagnation of meta").