Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#51 Re : Programmation » Alignement de produits » 01-10-2019 12:33:39

Yoshi a testé ma dernière modif (#200), qui devait nous donner des produits alignés probables. Malheureusement ce programme ne peut fonctionner en l'état pour les différentes raisons indiquées plus haut. C'est pour ça qu'il a dû stopper la recherche des T, le programme tournant à vide.
Si je me livre à ces calculs, c'est que j'ai évidemment une idée dans la tête. Mais je suis conscient que mes chances de succès sont quasi nulles. Néanmoins, comme je l'ai dit à Yoshi, l'expérience vaut la peine qu'on essaye.

#52 Re : Programmation » Alignement de produits » 01-10-2019 09:42:18

LEG, tous tes exemples proviennent du programme (2), "alignement progressif". Ce programme fonctionne, on le sait.
A moins que tu tiennes compte de la modif #200 ? (mais j'en doute).

#53 Re : Programmation » Alignement de produits » 01-10-2019 09:32:51

Salut LEG, je ne comprends pas ton obstination à ne pas vouloir comprendre ce qui est expérimenté ici depuis un certain temps maintenant. Reprends le programme instruction par instruction, et tu verras que tout est clair - tout au moins jusqu'au principe d'alignement progressif "à priori". Pour la suite (alignement probable), on espère trouver une solution. Ce qu'il faut savoir, c'est que n'importe quel produit est alignable sûr mais le tout est de savoir si c'est possible en un temps raisonnable.

#54 Re : Programmation » Alignement de produits » 01-10-2019 09:17:29

Salut Yoshi, si tu as une idée, ne te gêne pas. A mon sens, changer B en A ne va pas améliorer les choses, car on continue à négliger les sous-produits. Je vais poster une modif tout à l'heure qui est une grossière tentative de fusionner les programmes (1) et (2).

#55 Re : Programmation » Alignement de produits » 30-09-2019 13:20:54

Le programme idéal se situe entre le programme (1) et le programme (2). Si on néglige les sous-produits (tous les produits obtenus à partir de la factorisation de T), on a toutes les chances de ne jamais trouver d'alignement probable, et c'est ce qui s'est passé avec les derniers essais de Yoshi.
Exemple avec 103 x 397. Il se trouve que ce produit est aligné probable avec T = 9 (hé oui) mais en prenant le sous-produit : (103 x 3) x (397 x 3) = 309 x 1191. Et là, effectivement, 309 est dans la suite 177 : 309 - 177 = 132 (11 x 11 + 11).
Il faut donc refondre tout le programme, ce qui me permettra d'aborder (sereinement j'espère) la phase suivante.

#56 Re : Programmation » Alignement de produits » 30-09-2019 13:10:12

Salut LEG, je suis au courant. On obtient ce résultat avec T = 9, S = 177, donc 397 x 927 qui est seulement pseudo-aligné car 397 - 177 = 220 qui n'est pas égal à D^2 + D.
Le programme de Yoshi (sur mon système d'alignement progressif) reste tout à fait valable pour montrer qu'on peut à priori aligner rapidement A et B séparés par un grand écart, mais on ne peut tenir compte des résultats qui restent théoriques (alignés à priori et non probablement alignés).

#57 Re : Programmation » Alignement de produits » 30-09-2019 10:39:03

Voici le problème. A un moment donné, B restant fixe devient forcément inférieur à S et le produit ne peut même plus être aligné à priori. Et, quand A0 x T devient supérieur à B, c'est B qu'il faut tester, non A0 x T.
Avec 103 x 397, pour T = 21, on a S = 309. Mais 397 (B) - 309 ne colle pas. Donc produit pseudo-aligné. Après ça B a tendance à être toujours inférieur à S. On peut toujours courir.

#58 Re : Programmation » Alignement de produits » 30-09-2019 09:27:10

Pour 103 x 397 je ne comprends pas, c'est un petit produit.

#59 Re : Programmation » Alignement de produits » 30-09-2019 09:12:00

Salut Yoshi,

Les résultats obtenus ne sont pas un bon signe pour moi. Il semblerait que l'alignement probable se situe beaucoup plus loin quand A et B sont grands et pire quand l'écart entre A et B est grand.
Je vais refaire certains calculs à la main pour vérif mais sans illusion.

#60 Re : Programmation » Alignement de produits » 29-09-2019 09:14:26

Salut Yoshi,

J'ai rajouté une petite routine de vérif concernant le facteur A à la fin du programme. Si A est dans la suite S, le produit est aligné probable. Si non, le produit est seulement pseudo aligné. En général (j'ai testé sur les petits nombres) l'alignement probable s'atteint aussi rapidement que l'alignement à priori. Mais on n'est jamais vraiment tranquille tant qu'on n'en a pas la preuve ...

