Suite à l'article passionnant sur les surréels dans Pour la science de novembre, j'ai décidé de construire un programme en langage java pour les surréels. Mais j'ai un problème avec l'addition (ça marche pas bien...)
Je m'appuie sur deux documents:
- wikipédia: http://fr.wikipedia.org/wiki/Nombre_surr%C3%A9el_et_pseudo-r%C3%A9el
-la traduction en français du livre de Donald Knuth: http://tex.loria.fr/historique/loeb-nombres-surreels.pdf
1) peut-on me confirmer (que j'ai bien compris) :
soit par exemple le surreel: {{1,4,7}|{12,35,67}} est équivalent (égal) à
{{7}|{12}}.
D'une façon générale:
La partir gauche d'un surréel peut-etre "réduit" (comme une fraction en quelque sorte) au max(g1...gn) tandis que la partie droite peut-etre réduite au min(d1...dn) .
Sachant que le minimum et le maximum se définisssent par rapport à la relation d'odre des surréels. (voir definition de base).
C'est ce que j'ai compris à partir de la page 14 du PDF
2) L'addition se définit comme suit:
Soit x surreel avec x= {Xg|Xd}
Soit y surreel avec y= {Yg|Yd}
l'addition se définit de façon récursive:
x + y = {(Xg + y ) U (Yg + x )|(Yd + x ) U (Xd + y)}
pour résoudre l'union des parties gauches et des parties droites, j'applique min et max du 1) ci-dessus on a alors :
x + y = {max((Xg + y ),(Yg + x )) | min((Yd + x ), (Xd + y))}
Le problème que j'ai avec mon implémentation Java, c'est que la récursion de l'addition crée un nombre surréel illégal (partie gauche > partie Droite) quand j'additionne 1/2 + 1/2 . N'ayant pas trouvé de "bug" dans mon programme, j'en viens à me dire que j'ai peut-etre strictement rien compris...
Merci de votre aide.
Raphael