samedi 12 juillet 2008

Fuzzy Logic

Dans le cadre de mon étude fascinante, j'ai eu la chance d'avoir une mini pseudo introduction à la fuzzy logic (logique floue selon wikipédia francophone). J'ai déjà lu là-dessus (en gros, ça rejoint plus ou moins l'hypothèse qu'un évènement futur ne soit ni vrai ni faux en ce moment). Mais bon, j'ai un article qui portait sur le enterprise risk management (en anglais mesdames et messieurs), et en parlant du "comment prévoir les risques affectant une entreprise", ils ont parlé de différents modèles pour faire de la prévention / amélioration de la gestion de risques, et entre autres la "logique floue" a été mentionnée.

Classiquement, c'est-à-dire dans le calcul des prédicats (de premier ordre), on dit qu'un prédicat ne peut être que dans deux états: vrai (le prédicat est vrai), ou faux (le prédicat est faux). C'est une variable booléenne, qui oscille entre 0 et 1 (exactement). C'est ainsi que les ordinateurs fonctionnent (if (prédicat) { ... }, else { ... }).

La logique floue stipule qu'un prédicat pourrait prendre d'autres valeurs que 0 et 1 (entre 0 et 1). Il s'agit d'une partie des Fuzzy sets (les ensembles flous font partie de l'algèbre abstraite, me dit-on). Cette logique permet de mieux "modéliser" les zones grises de décision, où on doit faire appel au jugement et à la réflexion.

Dans le calcul des prédicats de premier ordre, on pourrait décider, par exemple, que quelqu'un dont la température corporelle est de 39 Celsius ou plus fait de la fièvre, sinon non. En réalité, les choses ne sont pas aussi simples... après tout, comment différencier l'état de quelqu'un qui fait 39 Celsius d'une autre qui n'en fait que 38,9 Celsius (zone grise) ? La logique floue sert justement à ça. Par exemple, on pourrait définir des valeurs à 0 et 1 (obligatoirement) comme étant "je ne fais pas du tout de fièvre" et "je fais beaucoup de fièvre j'ai chaud je grelotte j'ai chaud aidez-moi" (respectivement). D'autre part, on pourrait définir un point quelque part entre 0 et 1, par exemple à 0,5 (valeur quasi arbitraire) qui pourrait être, "je fais un peu de fièvre, mais pas assez pour râler".

On pourrait évidemment étendre l'univers des résultats possibles en définissant d'autres évènements (par le biais de nouvelles valeurs prises par la variable étudiée).

Normalement, ce type de réflexion est modélisable "classiquement" à l'aide d'un ensemble de prédicats booléens (les programmeurs l'ont réalisé depuis longtemps rendu ici). Par exemple, on pourrait avoir quelque chose du type: if (en dessous de 37) {...}, else if (entre 37 et 39) {...}, else {...}.

Ainsi, avec des prédicats booléens normaux, on simule une logique floue (on le fait toujours sans vraiment s'en rendre compte). Malheureusement, de telles règles de décision sont dites strictes; afin de vraiment représenter la réalité, il faudrait avoir une infinité de prédicats différents sur un intervalle continu (ce qui n'est pas réalisable) entre 37 et 39 dans ce cas-ci. Car le problème reste quand même, mais à plus petite échelle: comment faire la différence entre quelqu'un qui fait 38,9 Celsius d'une autre qui en fait 39,0 C?


En guise de complément, je cite un paragraphe de l'article que j'ai lu:

Fuzzy logic has advantages in modeling complex business problems where linguistic variables are used to express the logic rules, the information is subjective, incomplete or unreliable, and the problem spaces are often nonlinear. A fuzzy system is closer to the way people reason and is therefore often used to build expert systems. The fuzzy nature of the rule spaces makes it easy to model multiple, often different or conflicting expert views toward the same model variables. In terms of risk modeling and assessment, fuzzy logic shows potential to be a good approach in dealing with operational risk, where the probability assessment is often based on expert opinion and the risk space is multidimensional and highly nonlinear.

Source: Casualty Actuarial Society Enterprise Risk Management Committee, "Overview of Enterprise Risk Management", Casualty Actuarial Society Forum, Summer 2003, Appendix B.

1 commentaire:

Anonyme a dit...

J'ai trouvé ça vraiment bien et intéressant . Ça ne me dis pas grand chose mais je comprends le principe,,,