• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

ゴールドバッハ予想

date: 2021-12-24 excerpt: ゴールドバッハ予想について

tag: ゴールドバッハ予想


ゴールドバッハ予想について

概要

  • すべての偶数は2つの素数の組み合わせで表現できるという仮説

詳細

  • 証明されていない
  • ヒューリスティックには素数の確率分布から多分正しいと思われている

ゴールドバッハ彗星の描画

  • ある偶数nがいくつの素数で表現されるのかを表現したもの
import itertools
import collections
import pandas as pd
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.dates as mdates # time seriesの描画
import importlib

def sieve(n):
    dp = [1]*(n+1) # 初期値ですべてを素数と仮定
    dp[0] = 0; dp[1] = 0 # 0, 1は明らかに違う
    for i in range(2, n+1):
        if dp[i]: # もし素数ならば
            j = 2 * i # iの倍数はすべて素数ではないはず
            while j <= n:
                dp[j] = 0
                j += i
    return [i for i in range(n) if dp[i]]

primes = sieve(10**5)

nc = collections.defaultdict(int)
for p0, p1 in itertools.combinations_with_replacement(primes, 2):
    num = p0+p1
    nc[num] += 1
df = pd.DataFrame(nc.items())
df.columns = ["num", "cnt"]
df.query('num%2 == 0', inplace=True)

ax = sns.scatterplot(x=df.num,  y=df.cnt, data=df, s=1)
ax.set(xlim=(0, 10**5))

display(ax)

参考

  • ゴールドバッハの予想@Wikipedia


ゴールドバッハ予想 Share Tweet