• Aucun résultat trouvé

Nous decrivons dans les paragraphes suivants un agent dit de \completion de pro-prietes". Nous commencons par exposer les objectifs de cet agent. Puis, nous enume-rons les phases de la recherche d'une propriete redondante. Ensuite, nous proposons deux heuristiques visant a determiner une construction d'une gure non completement construite. En n, nous illustrons nos propos par un exemple de recherche de proprietes redondantes.

7.5.1 Objectifs de l'agent de completion de proprietes

Cet agent a pour charge d'ajouter a la speci cation de la gure des proprietes re-dondantes liant les elements de cette derniere, c'est-a-dire de rechercher et d'ajouter a la speci cation de la gure des proprietes deductibles de la speci cation de celle-ci. L'objectif de ces ajouts est d'aider les autres agents a determiner une construction d'une gure lorsque celle-ci ne peut ^etre determinee a partir de la speci cation de l'uti-lisateur. Une autre consequence attendue de l'ajout de telles proprietes redondantes est l'acceleration du processus de resolution.

7.5.2 Phases d'une recherche de proprietes redondantes

Une premiere approche consiste a chercher a prouver symboliquement [Ost97a] toutes les proprietes possibles. M^eme si cette premiere approche est correcte, elle sou re en pratique du co^ut d'une recherche de preuve symbolique.

Pour minimiser le nombre de ces recherches, une idee consiste a eliminer de la liste des proprietes possibles les contre-proprietes, c'est-a-dire les proprietes fausses sur un modele de la gure. Dans la situation ou la recherche de proprietes redondantes a pour objectif d'aider le processus de resolution, on doit alors faire face paradoxalement au probleme d'eliminer de la liste des proprietes possibles les proprietes fausses sur une gure que le systeme n'arrive pas a construire. Cependant dans le cadre de la recherche de proprietes redondantes, la construction de la gure peut ^etre menee a partir d'un ensemble quelconque d'objets de base.

Il s'ensuit qu'il s'agit de construire une gure a partir d'un ensemble quelconque d'objets de base de la maniere la plus judicieuse possible, c'est-a-dire d'une maniere telle qu'un minimumde racines carrees soient introduites. Des travaux recents [Bou96]

7.5 Agent completion de proprietes 129

montrent que, dans de nombreux cas, il serait possible de trouver presque toujours une construction lineaire, c'est-a-dire qu'il serait presque toujours possible de transformer le systeme de contraintes d'une gure en un systeme de contraintes lineaires a partir d'un ensemble bien choisi d'objets de base. L'inter^et de determiner de telles construc-tions est de pouvoir ensuite valider partiellement ou invalider rapidement de maniere numerique exacte une propriete sur le modele construit.

Les phases de la recherche de proprietes redondantes que nous proposons sont: 1. Produire la liste des proprietes redondantes possibles. Dans la situation ou la

recherche de proprietes redondantes a pour objectif d'aider le processus de re-solution, cette phase peut se limiter a la production de la liste des proprietes redondantes possibles faisant intervenir les elements de la gure non construits dans la construction projetee et les elements construits.

2. Eliminer de cette liste les proprietes dont la validite ne peut pas ^etre prouvee de maniere numerique approchee correcte, c'est-a-dire a l'aide de l'arithmetique des intervalles, sur le (ou les) dessin(s) produit(s).

3. Eliminerde la liste restante les proprietes dont la validitene peut pas ^etre prouvee de maniere numerique exacte sur le (ou les) dessin(s) produit(s).

4. Eliminerde la liste restante les proprietes dont la validitene peut pas ^etre prouvee symboliquement.

Ces phases sont eventuellement precedees d'une phase preliminaire qui consiste a determiner une construction de la gure a partir d'un nouvel ensemble d'objets de base.

7.5.3 Heuristiques de construction

Comme nous l'avons signale precedemment, si la recherche de proprietes redon-dantes a pour objectif d'aider a la resolution du probleme de construction gr^ace a l'ajout de ces dernieres, nous devons faire face au problemede determinerune construc-tion de la gure introduisant le minimim de racines carrees. Pour ce faire, il faudrait utiliser un algorithme de recherche de type \branch & bound" en enumerant sur les ensembles d'objets de base possibles. En fait pour des raisons d'ecacite, on peut se satisfaire de l'obtention de la premiere construction.

