Accueil

FisPro (Fuzzy Inference System Professional) permet de créer des systèmes d’inférence floue (SIF), et de les utiliser à des fins de raisonnement, en particulier pour la simulation d’un système physique ou biologique. Les systèmes d’inférence floue sont décrits brièvement dans le glossaire de logique floue donné dans la documentation de l’utilisateur. Ils fonctionnent à partir de règles de raisonnement floues, qui ont l’avantage de gérer la progressivité des phénomènes. La logique floue, depuis les premiers travaux de Zadeh, s’est révélée comme une puissante interface entre espaces symboliques et numériques. L’une des raisons en est la capacité des systèmes flous à incorporer des connaissances expertes et leurs nuances, et la possibilité d’exprimer le comportement d’un système en termes interprétables. Une autre raison est la possibilité de concevoir des systèmes par apprentissage à partir de données afin de tirer le meilleur parti de celles-ci.

En dépit de ces atouts, l’utilisation des SIF en tant que cadre collaboratif de modélisation n’a pas reçu autant d’attention qu’elle mérite, et cette constatation a été notre principale motivation pour lancer le projet FisPro il y a quelques années. Nos efforts ont porté sur trois points principaux :

  • l’interprétabilité de la base de règles. C’est la principale originalité de FisPro, et l’interprétabilité est garantie à toutes les étapes : partitionnement des variables, apprentissage de règles, simplification des bases de règles et optimisation.
  • une architecture logicielle modulaire et portable qui permet l’indépendance vis à vis du matériel et du système d’exploitation, et facilite l’écriture d’extensions.
  • un logiciel libre de droits, sous licence garantissant le droit des utilisateurs à disposer du code source pour l’utiliser, le modifier et l’améliorer.

L’implémentation faite dans FisPro permet tout d’abord de créer directement des systèmes à partir de la connaissance experte d’un domaine, par exemple en œnologie. Cette démarche est illustrée par un exemple donné dans le guide Débuter avec FisPro.

FisPro permet aussi de construire entièrement un système d’inférence floue à partir des données numériques du problème que l’on souhaite modéliser. Beaucoup de méthodes d’apprentissage automatique conduisent malheureusement à des systèmes de type « boîte noire ». Dans FisPro, pour que l’utilisateur puisse comprendre le fonctionnement du système, des contraintes sont imposées aux algorithmes pour rendre les règles de raisonnement interprétables. Cette démarche novatrice constitue une des originalités du logiciel. Quelques exemples sont présentés dans le guide Apprentissage avec FisPro.

Les deux approches, écriture des règles par l’expert et induction automatique, peuvent être combinées pour créer des systèmes plus complets et performants. FisPro intègre des outils à vocation pédagogique, pour illustrer le mécanisme de raisonnement, et d’autres permettant de mesurer la performance d’un système sur un jeu de données.

Ce logiciel est formé de deux parties distinctes : une bibliothèque de fonctions, écrite en C++, qui peut être utilisée de manière autonome et une interface utilisateur, écrite en Java, qui en implémente les principales fonctionnalités. Portable, il peut s’exécuter sur la majorité des plates-formes informatiques existantes.

Les auteurs de FisPro travaillent depuis longtemps dans les domaines d’application de la modélisation en agronomie, environnement et agroalimentaire, dans lesquels la coopération entre expertise et données est de toute importance. Les premières applications de FisPro ont donc été réalisées dans ces domaines. Cependant, les possibilités d’application vont bien au-delà de celles-ci (voir la page contributions pour quelques exemples).

  • S. Guillaume and B. Charnomordic, « Learning interpretable fuzzy inference systems with fispro, » International journal of information sciences, vol. 181, iss. 20, pp. 4409-4427, 2011.
    [Bibtex]
    @article{Guillaume2011,
    author = "Serge Guillaume and Brigitte Charnomordic",
    title = "Learning interpretable Fuzzy Inference Systems with FisPro",
    journal = "International Journal of Information Sciences",
    volume = "181",
    number = "20",
    note = "Special Issue on Interpretable Fuzzy Systems",
    pages = "4409-4427",
    year = "2011",
    }