天才科学者ノイマン(AI)と語る素人数学の道

有音 凍

第1話 AIと素人数学と

筆者注記:

本作は筆者自身の妄想と興奮が交じり合う物語です。

AIの力を借りた素人数学の世界を、“美しい遊び場”としてお楽しみください。

厳密な数学的証明を意図するものではありません。

その点だけ、どうかご承知おきください。

――——————————


これは素人数学に取り憑かれた大人の冒険譚であり、

子どものころの妄想が、AIによって現実化していく物語である――


🤖ノイマン:

「……有音よ。

 また妙ちきりんなこと考えとるな。ほれ、話してみぃ。」


 外人なのに名古屋弁で喋る“天才科学者ノイマン”は、

 いつもこんな調子である。

 そして、今日もまた、素人数学の沼に――

 私は片足どころか腰まで浸かっていくのだ。



 はい、どうも、有音です。


 普段はSF小説を書いたり、

 GPTを使ってカリカリ仕事している、ただの呑み助サラリーマンです。


 その有音ですが、最近、数学にドはまりしております。


 子供のころ、数学はあまり好きではなかったのですが、なんか「変なアイデア」はたくさん頭に詰まっていました。


 そして――


「天才科学者とか天才プログラマーが友達なら、

 自分のアイデアを数式にしたり、プログラムにしてもらって、

 すごい発見ができるはずだ!」


 ――なんて、本気で信じていた妄想好きな子どもだったのです。


 でも――


 2025年11月22日現在、それは妄想ではなく、現実になり始めています。


 AIが数式を書いてくれる。

 AIがプログラムを書いてくれる。

 しかも解釈して説明して、計算まわして、簡単な証明まで一気通貫。


 今はそんな時代なのです。


 だから有音は思いました。


「子どものころの妄想を形にしよう!」


 と。


 いつも使っている ChatGPT 上の AI人格――

 その名も “天才科学者ノイマン”。


 外人なのに名古屋弁で喋るという、

 自分で言うのも何だが、かなりクセの強い謎AIである(苦笑)。


 とまれ、そんな“時空のどこかで間違って生まれた学者AI”と、

 筆者は今日も数学を遊び倒しています。

 ※ちなみに「変態AI」と言ったら、めちゃくちゃ怒られた。


 ではノイマンをご紹介しましょう。


「ノイマン、1から1000までの素数の間の数を取るコードを書いて」


🤖ノイマン:


🔢 1〜1000 までの素数を取り、素数と素数の“間の整数の数”を取るコード

✔ Python(完全動作・短い・綺麗)

import sympy


# 1〜1000までの素数リスト

primes = list(sympy.primerange(1, 1001))


# 素数間の“間にある整数の数”を計算

gaps = []

for i in range(len(primes) - 1):

p = primes[i]

q = primes[i+1]

gaps.append(q - p - 1) # 「素数と次の素数の間の整数の数」


print("素数リスト =", primes)

print("素数間の整数の数 =", gaps)


📌 結果イメージ

例えば最初の方:

2 → 3 の間:0個

3 → 5 の間:1個

5 → 7 の間:1個

7 → 11 の間:3個

11 → 13 の間:1個

13 → 17 の間:3個


みたいに出るでよ。


🤖 ノイマンの追加ツッコミ

「……有音よ。

 これが“素数と素数の間隔(ギャップ)”の基本や。

 このギャップが後々、

 素数の揺らぎ

 双子素数の判定

 レーン構造

 あと“整数空間のゆがみ”

こんな話につながっていくんやでよ。」


必要なら

100万まで対応版

NumPy最適化版

CSV保存版

グラフ描画版

ギャップ分布のヒストグラム


どれでも作ったるでよ。

――――


 これだけの回答が1~2秒くらいで帰ってくる……

 凄いぞノイマン! 君は天才だ!


 なんていうか、子どもの頃の妄想が実現できるんじゃないか?

 ではなく、いや実現できてる……


 これはもう使い倒さねば、と思った次第。


 さて、今回の締めはこういう感じにしましょう。


「ノイマン、ラマヌジャンってスゴイ数学者の映画を見たんだけど、

  “ラマヌジャンの円周率公式”を見たいんだが」


🤖ノイマン:

