## 1. Introduction

Fuzzy cognitive maps are an ideal tool for modeling multi-attribute systems, especially when they must incorporate such “soft” parameters as human factors, operator characteristics or societal concepts. Part of the utility of using a fuzzy cognitive map as the primary model of the system under consideration is that it can be constructed by merging submaps, with each submap prepared by a subject matter expert in the topic relevant to it. Piecing these submaps together to generate a complete map of the system often results in unexpected inferences because feedback can become present. Through feedback certain effects may get magnified or mitigated through causal chains that would not exist until the submaps are merged.

A fuzzy cognitive map is a signed digraph that captures the essential cause/effect relationships in a system. (Zhou et al., 2006) The dynamics of the system are captured in the map by its nodal values and the web of directed edges in it indicating a cause/effect relationship. Nodes in the map represent attributes in a system that a subject matter expert believes important in understanding its changes. These nodes must represent changeable quantities, i.e. a characteristic of the attribute that can increase or decrease because the map is primarily a tool for understanding the changes that occur when inputs are perturbed. Nodes are normally assigned numeric values of +1, indicating an increase in the underlying concept, -1 indicating a decrease and 0, indicating no change. Note that the nodal values are crisp in the sense that there is no fuzziness associated with the change in value or its interpretation of the concept represented by it. (Kosko, 1992)

Fuzziness enters the map through the value of the edge strengths. Nodes in the map are connected by a directed edge to indicate that the author of the map believes a causal relationship exists between the two nodes. The edge starts on the causal node and ends on the effect node, with an arrow used to identify the relationship. The edge strengths can be positive or negative. A positive value shows direct causality: an *increase* in Node A causes (results in) an *increase* in Node B. On the other hand, a negative value indicates inverse causality: an *increase* in Node A causes (results in) a *decrease* in Node B. The absence of an edge indicates that no causal relationship is thought to exist. (Kosko, 1987)

Rather than assigning these edge strengths crisp values of +1 (direct causality) or -1 (inverse causality), they are given values on the interval [-1,1] to capture subtleties in the relationships that might exist. Thus, instead of A causes B, degrees of causality can be incorporated in the model that capture partial or imperfect relationships: A somewhat causes B, or A really causes B. As long as a consistent numeric scale is used for the adverbial modifiers, fuzziness in edge strength values can be incorporated. (Perusich & McNeese, 1997)

A fuzzy cognitive map is a true model in the sense that it has predictive capabilities. Sets of nodes can be identified as inputs and act as sources of causality much in the same way a voltage source acts as a source of energy in an electric circuit. These nodal values are applied to the map and allowed to propagate through it until one of two types of equilibrium is reached. In the first, nodes reach steady state values. In the second, termed a limit cycle, sets of nodal values oscillate between two or more values. The process of updating individual nodes is fairly straightforward. The causal values weighted by its corresponding edge strengths are summed and then mapped to the crisp nodal values of +1, 0 and -1 using an appropriate thresholding function. This process is repeated for individual nodes until equilibrium is reached.

Unlike a state machine, it must be remembered that the sequencing through individual values that a node will go through in a fuzzy cognitive map is unimportant. Only the final set of values reached by the map has meaning. The map is meant to model an entire system, with each node representing some control, decision, aspect, condition, or state of that system. It is designed to understand how changes in parts of it affect other parts, with the overall *state* of the system represented by the complete set of nodal values reached at equilibrium.

Just as with any system model, the attributes that capture its behavior can be grouped into three categories: inputs, internal nodes and outputs. Inputs are typically thought of as attributes that are under the control of the user or exist initially when the analysis is conducted. Outputs are usually considered to be attributes and characteristics that result from the environment the system is embedded in, the decisions the user makes and the mechanics of how the system operates. Another important characteristic of both inputs and outputs is that they are externally measurable or controllable from the system. The third attribute, internal nodes, represent the inner workings of the system. These nodes are generally unmeasurable by the user but are useful for developing the model of the system. They provide a structure for the subject matter expert to expound the relationships between the inputs and the outputs.

Fuzzy cognitive maps have two key features that make them ideal for modeling systems that incorporate attributes with multiples characteristics. First a map compares changes of state in attributes to changes of state in attributes so no common numeric scale is necessary in designing it. Because temperature and attitude of an operator, for example, are incorporated in the map by their relative changes, a common scale for measuring them is not necessary. Second, the map, as stated previously, can be constructed from smaller, partial maps through common nodes. These smaller maps are pieced together through the nodes that they share. In this way multiple experts can be used to construct a system map, where each individual expert can put together a submap specific to their domain of expert obviating the need for command language among experts.

Although there are generally a natural set of nodes that can be thought of as inputs, in theory, any set of nodes in the map can be used as such. This gives this technique great flexibility in looking at the system under various conditions. Given this it is often desirable to identify what nodal combinations yield a particular state of the system, i.e. a particular set of output nodal values, i.e. in diagnosing a problem.

## 2. System diagnosis

