As a computer scientist, I have already used Genetic Algorithms (also called GA), which are interesting tools for Artificial Intelligence purpose. However, I was wondering if we could potentially use them in Cognitive Modelling. Before explaining why they are so interesting, I will first describe the principle of Genetic Algorithm.
Genetic Algorithms somehow mimic the natural selection process. When given a solution for a particular problem, it simply creates duplicates of this solution but with small random modifications. We can say that the new solutions now have different characteristics or "genes". Those new solutions are then assessed with a “fitness” function which evaluates the difference between the expected result and the actual output. The best solutions are then used to create a new generation of solutions with different genes and the whole process can now starts again. Also, the level of mutation between two generations is very important as a low level will slow down the evolution process while a high level will simply generate freaky solutions and make the new generation evolving in the wrong way. The process stops when a solution is considered as accurate enough by the fitness function.
Genetic Algorithms can also be used to write extremely optimised pieces of code. In those cases, the algorithm is provided with an initial piece of code, which will be modified and the outputs will be assessed to determine a more efficient solution. However, the result is often incomprehensible and it can be slightly annoying in case you would like to add new features to your code.
One of the best examples to understand Genetic Algorithms can be found on this website. This “game” will produce a first set of cars depending on a bunch of parameters (number of wheels, shape…) set to random values and the ones that can go further than the others on the track will be kept for the creation of the new generation. Indeed, we can clearly see that the cars go much further after a few generations, even if it seems desperate at the beginning.
In a paper written by Kevin Torand Frank Ritter, GAs are used to optimise the fit of cognitive models. The two researchers first established an accurate model representing the behavior of adults in the solving of the Tower of Nottingham puzzle (also called the Tower Task), and defined a set of values for the different parameters. However, the same task is not processed in the same way by children, which means the values of the parameters would require to be modified so the model now fits the behavior of children. Therefore, they used a Genetic Algorithm to make the original model fit the behavior of children by modifying the parameters. This way to proceed is quite interesting as it permits to realise which parameters have to be tuned, but there could also be several possible solutions. In this case, it would be quite hard to determine which one is the right solution as Genetic Algorithms are only an efficient brute forcing method without any proper logic, but it can certainly help getting rid of wrong theories.