Corps de l’article
Cet ouvrage, publié initialement en 1998 chez Princeton University Press sous le titre The importance of being fuzzy and other insights from the border between math and computers, est une introduction au domaine du calcul souple (soft computing), lequel fait l’objet, depuis plusieurs années déjà, d’intensives recherches, tant en sciences cognitives et en mathématiques que dans les domaines, plus appliqués, de l’informatique et de l’intelligence artificielle.
Il ne vise pas à introduire le lecteur à l’ensemble de la problématique du calcul souple, mais plutôt à présenter les fondements théoriques, ainsi que les applications de trois types spécifiques de méthodes « souples » permettant de résoudre des problèmes qui échappent aux méthodes, plus classiques, dites « exactes ». Les méthodes auxquelles s’attarde l’auteur sont : 1) la logique floue, 2) les réseaux de neurones artificiels (RNA), 3) les algorithmes génétiques (AG). La particularité de ces approches « souples » ou plus flexibles réside, comme le souligne l’auteur (p. 12), dans leur possibilité de traiter des données ambiguës ou incertaines, le parallélisme massif, le hasard et les solutions approximatives.
Le livre de Sangalli est divisé en trois parties, chacune étant composée de deux chapitres. Dans la première, l’auteur présente les principes généraux de la logique floue et de la théorie des ensembles flous. Le premier chapitre permet au lecteur, tout d’abord, de bien situer la problématique à l’égard de la théorie des ensembles, de la logique classique et de l’algèbre booléenne. Par la suite, l’auteur présente de manière claire et succincte la théorie des ensembles flous ainsi que certaines des opérations élémentaires dans cette théorie. Sans entrer dans des considérations théoriques et techniques qui seraient certainement inappropriées dans un tel ouvrage de type introductif, Sangalli consacre l’essentiel du second chapitre à la présentation d’applications concrètes qui intègrent plusieurs des principes abordés dans le chapitre précédent. La présentation de ces exemples d’applications est menée de manière détaillée et efficace, permettant ainsi de bien comprendre les principes plus abstraits de la logique floue. Ce chapitre n’est cependant pas entièrement dénué de contenu théorique. En effet, on y retrouve une très bonne présentation des principes et de la formalisation mathématique de l’inférence floue.
La deuxième partie de l’ouvrage est consacrée à la présentation des fondements mathématiques et des limites du calcul traditionnel. Selon Sangalli, il est nécessaire d’aborder ces questions afin de bien saisir les enjeux et toute la pertinence des méthodes et techniques présentées dans les chapitres 1 (la logique floue) et 3 (les réseaux de neurones artificiels et les algorithmes génétiques). Dans le troisième chapitre, l’auteur se propose donc d’effectuer un tour d’horizon des principaux concepts, enjeux et limites de l’informatique classique. On y retrouve entre autres une bonne présentation des machines de Turing ainsi qu’une réflexion sur la calculabilité des fonctions. Dans le chapitre suivant sont abordés plusieurs principes relevant des fondements des mathématiques, dont une description du théorème d’incomplétude de Gödel.
Cette deuxième partie de l’ouvrage aborde des enjeux qui permettent effectivement de bien contextualiser les méthodes de calculs souples présentées dans les autres sections. De plus, et c’est là une des grandes forces de l’ouvrage de Sangalli, les concepts traités, malgré leur complexité, sont présentés avec une aisance qui en facilite certainement la compréhension. Cependant, lorsque l’on compare le contenu de cette partie avec celui de la première et de la troisième partie, il est un peu surprenant de retrouver de telles considérations dans le cadre de cet ouvrage. En effet, la deuxième partie se distingue radicalement des deux autres. Les exemples y sont manifestement moins nombreux, et la complexité des concepts abordés dépasse largement celle des concepts abordés ailleurs dans l’ouvrage. Que le lecteur néophyte cherchant d’abord et avant tout une vue d’ensemble de la logique floue, des réseaux de neurones artificiels et des algorithmes génétiques en soit averti. Cette partie de l’ouvrage, bien que pertinente et bien menée, lui semblera probablement plus aride et plus difficilement accessible.
Comme il a été mentionné précédemment, la dernière partie de l’ouvrage vise à introduire le lecteur aux réseaux de neurones artificiels (RNA) et aux algorithmes génétiques (AG). Dans le chapitre 5, l’auteur présente clairement — et sans s’attarder à des détails techniques souvent caractéristiques des ouvrages informatiques sur les RNA — quelques principes généraux des RNA afin d’exposer par la suite le concept d’algorithme d’apprentissage. Encore une fois, comme dans la première section, la majorité des concepts abordés sont accompagnés de plusieurs exemples fort pertinents (reconnaissance de formes, détection de programmes informatiques contenant des virus, problème du commis voyageur) permettant au lecteur de bien les saisir. Ce chapitre constitue manifestement une très bonne introduction non technique aux principes et aux applications possibles des RNA. Nous regrettons cependant que l’auteur n’ait pas développé davantage sa présentation des RNA en abordant les principes et distinctions entre les différentes architectures neuronales. Cependant, cette lacune est largement compensée par la qualité d’exposition des concepts abordés.
Le dernier chapitre est consacré aux algorithmes génétiques. On y retrouve le style et l’aisance caractéristiques du chapitre précédent. Sans entrer dans les détails techniques de la génétique, Sangalli présente les parallèles entre l’évolution génétique des organismes vivants et les solutions informatiques inspirées de la génétique. Encore une fois, les principaux concepts du domaine sont abordés et finement expliqués. Les processus de croisement et de mutation sont particulièrement bien présentés et sont soutenus par des exemples pertinents. La présentation de l’algorithme ne fait pas exception à cet égard. En ayant recours à des exemples comme ceux du dilemme du prisonnier ou du commis voyageur, Sangalli démontre clairement comment les différentes techniques présentées peuvent constituer des solutions souvent complémentaires à un même problème.
Notre appréciation générale de l’ouvrage de Sangalli ne peut être que fort positive. Les sections 1 et 3 de l’ouvrage (portant respectivement sur la logique floue d’une part et les réseaux de neurones et les algorithmes génétiques d’autre part) constituent d’excellentes introductions générales aux problématiques abordées. La deuxième partie de l’ouvrage est tout aussi pertinente eu égard aux objectifs de l’auteur, mais elle semblera malheureusement peut-être un peu moins accessible pour le lecteur ne possédant qu’une connaissance limitée des enjeux mathématiques dans leur application à l’intelligence artificielle. Par ailleurs, les nombreux enjeux cognitifs soulevés par les approches abordées ne sont qu’indirectement introduits par l’auteur. Il s’agit là manifestement d’un geste volontaire avec lequel nous ne pouvons qu’être en accord. En procédant ainsi, Sangalli atteint son objectif initial — celui d’initier le lecteur aux domaines de la logique floue, des RNA et des AG — tout en l’invitant à consulter des ressources plus ciblées dans le domaine des sciences cognitives. Nous recommandons donc vivement la lecture de cet ouvrage à toute personne travaillant dans les domaines des sciences cognitives et de l’intelligence artificielle et voulant s’initier aux principes généraux de la logique floue et des méthodes souples, qui permettent de résoudre des problèmes plus difficilement traitables par les méthodes classiques.