• Aucun résultat trouvé

Ce système multi noyaux a été implémenté dans le langage de programma-tion Java, en utilisant une plateforme de développement Eclipse version 3.5.1. Dans notre système le mécanisme d'exploitation des connaissances est constitué par deux noyaux de résolution. Un noyau de résolution CSP (le solveur Choco) et un moteur d'inférence des systèmes à base de règles de production (Clips). Nous expliquons ici les composants généraux de notre système, nous reviendrons sur le concept des deux systèmes Choco et Clips par la suite. La plateforme du sys-tème est composée d'une base de décision qui permet l'orientation de la requête selon le type d'information recherchée. La base de décision apporte une réponse aux changements fréquents de données. Les données seront représentées soit dans un formalisme CSP sous forme d'un ensemble de variables, de domaines, et de contraintes, soit sous forme d'un ensemble de règles de production "si" conditions "alors" action. Le choix d'un de ces deux formalismes, est eectué

Chapitre III Vers des systèmes à noyaux multiples par l'expert du domaine d'application. Une interface (téléchargeable sur notre site web) a été conçue pour faciliter l'introduction des données et l'interrogation du système.

La gure 3.1 montre le schéma général de notre système. Notre procédé consiste, à partir des données introduites par un expert du domaine, à transfor-mer un ensemble de règles de production sous forme d'un problème à base de contraintes et inversement. Ces informations seront exploitées pour résoudre le problème posé.

Pour la mise en ÷uvre de ce système, nous avons utilisé deux outils open-source : le solveur de CSP Choco et le moteur d'inférence Clips. Ces deux applicatifs sont téléchargeables sur le site Sourceforge, et orent une API Java.

Choco

Choco est une librairie Java développée spéciquement pour résoudre des problèmes de satisfaction de contraintes (CSP). Il est construit sur un méca-nisme de propagation basé sur les événements avec des techniques de résolution complètes. Une version du code source est téléchargeable en ligne à l'adresse suivante1

Clips

CLIPS est un outil de développement de systèmes experts développé à l'ori-gine par la Direction de la Technologie des Logiciels (STB), NASA/Lyndon B. Johnson Space Center. Depuis sa première version en 1986, de multiples amélio-rations ont été apportées à Clips. Il est développé en langage de programmation C/C++. Les données sont représentées par des règles de production. Il a aussi une grammaire qui lui est propre. Une version complète du code source est téléchargeable en ligne à l'adresse suivante2.

3.4.1 Interface du système

Cette interface est conçue pour faciliter l'acquisition des données d'un expert. Elle ore aussi un accès simple aux données.

La gure 3.2 représente l'interface principale de notre système. Elle est com-plètement dédiée à la communication avec les experts an de construire les don-nées de système. Cette interface permet à l'utilisateur d'interroger cette base pour obtenir les informations qu'il souhaite. Le menu "System" permet soit de construire un nouveau système, ou bien d'ouvrir un système déjà existant. Le

1. https ://sourceforge.net/projects/choco/les/ 2. http ://clipsrules.sourceforge.net/

Chapitre III Vers des systèmes à noyaux multiples

Figure 3.2  Interface principale du système

menu "Management" eectue des diérentes manipulations sur notre base de données d'un système. Le menu "Run" permet de lancer l'exécution de notre système en sélection la base de données sur laquelle nous allons travailler. Le menu "Interrogation" ore une interface d'interaction entre l'utilisateur et le système.

Nous trouverons une version de l'interface de notre système sur le site sui-vant3

La mise en ÷uvre de la communication entre le solveur Choco et le mo-teur d'inférence Clips est décrite dans le chapitre suivant après avoir décrit le mécanisme de communication mis en ÷uvre.

Chapitre III Vers des systèmes à noyaux multiples

3.5 Conclusion

Dans ce chapitre, nous avons présenté un système à noyaux multiples et ses principales caractéristiques. En résumé, on peut dire qu'un système à noyaux multiples est un système qui hybride le formalisme des systèmes expert à base de règles et le formalisme des CSP.

Cette hybridation induit plusieurs stratégies de coopération : ltrante, concurrente ou cyclique qui nécessitent le transfert des connaissances entres les deux modèles. Généralement les connaissances transférées sont des instan-ciations partielles. Dans le chapitre suivant, nous présentons un nouveau modèle qui permet de transformer automatiquement un système expert vers un modèle à base de contraintes.

Chapitre 4

Protocole de communication

entre SE et CSP

The only possible interpretation of any research whatever in the social sciences' is : some do, some don't. Ernest Rutherford Dans ce chapitre, nous introduisons un nouveau formalisme à base de contraintes, nommé DDCSP (Dynamic Domain Constraint Satisfaction Pro-blem). Ce formalisme se distingue par des domaines et des relations dynamiques. Nous étudierons certaines caractéristiques des DDCSP puis nous proposerons des techniques de résolution de ce formalisme. Puis, nous proposons une procé-dure de transformation automatique d'un système à base de règles de production vers un formalisme à base de contraintes. Cette transformation joue un rôle très important dans la communication entre le moteur d'inférence standard d'un système expert et le noyau de résolution des CSP.

4.1 Introduction

Dans un premier temps, nous dénissons une procédure de transformation des problèmes modélisés par des règles d'inférence vers les CSP. A cette n, une extension du formalisme CSP est proposée, nommée DDCSP (Dynamic Domain Constraint Satisfaction Problem). Les DDCSP permettent d'associer des do-maines dynamiques aux variables du problème, et des relations dynamiques aux contraintes du problème pour prendre en compte un nouveau fait lorsqu'il est déduit en cours de résolution. Nous étudions par la suite les diérentes propriétés des DDCSP. Nous proposons en outre deux mécanismes qui permettent l'adap-tation des techniques de résolution standards des CSP classiques aux DDCSP.

Chapitre IV Protocole de communication entre SE et CSP Le principal argument pour motiver cette étude est de permettre de résoudre certains problèmes plus complexes en tirant avantage des algorithmes de réso-lution dédiés aux CSP et en particulier en concevant des architectures hybrides ainsi que des architectures distribuées et sécurisées. Comme nous venons de le voir dans le chapitre 1, il existe plusieurs représentation possibles de la base de connaissances. Nous restreignons notre étude aux problèmes modélisés par la logique des prédicats du premier ordre sans fonctions. Nous commençons par donner certaines dénitions qui constituent un pré-requis. Puis nous décrivons les mécanismes de la transformation.