2017/10/29(Sun) 08:48:26|NO.81717
「考えるマッチ箱」
一章 マッチ箱を用意
1:三目並べで発生しうる盤上の○×のすべての配置の種類を数える。
その局面状態をマッチ箱に局面情報としてメモする。
このマッチ箱は複数必要になる。
2:さらに、その配置毎に、次の一手となりうる配置の種類を数える。
その局面情報をメモしたマッチ箱を、次の一手種類分用意し、
行動情報としてマッチ箱にメモする。
3:都合、三目並べで発生する「すべての局面」「すべての行動」を表現するマッチ箱の山が出来上がる。
マッチ箱の中にはランダムな数のマッチが入っているものとする。
二章 勝負
1:三目並べのマスを用意する。
2:その「局面」がメモされたすべてのマッチ箱をピックアップする。
3:中身のマッチの本数を数え、最も中のマッチの多いマッチ箱にメモした「行動」に従って
次の一手を打つ。この時、使用したマッチ箱は別に分けておく。
4:勝負がつくまで2、3を繰り返す。
三章 教育
1:決着したら、勝ち負けによってマッチ箱に対する処理をする
2勝利:勝ったなら、この勝負に使用したマッチ箱は勝利につながるルートである。
使用して分けておいたすべてのマッチ箱にマッチを1本足す。
使わなかったマッチ箱からはマッチを1本抜く。
3敗北:負けたなら、この勝負に使用したマッチ箱は負けにつながるルートである。
使用して分けておいたすべてのマッチ箱にマッチを1本抜く。
使わなかったマッチ箱からはマッチを1本足す。
この作業を延々行っていけば、やがて勝利につながるマッチ箱のルートがより強固になり
負けにつながっているマッチ箱のルートは弱まっていくだろう…
ここで重要なのは、与えたのは「勝ったか負けたか」の情報だけで、
マッチ箱はそれだけ勝つ手段を身に着けていくという点だ。
…というのが大体の概念だが。
ディープラーニング方面などはHSPじゃ割ときつい計算量だぞ。
素直にpython使っとけ。
|