Open5
bandit algorithm
Tomson samplingするだけなら非常にシンプルに実装できそう。
ベータ分布は自分で実装するまでもなく数値計算系のライブラリで提供されている。
各アルゴリズムを自分で実装してシミュレーションできると良さそう。
Contexitual Banditは理論的には理解できるが、実際に実装するとなると考えることが多そう。
一番シンプルにやるなら完全にオフラインで事前計算してどのユーザにどのアームを当てるか決めておく方法だが、キャッシュが大きくなるようならオンラインで計算か(その場合はユーザベクトルを持つことになるので、それはそれで軽くなさそう)
ユーザ単位で持つとどのみち重くなるので、ユーザをある程度セグメント化するしかない?