2011-10-21 16 views
0

私はスキーレンタルのようなオンラインアルゴリズムを解決しようとしていますが、問題は少し異なります。オンラインアルゴリズム - スキーレンタル

問題は私がN箱を持っていることであり、各箱にはX < M < Yと異なる箱に異なっていてもよいMコインがあります。私は1つの箱を選んで硬貨の数を確認することができます。この箱を選択するかスキップしてください(スキップしてもこの箱に戻れません)。

私の目的は、コインの数を最大にするように1つのボックスを選択することです。

私のアルゴリズムでは、パラメータGを選択して最初のボックスを開き、コインの数がGより大きい場合はそのボックスを選択し、いずれも選択しなかった場合は最後のものを選択します。あなたはNボックスを知っている場合は、あなたが最初のN/Eボックスをチェックすることができ、オフライン溶液に対して

+0

XとYとは何ですか?与えられた価値? –

+0

あなたの問題をよく説明してください。あまりにも多くのあいまいさがあり、私は何が望みの結果か分かりません。 –

+0

Xは最小値です。各箱にある硬貨、Yは各箱の硬貨の最大数です。つまり、各箱にY硬貨以上の硬貨を入れることはできません。 – csuo

答えて

1

を競争力の比を最適化するために、Gがどうあるべきか

(2.7 = E ...)、および最大ボックスを追跡(すべてをスキップして最大値にする)G =最大サイズ.Gより大きい最初のボックスを選択するか、最後にボックスを選択しない。

Chrisさんが彼のコメントで述べたように、これはSecretary Problemです。私が提供している方法は、この問題の最適な解決策です。詳細はリンクで見ることができますが、わかりません。 Gは?入力分布といくつかの追加情報に依存します。

+0

あなたのコメントのためにsaeed janに感謝しますが、私はアルゴリズムを持っています。最高のコインを得るためにG(私はそれをもっと明確にするために質問を編集した)(最適な解決策のためには、より多くの情報を得るために+1を使用してください) – csuo

+1

+1。これは秘書問題http://en.wikipedia.org/wiki/Secretary_problemです。また、e = 2.71828 ... –

+0

@mahDアルゴリズムに何の影響も与えずに 'G'をどのように変更するのか分かりません。 –

0

定数Gを設定した場合、データを知っている敵がデータを準備していると仮定しなければなりません。彼らはあなたにそれを選択させるボックスを与えて、最後のボックスにYを含めるようにして、オフラインアルゴリズムY/G倍をより有益にします。 OTOHの場合、彼らはあなたにそれを拒否させるボックスを手に入れ、最後のボックスにXを入れるようにして、オフラインアルゴリズムG/X時間をより有益にします。最も悪いGはsqrt(XY)のように見えます。この場合、オフラインアルゴリズムは、より収益性の高いsqrt(Y/X)倍です。

ボックスを受け取る前にGをランダムに選択するオプションがありますか?その場合、あなたの敵はその配布のみを知っていますか? X = 1の単純な例の有望な振る舞いに基づいて、ln Xとln Yの間でランダムにln Gを選択しますが、おそらくこの場合にはより良い解決策があります。それらを見つける1つの方法は、離散値のみを考慮することです。これはおそらくこの例の実際の場合です。そして、状況をあなたとあなたの敵の間のゼロサムゲームとみなします。

+0

@ mcdowella:あなたの答えはほぼ正しいです、あなたはY/GがY/G-1でなければならないと言った部分です。 Kボックス(1の代わりに)を選択し、最後に最大k個の選択ボックスを選択すると、最適なアルゴリズムの提案は何ですか? – csuo

+0

スコアリングコンピュータプログラム(これは非実用的ではないかもしれない)を書くのに十分正確な仕様がないと確信が持てませんが、Kボックスを最大にすると、敵がこの状況を以前の状況に減らすことができます。 K個の箱のそれぞれに同じ数のコインを入れる。 – mcdowella