JavaScript EditorFree JavaScript Editor     Ajax Editor 

Main Page
  Previous Section Next Section

Improved Sensations

The sensations in Chapter 39 were defined with a standard finite-state automaton. This caused problems by defining the sensations as Boolean values. This section extends the emotions with a fuzzy representation, and models sensations from sources other than the environment (for instance, from feelings and emotions).

Multiple Influences

Although perceptions are often the primary cause of changes in emotions, other aspects of the creature's state also cause mood alterations. The same concept of sensations can be applied to detect patterns in the emotions and feelings as well.

The source of the sensations can be fuzzy as well as crisp values. The stimuli and the feelings are in fact interpreted as Booleans. Emotions are also considered as fuzzy values in the next section. All these types are handled indiscriminately, resulting in fuzzy sensations that change smoothly over time. Note that at least some of the transition values need to be fuzzy; otherwise, the model becomes a particularly inefficient crisp FSA.

In essence, the following sources influence the sensations:

  • The stimuli from the environment described in Table 37.2 (various game events—refer to Chapter 37, "Sensations, Emotions, and Feelings")

  • The four feelings defined in the previous section

  • The changes in the emotional state machine

Using sensations based on different aspects of the animat's brain increases the accuracy of the simulation, which may potentially improve emotional reactions.

Sensational Combinations

The sensations used in this model are defined in Table 37.1 of Chapter 37. They are surprise, anticipation, disgust, attraction, confusion, discovery, pain, and pleasure. These sensations are modeled as fuzzy states of an automaton, very similar to the crisp counterpart in Figure 39.2 (refer to Chapter 39). Other intermediate states are also fuzzy variables.

The influences—whether from perceptions, emotions, or feelings—are considered as transitions in the fuzzy FSA (FFSA). These are handled indiscriminately by the automata, mostly passed by messages rather than queried.

Preventing Degenerate Automata

The crisp version of this automaton is fully event driven. The active state changes when matching stimuli are observed. When an accepting state is reached, the FSA is automatically reset. There are a few problems with this approach in the fuzzy model that stem from the simulation itself; all the states have degrees of membership, and need to be considered at all times. This implies that all the transitions need to be considered simultaneously, too. We need to take a few precautions with the FFSA version to ensure correct functioning (for instance, that the fuzzy values won't all become 0). It's possible to do the following:

  • Force the initial state to have full degree of membership.

  • Maintain the initial state to the opposite of the accepting states (a fuzzy equivalent to binary reset). Intuitively, high degree of membership values flow from the initial state to the accepting states.

Given these either of these solutions, the FFSA can be updated when a matching event is received. The asynchronous approach can be somewhat inconsistent (because the result depends on the messages received), so a synchronous approach seems a viable alternative. In this case, the transition strengths are determined over a small period of time (using messages), but the FFSA is simulated at regular intervals.

      Previous Section Next Section

    JavaScript EditorAjax Editor     JavaScript Editor