• Aucun résultat trouvé

Rappelons que dans certaines dénitions de DCSP, un DCSP est vu comme une suite incrémentale de CSP classiques. Résoudre un CSP consiste donc à résoudre successivement une suite de CSP classiques. Les algorithmes de ré-solution dédiés aux CSP classiques ne sont pas adaptés au traitement de ces problèmes dynamiques. En eet, toute modication conduit à la dénition d'un nouveau problème qui est traité par le redémarrage du processus de recherche [57]. On peut donc appliquer directement les algorithmes de résolution connus pour les CSP classiques de manière récursive. En revanche, lorsque le problème à résoudre est très dicile ou lorsque de nombreuses modications interviennent, une telle approche devient très coûteuse. Une autre façon de résoudre les DCSP est de proposer des techniques pour prendre en compte la dynamicité du pro-blème. Les premiers travaux sont basés sur l'approche standard proposée dans [98]. Elle limite la résolution à trouver les solutions minimales. Une solution mi-nimale est trouvée lorsque toutes les variables actives sont instanciées et aucune contrainte d'activité ne peut être activée. Une façon de prendre avantage des so-lutions déjà trouvées dans les étapes précédentes de la résolution est de procéder au mécanisme de mémorisation. La mémorisation de l'information est classiée en deux catégories [133] : la mémorisation des solutions et la mémorisation des nogoods.

Chapitre II Liens entre CSP et systèmes experts Les méthodes basées sur la mémorisation des solutions exploitent ces so-lutions durant l'évolution du problème, c'est-à-dire en fonction de l'activation et de la désactivation des contraintes ou des variables. Une première méthode, décrite dans [97], exploite l'heuristique de minimisation des contraintes insatis-faites. Dans [151], les auteurs ont proposé une méthode appelé "local change" qui utilise l'heuristique qui consiste à traiter en priorité les variables dont la valeur est incompatible avec la valeur instanciée à la variable courante.

D'autres méthodes sont basées sur la mémorisation des nogoods. Cette ap-proche ne se contente pas de mémoriser tout simplement les nogoods durant la résolution mais elle eectue également la mémorisation de l'ensemble des contraintes qui sont responsables de la génération de ce nogood, an d'exploiter ces informations pour valider temporairement les nogoods lorsque les mêmes contraintes apparaissent. Ces algorithmes sont décrits dans [150, 151].

Chapitre II Liens entre CSP et systèmes experts

2.4 Conclusion

Indépendamment du formalisme, un CSP dynamique est caractérisé par l'ajout où la suppression de variables, de valeurs des domaines ou de contraintes. Une question essentielle est celle des équivalences entre ces diérents modèles.

Les DCSP ont été conçus en ajoutant aux CSP classiques des contraintes d'activité qui sont responsables de l'activation et la désactivation des variables. La vérication de ces contraintes nécessite donc de prendre en compte l'activité des variables et de leur contraintes associées durant la résolution.

Puisque l'activité des variables des DCSP est matérialisée par le symbole * dans les CSP*, par les variables d'états des CSPe et par les variables d'activité dans les ACSP, et puisque l'équivalence entre les ACSP et les CCSP a été établie dans [48]. On peut en déduire que tous les formalismes de CSP dynamiques proposés : DCSP, CCSP, CSP*, CSPe, ACSP sont équivalents et n'apportent pas une nouveauté par rapport aux DCSP classiques. Ils orent simplement un autre moyen de représentation des données du problème tout en présentant les mêmes caractéristiques de calcul et de résolution.

En revanche, les CSPT permettent d'exprimer certains problèmes de la lo-gique du premier ordre dans le formalisme CSP, et la présence des nouvelles déductions logiques impose l'élargissement de ce formalisme au "CSPT étendu". Nous remarquons que les diérents formalismes DCSP et les modes de re-présentation classiques d'un SE constituent des moyens d'exprimer des connais-sances. Certains problèmes sont mieux exprimés par un formalisme que par l'autre. Par exemple les problèmes combinatoires sont mieux exprimés et struc-turés par les DCSP que par les SE. Par conséquent les DCSP et le SE sont deux alternatives qui vont permettre d'exprimer et de résoudre diérents type de problèmes au mieux.

