将棋プログラムを理解するために1
書籍を読むとなんとなくわかった気になるんだけど、実際に実装しようとするとさっぱりわからなくなる過去の私へ。
わかりやすい・短いソースコードを読もう
bonanzaのソースは膨大なマクロや背景の考え方が理解できてしまえば簡単なんだろうけど、そこまで到達していない人が読むと挫折すること請け合い。短くて・シンプル・そこそこ強いソースを読むことがお勧め。
(歳月を経て長くなったプログラムよりも 比較的新しいプログラムが狙い目?)
- れさぴょん
- 書籍と合わせて読むといい。指し手オーダリングや静止探索の方法が(今となっては)特殊かも。2010年代のれさぴょんが欲しいところである(うさぴょんとの直接対決について - ひよこ将棋、はじめました。)
- ひよこ将棋
- 人は駒得のみに生くるにあらず その7 - ひよこ将棋、はじめました。 (静止探索ソース)
- 人は駒得のみに生くるにあらず その4 - ひよこ将棋、はじめました。(αβ探索)
- 逸文のようにソースが一部書かれている。全貌が公開されれば嬉しいのだが。
「入門者」に支持されるような使いやすさと、「ズブの素人」に支持される使い勝手は全く異なる。入門者は見通しの良さを好むけれど、素人は試行錯誤がやりやすい環境を好む。見通しの良さは、どこに何があるのかが分かっている程度の理解があって、はじめて役に立つ。そもそもそこに到達していない初心者にとっては、全部見せてくれることのほうが、よほど大切なことになる。
ところで、将棋+機械学習の短いソースってどこかにないかなあ…