The approach taken in developing an evolutionary programming solution for NIM involves representing the genotype as a list of permissible moves for an agent. While the processes of mutation and crossover are straightforward and efficient, a notable decision arises when crafting the fitness function.
With the adoption of roulette selection, the observed increase in the number of wins exhibits a more random distribution. In contrast, when employing tournament selection, the performance stabilizes around the value of 4500 after the second epoch.
I've noticed that the current setting for UPPERBOUND_K is quite restrictive, potentially causing issues by severely limiting the number of sticks an agent can remove from a row.
The approach taken in developing an evolutionary programming solution for NIM involves representing the genotype as a list of permissible moves for an agent. While the processes of mutation and crossover are straightforward and efficient, a notable decision arises when crafting the fitness function. With the adoption of roulette selection, the observed increase in the number of wins exhibits a more random distribution. In contrast, when employing tournament selection, the performance stabilizes around the value of 4500 after the second epoch.
I've noticed that the current setting for UPPERBOUND_K is quite restrictive, potentially causing issues by severely limiting the number of sticks an agent can remove from a row.