14

私は (宿題の一環として) 次のことを行う Java プログラムを設計するように依頼されました。


基本的に3つのカードがあります:

  • 両面とも黒色
  • 両面レッドカラー
  • 片面黒、片面赤

ここで、ランダムにカードを 1 枚取り、テーブルに置きます。上向きの面は黒です。反対側も黒である確率は?

Java を使用してプログラムを実装し、確率を発見しようとすると、プログラムはカード トリックを何度もシミュレートし、カードの反対側が黒である確率を出力する必要があります (これは、反対側が何回行われたかをカウントすることによって行われます)。黒もあります)。


しかし、私のコードは (アルゴリズム的に) 間違っていると言われました...どうやら答えは 0.50 であってはなりません。アルゴリズムを理解しようとして間違いを犯しましたか?

誰かが私を正しい方向に向けることができますか? (アルゴリズムがどのように機能するかについてだけ、完全に機能する実装を提供するように求めているわけではありません)。


この記事は非常に役に立ちました: https://blog.codinghorror.com/finishing-the-game/

4

6 に答える 6

8

これはアルゴリズムには役立たないかもしれませんが、これが私が自分で答えを導き出す方法です。

ランダムなカードを引いてテーブルに置くと、同じように起こりうる6つのことが起こります。

  1. R / Rカードを選択し、赤い面を上にして置きます。
  2. R / Rカードを選択し、もう一方の赤い面を上にして置きます。
  3. B / Rカードを選択し、黒面を上にして配置します。
  4. B / Rカードを選択し、赤い面を上にして置きます。
  5. あなたはB/Bカードを選び、それを黒面を上にして置きます。
  6. B / Bカードを選択し、もう一方の黒い面を上にして置きます。

これらの6つのイベントのうち、6つのうち3つは、テーブルに黒い面のカードをもたらします。

これらの3つのイベントのうち、ちょうど2つは、カードの反対側が黒です。

したがって、「反対側も黒くなる確率はどれくらいですか?」という質問に対する答えです。2/3です。

black_black実際には2つであるのに、1つのイベントとして発生するカードのみをカウントしているため、アルゴリズムは失敗します。

于 2009-12-15T20:04:45.007 に答える
7

あなたのアルゴリズムには、カードをテーブルに置くという重要なステップがありません。黒赤のカードを引いた場合、それを下に置いたときに黒の面が見えるという保証はありません。追加のステップを追加して、各カードの面の 1 つをランダムに選択することをシミュレートし、次に、黒い面を示すケースの数と、それらのケースのうち黒-黒のカードが表示されるケースの数を決定します。

于 2009-12-15T20:00:39.977 に答える
4

カードには 6 つの面があり、同じ確率で出てくると仮定します。黒い面が 3 つあり、そのうちの 2 つは反対側に黒い面があります。赤い面が一番上にあるすべてのケースを破棄するので、等確率の 3 つの黒い面だけに関心があります。

したがって、もう一方の面が黒である確率は、実際には 2/3 です。

于 2009-12-15T20:02:36.590 に答える
0

正しく実装した問題を調べることが役立つ場合があります。少なくとも片面が黒のカードをランダムに選んだとすると、そのカードの片面が黒でもう片面が赤である確率はどれくらいですか?

あなたが正しく実装していない問題は次のとおりです。この面が黒のカードを見ている場合、反対側の面が赤である可能性はどれくらいですか?

黒のカードは 2 枚ありますが、黒の面は 3 枚あることに注意してください。

于 2009-12-15T20:23:56.997 に答える
0

赤黒カードが引かれる 2 つの可能性、つまり赤面と黒面を説明する必要があると思います。これらの確率の合計が、赤黒のカードが引かれる確率になります。

于 2009-12-15T20:02:10.177 に答える
0

両面が赤のカードは、基本的に (語呂合わせを許してください) ニシンです。

赤/黒と黒/黒のカードだけが残ります。繰り返しますが、赤/黒が赤面を上にして配られた場合、これ以上注意を払う必要はありません。残りの可能性は次のとおりです。

  1. レッド/ブラック、ブラックアップ
  2. 黒/黒、最初の面が上
  3. 黒/黒、2 番目の面が上
その 3 つのうち 2 つが反対側が黒いので、確率は 3 分の 2 です。

于 2009-12-15T21:40:45.653 に答える