推測ゲーム


7

私はこの質問を解決していました。以下のとおりです

ジョーはリストから整数を選びます 1,2,,N 確率で pi ピッキングの i すべてのために 1iN。それから彼はジェイソンを与えますK彼の数を推測しようとします。推測のたびに、ジョーはジェイソンの推測よりも多いか少ないかをジェイソンに伝えます。ジェイソンがジョーの番号を正しく推測した場合、K推測では、ゲームは終了し、ジェイソンが勝ちます。ジェイソンはそうでなければ負ける。ジェイソンがすべてを知っている場合pis 彼が勝つ確率はどれくらいですか?
1N200000
1K20

この問題を動的プログラミングで試しました。しましょうDP[i][j][k] 数が次のようになるような勝率を格納します i そして j 包括的かつ唯一 kチャンスが残っています。そう

DP[i][j][k]=maxilj{pl+DP[i][l1][k1]+DP[l+1][j][k1]}DP[i][j][1]=maxiljpl Base Case
しかし、の範囲が非常に高いため、この解決策は実行できません。したがって、私はソリューションを探していたときに、次のソリューションに遭遇しました(インターネットで受け入れられました)NO(n)
  • Sort()p[]
  • i=0min(n,2k1)pi

入力両方の解を実行すると、同じ答えが得られます。したがって、私の質問は、上記のアルゴリズムがどのように機能しているかであり、私のdpの公式から同じ結論にたどり着くことができますか?{それが正しい場合}。N=5,K=2,p=[0.2,0.3,0.4,0.1,0.0]


あなたのベースケースとあなたが見つけた解決策は、私にとって最適な戦略のようには見えません。
InformedA 2014

@randomAなんで?チャンスが1つしかない場合、最適な戦略は、確率が最も高い数を選択することです。
正義リーグ

あなたが正しいです。基本的なケースは正しいです、私はあなたの解決策を理解していません。ごめんなさい。
InformedA 2014

回答:


2

ソーティングソリューションが機能する理由は、 K 推測する場合、決定論的戦略では、推測できるのはせいぜい 2K1値。これは帰納法で証明できます。最初に基本ケースに注目します。K=1 そして次に K+1、最初の値を推測した後、 K 左を推測し、元の推測の結果に応じて、元の推測の左側または右側のどちらかを推測します。 2(2K1) 最初の後で推測できる値なので、元の推測を追加すると、 2K+11

さらに、これらのいずれか 2K1値は正しい値であり、推測されて勝利します。他のどれもN2K+1値は推測されます。したがって、あなたが勝つ確率は、確率の合計です2K1確定的戦略が推測できる値。明らかに、最適な解決策はトップを取ることです2K1 確率。


0

数ヶ月後、私の頭ははっきりし、これがどのように機能するかを見るのは非常に簡単に思えます。

推測が1つの場合は、確率が最も高いものを選択します。

2つの推測がある場合は、最も高い確率で3を選択します。最初の推測では、3つのうち2番目を選択します。2番目のピックでは、最初のピックの2つの側面のどちらかに誘導されます。どちらの側も1推測のケースにつながり、それぞれの側にすでに上位2つの確率がそれぞれにあります。これが最適です。勝利の確率は、3つの確率の合計です。

..

明確なパターンは、 k 推測、あなたはトップを選びます 2k1確率が最も高い。最初のピックは上部の真ん中です2k1。その後、真ん中のいずれかの側で再帰します。どちら側にも、トップがあります(2k1)12=2k11 中央のピボットを選択する方法とトップを取ることにより、そこにある確率 2k1

これは、トップの合計として勝つ確率を与えます 2k1 確率。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.