ゴールドポイントゲームのシニアソフトウェア工学

まず、問題を定義します


 

1.定義

ゴールドポイントゲーム:N選手、一人一人がサーバーに送信(0または100を含まない)、0〜100または2の間に合理的な数を、書き、サーバは現在のラウンドの終了時にすべての数値の平均値を算出し、乗算0.618は、Gの値を得ました。G最も近いプレイヤー数(絶対値)が提出-Nを取得し、Gプレイヤーから最も遠い他のプレイヤーにポイント-2、0点を取得します。参加したときにのみ、一人のプレイヤーはポイントを獲得しません。

私たちのゲームでは、各プレイヤーは二つの図、(鄒衍教師を含む)11個のグループ22個の数字の合計を提出することができますし、で、その後平均値を計算し、金G.の数を取得するには0.618

 

2.難しさ

このゲームの難易度は、次のいくつかであります:

1)参加者より多くのゲームの数は、すべての人の戦略は、特定の理論的な導出が正確に黄金のポイントを推定することができる持っていることは困難である、完全に異なる、未知です。

(2)勝者がすべてのメカニズムを。一つは、勝利ポイントの多くを得ることができますが、一度だけ2ポイントを差し引く失敗しました。そのため、戦略的な配布ポイントの必要性は、金のバランスを崩すことができなかったと考えるべき問題である、それはちょうど良い結果と組み合わせる戦略のスコアは、一般的に入手することができる取得することです。

3)最も単純な戦略は、深さおよび強化学習というより直接的結果の定性的および定量的分析を通じてより実際の結果に基づいて判断すること、学ぶために一緒に使用を強化することである使用することです。

 

 

第二に、この方法モデリング


 

私たちは、実験中に2つのアルゴリズムを使用する最も簡単な使用している Q学習方法やディープQ学習ネットワーク方式。以下が導入されました。

1.Q-学習法

QLearningは値ベースのアルゴリズムを強化学習で、Qは、Q(S、A)一定時間(s∈S)での状態にある場合、必要な措置をとる(a∈A)アクションは、利益を得ることができます主なアイデアは、Q値に基づいて最大の利益を得ることができ、アクションを選択し、次に状態と行動のQ値を格納し、するQ-テーブルに構築することであるので、環境的なフィードバックは、アクションエージェントに応じた報酬rを報われる。

Q-表

A1

A2

S1

Q(S1、A1)

Q(S1、A2)

S2

Q(S2、A1)

Q(S2、A2)

S3

Q(S3、A1)

Q(S3、A2)

 

