Fuzzy Cognitive Map Software

Transcription

Fuzzy Cognitive Map SoftwareMeletis Margaritis1, Chrysostomos Stylios2 and Peter Groumpos11Electrical and Computer Engineering Department, University of Patras, Greece2Computer Science Department, University of Ioannina, Ioannina, GreeceEmail: margaritis@ee.upatras.gr and stylios@cs.uoi.grAbstract: Fuzzy Cognitive Map (FCM) is a soft computingmodelling methodology for complex systems. Beyond themathematical formulation of the FCM theory, there was a needof developing a software tool to facilitate the implementation ofFCMs. This paper describes the use of a software tool that wasdeveloped to construct FCM models. Some theoretical elementsof Fuzzy Cognitive Maps are presented. Then, it is discussedhow the software tool is used to develop a model and simulatethe use of Fuzzy Cognitive Maps. The user interface of thesoftware tool is described and how the FCM-Analyst is used tofacilitate the implementation and simulation of Fuzzy CognitiveMaps.1. INTRODUCTIONModelling complex dynamic systems is a demanding taskrequiring many efforts and new modelling methodologieshave been proposed; such as the soft computing modellingtechnique of Fuzzy Cognitive Maps (FCMs). In addition tothe theoretical and mathematical description of any modellingmethodology, the advances and availability of computer andsoftware resources provide new potentials to facilitate theimplementation and utilization of this methodology. FuzzyCognitive Map theory has recently introduced [1], newmethod for developing FCMs have been proposed and FCMhave used to model systems in discipline scientific areas fromorganizational behaviour [2] to communication networks [3]and from failure models [4] to virtual worlds [5]. This paperpresents the FCM-Analyst, a software tool that has beencreated to help the designer of a complex system to model itby implementing FCM technology and simulates theoperation of the system.Fuzzy Cognitive Map (FCM) is an abstract symbolicrepresentation for the description and modelling of complexsystems, based on the accumulated knowledge andexperience on the operation of the system. FCM describesdifferent aspects in the behaviour of a complex system interms of concepts and interactions among concepts that showthe dynamics of a system. Fuzzy Cognitive Maps areconceptual models of the system and human experts whohave experience on the operation of the system develop them.Experts design the fuzzy graph structure of the system,consisting of concepts-nodes that represent the keycharacteristics, principles and functions of the system's modeland operation behaviour. The interrelationships among theseconcepts – main characteristics of the system - are fuzzyweighted arcs between concepts.[6].In order to facilitate the use and implementation of FCMsthere was a need for developing a specific software tool.There have been developed some software tools that simulateFuzzy Cognitive Maps. The first attempt was a program for avery simple implementation of FCM based on C [7]. Thesecond known software for FCM was an applet to drawFuzzy Cognitive Maps based on Java through Internet [8].Another similar tool is a virtual reality system based on VRtechniques to simulate Fuzzy Cognitive Maps [9]. All thesesoftware tools are using quite simple mathematical forms ofFCMs, they do not permit to the user to change and adapt themathematical equations and the most important they do notsupport advanced techniques for constructing FuzzyCognitive Maps. For the most of these cases, FuzzyCognitive Map software requires crisp values for conceptsand weights and the user interface is not so user friendly.Most of these drawbacks have been overcome with the FCMAnalyst that is discussed and presented here.First of all, FCM-Analyst has been written on JAVAbecause there are many important advantages for thisplatform. JAVA is an object-oriented programming language,with great abilities to organising and developing software. Itis a portable platform, thus permitting the “FCM Analyst” torun almost in any operating system. Moreover, it providessafety to the end-user, in the case of using certified applets.Additionally, it supports multi-threading programming.Finally, as far as the syntax is concerned, it is lesscomplicated than other languages, and thus very easy to learnand update the software code.This paper presents an overview of the Fuzzy CognitiveMaps and how the FCM-Analyst supports the variousfunctions of FCMs. Then the FCM-Analyst user interface andfunctionality is described.

