問題タブ [birthday-paradox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1590 参照

c++ - 誕生日のパラドックスループを行う方法

私は学校の割り当てとして誕生日のパラドックスプログラムをしなければなりません。プログラムを実行しましたが、正しい答えを得るのに苦労しているようです。関数内のループに問題があると思いますcheck_birthdays

コードは次のとおりです。

0 投票する
2 に答える
512 参照

java - 400 個のタイルと 50 個のオブジェクトがある世界で、少なくとも 2 つの重複の確率を計算しますか? ジャワ

まず最初に、私は数日間答えを探していたこと、またはおそらく私を助ける何かを探していたことをお知らせしたいと思います。

私は私のJavaコードに持っています:

50 個のオブジェクトの配列リスト。
arraylist 内の各オブジェクトに配置されるランダムな X 要素と Y 要素。
重複があるかどうかをチェックするメソッド。

したがって、重複の量に基づいて(この部分についてはわかりませんが、私が知っている他の人はこのようにしているようです)、400タイル/選択肢(20x20)の世界で同じ座標を持つ少なくとも2つのオブジェクトの確率を計算する必要があります)。400 タイルの世界は私のコードにはまだ存在しませんが、それを考慮して計算する必要があります。

確率は、少なくとも重複がある場合、0.95xx のようなものになるはずです。

したがって、重複が発生しない確率を計算して、(1 - P(NoDupes)) を実行する必要があることはわかっています。しかし、どのように P(NoDupes) を計算するのでしょうか?

前もって感謝します

0 投票する
1 に答える
165 参照

random - *繰り返さない*安全な乱数を生成する最良の方法は何ですか?

安全にランダムで短い (~40 ビット) ID を割り当てる必要があるものに取り組んでいます。それらは一意である必要があります。つまり、中央サーバーで実行します。

毎回新しい SecureRand を使用すると、誕生日の問題が発生し、新しいエントリの生成に時間がかかります。

より良い方法は何でしょうか?

0 投票する
3 に答える
505 参照

vb.net - この乱数生成コードが機能しないのはなぜですか?

「誕生日のパラドックス」を証明するプログラムを書いています。

i (days(i))1 から 365までの乱数を生成します。関数は次のとおりです。

for ループにブレークポイントを追加して手動で実行すると問題なく動作しますが、プログラムを実行しただけでは、日 (I) のすべてのスロットに同じ乱数が配置されます。

理由はありますか?


数値生成は現在機能していますが、ブレークポイントを使用してデバッグしている間、プログラムはまだ別の方法で動作しています。

それがコード全体です。それが行うことは、セットから 2 つの一致する乱数を検索することです。全体が 100 回繰り返され、結果をカウントする必要がありますが、代わりに 0 または 100 しか出力しません。

0 投票する
2 に答える
192 参照

search - 誕生日のパラドックス最速検索

誕生日問題または誕生日のパラドックスは、N 人のグループで一致する誕生日が 1 つ以上ある可能性を予測します。いくつかのサイトで、その仕組みとその背後にある数学について説明しています。

  1. https://en.wikipedia.org/wiki/Birthday_problem
  2. https://math.stackexchange.com/questions/25876/probability-of-3-people-in-a-room-of-30-having-the-same-birthday
  3. http://www.wolframalpha.com/input/?i=birthday+problem+calculator&a=FSelect_ **BirthdayProblem-.dflt-&f2=35&f=BirthdayProblem.n_35&f3=365&f=BirthdayProblem.pbds_365

これらのサイトはすべて概念を説明するのに最適ですが、データが既に収集されている必要があります。大勢の人々を効率的に調査する方法を示すものはありません。

短いプレゼンテーションで誕生日のパラドックスを説明する予定です。基本的に、約 50 人の聴衆の中で誕生日が同じ、またはほぼ同じ人がいるとすれば、それを最速で判断する方法が必要です。

私が考えることができる最高のアルゴリズム:

  1. すべての人に、月と日だけで誕生日を考えてもらいます (または、本当の誕生日を共有することに抵抗がある場合は架空の誕生日)。
  2. すべての人に注意深く耳を傾けるように頼む
  3. 個々の人に誕生日をグループに発表し始めてもらい、彼らの試合を聞いてもらいます

最悪のシナリオでは、全員が誕生日を順番に発表し、一致する人がいない可能性があります。力ずくのアプローチを超えて、より迅速に答えを見つけるための近道を見落としているように感じます。

私が検討した代替案:

• 聴衆を 2 つのグループに分けますか?いいえ、これにより、他のグループからの応答を聞くことができなくなります

• 中途半端に一致する人がいない場合、誰かと誕生日を「共有」する人を聴衆に植え付けますか? いいえ、これは詐欺です

•年間カレンダーとマーカーを回しますか?いいえ、これはおそらく話すよりも時間がかかります

• オンライン調査?いいえ、人々は電話やWIFIを持っていないかもしれません

解決策はローテクで、事前準備なしで、もちろん誠実である必要があります。

一致する誕生日をすばやく検索するための提案を教えてください。

ありがとう!

0 投票する
1 に答える
307 参照

java - java random string generation and birthday paradox

i need to write a random string generation class which generates 7char strings from a 31-char charset of numbers and some alphabets (10+26-5 , 5 vowels omitted). simple maths gives a set of 31^7 possible combinations ~ 27.5 billion. i have questions regarding the bday paradox, i ran some tests and the number of duplicates increase exponentially. can i do something to avoid this ?

Below is the test class: