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.
No comments:
Post a Comment