2. FUZZY COGNITIVE MAPSFuzzy Cognitive Maps (FCM) is a modeling methodologyfor complex systems. The graphical illustration of an FCM isconsisted of nodes connected with weighted interconnections.Nodes of the graph stand for concepts that are used todescribe main behavioral characteristics of the system such asstates, variables, inputs and outputs. Signed and weightedarcs representing the causal relationships that exist amongconcepts connect nodes. A graphical representation of FCMsis depicted on Figure 1.The numerical value A i that represents the concept valuecharacterizes it and it results from the transformation of thereal value of the system’s corresponding characteristic, forwhich this concept stands, in the interval [0,1]. Causalitybetween concepts allows degrees of causality and not theusual binary logic, so the weights of the interconnections canrange in the interval [-1,1].Different kinds of threshold functions could be used in theFuzzy Cognitive Map framework according to themathematical justification that a researcher uses. The FCMAnalyst supports the selection of different thresholdfunctions, permitting to the researcher to comply a thresholdfunction consisted of any known mathematical expression.Generally, suppose that an FCM is consisted of nconcepts and can be represented mathematically by a 1 nstate vector A , which gathers the values of the n conceptsand by a n n weight matrix W . Each nondiagonal elementeij of the matrix W indicates the value of the weight k W1 ijbetween concept Ci and C j , and the diagonal elementse of the matrix W are equal to coefficient k 2 .iiEquation 1 can be transformed in the following equation,which describes Fuzzy Cognitive Map operation with thecompact mathematical model:A t 1 f ( A t W )(2)2.2 Methods for constructing Fuzzy Cognitive MapsThe method that is used to construct a Fuzzy CognitiveMap have great importance for the FCM utilization inmodeling complex systems. Fuzzy Cognitive Map representsthe human knowledge on the operation of the system andexperts develop FCMs using their experience and knowledgeon the system [10].Figure 1 A simple illustration of FCM2.1 Mathematical expressions of Fuzzy Cognitive MapsThe general calculation rule for the values of concepts ofFuzzy Cognitive Map has been proposed [10] and issupported in the FCM Analyst:A it f ( k 1n At 1j W ji k 2 A it 1 )(1)j 1j iNamely, Ait is the value of concept Ci at time t , Ait 1 thevalue of concept Ci at time t 1 , A tj 1 the value of conceptC j at time t 1 , and the weight W ji of the interconnectionfrom concept C j to concept Ci , and fis a thresholdfunction which squashes the result in the desired interval. Thecoefficients k1 and k 2 can take different values according toany specific case and are determined by the user of thesystem. The FCM Analyst supports this function, giving theability to the user to select the coefficients.Experts determine the number and kind of concepts of theFCMs and the interrelationships among concepts. Expertsand engineers know the main factors and characteristics thatdetermine the behavior of the system; and they describe eachone of these factors with a concept. Experts know howelements and devises of the system influence each other andfor the corresponding concepts they determine the negative orpositive effect of one concept on the others along with afuzzy weight describing the degree of causation.There are two methodologies for the determination of thedegree of causal relationship among concepts. The first onerequires experts to assign numerical weights for each oneinterconnection. The second methodology for thedevelopment of Fuzzy Cognitive Maps is based on fuzzylogic approach. Experts describe the causality amongconcepts using linguistic weights.Every expert describes the influence of one concept to theother using the linguistic variable of Influence [10]. Influenceof one concept on another, is interpreted as a linguisticvariable taking values in the universe U [-1,1] and its term

