次の企画のごあんない
先日グルミクで乙和ちゃんのイベントがあったじゃないですか。ポーカーのやつ*1。
あれのサブミッションみたいな位置付けで「トランプに描かれているキャラクターの組み合わせを揃えると称号が貰える」ってやつがあって、その称号がどうしても欲しかったんですね*2*3。
称号は「乙和と衣舞紀」を揃えて得られる「元気づけてあげたいから」と、「衣舞紀とノアと咲姫」を揃えて得られる「どんな乙和でも、大好きだよ」の2種類がありました。3人役はとくに揃えるのが難しくて、真面目にやってるとめちゃくちゃ時間がかかる。前回のTCGの記事の考察を使うと、どうやら85セット, 425回シャンシャンして称号が得られる期待値だそうです。やってられっかって感じですね。
ポーカーなので、カードが集まる前にもうキャラクターの揃いようがないな、揃う確率が下がったなってなることがあります。そういう時に「カードのリセット」が使えるんですよ。ポーカーを面白くするために付けられたリセット機能(フォールドにあたる)が、称号あつめでも優秀な選択肢になります。
そこで気になるのは「どれくらい出てこなかったらリセットすべきか」という問題です。
最初はこれ、さらっと解けちゃうんじゃなーい?って思ってました。でもナイーブに考えるとヤバいんですこの問題。それぞれの状況について伸るか反るかの二択があって、その全通りを調べようとすると全然間に合わないんですね。シミュレーションにかかる時間は私の一生で間に合わないし、解析を行うには頭が間に合わない。
詰んだと思って諦めかけていたある日、この問題設定ってマルコフ決定過程じゃね?と気付いたんですね。これが第一の進歩でした。MDPなら強化学習で解けるというのも覚えてました。やったことないけど。しかし勉強するのもなあと思い留まっていたら、ちょうど「ゼロから作るDL」の強化学習編が公開レビューをやってるという情報を耳にしました。これは何かの縁、強化学習やるしかない......と読み進めています。そして今4章を終えて、もう称号集め問題いけそうな気がする。なんたって環境(推移確率と報酬)が既知だから、DP組んでまわすだけだもん。むしろ強化学習の深淵をまだ見ていないまである。
DP組んでまわすだけとは言っても教科書のソースコードから対応させる部分は多いし、称号集め問題をどう記述するかが難しい。それでモチベ維持のために、「グルミク称号獲得の最適方策」をここで進捗報告していきます*4。今日はこのへんで!