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 13-06-2020 08:36:00

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 286

Re : Comment "aller vers" en Python

Salut LEG,

si tu pouvais prouver ce que tu avances, tu apporterais une belle pierre à l'édifice.
As-tu jeté un œil sur le texte de La Recherche que yoshi a mis en lien.
Regarde bien toutes les ramifications qui convergent vers 1, et comprends l'idée de remonter l'arbre à partir de 1, elle est tout aussi amusante que la descente je trouve.
En revanche, si tu arrives à exhiber un seul contre-exemple, bingo, tu auras clos des dizaines d'années de recherche et mis au point final à un truc qui résiste depuis un bon moment maintenant.
Bonne journée à toi !

Dernière modification par freddy (13-06-2020 08:36:18)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#52 13-06-2020 09:53:12

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Salut Freddy
concernant les ascensions constantes avec les nombres de Mersenne jusqu'à la valeur de l'exposant , il y a longtemps que cela é été prouvé, il y a même une formule pour connaître la valeur de la dernière ascension constante tel que N%4==0, avant de commencer à redescendre , mais cela n'implique pas que le vol ne peut remonter , pour ensuite repasser sous la valeur de 2n=N

j'ai vue le document de Yoshi à l'époque ...

il y a un bon PDF de J.P Delahaye en 2006 2007.

voila avec n=127 soit N=54 et l'exposant de 2; 7

Vol de 127 :
382 574 862 1294 1942 2914 4372 2186 3280 1640 820 410 616 308 154
Altitude maxi : 4372 Durée de vol : 16

il y a 7 ascension constantes avant que la valeur de N%4==0
la formule de cette valeur au rang 7  est :$(6*3^{7-1})\: – 2 $

pour le vol i =31, tu auras donc la valeur N%4==0 au rang 31 = $(6*3^{31-1}) – 2 = 1235346792567892$ qui était l'altitude maxi de ce vol....

la formule de la valeur paire pour ces vols est ; $(6*3^{n -1})\: – 2$ à l'itération $n$

Dernière modification par LEG (13-06-2020 09:57:49)

Hors ligne

#53 13-06-2020 11:04:55

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 286

Re : Comment "aller vers" en Python

Re,

Je prendrais volontiers connaissance du papier de Delahaye, tu as un lien actif à me donner ?

PS : Merci ! Il est très proche du papier du lien de yoshi.

Dernière modification par freddy (13-06-2020 12:32:08)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#54 13-06-2020 12:19:10

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

voila le pdf
https://www.cjoint.com/c/JFnkBZ1DoiQ

tu sais sur cette conjecture, il y a plein de formule Arithmétique suite à cette structure qui invalide pratiquement la possibilité d'un contre exemple qui affirmerait qu'il existe un entier i qui ne redescende sur le cycle 4,2,1.

la structure arithmétique de Syracuse existe et a été démontrée. quelque soit un vol $i$,  il ait toujours relié à deux autres vols d'écart $2^n$  au rang $n$ y compris en prenant les vol $-i$, c'est à dire avec les entiers relatifs négatifs .
Ce qui enlève le côté soit disant aléatoire d'un vol de Syracuse avec sa fonction soit l'AS1 ou l'AS2.

Exemple on est dans l'AS2:  je prend la 4ème itération ce qui donne l'exposant 4: rang $n = 4$ pour le vol $i = 2^n \:-1 = 15$ la valeur au rang $4 = 6*3^{n-1} \: - 2 =160$

Tu vas donc relier les deux autres vols $i = -1$ et $i = -17$ selon la formule de "leg" $2*2X  - -Y = Z$ au rang $n = 4$.
$(2* -2) -(-164) =160$ valeur du rang 4 pour $i = 15$
Comment veux tu dès lors qu'il existe un vol i = NF , contredisant Syracuse avec sa fonction...Car il est clair, que toutes les itération de ce NF ne peuvent appartenir à un vol vérifiant la conjecture, ni relier deux autres vols i entre eux...Donc il ne peut pas appartenir à cette structure arithmétique...!
Structure qui implique 3 boucles dans les entiers négatifs:

