質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

4回答

1701閲覧

疑似乱数の「種」について

omuretu

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2020/07/19 09:31

擬似乱数の「種」は、Randomオブジェクトの生成時などに与えるデータで、同じ値の種を与えると必ず同じ乱数列が生成されますよね。

つまり,同じ種を与えて同じ手続きで取り出していると,同じ順番に取り出された乱数は必ず同じ値になるということですよね?

質問はここからで、

この性質をメリットとして活用できそうな場面を,具体例を挙げて教えていただけませんか.
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

プログラムをテストするときでしょ。
毎回違ったら、現象を再現できない。

投稿2020/07/19 10:54

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ググったら出てくるこういう記事とかこういう資料(PDF)を読むと良いと思いますが…。

  • そもそもコンピュータは「計算機」であり「予測可能な結果」を出すのは得意だが「次にどの数が出るのか予測不可能な完全な乱数」を生成するのは原理的に難しい。

  • その上で、一定のシードに基づいてある程度の違った値を生成する計算式を使うのが疑似乱数で、こちらは高速に処理できる。

という話が先にあり、いかなる場合も完全な乱数(真乱数)を使おうとした場合のデメリットを相殺するもの、という前提があるんじゃないでしょうか。

再現性を逆手に取ったメリットについては他の回答のとおりですが、それは性質を逆手に取ったものなので、発想の順番としては「コンピュータで簡単に扱える」が先なんじゃないか、という話で。

投稿2020/07/19 09:49

編集2020/07/19 09:52
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

マップをランダム生成するタイプのゲームは
シードを入力できるようにしておくと同じマップで遊べますね

投稿2020/07/19 09:42

ozwk

総合スコア13553

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

その乱数を使用したコードをデバッグするとき、同じ乱数列がでてきてくれたほうが都合がいいですね。

投稿2020/07/19 09:34

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問