<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>数学・暗号・量子 on kenji.blog</title><link>http://kenji.blog/fr/categories/%E6%95%B0%E5%AD%A6%E6%9A%97%E5%8F%B7%E9%87%8F%E5%AD%90/</link><description>Recent content in 数学・暗号・量子 on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Tue, 15 Jul 2025 18:03:03 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/categories/%E6%95%B0%E5%AD%A6%E6%9A%97%E5%8F%B7%E9%87%8F%E5%AD%90/index.xml" rel="self" type="application/rss+xml"/><item><title>コラッツ予想</title><link>http://kenji.blog/fr/p/%E3%82%B3%E3%83%A9%E3%83%83%E3%83%84%E4%BA%88%E6%83%B3/</link><pubDate>Tue, 15 Jul 2025 18:03:03 +0900</pubDate><guid>http://kenji.blog/fr/p/%E3%82%B3%E3%83%A9%E3%83%83%E3%83%84%E4%BA%88%E6%83%B3/</guid><description>&lt;img src="http://kenji.blog/p/%E3%82%B3%E3%83%A9%E3%83%83%E3%83%84%E4%BA%88%E6%83%B3/img.png" alt="Featured image of post コラッツ予想" />&lt;h1 id="est-il-vrai-que-nimporte-quel-nombre-finit-par-devenir-1---jouer-avec-la-conjecture-de-collatz">&amp;ldquo;Est-il vrai que n&amp;rsquo;importe quel nombre finit par devenir 1 ?&amp;rdquo; ── Jouer avec la Conjecture de Collatz
&lt;/h1>&lt;p>Bonjour ! C&amp;rsquo;est kenji.&lt;/p>
&lt;p>Soudain, si vous entendez &amp;ldquo;une règle où n&amp;rsquo;importe quel nombre devient finalement 1&amp;rdquo;,
cela ne semble-t-il pas un peu étrange ?&lt;/p>
&lt;blockquote>
&lt;p>Par exemple, 19, 87 ou même 1000000.
Si vous manipulez les nombres selon une règle simple, pour une raison quelconque, cela converge vers &amp;ldquo;1&amp;rdquo; à la fin.&lt;/p>
&lt;/blockquote>
&lt;p>Cette histoire de rêve est la ** Conjecture de Collatz (Collatz Conjecture) **.&lt;/p>
&lt;hr>
&lt;h2 id="après-tout-quest-ce-que-la-conjecture-de-collatz-">Après tout, qu&amp;rsquo;est-ce que la Conjecture de Collatz ?
&lt;/h2>&lt;p>Tout d&amp;rsquo;abord, je vais présenter les règles.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Début : Choisissez n&amp;rsquo;importe quel ** entier positif **.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Opération :&lt;/p>
&lt;ul>
&lt;li>Si c&amp;rsquo;est pair → divisez par deux (n → n / 2)&lt;/li>
&lt;li>Si c&amp;rsquo;est impair → multipliez par 3 et ajoutez 1 (n → 3n + 1)&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;p>En répétant cela encore et encore, c&amp;rsquo;est une conjecture selon laquelle ** n&amp;rsquo;importe quel nombre finira par atteindre 1 **.&lt;/p>
&lt;p>Par exemple, en commençant par &lt;code>6&lt;/code> :&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Il est devenu &amp;ldquo;1&amp;rdquo; proprement. Bon retour !&lt;/p>
&lt;hr>
&lt;h2 id="faisons-le-avec-du-code--collatz-en-python">Faisons-le avec du code : Collatz en Python
&lt;/h2>&lt;p>Eh bien, dans ces moments-là, il est plus rapide de tester avec du code !
Imprimons la &amp;ldquo;Séquence de Collatz&amp;rdquo; en Python.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">while&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">!=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">//&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">steps&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Exemple : commencer par 19&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">19&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Lors de l&amp;rsquo;exécution :&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Il atteint 1 brillamment.
Même s&amp;rsquo;il fait beaucoup de détours, il atteint finalement son but !&lt;/p>
&lt;p>Au fait, si vous commencez avec 29, vous atteindrez également 1 de la même manière.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">29&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Lors de l&amp;rsquo;exécution&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">[27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35,
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Waouh, ça prend 111 étapes !&lt;/p>
&lt;p>Et aussi, il y a des scènes où ça gonfle à plus de 9000 en cours de route.
C&amp;rsquo;est un modèle où l&amp;rsquo;on fait un détour fou avant d&amp;rsquo;atteindre le but.&lt;/p>
&lt;hr>
&lt;h2 id="et-donc-quest-ce-qui-est-si-incroyable-à-ce-sujet-">Et donc, qu&amp;rsquo;est-ce qui est si incroyable à ce sujet ?
&lt;/h2>&lt;p>Ce qui est incroyable avec cette conjecture, c&amp;rsquo;est que,&lt;/p>
&lt;blockquote>
&lt;p>** Bien que cela n&amp;rsquo;ait pas été prouvé, il semble que n&amp;rsquo;importe quel nombre que vous essayez deviendra 1 **&lt;/p>
&lt;/blockquote>
&lt;p>C&amp;rsquo;est ça.&lt;/p>
&lt;p>Hein ? Et qu&amp;rsquo;en est-il de 1 billion, ou 10 billiards&amp;hellip; ?&lt;/p>
&lt;p>Pour ceux qui pensaient cela, très perspicace.
En fait, à l&amp;rsquo;aide d&amp;rsquo;ordinateurs, cela a été confirmé jusqu&amp;rsquo;à environ &amp;ldquo;2 à la puissance 68&amp;rdquo;,
et ** tous ont atteint 1 **. Incroyable&amp;hellip;&lt;/p>
&lt;p>Mais, ** il n&amp;rsquo;a pas été théoriquement prouvé que &amp;ldquo;tous seront comme ça&amp;rdquo; **.
C&amp;rsquo;est ce qu&amp;rsquo;on appelle un &amp;ldquo;problème non résolu&amp;rdquo; dans le monde des mathématiques.&lt;/p>
&lt;hr>
&lt;h2 id="qui-est-m-collatz-">Qui est M. Collatz ?
&lt;/h2>&lt;p>Donc, en lisant jusqu&amp;rsquo;ici, vous vous demandez probablement &amp;ldquo;Qui est Collatz, après tout ?&amp;rdquo;.
Je vais vous le présenter correctement !&lt;/p>
&lt;ul>
&lt;li>Nom : ** Lothar Collatz (Lothar Collatz) **&lt;/li>
&lt;li>Nationalité : Allemagne&lt;/li>
&lt;li>Année de naissance : 1910 à 1990&lt;/li>
&lt;li>Titre : Mathématicien (actif dans les domaines de l&amp;rsquo;analyse fonctionnelle et de la théorie des nombres)&lt;/li>
&lt;/ul>
&lt;p>Il a proposé cette conjecture en 1937,
et depuis lors, pendant plus de 80 ans, ** personne n&amp;rsquo;a été capable de la prouver ou de la réfuter **.&lt;/p>
&lt;p>Au fait, ce problème est si simple mais si profond que
même Paul Erdős (mathématicien super célèbre) a dit quelque chose comme ça.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Les mathématiques sont encore trop immatures pour traiter la conjecture de Collatz&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>En d&amp;rsquo;autres termes, la théorie selon laquelle les mathématiques de l&amp;rsquo;humanité n&amp;rsquo;ont pas encore rattrapé ce mystère&amp;hellip;&lt;/p>
&lt;hr>
&lt;h2 id="des-formules-mathématiques-difficiles-ne-sont-pas-nécessaires">&amp;ldquo;Des formules mathématiques difficiles&amp;rdquo; ne sont pas nécessaires
&lt;/h2>&lt;p>La bonne chose à propos de la Conjecture de Collatz est que ** tout le monde peut jouer **.&lt;/p>
&lt;p>Vous pouvez le faire avec du papier et un stylo.
Si vous écrivez le code en Python, vous pouvez le tester automatiquement.
Et pourtant, ** les meilleurs mathématiciens s&amp;rsquo;y attaquent sérieusement **.&lt;/p>
&lt;p>D&amp;rsquo;une manière ou d&amp;rsquo;une autre, n&amp;rsquo;est-ce pas excitant ?&lt;/p>
&lt;hr>
&lt;h2 id="bonus--code-pour-tout-tester-à-la-fois">Bonus : Code pour tout tester à la fois
&lt;/h2>&lt;p>Je vais également publier un code pour tester plusieurs nombres en même temps.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">n&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">21&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">steps&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">collatz&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> (Étapes : &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="nb">len&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">steps&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">)&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Cela nous donnera les séquences de Collatz de &amp;ldquo;1 à 20&amp;rdquo; d&amp;rsquo;un seul coup.&lt;/p>
&lt;hr>
&lt;h2 id="conclusion--ce-monde-est-après-tout-mystérieux">Conclusion : Ce monde est, après tout, mystérieux
&lt;/h2>&lt;p>Donc, c&amp;rsquo;est la Conjecture de Collatz.&lt;/p>
&lt;ul>
&lt;li>Même si c&amp;rsquo;est super simple&lt;/li>
&lt;li>Personne ne peut la prouver&lt;/li>
&lt;li>Un gros problème dans le monde des mathématiques&lt;/li>
&lt;/ul>
&lt;p>C&amp;rsquo;était une existence comme une masse de mystères.&lt;/p>
&lt;p>Même les débutants en programmation peuvent l&amp;rsquo;essayer, alors n&amp;rsquo;hésitez pas à jouer avec !&lt;/p>
&lt;hr>
&lt;h2 id="liens-recommandés-pour-ceux-qui-sont-intéressés">Liens recommandés (pour ceux qui sont intéressés)
&lt;/h2>&lt;ul>
&lt;li>&lt;a class="link" href="https://ja.wikipedia.org/wiki/%e3%82%b3%e3%83%a9%e3%83%83%e3%83%84%e4%ba%88%e6%83%b3" target="_blank" rel="noopener"
>Wikipedia : Conjecture de Collatz&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://arxiv.org/abs/1909.03562" target="_blank" rel="noopener"
>Article de Terence Tao (Anglais)&lt;/a>&lt;/li>
&lt;li>C&amp;rsquo;est aussi amusant de créer une version visualisée en Python ! (J&amp;rsquo;en ferai une s&amp;rsquo;il y a de la demande)&lt;/li>
&lt;/ul>
&lt;hr>
&lt;p>Si vous voulez en savoir plus sur ce genre de matériel &amp;ldquo;Mathématiques mystérieuses x Programmation&amp;rdquo;,
n&amp;rsquo;hésitez pas à demander et à dire &amp;ldquo;Apprenez-m&amp;rsquo;en plus&amp;rdquo;.
Finalement, j&amp;rsquo;introduirai diverses choses comme l&amp;rsquo;Hypothèse de Riemann et les nombres premiers !&lt;/p>
&lt;hr>
&lt;p>📮Fin !&lt;/p>
&lt;hr></description></item></channel></rss>