Train Fuzzy Cognitive Maps

Embed Size (px)

Citation preview

  • 8/10/2019 Train Fuzzy Cognitive Maps

    1/7

    Train Fuzzy Cognitive Maps

    by Gradient Residual Algorithm

    Huiliang Zhang1

    , Zhiqi Shen2

    , Chunyan Miao1

    1School of Computer Engineering,

    2School of Electrical and Electronic Engineering

    Nanyang Technological University,

    Singapore

    {PG04043187, ZQShen, ASCYMiao}@ntu.edu.sg

    AbstractFuzzy Cognitive Maps (FCM) is a popular technique

    for describing dynamic systems. A FCM for a dynamic system is

    a signed graph consisted of relevant concepts and causal

    relationships/weights between the concepts in the system. With

    suitable weights defined by experts in the related areas, the

    inference of the FCM can provide meaningful modeling of the

    system. Thus correctness of the weights is crucial to the success ofa FCM system. Normally the weights are set by experts in the

    related areas. Considering the possible inefficiency and

    subjectivity of experts when judging the weights, it is an

    appealing idea to generate weights automatically according to the

    samples obtained through observation of the system. Some

    training algorithms were proposed. However, to our best

    knowledge, no learning algorithm has been reported to generate

    weight matrix based on sample sequences with continuous values.

    In this paper, we introduce a new learning algorithm to train the

    weights of FCM. In the proposed algorithm, the weights are

    updated by gradient descent on a squared Bellman residual,

    which is an accepted method in machine learning. The

    experiment results show that given sufficient training samples,

    the correct weights can be approximated by the algorithm. The

    algorithm proposes a new way for FCM research and

    applications.

    Keywords- Fuzzy cognitive maps

    I.

    INTRODUCTION

    Fuzzy Cognitive Maps (FCMs) was introduced [9] as anextension of cognitive maps proposed by political scientistRobert Axelrod [4]. A cognitive map is signed digraph, inwhich nodes are variable concepts and edges represent causalconnections between the concepts. The positive or negativesign on a directed edge between two concepts indicateswhether the change of the first concept causally increases or

    decreases the second concept. A matrix consisted of the signsof the edges is used to represent the cognitive map. In thematrix, a positive edge is shown as 1, a negative edge as -1and 0 for unrelated concepts. Kosko proposed to apply fuzzylogic technique to represent the causal relationships betweenconcepts. Fuzzy causal algebra was proposed to infer how aconcept will influence another concept. Then Kosko proposedBidirectional Associative Memories in neural networks [10].This provides a theoretical base for simple FCM inferencealgorithm which is widely used in current FCM researches andapplications. FCM inference is a qualitative approach for a

    dynamic system, where the gross behaviors of a system can beobserved quickly and without the services of an operationsresearch expert [1].

    Since proposed, FCM has been researched and applied inmany areas. The original application of FCM shown by Kosko

    was to predict political status changes [9]. Later theapplication of FCM was extended to simulation of virtualworlds. In [6], FCMs are designed for a virtual sea world. Thebehaviors of dolphin, fish and shark are predicted based ontheir behavior FCMs. For example, a FCM for the control of adolphin consists of concepts such as Hunger, Food Search,Chase food and so on. Through FCM inference, the statuschanges of the dolphin from an initial status can be observed.The status of the dolphin will finally reach a stable status orrepeat for a cycle of limited statuses. The examples show thatFCM output states can guide a cartoon of the virtual world.Besides the applications in virtual worlds, FCM technique isapplied to solve real-world problems. For example, FCMapplications are used in intelligent intrusion detection system

    [16], the system to control the valves based on the tank heightand the gravity of the liquid in the tank [19], the brain tumorcharacterization system [18], the web surveillance system[14], and so on. FCM shows high efficiency and accuracy inthese systems.

    In these systems, it is very important to assign suitableweights to the causal relationships between concepts. In theearly FCMs designed by Dickerson and Kosko [6], the weightstake value as 1, -1 or 0. It is a rather easy job to assign weightsby judging the positive, negative or neutral influences fromone concept to another. However, in a real system whereweights will take continuous values as suggested in [15],assignment of the weights is dependent on experts personal

    knowledge and subjective judgments, which might not alwaysbe precise. So it is very appealing if the weights can begenerated automatically. Some automatic algorithms havebeen proposed. We summarize them in the section of relatedwork. No learning algorithm has been proposed to train FCMbased on samples with continuous values. In this paper, wepropose a gradient residual method to train the weights withsome given sample sequences of a dynamic system. Thealgorithm updates the weights by gradients of squaredBellman residual. Experimental results show that the

  • 8/10/2019 Train Fuzzy Cognitive Maps

    2/7

    algorithm is very effective if sufficient sample sequences aregiven.

    The rest of the paper is organized as following. We firstgive a brief illustration of FCM in Section II. Then the gradientalgorithm to train FCM weights is explained in Section III andexperimental results are shown in Section IV. Other FCMtraining methods are discussed in related work in Section V.Finally, a conclusion is given.

    II.

    FUZZY COGNITIVE MAP

    A. Definition

    As introduced in last section, FCM is a directed graphwhich depicts a dynamic system. The nodes represent theconcepts in the system. Weight on an edge between two nodesshows how much a concept will affect the next concept. Theweight matrix can be shown as:

    =

    nnnn

    n

    n

    WWW

    WWW

    WWW

    W

    ...

    ............

    ...

    ...

    21

    22221

    11211

    where, nis the number of concepts in the FCM.

    An example FCM is shown in Figure 1. The FCM consistsof seven concepts, which represent the status of a system tocontrol an animals behaviors. The possible relationships

    between the concepts are identified and shown in the figure.

    76

    Figure 1. Example of a FCM.

    In general, a weight Wij takes values in the fuzzy causalinterval [-1, 1]. A positive value means that the increase(decrease) of concept Ci will increase (decrease) the value ofconcept Cj. A negative value indicates the value of Cj willchange in an opposite direction with Ci. A zero value meansthat Ciwill not affect Cj. Only none-zero weights are shown inFigure 1. For example, we can say that the value of Hungryhas no effect on Rest. However, the value of Hungry willaffect how the animal decides to Search & eat food.

    At a time t, the status vector of the FCM system isrepresented as C(t)=(C1

    (t), C2(t), , Cn

    (t)). The initial statusvector of FCM is shown as C

    (0). The status of a concept Ciin a

    time t can be calculated by summing the influences from lasttime. The equation is shown as:

    =

    =

    n

    jji

    tj

    ti WCfC

    1

    )1()()*( ()

    where,fis the threshold function.

    Normally Sigmoid function is used as threshold functionfor FCM with continuous concept values. It is shown as:

    ( ) 11)( += xexf ()

    where, is a parameter deciding the width of the sigmoidfunction. In this paper, takes default value 1.

    The initial values of FCM concepts are obtained throughmeasuring the concepts in the real system. Then the inferenceis performed by continuously calculating the status using theequations (1) and (2). The calculation does not stop until themodel reaches a limit cycle or exhibits a chaotic change. Theoutputs of the FCM inference show how the system willchange from the initial status.

    TABLE I. WEIGHT MATRIX WFOR FCMIN FIGURE 1.

    C1 C2 C3 C4 C5 C6 C7

    C1 1 .89 0 0 0 0 0

    C2 0 0 .75 0 0 0 0

    C3 -.67 -.7 0 .9 0 .89 0

    C4 0 0 -.71 0 .94 0 .41

    C5 0 0 0 -.31 0 .07 0

    C6 0 0 0 0 0 0 .99

    C7 0 0 0 .52 0 -.81 0

    Take the FCM example shown in Figure 1. A weight matrixW is decided by the experts in the domain of animal researchand shown in Table I. Now we assume that the system startsfrom an initial status vector, C(0)=(0.6, 0.3, 0.3, 0.6, 0.7, 0.7,0.7). For example, the fuzzy value for concept Fear is 0.3,which means that the animal is in a status of being a littlevigilant. The values of concepts at each step of FCMinteraction can be calculated by using equation (1) and (2). Theoutputs are shown in Table II. It can be seen that the FCMcalculation converges at step 8. This means that withoutdisturbs the animal will exhibit same behaviors after step 7.

    TABLE II. THE VALUES OF CONCEPTS IN FCMINTERACTION.

    t C1 C2 C3 C4 C5 C6 C7

    0 .6 .3 .3 .6 .7 .7 .71 .598 .58 .45 .603 .637 .438 .719

    2 .574 .554 .502 .641 .638 .466 .664

    3 .559 .54 .49 .645 .646 .488 .674

    4 .557 .539 .487 .644 .647 .484 .679

    5 .557 .539 .487 .644 .647 .482 .678

    6 .557 .539 .487 .643 .647 .482 .677

    7 .557 .539 .487 .643 .647 .483 .6778 .557 .539 .487 .643 .647 .483 .677

  • 8/10/2019 Train Fuzzy Cognitive Maps

    3/7

    B. Generate FCM for a System

    A big question of FCM application is how to generate theweight matrix as shown in Table I. The normal method toconstruct a FCM relies heavily on a group of experts of thesystem. Each expert evaluates a causal relationship with adifferent fuzzy value depending on his personal experiences.Then the fuzzy rules are composited and de-composited togenerate a fuzzy value which stands for the relationship [18]. It

    is obvious that the correctness of the weight matrix depends onthe experts personal experience and subjective judgments.

    An alternative method is to automatically learn the weightmatrix from the model of the dynamic system, which can beobserved. Thus it is very attractive if the weight matrix could

    be generated from observed sample sequences as shown inTable II. Several learning algorithms have been introduced assummarized in Section V. In the next section, we will introduceour training algorithm to generate matrix from samplesequences.

    III. GRADIENT FCMTRAINING ALGORITHM

    A.

    Problem DefinitionThe training objective is to generate weight matrix of FCM

    based on sample sequences. An illustration of the trainingsystem is shown in Figure 2.

    C1 C2 C3 C4 C5 C6 C7

    C1 1 .89 0 0 0 0 0

    C2 0 0 .75 0 0 0 0

    C3 -.67 - .7 0 .9 0 .89 0

    C4 0 0 -.71 0 .94 0 .41

    C5 0 0 0 -.31 0 .07 0

    C6 0 0 0 0 0 0 .99

    C7 0 0 0 .52 0 -.81 0

    Output: weight matrix

    0

    0.2

    0.4

    0.6

    0.8

    1

    0 1 2 3 4 5 6 7 8

    Valuesofconcepts

    Step

    Changes of system

    C1

    C2C3

    C4

    C5

    C6

    C7

    Input: sample sequences

    0

    0.2

    0.4

    0.6

    0.8

    1

    0 1 2 3 4 5 6 7 8

    Valuesofconcepts

    Step

    Changes of system

    C1

    C2

    C3

    C4

    C5

    C6

    C7

    0

    0.2

    0.4

    0.6

    0.8

    1

    0 1 2 3 4 5 6 7 8

    Valuesofconcepts

    Step

    Changes of systemC1

    C2

    C3

    C4

    C5

    C6

    C7

    FCM Training Algorithm

    C1 C2 C3 C4 C5 C6 C7

    C1 1 1 0 0 0 0 0

    C2 0 0 1 0 0 0 0

    C3 -1 -1 0 1 0 1 0

    C4 0 0 -1 0 1 0 1

    C5 0 0 0 -1 0 1 0

    C6 0 0 0 0 0 0 1

    C7 0 0 0 1 0 - 1 0

    Input: initial weight matrix

    1

    2 34

    Figure 2. FCM training system.

    An initial weight matrix is input to the training algorithm asshown by arrow 1 in Figure 2. The original weights can bedesigned to show the basic positive or negative relationships

    between the concepts. However, there is no demand that theoriginal weight Wij must correctly indicate the causal positive

    or negative relationship from Cito Cj. A value which is closerto the correct weight will save the training effort. 0 is assignedto Wij if Ci has no influence to Cj. As we will show in thefollowing algorithm, we must be very careful to set 0 as initialvalue for a weight because a weight with value 0 will not beupdated by the training algorithm. If unsure, a random valueother than 0 is suggested to be assigned to Wij.

    Then some sample sequences are input as indicated byarrow 2 in Figure 2. The FCM training algorithm will train the

    initial matrix with the first sample sequence. After the trainingalgorithm converges, a resulting weight matrix is output asshown by arrow 3 in Figure 2. The user needs to judge whetherthe output matrix meets the expectation. If not, the outputmatrix will be input into the training algorithm for next trainingas shown with arrow 4 in Figure 2. To be clear, an illustrationabout this procedure is shown in Figure 3.

    Figure 3. FCM training procedure.

    Here it must be pointed out that human interference is stillvery important in the training system. System experts areneeded to decide whether the output matrix is reasonable. Aswe will show later, the gradient training algorithm may betrapped in local minima or return a solution which is notdesired. In these cases, a new initial weight matrix may beneeded. However, it can be seen that in our training system theexperts jobs to observe system dynamics, make initial weightmatrix, and judge whether the output matrix is desirable areeasier, which are more objective than the jobs in traditionalsystem to directly figure out the weight values [18]. In fact, aswe will discuss in Section V, all other kinds of FCM learningalgorithm also need human interference to judge whether theiroutput weight matrix are suitable.

    In the following, we will focus on the FCM trainingalgorithm. Assume that a sample sequence is defined as: {S

    (0),

    S(1), , S(m)}, where m is the number of steps in the samplesequence. Each status vector is defined as S

    (t)=(S1

    (t), S2

    (t), ,

    Sn(t)), where nis the number of concepts. The training algorithm

    needs to update the initial weight matrix to get a new matrixsuch that with the output matrix, the FCM inference will bematching the sample sequence. We set C

    (0) as S(0). Thus the

    objective is to update each weight, which affects Ci(t), to

    decrease the difference between the calculated Ci(t) and the

    expected value Si(t)

    . The idea of residual algorithm used forfunction approximation system in machine learning can beexploited. We will first give a simple introduction about theresidual algorithm. Then our gradient FCM training algorithmwill be explained.

    B. Residual Algorithm

    In residual algorithm [5], neural network is designed toapproximate the expected values in machine learning. A simpleillustration can be seen in Figure 4. Given an input vector , the neural network will output a value. In machinelearning, the input variables represent the status and possibleactions. The output represents the reward after executing the

  • 8/10/2019 Train Fuzzy Cognitive Maps

    4/7

    actions in the status. The residual algorithm will update theweights to make the output valueapproximate to the expected value, correct reward.

    Figure 4. Function approximation system.

    The mean squared Bellman residual is defined as:

    ( )2 += QvRE new (3)

    where,R is the current reward, represents the rate of futurerewards, vnew is the future reward, Q is the current outputreward output by the neural network.

    Then the mean squared Bellman residual is defined as:

    ii

    W

    EW

    = (4)

    where, is the learning rate.

    The gradient residual algorithm guarantees to converge to aminimum, which is sometimes local. Although somemechanisms were proposed to avoid local minimum in gradientlearning [7], no algorithm has been able to perfectly solve the

    problem. So to solve this problem is not the intention of thispaper. The algorithm proposed in this paper is just anapplication of gradient method. In our training system, experts

    judgment is needed to decide whether a final solution issuitable. If not, a new training will begin until an acceptablesolution is found.

    In the following, we will apply the idea of residualalgorithm to the problem of FCM training.

    C. Gradient Algorithm for FCM Training

    In FCM training, for each step t, the squared Bellmanresidual for a concept Ciis defined as:

    ( )2)()()( titii SCE t = (5)

    where, Ci(t)

    is the value of concept calculated by usingequations (1) and (2).

    According to the residual algorithm, the update for Wji,which affects Ci

    (t), is defined as:

    [ ]ji

    tit

    it

    ijiW

    CSCW

    =

    )()()(

    ** (6)

    where, is the learning rate.

    With the equations (1) and (2), the gradient is calculated by:

    ( )

    ( )2

    **

    )1(**

    )(

    1

    )1(

    1

    )1(

    1

    **

    +

    =

    =

    =

    n

    k

    tkki

    n

    k

    tkki

    SW

    tj

    SW

    ji

    ti

    e

    Se

    W

    C

    (7)

    The weights will be updated at each step and the updatedweight matrix will be used in next step.

    Figure 5. Residual training algorithm.

    The training algorithm is shown in Figure 5. Variable cycleis used to count how many cycles the FCM is trained. It isnoticed that a standard is needed to judge whether the trainingconverges. In this paper, a standard equation is designed as:

  • 8/10/2019 Train Fuzzy Cognitive Maps

    5/7

    thresholdWn

    i

    n

    j

    m

    t

    tij

  • 8/10/2019 Train Fuzzy Cognitive Maps

    6/7

    B. Experiment 2

    In the second experiment, we will show how the initialinput weight matrix will affect the learning. Like Experiment 1,the sequence in Table II is used as the first training sample. Anew initial weight matrix is designed by setting all causalrelationships in Table III as -1.

    This time the learning algorithm converges in 54,787 cyclesin 1.46875 seconds. The output matrix is shown in Table VIII.It is noticed that this output matrix is different from the matrixin Table IV.

    TABLE VIII. THE OUTPUT WEIGHT MATRIX W.

    C1 C2 C3 C4 C5 C6 C7

    C1 .999 .88 0 0 0 0 0

    C2 0 0 .751 0 0 0 0

    C3 -.671 -.686 0 .925 0 .844 0

    C4 0 0 -.71 0 .94 0 .409

    C5 0 0 0 -.053 0 -.235 0

    C6 0 0 0 0 0 0 .991

    C7 0 0 0 .257 0 -.488 0

    The FCM inference results using this output weight matrixare very close to the original training sequence in Table II.Using this output weight matrix in Table VIII and the secondtraining sample sequence in Table VI, the training algorithmconverges after 7,333 cycles in 0.140625 seconds. The outputweight matrix is shown in Table IX. The resultant outputweight matrix is very close to the original weight matrix inTable I.

    TABLE IX. THE OUTPUT WEIGHT MATRIX W.

    C1 C2 C3 C4 C5 C6 C7

    C1 1.001 .88 .0 .0 .0 .0 .0

    C2 .0 .0 .748 .0 .0 .0 .0C3 -.669 -.689 .0 .899 .0 .877 .0

    C4 .0 .0 -.708 .0 .941 .0 .407

    C5 .0 .0 .0 -.305 .0 .074 .0

    C6 .0 .0 .0 .0 .0 .0 .991

    C7 .0 .0 .0 .515 .0 -.804 .0

    From this experiment, we can see that the output weightmatrix will not be affected given sufficient training samplesequences. However, we still suggest adopting good initialweight matrix considering existence of local minima in thelearning algorithm.

    C. Experiment 3

    In this time, we assign random values to the initial weights.The initial weight matrix is shown in Table X.

    TABLE X. INITIAL WEIGHT MATRIX WFOR TRAINING FCM.

    C1 C2 C3 C4 C5 C6 C7

    C1 .5 .1 0 0 0 0 0

    C2 0 0 .6 0 0 0 0

    C3 -.2 -.4 0 .7 0 .3 0

    C4 0 0 .2 0 -.5 0 .8

    C5 0 0 0 .1 0 .7 0

    C6 0 0 0 0 0 0 .3

    C7 0 0 0 1 0 -.2 0

    We use the first sample sequence to train the weight matrix.The training algorithm converges after 26,730 cycles in0.71875 seconds. The output matrix is shown in Table XI. We

    could see that this matrix is very close to the matrix shown inTable I.

    TABLE XI. THE OUTPUT WEIGHT MATRIX W.

    C1 C2 C3 C4 C5 C6 C7

    C1 .993 .875 .0 .0 .0 .0 .0

    C2 .0 .0 .748 .0 .0 .0 .0

    C3 -.664 -.68 .0 .887 .0 .88 .0

    C4 .0 .0 -.707 .0 .94 .0 .418

    C5 .0 .0 .0 -.332 .0 .075 .0

    C6 .0 .0 .0 .0 .0 .0 .98

    C7 .0 .0 .0 .549 .0 -.807 .0

    More experiments with different initial weight matrixeswhich are randomly assigned are not shown. In theseexperiments, the gradient algorithm is also able to generatesolution weight matrixes successfully.

    V. RELATED WORKS

    The idea to automatically generate weights matrix for FCMhas been researched by many researchers. The proposedalgorithms mostly fall into two groups, Hebbian learningalgorithm and evolutionary algorithm.

    Hebbian learning algorithm was first applied in trainingFCM by Kosko [12]. Before that, Kosko proposed a temporal

    associative memories (TAMs) algorithm [11]. TAMs can storeonly a few patterns. Then Kosko proposed to use theDifferential Hebbian Law (DHL) to encode the usual binarychanges in concepts. The experiment result in [6] shows thatthe algorithm was quite good at generating FCM weights toreplicate the usual binary changes. Then an extension of DHL,Balanced Differential Learning (BDL) algorithm, was proposedin [8]. The new algorithm considered more factors whiledeciding how to update weights. Experiment results show thatthis algorithm is better to learn patterns. These two algorithmsaim to learn the binary changes of concepts. Two moreextensions of DHL were also proposed to learn the weights ofsystems with continuous values [19], active hebbian learning(AHL) algorithm and nonlinear hebbian learning (NHL)

    algorithm. Different to other algorithms, the inputs of AHL andNHL are desirable regions of output concepts. These twoalgorithms need many user interferences to ensure that properweights are trained. To the best of our knowledge, no learningalgorithm which generates weight matrices based on samplesequences with continuous values has been reported.

    Evolutionary algorithm is another frequently usedalgorithm when learning FCM weights matrix. The generalidea is to search the weights matrix which can best replicate thetraining samples [13]. Red-coded genetic algorithms (RCGA)

  • 8/10/2019 Train Fuzzy Cognitive Maps

    7/7

    adds a floating-point extension to basic genetic algorithm,which makes genetic algorithm more effective for trainingweights with continuous values [20]. Another improvement ofgenetic algorithm can be seen in [3]. Tabu search method wasapplied to avoid local optima in genetic algorithms. Thecomparison results show that Tabu search is faster and can findsolutions with better fitness than traditional genetic algorithms.Particle swarm optimization (PSO) is another kind ofevolutionary algorithm which comes from swarm intelligencealgorithms [17]. Besides these, simulated annealing method fortraining FCM is proposed recently [2]. Simulated annealingmakes a serial of moves from an initial solution before it findssolution or is frozen in local optima. Evolutionary algorithm isan applicable way to find good weight matrix for FCM.However, like in our algorithm, human interference is neededto judge whether an output matrix meets the expectation.

    VI. CONCLUSION

    In this paper, we propose a gradient residual trainingalgorithm for generating weights of FCM. The algorithmupdates weights by trying to decrease the squared Bellmanresidual. The equations to update the weights and the training

    system are demonstrated. Then the experiments using thealgorithm are shown. The results show that with sufficienttraining samples, the learning algorithm can generate outputweight matrix which is very close to the desired matrix. It is anefficient algorithm for generating FCM weight matrix of adynamic system given the change models of the system. Theobservations of system models are normally easier than toestimate the possible influences between the concepts. Thus thealgorithm proposes a new direction for FCM research andapplications. In future, more experiments will be performed inreal applications to test the training system.

    ACKNOWLEDGMENT

    This research is financially supported by SingaporeNational Research Fund.

    REFERENCES

    [1] Aguilar, J., A survey about fuzzy cognitive maps papers.International

    Journal of Computational Cognition, 2005. 3(2): p. 27-33.

    [2] Alizadeh, S. and M. Ghazanfari, Learning FCM by chaotic simulated

    annealing.Chaos, Solitons & Fractals, 2008.[3] Alizadeh, S., M. Ghazanfari, M. Jafari, and S. Hooshmand,Learning

    FCM by Tabu Search. International Journal of Computer Science,

    2007. 2(2): p. 142-149.

    [4] Axelrod, R.M., Structure of Decision: The Cognitive Maps of Political

    Elites. 1976: Princeton University Press.

    [5] Baird III, L.C., Reinforcement Learning Through Gradient Descent,

    PhD thesis. 1999, School of Computer Science, Carnegie Mellon

    University, Pittsburgh, PA 15213.[6] Dickerson, J.A. and B. Kosko. Virtual worlds as fuzzy cognitive maps.

    In Proceedings of IEEE Virtual Reality Annual International

    Symposium, Seattle, WA, USA, Sep 18-22 1993 p. 471-477.[7] Gori, M. and A. Tesi, On The Problem Of Local Minima In

    Backpropagation.IEEE Transactions on Pattern Analysis and Machine

    Intelligence, 1992. 14(1): p. 76-86.[8] Huerga, A.V., A balanced differential learning algorithm in fuzzy

    cognitive maps. the 16th International Workshop on Qualitative

    Reasoning, 2002.[9] Kosko, B.,Fuzzy Cognitive Maps.Int. J. Man-Machine Studies, 1986.

    24: p. 65-75.

    [10] kosko, B., bidirectional associative memories. IEEE transactions

    Systems, Man, and Cybernetics, 1988. 18: p. 49-60.

    [11] Kosko, B., Hidden Patterns in Combined and Adaptive Knowledge

    Networks.International Journal of Approximate Reasoning, 1988. 2: p.337-393.

    [12] Kosko, B., Neural networks and fuzzy systems: a dynamical systems

    approach to machine intelligence. 1992: Prentice Hall; Har/Dis edition.[13] Koulouriotis, D.E., I.E. Diakoulakis, and D.M. Emiris. Learning fuzzy

    cognitive maps using evolution strategies: a novelschema for modeling

    and simulating high-level behavior. In Proceedings of the 2001Congress on Evolutionary Computation, Seoul, South Korea, May 27-

    30 2001, p. 364-371.[14] Meghabghab, G., Mining User's Web Searching Skills through Fuzzy

    Cognitive State Map vs. Markovian modeling.International Journal of

    Computational Cognition, 2003. 1(3): p. 51-92.[15] Miao, Y., Z.-Q. Liu, C.K. Siew, and C.Y. Miao,Dynamical cognitive

    network - an extension of fuzzy cognitive map. IEEE Transactions on

    Fuzzy Systems, 2001. 9(5): p. 760-770.[16] Mu, C.-P., H.-K. Huang, and S.-F. Tian. Fuzzy cognitive maps for

    decision support in an automatic intrusion response mechanism. In

    Proceedings of 2004 International Conference on Machine Learningand Cybernetics, Aug 26-29 2004, p. 1789-1794.

    [17] Papageorgiou, E.I., K.E. Parsopoulos, P.P.G. C. D. Stylios, and M.N.

    Vrahatis, Fuzzy Cognitive Maps Learning Using Particle Swarm

    Optimization.International Journal of Intelligent Information Systems,

    2005. 25(1): p. 95-121.

    [18] Papageorgiou, E.I., P. Spyridonos, D. Glotsos, C.D. Stylios, P.P.Groumpos, and G. Nikiforidis,Brain Tumor Characterization using the

    Soft Computing Technique of Fuzzy Cognitive Maps. Applied Soft

    Computing, 2008. 8: p. 820-828.[19] Papageorgiou, E.I., C. Stylios, and P.P. Groumpos, Unsupervised

    learning techniques for fine-tuning fuzzy cognitive map causal links.

    International Journal of Human-Computer Studies, 2006. 64(8): p. 727-743.

    [20] Stach, W., L. Kurgan, and W. Pedrycz. Parallel Learning of Large

    Fuzzy Cognitive Maps. In Proceedings of International JointConference on Neural Networks (IJCNN 2007), Aug 12-17 2007, p.

    1584-1589.