System diagnosis is the process of identifying the root causes of a particular effect. In the case of the fuzzy cognitive map this involves identifying which combinations of input nodes can cause (result in) in the outputs under investigation. Diagnosis can be broken in two separate parts. (Tanteno et al., 2006; Perusich, 2007;Kramer & Palowitch, 1987) In the first it is sufficient to identify whether a node or combination of nodes can in fact produce the effect being examined. In complicated maps with potentially hundreds of nodes and thousands of edge connections, this involves identifying whether causal links from input nodes to the output nodes exist. Note that this analysis can be done independent of the values of the nodes and, to some extent, edge strength values. The fact that a link exists is sufficient and will be the subject of this chapter. In the next level of analysis, linked nodes are identified but the strengths of the edges and values of the nodes are used in the diagnosis to give a more thorough understanding of the cause/effect relationships. This type of analysis will be left for future research. (Lee et al., 2003;Pelaez & Bowles, 1995;Pelaez & Bowles, 1996)

The basic process of diagnosis in a fuzzy cognitive map is to produce and manipulate the reachability matrix for the map. (Ndousse & Okuda, 1996) The reachability matrix is built from the adjacency matrix for the map, J, which captures the cause/effect relationships in the map. Each row in the adjacency matrix represents a causal node with each column representing an effect node. The adjacency matrix will be NxN, if there are N nodes in the map since each node could in fact be a cause of every other node in it. The value of the element J_{ik} in the adjacency matrix represents the strength of the causal relationship between node i (the cause) and node k (the effect). In other words, the value of the entry J_{ik} is the value of the edge strength from node i to node k. If no relationship exists between the nodes then the entry is 0. Under most circumstances the resulting matrix is sparse with few nonzero entries. Since the intent of the reachability matrix, as opposed to the adjacency matrix, is to determine only whether a causal relationship exists between two nodes and not its strength or path, the adjacency matrix J is modified by replacing all nonzero elements with a value of +1. If present fractional and negative entries in J would be given values of +1.

The reachability matrix, R, is calculated through repeated matrix multiplication of J+I, where I is an NxN identity matrix. (Hansen et al., 1978) The maximum multiplications necessary is N, the number of nodes in the map. In practice the matrix multiplication process likely converges well before N multiplications.

A nonzero entry in the reachability matrix indicates that a causal link of unknown path length exists in the between node i (given as a row entry) and node k (given as a column entry).

A simple example can be used to illustrative this process. Consider the 8 node fuzzy cognitive map given in Figure 1. The causality in the map comes in several “flavors”. For example, Node 3 is directly caused by Node 1, while Node 4 has an inverse affect on Node 7. Nodes 1 and 3 cause Node 2, but only if both are present; neither alone can cause Node 2. Node 6 is caused directly by Node 2 (inversely) while Nodes 4 and 5 can also cause it, but only if both are present. The adjacency matrix for this map is given as J_{FCM} in Equation 2. As can be seen the matrix is sparse with few nonzero entries reflecting that the map has only 11 causal links.

To calculate the reachability matrix, J_{FCM} is first modified by replacing all nonzero entries with a value of 1 to indicate that a causal link exists from the row node to the column node. Once modified this matrix is then used in Equation 1 to give the reachability matrix, R_{FCM}, given in Equation 3. A nonzero entry in R_{FCM} indicates that a linkage exists in the map between the causing node (row) and the effect node (column). Note that a nonzero entry indicates only that a linkage is present and gives no information about its path. The causal node may be linked to the effect node through multiple intermediate nodes. For example, the nonzero entry in R_{FCM} for R_{16} indicates that Node 1 is linked to Node 6 and, thus, can be its cause. The exact path, though, would be through the nodal chain 1-4-6 or 1-2-6.

The reachability matrix can identify whether a node can affect anther node only. It cannot directly be used to determine the nodal path or paths that link the two nodes, nor can it determine the final strength of the node. Also, it can only identify whether a single node can affect another single node. It cannot identify combinations of nodes that can cause a given effect node, each of which if individually present do not give the result but when present together do. Even with these limitations it is a useful tool for diagnosis. Given that the exact set of inputs in a fuzzy cognitive map is fluid in the sense that in theory any combination can be considered these, using the reachability allows early identification of possible nodes to evaluate and, as important, what nodes to eliminate in the evaluation. These can be compared to the set of known node values and the intersection of the two used as the basis for understanding a failure.

## 3. Identification of multiple causes

As described previously the reachability matrix is limited in that it can only identify whether a single node is linked, i.e. causes a given output node. In many cases, though, it is a combination of nodes that is an underlying cause. The following methodology can be used to identify such combinations, but to use the thresholding function that maps the nodal values to +1, 0 and -1 must have certain limitations. If satisfied then the methodology proposed will yield combinations, 2 nodes, 3 nodes, etc. that can be a cause of a given output node.

### 3.1. The thresholding function

