Evolution of emotions

The easiest way to explain how genetic algorithms can evolve accurate emotional responses, for the purpose of recognizing potential partners, is to use a simplified model of the process.

Let's represent ten emotions by ten dice. Each of the dice corresponds to a particular feature or personality characteristic of a potential partner. The uppermost face will represent the value of the emotional response to that particular category. This model would therefore have six possible strengths of emotion for each feature or personality characteristic of a potential partner.

The nature of the problem to be solved can be demonstrated with the aid of a computer program that simulates throwing dice. By throwing ten dice (numbered from one to ten) it is highly unlikely that you could throw a particular given sequence. This is because there are 40 millions different ways in which the ten dice can fall.

This can be compared to the problem of matching emotional profiles to a particular cloned character. If a clone has its characteristics divided into ten groupings, as described above, and there are six emotional strengths to each emotion responding to each of those categories, there would be 40 million possible ways in which a clone can react to a target.

The converse of this is that the target could have any one of 40 million variations. The trick is to arrange an emotional profile that will be able to make an accurate selection from the forty million variations.

Figure 8 again illustrates ten different emotional reactions to a particular target. This time figures are included to show what values these emotional variable might contain (the strength of the emotions as the system assesses a target). It can be seen how these ten values are equivalent to a roll of ten dice.

diagram

Figure 8 - Each emotion gives a response to a particular feature of the target. This is like throwing ten dice. This figure shows the emotional response to a single target: a single throw of the dice

Genetic algorithms see a system as consisting of variables similar to an organism made up of genes. Organisms can mate and breed, a process that remixes the genes of the parents. If we view two throws of ten dice as two organisms, each with ten genes, we can mate them to produce offspring as is shown in figure 9.

diagram

Figure 9 - Two throws of ten dice can be mated to produce offspring. Mutations can be introduced by randomly changing a few numbers. These are essential for the genetic algorithm to be able to investigate a full range of combinations

If we know what the ideal combination is (the exact values of the sequence of variables we are looking for), we can compare any offspring produced by this mating process to this ideal sequence. This will allow us to get an idea as to how far away the sequence is from the ideal. This can be calculated by a computer program simply by subtracting the values of each "gene" value at each position in the sequence. This is illustrated in figure 10.

diagram

Figure 10 - The nearness of any particular sequence of variables to an ideal sequence can be calculated by subtracting differences. The closeness to a match is given as a single number. If this number equals zero it indicates a perfect match

Using this method of comparison, different offspring can be compared and those nearest the target sequence can be used to breed new offspring. This process can be repeated for a number of generations until one of the offspring is bred with an identical sequence to the target sequence. This happens in a surprisingly small number of generations. A computer run illustrating a genetic algorithm searching for a specific sequence out of the forty million possibles is shown in figures 11 to 15.

diagram

Figure 11 - Ten random throws of ten dice produce the first generation. These are each tested against the ideal and the pair closest to this ideal are selected for mating

diagram

Figure 12 - The pair chosen for mating are split at random points to produce five pairs of offspring. Each offspring is given a single mutation by randomly changing one of the numbers

alt="diagram">

Figure 13 - The pair of offspring chosen to breed in the second generation produce offspring who are nearer to the target. The best two are chosen to breed in the next generation

diagram

Figure 14 - By the seventh generation the offspring are getting nearer to the target sequence

diagram

Figure 15 - In this run, an offspring is produced that matches the target sequence in the eighteenth generation

The figures 11 to 15 show how a genetic algorithm can arrive at a chosen sequence in a small number of generations through selection, mutation and breeding. This is quite remarkable in as much as it has found one particular sequence out of a possible 40 million. In other words, it has solved for a similar problem to that of identifying one person in forty million.

The conceptual jump

The connection between this genetic algorithm and a bot programmed with emotions is far from obvious. It requires a non intuitive conceptual jump. The computer simulation shows the computer "knowing" the answer already and rearranging the values of the emotions until they fit. This seems to be the reverse of what is needed. Surely, a bot should reflect the emotions of its owner (which are unchangeable) and seek the unknown target? Not change the emotions to suit a target that is already known?

To make the paradigm shift is necessary to put the owner of the bot in the position of the computer. The owner will create ten bots, each with a different selection of emotional profiles to react with different intensities to target features. These bots will then be sent out on the Web to mix with other bots and bring some back for the bot's owner to assess their selections.

The two bots that have seemed to have produced the best results are then made to breed: producing ten new bots with different mixes of their emotional profiles. These second generation bots will then be sent out to mix with other bots and those who get the best results will breed the next generation. Over the generations, the bots will gradually improve their ability to choose compatible matches for their owner.

The viability

At first thoughts, this would seem too impractical. It will involve creating hundreds of bots and the selection of thousands of people. This may be impractical in the world of bricks and mortar, but, given the numbers of people on the Internet and the ease of communication, such a scheme is highly plausible.

After all, isn't this exactly how people learn to find and choose friends in the normal world? It starts off as trial and error when we are children. Gradually, we learn by experience what features and characteristics in people our natural emotions respond to. Doing it with bots uses exactly the same principles, but, orders of magnitude faster and on a far larger scale.

The example here is of breeding bots to search for people to become friends with, but, exactly the same principle and technique can be used to search for employment opportunities, employees, business partners, cooperators and collaborators, food, books computer programs, guides, advisers and many other entities where logical search programs are found wanting.

End of article