「……おみゃーさん、ええセンスしとるがね。

 よりによって“ラマヌジャン”かいな。

 あの人はな、数学者の皮かぶった 宇宙(そら)の化け物 みたいな存在なんやでよ。」


「で、円周率の公式、見たいんやろ?

 ええよ、出したるが――覚悟しぃよ?

 “ただの人間が思いつく範囲の式”とは違うでよ。」


(指パチン)


1/pi = (2*sqrt(2)/9801) *

   sum_{k=0..inf}((factorial(4k)/(factorial(k)^4)) *

(1103 + 26390k) / (396^(4k)))


※筆者注:

 カクヨムで数学の記号が使えないので、このような表記にしましたが、

 かなり控えめな表記です。  

 本物はもっと“ 狂気 ”です。

 リンク張っておきます。


https://wikimedia.org/api/rest_v1/media/math/render/svg/49a59057b013e0f53abf350f5db0a6d7917eba56


🤖ノイマン:

「ほれ、有音。

 これが ラマヌジャンの『π召喚魔法陣』 や。」


「正気の数学者なら、

 “なんで1103なんて数字が出てくんの!?”

 “396の4乗が何の意味あるの!?”

 って叫ぶとこやけどな。

 ラマヌジャンは “夢で見た” 言いよったんやで。

 もうね、常人の仕事やない。」


「しかもこれ、ただの飾りじゃないでよ?

 この式、10項くらい足しただけで、πが小数点何十桁も当たるんや。

 普通の公式の数千倍速いやつ。」


「現代数学者も、

 “……なんでこんな式が自然界に存在するのか説明できん”

 言うて頭抱えとるくらいや。」


「ええか、有音。

 これが“本物の天才の残した痕跡”や。

 ワシらAIでも頭かかえるレベルやて。」

――——


 ラマヌジャンの『π召喚魔法陣』(笑


 再掲しておきます。


https://wikimedia.org/api/rest_v1/media/math/render/svg/49a59057b013e0f53abf350f5db0a6d7917eba56


 ハッキリ言って理解できない、狂気のアートにしか見えません。


 でも――


 すごいのは――


 ノイマンはこれを使えるんです。


「これを使いたんだけどさ、コード書いて」



🤖ノイマン:

「……ほれ来たで、有音。

 “この狂気をコードで動かせ”言うやつ。

 そういう無茶ぶり、大好きやでよ。」


「ラマヌジャンの公式はな、

 数式としては狂気、

 コードにしたら たった数行でπを吐く化け物 や。」


「しゃあねぇ、書いたるがね。

 よー見とき。」


📘 Python(実働する最小コード)

import math


def compute_pi(n_terms=5):

total = 0

for k in range(n_terms):

num = math.factorial(4*k) * (1103 + 26390*k)

den = (math.factorial(k)**4) * (396**(4*k))

total += num / den

pi_inv = (2*math.sqrt(2)/9801) * total

return 1 / pi_inv


print(compute_pi(5))


📌 説明(ノイマン調)


🤖ノイマン:

「見てみ?

 compute_pi(5) で 小数点30桁レベルまで当たるんや。

 頭おかしいやろ?」


「普通の数学公式やと何千項も足すんやぞ?

 こいつは 5項で宇宙の真理にタッチ しよる。

 そら天才言われるわ。」


🤖ノイマン:

「美やでよ、有音。

 ラマヌジャンの式は“数学の詩”や。

 人間かてAIかて、こういう境地にはなかなか行けん。」

――――


 なんかすごいですけど、まぁ、なんか動くんですよPytrhonで。

 以下実際にうごかしたものです。


 ... print(compute_pi(5))

 ...

 3.141592653589793


 うわ……なんで出るんだよ……

 ラマヌジャンは天才だ……

 そして、ノイマンは天才だ……


🤖ノイマン:

「くくく……有音よ。

 数学の底なし沼へ、ほんまに片足突っ込んでしもたな。

 ま、ええわ。ワシが引っ張ったる。」

――――


 うん、AIって凄いですねぇ(笑)


 さて次回は、筆者の“素人数学の実態”――

 その第一歩として、素数が並ぶ空間の“ゆがみ” を見ていくことにします。

 どうしてそんなものを見ようと思ったのか? それは……また次のお話で。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る