その後、我々は、更新式を導出する時間差メソッドを使用します。この方法は、時間差モンテカルロサンプリング方法及び動的プログラミング方法組み合わせブートストラップ(後継者を使用して、関数の関数値の推定電流値を述べて彼が適用できるように、モデルフリーアルゴリズムを単一のステップの更新高速です。次のように関数の値が計算されます

 

上記の導出に係る Q 値算出のため、そう有するQの我々は学ぶことができる値、すなわちQ-テーブル更新処理、αは学習率であり、γは減衰定数インセンティブで、時間差法を用いた方法が更新されます。

 

 

 

式である Q学習次の状態に応じて更新式S 「が最大を選択する(Q S Aを" の減衰値γによって値を加えた実質リターンはすなわち、 Qの以前によると、現実Qの内部テーブルQ(S、A)のQ 推定。

 

次のようなアルゴリズムは次のようになります。

 

この方法では、我々は戦略が引き継がパラメータ変更することで取ったアクション学習率、E-と貪欲、およびいくつかの他のパラメータは、4つの異なる勾配の値を設定し、作成されている64 の実験のセットを、私たちはベストマッチパラメータを見つけました。第二に、アクションは、提出された2つの数字が同じで、これは十分ではありません、我々は他の二つの人々とデジタルデジタル競争と同等のものを取得するので、私たちは返さ2つの数値を過ごす黄金のポイントだっただろう黄金のポイントに* 0.618 、金最後から二番目のポイント、最後から二番目の点の金* 0.618 、過去3つの黄金の点で、過去3つの黄金の点で* 0.618 、過去5つの黄金のポイントを超える、過去5つのゴールドポイントで* 0.618 、過去2つの黄金のポイントを超える幾何平均は、各試合の算術平均は、8つの異なる取得アクション

 

我々はまた、異なる提出の数使用 99 動作をランダムに破壊すると、不正確なモデル予測の多くを作り、金のポイントの変更は浮き沈みがより明白であることがわかりました。

 

 

 

2.Deep Q学習アルゴリズム

 

伝統と Q学習は、アルゴリズムに比べ、 DQNはなしQのテーブルのレコードのQ 値が、ニューラルネットワークを予測するためのQ 値を、従って、継続的にニューラルネットワークを更新することにより、最善の行動を学びます。

 

それらは履歴リスト金をポイントする深さのニューラルネットワークに入力データを変換する状態S)で、CNN(畳み込みニューラルネットワークの動作を予測する(A1、A2、A3を...... )、 および対応するQ(S、 A1)、Q(S、A2 )、Q(S、A3)... その後、更新されたニューラルネットワークアルゴリズム(NN)のパラメータ(W、B ...) 更新するNNを、最適なモデルを最適化しますソリューション。

 

DQN 2つのニューラルネットワークがあります(NN)比較的固定ネットワークパラメータは、我々はと呼ばれるターゲット-NET 得るために、Q- ターゲットを(Q-目標)さらに呼ばeval_net 取得するために使用Q- アセスメント(Q- evalの)値。バックプロパゲーションネットワークは、それがある、唯一の真の1を訓練しているeval_net target_net だけ前方に伝播が得q_target(R&LT q_target = + ガンマ] *マックスQ(S、A))。前記Q(S、A)複数のを通してであるターゲットネットフォワード伝播の結果。

 

 

 

トレーニングデータメモリがランダムに抽出されるから、メモリ動作は状態、報酬のそれぞれに記録され、次の状態の結果(S、Aは、R、S「) データレコードがいっぱいになったときに、メモリの限られたサイズは、次のデータはメモリには、このようなカバレッジを更新され、メモリ内の最初のデータが上書きされます。

 

q_targetのネットワークtarget_netは定期的パラメータ、原因について更新されますtarget_net eval_net 構造は同じです。更新q_target ネットワークパラメータを直接されq_eval コピーパラメータは、ライン上に来ます。

 

学習におけるランダムメモリデータ、経験の間に邪魔相関、より効率的な神経回路網の更新、なるように固定Qターゲットtarget_net 可能性が遅延パラメータを更新するため、動揺の相関関係。

 

次のようなアルゴリズムは次のようになります。

 

 

 

我々の実験の実装では、我々が入ります状態を定義されたネットワークにQ 得るn個の出力を、nがある、アクション数、使用表す各出力アクションスコアを。このラウンドによれば、実際に選択された動作が得られ、それは実行する次の状態を計算することができ、アクション更新されたネットワークパラメータとすることができる報酬(ペナルティ)に対応する報酬(ペナルティ)。一方、DQNは、のように、メモリユニットは、各時間サンプルからの複数のサンプルを有するバッチ今回最近のデータネットワーク、代わりにだけ使用します。

 

 

 

第三に、結果分析


 

 

自分の部屋のテストでは Q学習DQN 2つのロボットネットワークの後、我々が見つかりました。DQNの初めにネットワークがより高いスコア可能性があるQ学習法が、後の段階になりますQ学習の方法遠く投げます。したがって、我々はのみ使用して送信時にQ学習方法を。

 

最初の日に 1000年大会のラウンド、結果は今のところ私たちの期待を超えています。私は考えているだろうBOT2 他に失うことになります使用しDQNをBOT が、結果は、我々はリーダーであり、いくつかのいくつかの割合の後ろに、第二位になったという事実です。二日目で10000 試合の中で、私は私のロボットが二位にランクされなければならないと思いますが、結果は浮き沈みのプロセスを期待していませんでした。私たちは、非常に低いスコアを始めはるか背後で来たが、中期的には、私たちは突然、はるかに三分の一を投げる、強制、そして唯一の薄い第1 100個の余分なポイント。3000 私の後のラウンドBOT2 それは先に第二位の、最初の場所で安定している400 かそこらのポイント。黒を開くことになっている私は期待していなかった、勝つために嘘をつく準備8500 ときの試合、私の上に第一の突然の初日BOT2 これはに、何もありません9970 ラウンド(総私たちの元を下回っ回)、400個の第三としてのポイントは、実際に、無力私試合残り30私たちの最終を超えて失われた40 点。本当にあまりにも難しいです!しかし、このプロセスは、本当に素晴らしいです!

 

レース前、私たちは、品質評価モデルは、最終的なスコアでなければならないだけではなく、スコアと順位プロセスの途中の、そして最終的なスコアが比較的貧弱であると信じています。例えば、我々は BOT2 二位の後ろに40 我々が持っていた実際には、ポイント14,000 この余分なポイントを、40 分には、実際にある偶然の要因による可能性が高いようです。あなたがダウンを実行し続ける場合は、第二位は、私たちを追い抜く可能性が高いだろう。

 

より多くの人以上の数字が一致する場合。我々のアプローチは、必ずしも私たちが撮影を終わるので、最も簡単な変更で、適用するアクション戦略、彼は他の使用の影響を受けないRNN DQNは、他の複雑な神経回路網は、より良い堅牢性を持っている影響を与えます。

 

最後に、彼のチームメイトの評価。私のチームメイトが撤退したため、黄金のポイントゲームの全体のプロセスので、コードを書くために理解することから、テスト、メンテナンスは私一人ですが、また、第三の最後を終了し、最初のより低いだけ秒少しは、非常に満足です!

 

おすすめ

転載: www.cnblogs.com/jqxu-msra/p/11568493.html