Input A
A0 = A
Input B
A < B

1 N = A x B
2 P = N
3 V = 1
4 e = - 1
5 i = i + 1 (i = 0)
6 Si i > 1, V = V + 2
7 Si e = - 1, T = V
8 Si V = 51, e = e + 1 et V = 7
9 Si e > - 1 et si V = 7, T = 51 x 9^e
10 Si T > 49 x 9^e, T = 9 x (9^e x V)

11 Si i > 1, P = N x T
12 R = sqrt entière de P
13 L = R^2 + R
14 Si L > P, aller à next i.
15 Si L < P, S = P - L
16 Si P = N, alors si P > S^2, si A >=S, si B >= S, aller à 21.
17 Sinon, si A ou B < S, aller à next i.
18 A = A0 x T
19 Si P > S^2, si A >= S, si B >= S, aller à 21.
20 Sinon, si A ou B < S, aller à next i.


21 A - S = C
22 Si C = 0 alors print P, A et B. STOP.
23 D = sqrt entière de C
24 F = D^2 + D + S
25 Si A = F alors print P, A et B. STOP. (aligné probable)
26 Sinon, si A différent de F, aller à next i. (pseudo aligné)

Bon dimanche.

#61 Re : Programmation » Alignement de produits » 28-09-2019 09:26:55

Salut LEG, il serait souhaitable que tu comprennes quelque chose au processus d'alignement avant de jouer au professeur. Si, il peut en être autrement. L'égalité A x T x B = N x T n'est vraie que si A x B et N sont multipliés par le même T, ce qui n'était pas le cas avant la correction puisque le programme tenait compte du A x T précédent. Maintenant, on se doute que cette égalité est toujours vraie quand le programme fonctionne (c'est l'histoire du nez sur la figure).
Quant à Yoshi qui raccourcit les étapes oui, dans le domaine qui est le sien, que je respecte. Mais ce n'est pas la technique de Yoshi qui raccourcit les étapes dans le dernier programme, c'est la mienne (#132). Si tu te souviens de ce que donnait le même test avec le programme (1), la comparaison est sans appel.

#63 Re : Programmation » Alignement de produits » 27-09-2019 08:58:21

Ce T est quand même dingue : 483638269290330501. Avec le programme (2) on a forcément des T plus grands qu'avec le programme (1) puisque les écarts entre les T sont exponentiels. Par contre, le nombres d'étapes (i) est considérablement moindre (389 au lieu de 31 000 000 de M).
De plus, le système n'utilise que les nombres premiers de 3 à 47. Lorsque A se rapproche quantitativement de B (ligne 10 du programme), le produit (A x T) x B se comporte comme un produit ordinaire, c'est à dire qu'il finit par s'aligner en peu d'étapes.

#64 Re : Programmation » Alignement de produits » 27-09-2019 08:39:58

De quelle preuve parles-tu ?
Du moment qu'on a : A x T x B = N x T c'est OK, mais ce n'est pas une preuve d'alignement. C'est la certitude que N x T est exprimé par (A x T x B).

#65 Re : Programmation » Alignement de produits » 26-09-2019 18:22:24

J'ai l'impression que ça marche. Exemple 4 :  on a bien un nombre respectable d'étapes (avec T énormes), au lieu d'une trentaine de millions de M. Je m'attendais même à un nombre de i plus grand (je t'avais dit entre 500 et 600). Donc tout baigne, et ta correction est meilleure naturellement. Merci pour ton aide.
A bientôt pour la phase suivante.