{-4 , -2 } ; {-14,-20,-10} et {-34,-50,-74,-110,164,-82,-122,-182,-272,-136,-68,-34,}.

au lieu d'une seule (4,2,1) dans les positifs .

Dernière modification par LEG (16-06-2020 08:15:56)

Hors ligne

#55 13-06-2020 13:44:12

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 14 949

Re : Comment "aller vers" en Python

RE,

https://hal.archives-ouvertes.fr/hal-02464137/document 2020

https://docpla_yer.fr  /60420525-La-sui … tures.html (supprimer le _ de l'adresse)
Luc-Olivier Pochon, Alain Favre.  La suite de Syracuse, un monde de conjectures.  2017

Algorithmes pour vérifier la conjecture de Syracuse
(© AFCET, 1987, tous droits réservés)
https://pdfs.semanticscholar.org/f4e0/4 … 4ba763.pdf

@freddy
https://www.cjoint.com/c/JFnmOu2ZLbW : c'est cela que tu fais via tes listes table et table_1 ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#56 13-06-2020 17:02:08

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Dommage, ils ont oublié de tester le vol $2^{63} - 1$ qui vérifie Syracuse supérieur à celui de T Oliveira et la valeur paire du 63ème itéré vaut :
$6867367640585024969315698178564$ c'est à dire si on compte les impairs masquée par la structure de L'AS2, c'est la valeur du 125ème itéré...

Je pensais qu'ils parlerait de la relation avec les vols des entiers négatifs, ils auraient vue que la structure de Syracuse dépend aussi de cette relation dans les entiers négatifs...avec leur trois cycles .
Bref Syracuse comme Goldbach sont vraie .... foi de Leg ....!

Dernière modification par LEG (13-06-2020 17:02:48)

Hors ligne

#57 13-06-2020 17:04:34

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 286

Re : Comment "aller vers" en Python

yoshi a écrit :

RE,

@freddy
https://www.cjoint.com/c/JFnmOu2ZLbW : c'est cela que tu fais via tes listes table et table_1 ?

@+

Salut,

oui, oui ,c'est ça, tu pars de 1 et tu remontes les sources possibles.
Table stocke tous les nombres fabriqués et table_1 permet de pister le calcul de la forme $(p-1)/3$, pour contrôle.

Dernière modification par freddy (13-06-2020 22:34:53)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#58 13-06-2020 19:43:05

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Oui mais c'est l'arbre qui cache la forêt ....
voila un peu d'eau pour ""comprendre"" la forêt de Syracuse , et pourquoi il ne peut y avoir de multiple de 3 dans les valeurs des itérations paires.
toutes les colonnes d'itérations sont indexées à partir du vol $i = -1$ , soit pour $2i = -2$ la fonction de Syracuse créait cette structure arithmétique qui est donc cachée par cette fonction.....
Ce qui explique et montre la formule pour calculer la valeur = $6*3^{n-1}\: -\: 2$ au rang $n$ de chaque changement de Transition initié par les vols $i = 2^n -1$.

On peut donc dire que chaque vol $i$ dépend de ses prédécesseurs depuis le vol $i = -1$. Il y a pour moi qu'un seul et unique cycle dans les entiers naturel non nuls.
Un vol successeur qui bouclerait sur une autre boucle que la boucle $4,2,4,2$ dans l'AS2 ou $4,2,1$ dans l'AS1 et par conséquent impossible , le contraire affirmerait que cette structure arithmétique est fausse , ce qui est absurde de part l'existence de ces suites arithmétiques et géométriques ....

voici un petit pdf de l'époque en se promenant vers Syracuse...
https://www.cjoint.com/c/JFrgJfgFQFF

Dernière modification par LEG (17-06-2020 08:08:01)

Hors ligne

#59 14-06-2020 09:02:16

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 286

Re : Comment "aller vers" en Python

Salut LEG,

Je te remercie de tes remarques et interventions mais je dois te faire un aveu : je ne comprends rien à ce que tu me dis. Je ne dis pas que ce n’est pas intéressant, je dis que je ne comprends pas de quoi tu traites et ce que tu veux m’expliquer, j’en suis infiniment désolé.
Les deux papiers de Delahaye me vont très bien et pour moi et pour l’instant, cette conjecture reste un simple exercice Python, pas un défi que je veux relever.
Une bonne journée !

