FCMpy: A python module for constructing and analyzing fuzzy cognitive maps

Samvel Mkhitaryan*, Philippe Giabbanelli, Maciej K. Wozniak, Gonzalo Nápoles, Nanne De Vries, Rik Crutzen

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

12 Citations (Scopus)


FCMpy is an open-source Python module for building and analyzing Fuzzy Cognitive Maps (FCMs). The module provides tools for end-to-end projects involving FCMs. It is able to derive fuzzy causal weights from qualitative data or simulating the system behavior. Additionally, it includes machine learning algorithms (e.g., Nonlinear Hebbian Learning, Active Hebbian Learning, Genetic Algorithms, and Deterministic Learning) to adjust the FCM causal weight matrix and to solve classification problems. Finally, users can easily implement scenario analysis by simulating hypothetical interventions (i.e., analyzing what-if scenarios). FCMpy is the first open-source module that contains all the functionalities necessary for FCM oriented projects. This work aims to enable researchers from different areas, such as psychology, cognitive science, or engineering, to easily and efficiently develop and test their FCM models without the need for extensive programming knowledge.

Original languageEnglish
Article number1078
Pages (from-to)1-30
Number of pages30
JournalPeerJ Computer Science
Publication statusPublished - 23 Sept 2022


  • Genetic algorithm
  • Nonlinear hebbian learning
  • Python
  • Active Hebbian Learning
  • FCM
  • Algorithm


Dive into the research topics of 'FCMpy: A python module for constructing and analyzing fuzzy cognitive maps'. Together they form a unique fingerprint.

Cite this