#67 Re : Programmation » Alignement de produits » 26-09-2019 13:37:09

Eh bien SINON c'est à dire si on a pas la condition en ligne 16.

Si P=N alors :
        SI P>S^2 alors :
                Si A>=S ET B>=S alors :
                        print P, A,B stop
                SINON Si A<S OU B<S  alors :
                        Next i
                FIN SI
         FIN SI
FIN SI

C'est évidemment ça, pourquoi ce serait autre chose ?

Ce qui se passe est très simple. Le programme conserve la valeur du A x T précédent. Il recalcule un nouveau P qui est correct mais tient compte du A x T précédent qui est toujours en mémoire. Quel ballot ! (c'est moi).
J'arrange ça tantôt.

#68 Re : Programmation » Alignement de produits » 26-09-2019 13:25:51

Input A
A0 = A
Input B

1 N = A x B
2 P = N
3 V = 1
4 e = - 1
5 i = i + 1 (i = 0)
6 Si i > 1, alors V = V + 2
7 Si e = - 1, alors T = V
8 Si V = 51, alors e = e + 1 et V = 7
9 Si e > - 1 et si V = 7, alors T = 51 x 9^e
10 Si T > 49 x 9^e, alors T = 9 x (9^e x V)
11 Si i > 1, alors P = N x T

12 R = sqrt entière de P
13 L = R^2 + R
14 Si L > P, alors aller à next i.
15 Si L < P, alors S = P - L
16 Si P = N, alors si P > S^2, si A >=S, si B > S, print P, A et B. STOP.
17 Sinon, si A ou B < S, alors aller à next i.

18 A = A0 x T
19 Si P > S^2, si A >= S, si B >= S, alors print P, A et B. STOP.
20 Si A ou B < S, alors aller à next i.

#70 Re : Programmation » Alignement de produits » 26-09-2019 12:51:19

J'ai mis un retour i après la ligne 10. Pour vérif si on a bien tous les T à la suite, avant T = 49 et après.

#71 Re : Programmation » Alignement de produits » 26-09-2019 12:34:28

Pour l'instant donc, seul le produit 29 x 71 fonctionne avec T = 3.

A x T x B = N x T

29 x 3 x 71 = 2059 x 3 = 6177.

C'est pareil pour tous les produits alignés jusqu'à l'infini.

#72 Re : Programmation » Alignement de produits » 26-09-2019 12:25:15

Exemple 4. Si T = 25, A ne peut pas être égal à : 358669858798125 mais à : 45413 x 25 = 1135325.
La preuve est que A x B ne donne pas P mais un nombre beaucoup plus grand (A x T x B doit toujours donner T x N).
Pour reprendre cet exemple (4), il y a de fortes chances à parier qu'il est aligné beaucoup plus loin (rappelle-toi l'essai avec l'ancien code : M = 31 millions).

#73 Re : Programmation » Alignement de produits » 26-09-2019 08:49:25

Dans l'exemple 4 (étonnant la rapidité d'alignement compte tenu de l'écart A-B !) est-ce que A est multiplié par un multiple de 9 ? Si oui c'est pratiquement gagné.
Il faut impérativement :
1) que N et A soit multipliés par le même T.
2) que N et A soit multipliés par un multiple de 9 au-delà de V = 51.

#74 Re : Programmation » Alignement de produits » 26-09-2019 08:39:40

Non, il n'est pas aligné car A < S. Donc il faut aller le chercher plus loin.

#75 Re : Programmation » Alignement de produits » 26-09-2019 08:37:50

Salut Yoshi,

On y est presque mais : J'ai mal vu hier soir.

P = 4043119965
  A = 14235
  B = 3692347

Si P est multiplié par 15, A doit être multiplié par 15 aussi (T = 15). Donc ici A = 73 x 15 = 1095 et non 14235 (1095 x 13, pourquoi ?), et du coup le produit n'est peut-être pas encore aligné.  A mon avis c'est un problème mineur.

Pied de page des forums