【実験】大貧民クライアントを分類できるか?

大貧民はとかく、プレイスタイルがよくわからない問題があります。
これは、試合を見ていても、
何が強さにつながっているのか、よくわからないということでもあります。

そんなこんなで大貧民AIはクライアントの特徴なんかの研究って
(知る限りでは)あまりないのだと思っています。

大貧民の方策関数を作る研究がありました。
コンピュータ大貧民の研究報告を読む - koganie’s blog
この研究の中で、既存クライアントの手を模倣する方策関数も作っている。
もしかしたら、これというのは、
既存クライアントの特徴を数値化している、と言えるんではないでしょうか。
これを使えば、似てるクライアント、みたいな分類ができるんではないでしょうか。
と、ふと思いました。

ということでやってみました。
学習データは20000試合ぶん、20回の学習です。
(学習に関してはこれらや学習項目を含めて、ぜんぜんチューニングできていません)
エントリークライアントはUECda公式サイトからダウンロードした以下10個です。
・beersong ・default ・elefunt ・Glicine ・jn16 ・kou2 ・kowl ・Party ・res.kou2 ・snowl
(使用させていただきました)
UECda-2017 コンピュータ大貧民大会


各クライアントの自己対戦棋譜から学習してできた
10通りの方策のベクトルをRに読み込ませて、樹形図を出力させてみます。
距離はユークリッド、併合方法は最長距離法です。

f:id:koganie:20171220000342j:plain

なんとなあく、右下にモンテカルロ系クライアントが集まっているような気もしますが…
いや、これってもしかして、
学習の具合によって、ベクトルの数値も大きく差がでちゃうんじゃないでしょうか?
ということで、各方策ベクトルを正規化してからやってみました。
(なんという適当さ!)

f:id:koganie:20171220000811j:plain

いい感じの樹になったように見えます。
やはりなんとなあく、は似たようなグループでまとまっているような気はしますが。
ただ、特にkou2とres.kou2って名前からして似たクライアントっぽい感じがしますが、
樹形図でみると全然違う位置に属しています。

ちなみに手の一致率を簡単に見てみると、
kou2-res.kou2 99.35%
kou2-kowl 88.6%
kou2-Glicine 68.0%
kou2-beersong 63%
kou2-snowl 61.2%
くらいになって、やっぱりres.kou2とは似たクライアント、
と出るべきではあるのです。

……なら方策ベクトルつかわず一致率で分析すりゃいいじゃねえか。

kowlとres.kou2のデータ入れ替わっちゃってないかと不安になるような結果でしたが、
たぶん大丈夫です。