プロが教える店舗&オフィスのセキュリティ対策術

素朴な疑問です。
全く急ぎませんし、私自身の何かに関わることではございません。

1.例えば円周率や自然対数のような無理数を、n進法の綺麗な整数で表すことは可能なのでしょうか。もし可能だとしたらどのように導けばよいのでしょうか。
2.プログラミングで乱数を発生させることができますが、それはどのような原理で発生させるのでしょうか。方法が複数ある場合、無理数や素数に興味があるので、そういったものを使う方法を知りたいです。

私の数学の勉強は高校3年生で止まっていますので、ざっくりとした回答でも結構です。
高校性でも理解できる程度の範囲で教えてください。

質問者からの補足コメント

  • これまでご回答下さった方々、ありがとうございました。
    ご回答を頂き、新たな疑問が沸いたので、3つ目の質問を追加させていただきます。

    自然界に純粋な乱数、そして純粋な乱数に委ねられているものはあるのでしょうか。
    また、それが乱数であることは証明できるのでしょうか。
    締め切りもありそうですが、ご回答いただければ幸いです。

      補足日時:2016/03/06 20:06

A 回答 (5件)

円周率や自然対数の底は,何進法で表しても小数である限り「綺麗な整数」にはなりませんが,連分数表示では規則的な表示ができます。



https://ja.wikipedia.org/wiki/%E9%80%A3%E5%88%86 …
https://en.wikipedia.org/wiki/Pi

などを見てみてください。

我々はあまりに小数に親しんでいるため,小数自体が数そのもののような錯覚を起こしがちですが,小数はn進の各桁を足し合わせるという,いわば多項式のコンパクトな表示に過ぎません。そのため 0.999... という循環小数と 1 という見かけの違うものがが同じ値を表すということが起こってしまいます。

プログラミングで乱数(正確には疑似乱数)を発生させるのはひとつの学問分野くらい広く深いもので,私もほんの入り口しか知りませんが,いろいろな方法があり素数を利用するものもあります。無理数を使うというのはよく分かりませんが,たとえば円周率の各桁は乱数的に出現するという説があり、確からしいと考えられているようです。
    • good
    • 1
この回答へのお礼

私の数学力では、連分数を理解するにはかなりの時間と労力を要すようですが、大変興味があります。小数に関するご見解も大変興味深いです。ありがとうございました。

お礼日時:2016/03/06 20:16

ランダム(乱数に利用できる)なものの例


熱ノイズ、量子ノイズなど
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。なぜ乱数が生成されるのかが不思議です。後は自分で調べてみようと思います。

お礼日時:2016/03/06 21:34

1. 不可能です。


2. 純粋な乱数は作れません。所謂疑似乱数なら作れます。
疑似乱数は、比較的簡単な数式で発生でき
本来100%予測可能な数列を発生させます。
しかし、その発生方式を知らない人にとって予測が困難な
数式を選ぶことは難しくはありません。
    • good
    • 1
この回答へのお礼

ご回答が具体的で、大変納得できました。疑似乱数という言葉を初めて知りました。ありがとうございました。

お礼日時:2016/03/06 20:28

2は、例えば「M系列」で検索してください。

    • good
    • 1
この回答へのお礼

M系列について調べてみると、難しいですが興味深いです。ありがとうございました。

お礼日時:2016/03/06 20:24

1. 「n進法」というと普通 n は 2以上の整数だと思うし, それを前提にすれば無理数は必ず (循環しない) 無限小数になります. ただし, 変態的なものを使えばその限りではなく, 例えば「π進法」というのを考えれば π は「綺麗な整数」になります (その代り 4以上の整数がめちゃくちゃになりますが).



2. 無理数や素数を使って疑似乱数を作るとすると, たとえば
・適当な無理数 α を固定しておき, k回目では「kα の小数部分」を返す
・Mersenne Twister
なんてところかな.
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!