set T(influence) is determined by the designer of the systemusing a membership function. FCM-Analyst suggests to theuser different kinds of membership functions with differentcharacteristics to choose the most appropriate. So, threeexperts describe the influence of one concept to another withthe linguistic variables: “zero”, “positive weak” and “positivemedium” that correspond to the gaussian membershipfunctions as illustrated in the figure 2.The linguistic variables that are assigned to eachinterconnection are aggregated and combined using a fuzzylogic technique in order to calculate the overall linguisticweight for one interconnection. The FCM-Analyst suggeststo the user to choose between the aggregation method ofSUM or MAX. The produced overall linguistic weight willbe transformed in a numerical weight for eachinterconnection using a defuzzification method and so thecrisp weight is produced. FCM-Analyst suggests to the userto choose between the defuzzification method of Center ofGravity and the Bisector method.The three linguistic weights described with gaussianmembership functions as shown in the bottom part of figure2, that are assigned to one interconnection by three expertsare aggregated. Figure 3 shows the three membershipsfunction, and the scheme of the outcome of the aggregationof these three membership functions using the method ofSUM. Then, the overall produced linguistic weight isdefuzzified and the calculated numerical value is the 0.25 forthis example.Figure 3. The aggregated weight3. “FCM ANALYST”.Figure 2. Selection of three fuzzy values with gaussianmembership functionsThis section will describe the user interface of the FCMAnalyst and will present the advantages of the FCM-Analystand how can facilitate the simulation and implementation ofFCMs in modelling a system.FCM-Analyst has many capabilities and help the designingand developing of the FCM model for a system. When the

user run the FCM-Analyst an empty drawing area isappeared. User with mouse double click introduces a conceptand he draws an interconnection between two concepts bydrag and drop an arc from one concept to another. Utilisingthis graphical way of direct manipulation, the user can insertany node of the FCM in the position that he wants. The userprovides names and descriptions to both nodes and arcs; healso assigns the initial values to the nodes. The FCM-Analystprovides various facilities at this design phase, such asdeleting, moving and repositioning the nodes and zooming inand out the whole model. Figure 4 illustrates a simple FCMthat has been developed. At the right-down corner at theworking area, the relative information of the active node isshown (the active node has a different colour).Figure 5. The weight matrix windowClicking on the desired cell of the weight matrix the usercan edit the corresponding value, as already described in theprevious paragraph. For the active cell of the weight matrix inthe bottom of the window there is a description to whichinterconnection this weight correspond. The user can decidewhether his changes would apply to his model automaticallyor manually, using the corresponding buttons andcheckboxes.When the Fuzzy Cognitive Map will have been developeddifferent options for the mathematical description andsimulation of the FCM can be selected (Figure 6). Theseoptions include:a)The threshold function f . The user can insert anythreshold function as equation. It is inserted as astring; a special parser has been developed, by whichthe tool can recognize any equation, consisted of thestandard mathematical functions, such as sin(x),cos(x), tan(x) and etc.b)The defuzzification method either centroid orbisectorc)The aggregation method (SUM or MAX) for theaggregation of fuzzy variablesd)The membership function type. The user can selecteither triangular, or gaussian or trapezoid (trimf,gaussmf or trapmf) membership function anddetermine the variables of these functions.e)The researcher can choose the most appropriatecalculation rule for the calculation of the conceptvalues with the selection of the correspondingparameters.Figure 4. The FCM-Analyst drawing area with a simple FCMOn the FCM-Analyst window are illustrated the followingbuttons. The “Weights” button when is pressed it picks up theweight matrix W of the Fuzzy Cognitive Map, which isillustrated on the left part of the window. The user can edit onthe matrix and change some weight values, add new weightsor delete some (Figure 5). The changes on the weight matrixaffect the graphical illustration of the FCM by adding ordeleting interconnections for nonzero or zero weightscorrespondingly. For complex FCMs with many nodes ispreferable to insert the values of in the weight matrix and theFCM-Analyst will draw the interconnections for the user.The weight matrix contains the values of the weightedinterconnections as well as the feedback values of the nodesat the diagonal. Some of these values might have beendirectly inserted numerically and some might have been thevalues that came out after defuzzification of one or morefuzzy values.

