シリーズ 乱数生成器の原理2

本田 顕 / 2025年1月31日

こんにちは!エヌズクリエイツ開発チームの本田です。
今回も「乱数生成器」について、紹介していきます。

はじめに

前回、乱数生成には真正乱数生成器(PRNG)と擬似乱数生成器(TRNG)の2種類があることに触れました。今回はその乱数生成で使われる数学の考え方を紹介します。

数列とは

乱数生成器を繰り返し使うと、例えば、「1、3、5、7、9・・・」といった具合に、ランダムに見える数字が並んでいきます。この並びは数列という、数学の一分野の考え方をそのまま形にしています。この時、「a[1]、a[2]、a[3]、a[4]・・・」のような表現をします。a[1]が初項(シードともいう)、a[2]が第2項、a[3]が第3項といった具合に表します。先の例で行くと、a[3]は5を指します。また、a[n]を一般項と呼び、これと初項を求めることができれば、すべての数列を特定できます。

では、先の例の一般項はなんでしょうか?答えは記事の最後に記載します(※1)

漸化式とは

数列を理解する上で、一般項以外の重要な概念の一つに漸化式があります。漸化式は、前後にある項の関係を明らかにし、数列の性質を明確にします。

では先の例の漸化式を求めてください。こちらも答えは記事の最後に記載します。(※2)

フィボナッチ数列

最も有名な数列の一つにフィボナッチ数列があります。これは「1、1、2、3、5・・・」といった具合に前項と前々項を足した数値がその項となり、つまり、a[n] = a[n-2] + a[n-1]を漸化式とする数列を指しています。13世紀にレオナルド・フィボナッチの著書により、広まりました。フィボナッチ数列は自然界に存在することからも有名で、例えばひまわりの種は、種が生える方向が、時計回り、反時計回りを、フィボナッチ数列の数分繰り返すことによって、効率的に、ひまわりの顔全体に種が生え、全ての種が太陽を浴びるように、生まれながらにして設計されています。

まとめ

今回は以上です、次回も乱数生成器について取り扱っていきます、それでは!

(※1)a[n] = 1 + (n-1)*2
(※2)a[n+1] = a[n]+2

同じテーマの記事

高橋 実玖 / 2026年1月30日

音声入力を仕事に取り入れてみた話

坂本 結 / 2026年1月16日

「これどこ?」をなくす。相手の時間を奪わない工夫

山本 明子 / 2025年12月19日

余白のデザインがユーザー体験を変える

坂本 結 / 2025年11月21日

確認ミスを減らす!誰でもできる仕組みづくり