人間のプレイをお手本に真似て上手くなるテトらせ

やねうらおさんも紹介していた。

http://yowaken.dip.jp/tdiary/20090207.html#p01

評価関数はバリバリの手調整。
誰か、777さんのプレイ動画などを元に、ボナンザメソッドで学習を!
最初に作りたかったのは「人がプレイすると、その特徴をマネるCPUが育ってゆく」みたいなヤツ。
でも人がプレイできるようにすると、きっとアリカに怒られるよ!!

動画からボナメソをしようと思うと、動画からブロックを動かす位置情報を取り出すのに
画像認識がいるので敷居が高いですね(^^;


ってことで、人間もプレイできるようにしてそのプレイを手本に覚えていく
テトらせってアイデアは秀逸。
オセロで人間のプレイを真似るオセロゲーム作ってる人が居たんですけど、
学習アルゴリズムが悪いので全然強くならないんですが、
ボナメソならやれるはず。
たしかに試行回数が少ないけど、10回でもちゃんとJは下がる。
たとえばFlashで不特定多数向けに公開した場合、不特定多数の技能を真似て訓練されるはず。
ハム将棋のプレイ回数なんてのは膨大なので、ヒットすればプレイ回数は飛躍的に伸びる。


式的にはJ=ΣΣT[F-Fpro]と定義するとして、
テトリスの初回からゲームオーバーまでのHUMANのプレイした手がお手本になる。
ブロックが出現したときのブロックの動かし方が「兄弟手」になる。
問題はFを計算するための評価関数だけど、正確には、ブロックを動かした後に、最終的になにレベルまで行けたか?
が、その局面の正しい評価になる。それは末端なのでモンテカルロでも使わないと評価できない。
仮評価としては、ブロックがどのくらい画面上に積みあがっているか?で危険度を判定し、
一方で右端に1ブロック空いていれば、長い棒で高得点が取れる可能性も評価する必要がある
こういう感じで評価関数をつくり、
あとは、兄弟手と人間の選択した手の間の格差を利用して評価関数が人間の手を真似るように学習させればいい。


強さ云々だけではなく、人間のプレイヤーの共同プレイによるテトリスAIの訓練と言うのは、
かつてない異次元のゲーム性を誕生させる可能性がある。
(例えば訓練型テトらせがゲームセンターに複数台設置されたとする。プレイしたプレイヤーの力量や人数によって
 ゲーム機に強さの差が生まれる。むしろ個性が違うと言ってもいいかもしれない。
 これは萌える。アイドルマスターどころの話ではないと自分は思う)


テトリスはブロック出現はランダムだけど、出現した後の行動に関しては完全情報ゲーム
(トランプや麻雀は札や牌を引くたびにランダム要素が入るし、相手の手持ちが見えない)
将棋で言うなら、ランダムに出題される詰め将棋を解いていくゲームに近いと思う。
ただ、この場合、わざと解き方を甘くして、後でボーナスゲットするゲーム性は無いのでつまらない。


テトリスは、一つ一つのブロックの移動選択は完全情報で、間にランダムが混ざり、かつプレイとプレイの間には
ブロックの積み状態とボーナスを狙うという戦略的なつながりがある。
やはり飽きられずに長く親しまれているゲームは奥が深い。

千年以上の歴史を経て洗練淘汰されたゲームでは,自由度(可能手数)と長さ(終了手数)に基づいて

tacosの飯田先生の研究で歴史の長いゲームは、(手番数/合法手数)が一定の値になるらしい。
↑これは物語にも言える。プロットやキャラクターを詰め込みすぎてもダメだし、少なくてもだめ。
ストーリー展開の可能性も観客の頭の中では合法手になっている(ご都合主義は兄弟手の選択に誤りがある)
この値がなぜかchessも将棋も同じになるらしく、人間が飽きずに面白いと思うパラメーターになっているらしい。
テトリスの場合始めは合法手が多いが、気を抜くとブロックが積みあがり、合法手が減っていく。