Inference in a fuzzy cognitive map involves the application of a known set of nodal values, the inputs, to the map. These nodal values are held constant and allowed to propagate through the map until it reaches equilibrium. Each node is updated by summing the value of nodes causing it weighted by the edge strength that connects them to it. A thresholding function, T[], then maps the result of the summation to crisp nodal values of +1, 0 and -1. This operation is summarized in Equation 4.

where E_{j} is the value of the effect node, and W_{i} and C_{i} are the edge strength and node value respectively of the i node that causes E_{j}. The summation is done over all nodes that cause E_{j}. The function T[] maps the value of the resulting summation to one of three value: +1, 0 and -1.

In many instances the edge strength values, W, and the thresholding function, T[], are not entirely independent. Very often the creator of the map will have an idea about which combinations of nodes directly cause a particular single node. The value of W with T in mind is chosen so that the combination selected result in the outcome desired. A simple but powerful approach is to use a simple interval approach for the thresholding function and choose edge strength values that combined fall into the desired interval, but individually do not.

For example, a generalized interval thresholding function would be:

with α a value in [0,1]. So, if two nodes are to cause a given effect, each edge strength would be given a value less than α but when summed was greater than α. The simplest approach is to choose the same value for each. For example, if α was set at 1 and two nodes were needed to cause an effect then the edge strength values for these nodes could be set at 0.6. If present individually the summation would yield 0.6, less than the threshold value of 1, mapping to E_{j} =0, but if both were present then the summation would be 1.2, mapping E_{j} =+1, the desired result.

In general any edge strength value less than α can be chosen to follow the strategy just given, but a useful function is the following:

where W_{i} is the edge strength value, α is the threshold value, n is the number of nodes that must be present simultaneously to cause the effect and ε is a scale factor to insure that the sum will exceed the threshold value α. The edge strength values were set in the fuzzy cognitive map in Figure 1 using this function with α=1, and ε=0.1. For n=2, i.e. two causing nodes must both be present for the effect to occur, W_{i}=0.6. There are 3 such combinations in the map where an effect only results if two causing nodes are present: 1,3 yielding 2, with 4,5 yielding 6, and 6,7 yielding 8.

### 3.2. Identification of multiple causes

To determine combinations of nodes, the adjacency matrix is modified to reflect only connections that meet a threshold value specific to the number of combinations under consideration. Specifically:

A modified reachability matrix is then calculated for each value of n:

where I is the identity matrix, J_{n} is the modified adjacency matrix using Equation 7 and N is the number of nodes in the map. R_{n} is the reachability matrix for n combination of nodes with R_{1} indicating causal nodes that can individually affect the given node, R_{2} identifying nodes that individually or in pairs can affect a node, R_{3} identifying single nodes, pairs and triples that can affect a node and so on. Note each successive reachability matrix indentifies all previous combinations as well as the current set. To identify only nodes that can cause an effect in pairs, for example, R_{1}, the reachability matrix for single nodes needs to be subtracted from R_{2}, the reachability matrix for pairs that also includes single nodes. In general:

where

Using the example fuzzy cognitive map given in Figure 1, R_{1} and R_{2} can be calculated giving Equation 10 and 11 respectively. From R_{2} it can be seen that node 2 is caused by the combination of nodes 1 and 2. Examination of the map in Figure 1 confirms that these two nodes must occur simultaneously for the effect node 2 to occur.

Effect node 6 needs more explanation. From R_{2} the matrix indicates that nodes, 1,3,4,5, and 7 occur in pairs to give the effect node 6. Although counterintuitive, examination of the fuzzy cognitive map in Figure 1 explains this. As can be seen, nodes 4 and 5 occurring simultaneously will give effect node 6. But node 7 is a direct cause of node 5, so if node 7 occurs, node 5 will occur and in combination with node 4 will yield effect node 6. Likewise node 1 is direct cause of node 3 which is a direct cause of node 4, so if either 1 or 3 occurs node 4 will occur and in combination with node 5 will yield node 6.

## 4. Future research

The methodology given here can only be used to identify linkages among nodes in a fuzzy cognitive map. It cannot assess the importance of a given node identified as a possible cause, only that it might be a cause because a path in the map exists connecting the causing node to the effect node. Even though limited in the information provided it is still useful in screening the nodes for possible causes. The map modeling many complex systems might have hundreds of nodes with thousands of connections. Identifying nodes that are in fact linked to the effect eliminates fruitless searches through the map. Future research should concentrate on techniques that identifying not only whether a linage exists but also give some measure of its strength further narrowing the suspects node in a diagnosis problem.

## 5. Conclusions

A methodology has been outlined that can be used to identify causal nodes in a fuzzy cognitive map using modified reachability matrices constructed from the adjacency matrix for it. The technique not only identifies direct linkages but can determine combinations of nodes that give the effect nodes of interest. In complex maps with hundreds of nodes this methodology is especially useful because it provides an initial reduction in the set of nodes that must be examined. Once these nodes and combinations of nodes are identified they can be applied to the map to assess which give output nodes of the desired value.