The argument of the threshold function f can be eitherndefined as: At 1j W ji γ Ait 1 , where γ is theMoreover the user can export this chart as an image to a fileunder the JPG standard image format.j 1, j ifeedback value of the i-node. In this case, the user is able toselect the same γ value for all nodes.As another option, the threshold function f can have asargument the value of:n k A1t 1j W ji k 2 Ait 1 , where k1 and k 2 have thej 1, j isame values for all nodes and there should be thatk1 k 2 1 .Figure 7. The FCM model behavior analysis windowThe second one choice is shown on figure 8. There areillustrated the variation of the values of the conceptsnumerically. Using this option, there is the facility to copythe concept values to the system clipboard or to export themto a file under the Microsoft Excel format (XLS).Figure 6. The system dependent options dialogWhen the user has finally developed the FCM and haschosen through the option window what will be thecalculation rule, the FCM-Analyst is ready to simulate thebehaviour of the FCM model, by pressing the correspondingbutton named “Analyse” on the main window. There areavailable two representation of the behavioural analysis. Thefirst one is shown on figure 7. This is a graphical chartshowing the variation of the values of all the concepts for anytime step. There is the possibility to expand or suppress thetime range by setting different number of simulation steps.Figure 8. The value table for the FCM analysis report.

4. SUMMARYFuzzy Cognitive Map is a soft computing methodology formodeling complex systems but there was not any specialsoftware tool for this. A software tool the FCM-Analyst hasbeen developed in order to facilitate the design andsimulation of FCM of any complexity. The user interface andthe operation of the FCM-Analyst has discussed in this paper.REFERENCES[1] Bart Kosko: “Neural Networks and Fuzzy Systems”Englewood Cliffs, N.J.: Prentice-Hall, 1992.[2] Philip Craiger, Deborah Goodman, Jason Weiss andAdam B. Butler: “Modeling Organizational Behaviour withFuzzy Cognitive Maps”, Int. J. of Computational Intelligenceand Organizations, (1996) Vol. 1, No. 3 pp. 120-123.[3] Satish Jamadagni: “Object oriented Fuzzy CognitiveMaps for Network modeling” 19th International Conferenceof the North American Fuzzy Information Process NAFIPS’(2000), pp. 412-415[4] Enrique Pelaez and John Bowles: “Using fuzzyCognitive Maps as a System Model for Failure Models andEffects Analysis” Information Sciences, (1996), Vol. 88, pp.177-199.[5] Julie Dickerson and Bart Kosko: “Fuzzy VirtualWorlds” AI Expert, (1994) pp.25-31.[6] Chrysostomos Stylios and Peter Groumpos: “Α softcomputing approach for modeling the supervisor ofmanufacturing systems” Journal of Intelligent and RoboticsSystems, (1999) Vol. 26, Νο 3-4, pp. 389-403[7] Josef Betancourt, September 25, 1993, http://ourworldtop.cs.com/tcmits1/fcm.html[8] Stephen Mohr: “Software Design for a Fuzzy CognitiveMap Modeling Tool”, Master thesis 1997, RensselaerPolytechnic Institute.http://www.users.voicenet.com/ smohr/fcm white.html[9] Pablo Arturo Von Raesfeld Porras: “Application ofFuzzy Cognitive Maps with VRML for a virtualenvironment” (in Spanish), Master thesis 2000, UniversityAmericas-Puebla, Mayo, Mexico.http://mailweb.udlap.mx/ tesis/lis/von r pa/index.html[10] Chrysostomos Stylios and Peter Groumpos: “FuzzyCognitive Maps in Modeling Supervisory Control Systems”Journal of Intelligent & Fuzzy Systems (2000), Vol 8. No 2.pp. 83-98.

Abstract: Fuzzy Cognitive Map (FCM) is a soft computing modelling methodology for complex systems. Beyond the mathematical formulation of the FCM theory, there was a need of developing a software tool to facilitate the implementation of FCMs. This paper describes the use of a software tool that was developed to construct FCM models.