Dernière modification par freddy (14-06-2020 09:02:39)


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#60 14-06-2020 10:25:55

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Re Freddy.
je te comprends, je sais que le but est de faire de la programmation...le reste n'a aucune importance, et à part programmer une colonne d'itérations ou plus, en partant de la base -2 , n'apporterait pas grand chose

le pdf n'avait que pour but de montrer la structure arithmétique de Syracuse,qui ne peut avoir des multiples de 3 à partir de la première colonne d'itérations $N_n$  et où, ces colonnes d'itérations, montrent clairement qu'il n'y a rien d'aléatoire dans les vols de Syracuse; puisque en fait ce sont des suites arithmétiques qui progressent dans chaque colonne en partant de l'axe -i = -1, soit 2*-i =-2, -2 -2 ....etc
cette structure est donc parfaitement ordonnée .
Mais ce n'est pas pour autant qu'il serait facile de remonter l'arbre de Syracuse à l'envers, je pense même que le programme doit être très compliquer.
Bonne journée et bonne continuation.
@+

Hors ligne

#61 15-06-2020 20:20:08

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 14 949

Re : Comment "aller vers" en Python

Re,

Et si on remontait la piste des nombres premiers ?
Et dans un 2e temps la piste certains (à choisir après la piste ci-dessus) d'entre eux spécifiquement ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#62 16-06-2020 08:01:15

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Bonjour.
On peut remonter par exemple les nombres premiers de la forme $4k - 1$ certain nombre de Mersenne, par exemple : 8191 ; Mais ça va être coton, même en remontant jusqu'à la valeur paire $6*3^{n-1} \:-2$.

Je pense que cela ne change pas grand chose que les nombres soient premiers ou pas .
Il est dit : que pratiquement les nombres 4k + 1, repassent sous leur valeur de départ .

Hors ligne

#63 16-06-2020 12:50:13

freddy
Membre chevronné
Lieu : Paris
Inscription : 27-03-2009
Messages : 7 286

Re : Comment "aller vers" en Python

Hello,

mine de rien, l'auteur de l'article cité par yoshi indique avoir résolu la conjecture de Syracuse. Au passage, il se moque de tous ceux, grands mathématiciens, qui avaient affirmé que cette conjecture dépassait nos connaissances actuelles en maths.

Je regarde avec attention, merci de vos remarques.


De la considération des obstacles vient l’échec, des moyens, la réussite.

Hors ligne

#64 25-06-2020 05:58:48

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Bonjour
@Freddy ou Yoshi
j'ai récupéré ce petit programme en Python mais pas avec le même script que celui de Yoshi que j'ai : l'inconvénient il n'indique pas la durée du vol ni l'altitude j'ai bien essayé avec le script de @Yoshi , mais sans succès  ???

l'avantage si on veut imprimer touts les itérations c'est quasiment instantané sur de grands nombres, un peu comme si il faisait une copie collé de la mémoire des itérations; par exemple avec :$ n = i = 2^{63} - 1$

voici le code et les lignes du code de Yoshi , si votre Bonté pouvez faire en sorte qu'il m'indique durée et altitude Maxi.
Avec celui de Yoshi j'ai testé $ n = 2^{337} - 1$ ; pour imprimé ....et ben.... bonsoir la durée, sinon pour les résultats simples il faut 1 à 2 secondes....

Je viens d'essayer par acquis  2^257 - 1 : pour imprimer et ben ..... pas de miracles....... il est aussi long...!  on voit juste le début des itérations et ensuite il faut prendre son mal en patience .....Ou faire des copies collés des itérations inférieures .....et la on gagne du temps et ça va très vite sur une douzaine de copies.

1_)


for n in [31,63,213]:
    maxi,n0,duree = n,n,1
    print("Vol de",n, ":")
    while True:
        n=n//2 if n%2==0 else 3*n+1
        duree, maxi=duree+1,max(n,maxi)
        #print (n,end=" ")
        if n==2:
            print()
            break
       
    print ("Altitude maxi :",maxi, "Durée de vol :",duree,"\n")
 

