![]()
Précédent : Résultats nouveaux Remonter :
Résultats nouveaux
Suivant : Théorie des nombres
Depuis quelques années, F. Rouillier s'est attaché à l'étude des variétés définies par une unique équation polynomiale (en plusieurs variables). L'idée est de se ramener autant que faire se peut à l'étude de systèmes zéro-dimensionnels. Une collaboration avec M.-F. Coste-Roy (Université de Rennes 1) et Mohab Safey (Laboratoire d'Informatique de Paris 6) a permis d'élaborer un nouvel algorithme basé sur l'étude des points critiques de la fonction distance d'un point à une variété définie par une équation polynomiale (rapport de recherche FRISCO [[20]] et article soumis en octobre 1998 à Journal of complexity).
Le principe de base est simple. Supposons que l'on se donne
une variété définie par un unique polynôme
P
K[X1,...,
Xk] où K est un corps de caractéristique
nulle, de clôture réelle R et de clôture algébrique
C. Si la variété (de Cn) P = 0
est lisse, en choisissant un point 0
Rn suffisamment générique, l'ensemble des
points M de Cn vérifiant P = 0 et
OM//grad(P)(M) est fini et définit au
moins un point dans chaque composante connexe (réelle) de
P = 0. L'essentiel du travail a été de contourner les
suppositions faites sur la variété de départ (variété lisse,
point 0 suffisamment générique) en gardant à l'esprit le côté
implantation efficace de l'algorithme. La méthode finale a
en particulier permis de découvrir de nouvelles propriétés non
triviales de la Représentation Univariée Rationnelle dans le cas
de certains systèmes d'équations à coefficients dans le corps des
séries de Puiseux comme la caractérisation des points bornés sur
R d'une variété algébrique de
(R![]()
![]()
)k. Elle fait appel, entre autres, à
l'ensemble des outils développés depuis le début de la thèse de
F. Rouillier[Rou96].
Les premiers résultats pratiques sont encourageants puisqu'une implantation brutale de l'algorithme permet déjà d'appréhender des problèmes hors de portée des méthodes concurrentes.
Les résultats mis au point se démarquent des méthodes utilisées jusqu'alors en pratique (décomposition cylindrique), en évitant le traitement récursif du problème (réduisant ainsi la taille de la sortie des algorithmes), ou des résultats développés pour les études de complexité théorique, par l'utilisation d'arithmétiques beaucoup plus simples (nombre d'infinitésimaux nécessaires).
Si K est un corps et si on se donne un système
d'équations polynomiales zéro-dimensionnel S dont les
équations engendrent un idéal
I
K[X1,..., Xn],
rappelons que l'algèbre
K[X1,..., Xn]/I
définit un K-espace vectoriel de dimension finie.
L'essentiel des algorithmes que nous développons fait appel à
cette structure qu'il est par conséquent primordial de savoir
manipuler en pratique. Dans la thèse de
F. Rouillier[Rou96],
on montre comment calculer efficacement le tenseur multiplicatif
associé à l'algèbre
K[X1,...,
Xn]/I : si l'ensemble
{
,...,
} définit une base de monômes de
K[X1,...,
Xn]/I, il y est présenté un procédé
efficace pour le calcul de la table des expressions réduites des
produits
![]()
qui caractérisent complètement l'algèbre
K[X1,...,
Xn]/I. Bien qu'efficace en termes de
temps de calcul, cette table montre ses limites lorsque l'on a à
traiter des problèmes où
K[X1,...,
Xn]/Iest de grande dimension
(directement fonction du nombre de racines complexes),
puisqu'elle nécessite le stockage de
O(D2) vecteurs de dimension D
soit O(D3) scalaires, lorsque D
est la dimension de
K[X1,...,
Xn]/I. En particulier, ce stockage
dépasse largement le giga-octet en pratique lorsque le nombre de
solutions distinctes du système considéré est de l'ordre du
millier.
F. Rouillier a remarqué que l'on pouvait réduire très
nettement ce volume d'information en effectuant d'une part un
changement de base bien choisi, d'autre part en remarquant que
l'on n'a besoin de stocker que les réductions des produits
Xi
ainsi que les
traces
Trace(
) (trace de la
multiplication par
dans
K[X1,...,
Xn]/I) pour obtenir, certes sous une
forme différente, le même volume d'information. Ce résultat (en
cours de rédaction) permet de diminuer les temps de calcul mais
surtout d'augmenter la classe d'exemples qu'il est possible de
traiter puisque le volume d'informations à stocker n'excède
jamais O(nD2). Pour donner un exemple,
sur un système admettant 1000 racines, l'occupation mémoire est
en pratique divisée par environ 50.
Plusieurs progrès significatifs ont été effectués sur l'algorithme de calcul des Représentations Univariées Rationnelles. Le premier d'entre eux touche à la formulation même des polynômes définissant la Représentation Univariée Rationnelle. Une nouvelle formulation basée sur l'utilisation de la représentation de Horner des polynômes a permis de gagner en clarté (elle évite l'utilisation lourde de fonctions symétriques généralisées) dans la présentation de ce résultat ainsi que dans la preuve des propriétés principales de cette représentation, mais également en termes de temps de calcul puisque le nombre d'opérations nécessaires au calcul effectif s'est vu divisé par environ deux. L'ensemble de ces résultats ainsi que les fondements théoriques de la Représentation Univariée Rationnelle est l'objet d'un rapport de recherche [[25]] et l'article correspondant (environ 35 pages) paraîtra prochainement dans Journal of AAECC. Il est à noter que ces résultats sont décrits dans un livre introductif aux méthodes de calcul exact pour la résolution des systèmes polynomiaux (voir [[8]] et [[7]]).
Le second progrès est à noter du côté des calculs pour le cas particulier des systèmes radicaux à coefficients entiers (on peut montrer que dans ce cas, le calcul de la Représentation Univariée Rationnelle se ramène simplement à la construction et à la résolution d'un système d'équations linéaires). L'utilisation du calcul multi-modulaire est maintenant maîtrisée. Le principal résultat concernant cette partie est la gestion simultanée des « mauvais » entiers p (entiers pour lesquels l'image modulo p du résultat théorique est différente du résultat fourni par le calcul modulaire) et des éléments séparants. Le résultat final donne un algorithme dont le comportement est fonction de la taille du résultat et non de la taille des données de départ. Quelques soucis d'efficacité subsistent toutefois dans la vérification finale des résultats obtenus (aucune borne n'est utilisée pour les remontées chinoises). Ce travail n'est pas publié à ce jour mais est consigné dans deux rapports FRISCO écrits avec J.-C. Faugère [[17],[18]].
Le résultat le plus remarqué de ces deux dernières années est un travail effectué par F. Rouillier et P. Zimmermann sur l'algorithme d' USPENSKY pour l'isolation des zéros réels d'un polynôme en une variable (en cours de rédaction).
Cette méthode très simple basée principalement sur la règle de DESCARTES donnait déjà des résultats satisfaisants vis-à-vis d'autres méthodes formelles ( STURM par exemple) mais est devenue un point critique dans le processus de résolution des systèmes via la Représentation Univariée Rationnelle vu les derniers progrès effectués. Nous avons effectué une étude complète de cette méthode et fourni plusieurs algorithmes présentant différents avantages :
Le travail sur la caractérisation d'ondelettes 2D non séparables effectué par J.-C. Faugère, François Moreau de Saint Martin (France Télécom) et F. Rouillier, dont le résultat final fait l'objet d'un dépôt de brevet, est paru (voir [[5]]).
Il est possible de résoudre de manière exacte les MDI (cf section 4.1) de la plupart des robots parallèles. Les modèles géométriques directs de divers robots parallèles ont été calculés et résolus avec des temps de réponse satisfaisants : Delta, Delta linéaire, Tricept, Hexapode SSM, Hexa, Kanuk linéaire et Manta linéaire. Le robot le plus compliqué a pris six minutes pour être résolu et les autres prennent environ 30 secondes sur une machine peu performante (station Sparc de SUN avec Solaris).
Il est possible de déterminer symboliquement et rapidement le MDI à partir du MGI pour la plupart des robots parallèles. Cela donne la jacobienne inverse, matrice 6 x 6 ou 9 x 9 selon la modélisation utilisée au niveau du MGI. Les termes de la matrice sont linéaires. Les temps de calculs sont de l'ordre de la minute.
À partir de la jacobienne inverse, il est possible d'obtenir symboliquement le déterminant sous forme d'un polynôme en 6 ou 9 variables. Son analyse consiste à étudier un problème avec une infinité de solutions. F. Rouillier cherche à trouver les solutions de ces problèmes qui ne sont pas zéro-dimensionnels.
De ce déterminant, une inversion donne le déterminant symbolique de la jacobienne provenant du MDD. L. Rolland travaille à trouver une forme symbolique du MDD, sinon les paramètres ont tendance à exploser lors de l'inversion de matrice.
F. Rouillier et L. Rolland proposent des solutions exactes aux problèmes d'études de postures, aux analyses de modes d'assemblage et aux problèmes issus d'études de propagation des erreurs liées au calibrage. Ils proposent aussi des solutions exactes aux calculs de résolutions de l'organe terminal en fonction des résolutions des jambes de robots, menant au choix des capteurs, ainsi que pour l'aide au dimensionnement des actionneurs par le calcul des couples maximaux en fonction des forces appliquées à l'organe terminal.
La résolution des MDI permet de proposer des solutions exactes aux calculs des vitesses de l'organe terminal en fonction des vitesses des actionneurs.
La modélisation de trajectoires fait intervenir divers scénarios qui sont actuellement à l'étude par Merlet, Rouillier et Rolland. La paramétrisation de trajectoire nominale théorique permet sa caractérisation. La modélisation des déplacements des actionneurs a été réalisée avec deux approches : une équation à vitesse constante et une à deux équations (linéaire et quadratique). L'application de MGD et MGI avec le calcul formel et les outils tels que Gb et RealSolving a permis d'établir le trajet théorique que va accomplir le robot parallèle selon le type de commande appliquée : en position, en vitesse ou en combinaison des deux.