Representing emotions on a computer
Godel's work suggests you can represent emotions by numbers. Holland's work suggests you can evolve these numbers representing emotions to respond appropriately to any given situation. It was with these thoughts in mind that I set out to design a bot that would have a mechanism to emulate the human brain's ability to emotionally choose a suitable partner.
The idea is basically very simple. You represent an emotion by a variable. Whatever number is put into this variable represents the strength of that emotion felt by the system. If the number is positive the emotion is positive. If the number is negative the emotion is negative. To obtain a range of different emotions you simply have a number of different variables. Figure 1 shows a bot with ten different emotions, each of which can be focused upon a particular characteristic or feature of a target.
Figure 1 - If we provide a bot with ten variables, we are effectively giving the bot the ability to express ten emotions. These can each be tuned to correspond to a particular quality or characteristic that the bot is looking out for. In other words, a bot can be trained to have emotions relating to ten features of a target
As an example, let's consider a bot that is looking at the profiles of many different people. One of its emotions might be specifically allocated to provide a response to people's heights. An emotional profile would arrange for a suitable value to be placed into the "height response" emotion according to what height is "seen". Perhaps this might be strongly positive to one particular height, but, variously less strongly to others and in some cases even negative (see figure 2). Another emotion might be set to respond to age. Similarly it can be set to respond strongly positive to one particular age range, variously less positively to others and some even variously negative.
Figure 2 - A bot can be set up with a profile to respond to height. When it "sees" a height, this emotional profile will place an appropriate value in the emotion variable corresponding to its "reaction" to height
Combining the two "emotional" variables together the bot will respond in a characteristic way to all combinations of ages and heights. If the bot encounters an age and height that both correspond to a maximum positive emotional value, the total emotional response would be at a maximum: telling the bot that it had found someone with an optimum combination of age and height.
By setting other "emotions" to respond to other significant features or characteristics the bot's aggregate emotional response can be obtained as a summation of all of the emotions. This can be explained by means of an example