Next: B.6 utils モジュール
Up: B 主なモジュールと述語の説明
Previous: B.4 learn モジュール
- training +Q, +Num
-
Q を用いて、 Num 試合だけ紅白戦を行う。
- game +Q
-
ユーザとの対戦を行う。この際に Q値の学習も行う。
プログラムはユーザに敗けると
トレーニングさせてもらえるようユーザに要求し、
それがユーザに受け入れられれば training/2 を用いて 200 回の
紅白戦を自主的に行う。
- endmsg +Reward
-
試合終了時に、報酬 Reward に応じたメッセージを表示する。
- do_prog
+Q, +Turn, +Board, -NewBoard, -RedQ, -ActVec, -Action, -Blank
-
プログラムが手番時に行う操作をまとめたもの。具体的には、
- 盤面情報 b/9 を d/10 に変換し、
- Q を用いて手 ActVec, Action を選択し、
- その手を実行する。
- 新たな盤面 d/10 を b/9 の形に戻し、 NewBoard に同一化する。
Turn は今、何手めであるかを表す整数。
- do_user +Turn, +Board, -NewBoard
-
ユーザからの入力(手)を受け付け、その通りに盤面 Board に
変更を加えたものを NewBoard に同一化する。
Q-learning により学習を行う Tic-Tac-Toe プログラム