多腕バンディット問題(Nアームバンディット問題)

多腕バンディット問題とは

多腕バンディット問題は、以下の図のような複数の腕を持つマシンがあり、
最も期待値の高い腕を損失を最小化しつつ見つけることが目的の問題です。

f:id:ttt242242:20190815125927p:plain

プレーヤーは各腕を試し、得られた利益から、最も期待値の高い腕を見つけます。
ここで、大事なのがいかに損失を少なくしながら、最も良い腕を見つけることです。

この問題は様々な意思決定問題を一般化した問題です。
(例、目的地までの経路探索探索問題、レストランの選択等)

実装と実験

今回は単純な多腕バンディット問題を実装します。
各腕の利益の期待値は、正規分布に従う乱数によって決定するとします。

また、プレーヤーは簡単な強化学習エージェントとしています。
単純に得られた利益によって各腕の選択確率を調整します。

ソースコード

実験

上記のプログラムを実行すると、以下のような各腕を選択した回数と、

以下のような利得の推移を出力します。
f:id:ttt242242:20190815130359p:plain

コメント

タイトルとURLをコピーしました