Nous avons évoqué dans ce chapitre les liens et les travaux existants entre des systèmes experts et des CSP, en donnant leurs principales propriétés. Nous avons présenté par la suite les diérentes variantes des CSP dynamiques qui constituent des approches plus proches du formalisme d'un SE.

Néanmoins, les CSP dynamiques ne permettent pas de couvrir tous les pro-blèmes qui peuvent être modélisés sous forme d'un système expert. Dans le prochain chapitre, nous décrirons une architecture dont l'objectif est d'hybrider et de combiner le moteur d'inférence d'un système expert et le noyau de résolu-tion d'un CSP. Puis dans le chapitre 4, nous dénirons un nouveau formalisme qui nous permettra de réaliser cette hybridation.

Chapitre 3

Vers des systèmes à noyaux

multiples

We must encourage the commercialization of technologies that are compatible with existing infrastructure. What makes plug-in hybrids promising is that they are ; we don't need a Manhattan Project to make this happen. James Woolsey Dans ce chapitre, nous proposons une architecture générale basée à la fois sur le formalisme d'un CSP et le formalisme d'un SE. Cette architecture mixte nous permet de dénir trois approches d'hybridation : ltrante, cyclique et concur-rente. En premier lieu, nous décrivons l'architecture globale à noyaux multiples, puis nous discutons les diérentes possibilités de communication et l'intérêt pratique de cette hybridation. En second lieu, nous présentons le mécanisme d'inférence hybride, et nous donnons le principe de ces diérentes approches. Puis, nous analysons ces approches en soulignant les propriétés de chacune.

Chapitre III Vers des systèmes à noyaux multiples

3.1 Motivations pour un système à noyaux

mul-tiples

Certains problèmes peuvent être modélisés en même temps soit par le for-malisme CSP, soit par le forfor-malisme de système expert. En terme d'ecacité, certains types de problèmes seront traités plus ecacement par l'un ou l'autre solveur. Par exemple, des problèmes de diagnostiques médicaux sont souvent traités par des systèmes experts alors que des problèmes de conguration ou combinatoires gagnent à être modélisés et résolus par des CSP.

Dans la pratique, il existe aussi des problèmes spéciques qui revêtent à la fois des aspects combinatoires et des fonctionnements régis par des règles.

Imaginons par exemple un jeu d'échec un peu particulier entre deux joueurs Aet B. Ce jeu se joue sur un échiquier divisé en n∗n cases. Nous supposons que Adispose de n reines, et B dispose de n cavaliers. Les pièces sont dispersées sur l'échiquier. Les reines et les cavaliers se déplacent et se menacent conformément aux règles standards du jeu d'échec classique, où la reine se déplace horizonta-lement, verticalement et en diagonale, et le cavalier lui se déplace selon un L majuscule, qu'il y ait un obstacle ou non.

Initialement les pièces sont dispersées sur l'échiquier de façon à trouver la meilleure conguration pour chaque joueur. Il est très clair que la meilleure conguration pour chaque joueur est celle qui permet d'assurer le recouvrement de l'échiquier. Trouver une meilleure disposition des pièces d'un joueur est un problème qui peut être modélisé sous forme d'un CSP. Par contre, les règles de déplacement et de capture suivent, elles, des règles plus naturellement modélisées sous forme de règles de production. A chaque temps t, toutes les pièces du joueur A eectuent un et un seul mouvement, puis au temps suivant, ce sera le tour du joueur B. Le but est de capturer le maximum de pièces du joueur adverse. L'objectif est donc de recouvrir l'échiquier de manière ecace.

Les mouvements des pièces engendrent deux problèmes de nature distincte. A chaque instant, la capture des pièces du joueur adverse peut être traitée de manière ecace avec un système expert. En eet, la capture est une simple vérication de la règle de déplacement. Les autres pièces qui ne peuvent pas capturer une pièce puisqu'elles ne sont pas dans une position adéquate, doivent eectuer un mouvement de manière à trouver une meilleure conguration en tenant compte des mouvements des autres pièces du joueur et de la disposition des pièces du joueur adverse. Il est très clair que ce jeu nécessite une alternance d'appel aux deux solveurs (SE et CSP) à chaque mouvement.

Ce jeu est donc une illustration qui permet de montrer que cette architec-ture à noyaux multiples a un intérêt pratique dans plusieurs applications, en particulier dans le domaine de la théorie des jeux.

Chapitre III Vers des systèmes à noyaux multiples