130 Agents mis en oeuvre

La question se pose de savoir s'il est possible de determiner de maniere deterministe un ensemble d'objets de base conduisant a une construction de la gure introduisant peu d'extensions algebriques. La reponse que nous apportons a cette interrogation comprend les deux heuristiques suivantes:

{ Heuristique \non construit". L'idee de cette heuristique de reconstruction est de considerer comme ensemble d'objets de base un ensemble contenant au moins un objet non construit dans la gure projetee par l'utilisateur.

L'approche consiste a instancier successivement les objets de la gure en com-mencant par les objets non construits dans la gure projetee par l'utilisateur jusqu'a aboutir a une construction complete.

La justi cation de cette approche est subjective et consiste considerer que si on ne peut construire certains objets, il peut ^etre interessant de prendre ceux-ci comme objets de base.

{ Heuristique \plus contraint". L'idee de cette heuristique de reconstruction est de considerer comme ensemble d'objets de base un ensemble contenant l'objet de la gure sur lequel porte le plus grand nombre de contraintes.

L'approche consiste a instancier successivement les objets de la gure en com-mencant par les objets sur lesquels porte le plus grand nombre de contraintes jusqu'a aboutir a une construction complete.

La justi cation de cette approche se trouver dans le fait qu'a chaque etape, l'instanciation de l'objet sur lequel porte le plus grand nombre de contraintes a pour consequence de reduire le systeme d'equations sous-jacent.

Outre ces heuristiques de reconstruction, il faut aussi de nir des methodes de instanciation introduisant un minimum de racines carrees. En e et, la demi-instanciation d'un pointAsur un cercleC de centre le pointO de coordonnees (xO;yO) et de rayon r peut ^etre faite suivant une approche:

{ Avec introduction d'une racine carree. Cette methode consiste simplement a ins-tancier par exemple l'abscisse du point M dans l'intervalle [xO,r;xO+r] et a calculer l'ordonnee correspondante.

{ Sans introduction d'une racine carree. Cette methode consiste a construire un point sur un cercle en s'appuyant sur la construction d'un triangle rectangle. L'idee consiste a partir d'un point M deja construit lineairement sur le cercle, a

7.5 Agent completion de proprietes 131

prendre son symetriqueN par rapport au centreO du cercle. Cette construction lineaire se resume a speci er que le point O est le milieu des points M et N. Puis, il s'agit de considerer un point P quelconque de ni d'une maniere lineaire, et de construire la droitedMP. La construction s'acheve en considerant le projete orthogonal A du pointN sur la droite dMP.

Fig. 7.4 { Demi-instanciation d'un point sur cercle sans introduction d'une racine carree.

Cette methode de demi-instanciation lineaire d'un point sur un cercle est illustree par la gure 7.4.

Ces heuristiques de reconstruction associees a de telles approches judicieuses de la demi-instanciation ont donne des resultats tres interessant comme nous l'expliquons dans le chapitre 10.

7.5.4 Exemple de completion de proprietes

A n d'illustrer cette recherche de proprietes redondantes, nous considerons le pro-bleme suivant extrait de [But75].

Exemple 7.5

Completion de proprietes

Soient les points distincts A, B, O et R. Soit le cercle C de centre O passant par le point R. Construire les droites d et d0 passant respectivement par les points A et B

132 Agents mis en oeuvre

telles que la droited0soit la mediatrice du segment [M1,M2] forme par les intersections de la droite d et du cercle C.

La gure 7.5 illustre le probleme de construction pose.

Fig. 7.5 { Ajout de proprietes redondantes.

A l'aide des agents lineaire, quadratique et completion d'objets, la construction de la gure reste inachevee. Seul le cercle C est construit. Une etape preliminaire consiste par consequent a construire le dessin de la gure 7.5 a partir des points instancies distinctement R;M1 et M2 et des points demi-instancies A et B en employant l'heu-ristique dite du \non construit". Cette etape menee a bien, la recherche de proprietes redondantes est conduite comme suit:

1. Produire la liste suivante :

[appDr(A, d0), ..., appDr(O, d 0), ..., milieu(A, M1, O), ...]

qui regroupe les proprietes des objets non construits dans la construction projetee. Ici, ces objets sont : I;M1;M2;d et d0.

2. Reduit la liste precedente a la liste :