2_)


def collatz_pour_Raoul(i_prime):
    collatz = [i_prime]
    d = i_prime
    np = [0]
    i = i_prime

    while d > 1 and len(collatz) < 10000000:
        if d%2 == 0:
            d = d//2
            np[-1] = np[-1] + 1
        else:
            i = d
            d = 3*d+1
            np.append(0)
       
        collatz.append(d)
   
    np = np[1:-1]

    return collatz,np,i

# c'est ici que tu insères ton i'
i_prime = 1277
c, np, i = collatz_pour_Raoul(i_prime)

print(f"suite de Collatz de {i_prime} :\n\n{c}\n")
 



D'avance merci @leg

Dernière modification par LEG (25-06-2020 06:13:52)

Hors ligne

#65 26-06-2020 13:39:49

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 14 949

Re : Comment "aller vers" en Python

RE,

C'est ça que tu veux ?

def collatz_pour_Raoul(i_prime):
    global collatz
    collatz = [i_prime]
    d = i_prime
    np = [0]
    i = i_prime

    while d > 1 and len(collatz) <10000000:
        if d%2 == 0:
            d = d//2
            np[-1] = np[-1] + 1
        else:
            i = d
            d = 3*d+1
            np.append(0)
       
        collatz.append(d)
   
    np = np[1:-1]

    return collatz,np,i

# c'est ici que tu insères ton i'
i_prime = 1277
c, np, i = collatz_pour_Raoul(i_prime)

print("suite de Collatz de" ,i_prime," :")
print(c)
print()
print ("Altitude maxi :",max(c),"à l'itération", c.index(max(c)))
print (" Durée du vol :", len(c))

Sortie :

suite de Collatz de 1277  :
[1277, 3832, 1916, 958, 479, 1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911, 2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732, 866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35, 106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]

Altitude maxi : 9232 à l'itération 23
Durée du vol : 58

Quel est l'intérêt du "and len(collatz) <10000000" ?

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#66 29-06-2020 07:06:08

LEG
Membre
Inscription : 19-09-2012
Messages : 535

Re : Comment "aller vers" en Python

Bonjour , et désolé de ma réponse tardive : j'étais absent .
C'est exactement ce que je voulais
Concernent le "and len(collatz) <10000000" ? tu as entièrement raison il ne sert à rien, je l'ai supprimé.
c'est impeccable , et je l'ai aussi modifié pour les itérations paires uniquement, pour l'AS2.


while d > 2:
        if d%4 == 0:
            d = d//2
            np[-1] = np[-1] + 1
        else:
            i = d
            d = (3*d+2)//2
            np.append(0)
            if i == 2:
                break
 

merci

@+

Dernière modification par LEG (29-06-2020 07:28:16)

Hors ligne

#67 17-07-2020 06:54:27

mastere420
Membre
Inscription : 14-07-2020
Messages : 1

Re : Comment "aller vers" en Python

Mohspace a écrit :

@freddy: J'espère que ça t'aidera pour monter en puissance avec Python car c'est un langage qui permet de faire plein de choses très vite (temps passé à coder, pas forcément le temps d'exécution). Je t'encourage à te documenter sur les structures de données : listes (aussi piles et files), sets, maps/dictionnaires ... et surtout comment les utiliser de manière pratique.
Pour répondre à ta question sur les goto, leur utilité est réelle dans des contextes très particuliers et dans des langages proches de la machines (Assembleur voire C, Fortran, ...): leur but étant d'optimiser le nombre de micro opérations exécutées. De nos jours, pour le grande majorité des programmeurs, ces soucis ne se posent plus : les machines omegle sont très performantes + les compilateurs/interpréteurs sont pas mal optimisés pour faire le job à notre place :)
Merci en tout cas pour cet exercice très intéressant !

Tu dois bien savoir que les variables et les paramètres utilisés dans la fonction sont inconnues du programmes principal, quand bien même elles porteraient le même nom

Dernière modification par mastere420 (18-07-2020 04:05:50)

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante huit moins quarante
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums