将棋ベーシック改の駒利きをBitBoardで計算

 とりあえず歩だけ実装してみて、体感的な差はほぼ感じられず。速いかな?くらい。

 まあそれでも全駒やれば確実に速くなるだろうし、その他のやりたい追加機能への基礎モジュールとして利きがBitBoardで1発取り出来るのが便利なのは間違いない。

 ただまあ、やる気との相談ではある。既存モジュールの約半数を書き直すこととなる。自画自賛的によくここまで高速化のために頑張ったとは言える出来栄えだ。

 BitBoard化作業前のバージョンをベクターに追加で申請しておいた。来週水曜には間に合わないかも。再来週かその次か。水曜日にランキングが更新されるので新作発表も多分そのタイミング。と言っても絵も何も変わらず指し手が変わって速くなっただけ。

 そしてさらに言うと現在進行形でもっと良いものを産みだそうと進みだしている。

 あとはまあ、日記として今日は通院日。新しい先生が来て6人目の担当となる。親父と二人暮らしとか弁当買う以外は引きこもりみたいな説明をしたが、真面目な先生で前の先生のカルテを読んで大体のことは分かってくれている風だった。しかしプログラミングとかには触れず「親父の世話になって子供のまま家でぼっちです」と話した。

 それが誤解か理解か実は俺にも良く分からない。親父もべつだん金に不自由しているわけでも無いので、俺に稼ぎがあろうとなかろうと家事が減らないことには楽にはならないので、役に立っていないなぁという感覚はつきまとう。店のIT機器類が便利になったことについても、親父も元々詳しいほうなのででしゃばるでもなく。

 昼はおにぎりとサンドイッチに帰ってからカロリーメイトと煎餅を食った。体重は1キロ減って、血圧も下がった。晩飯はほかほか亭の黒から揚げスペシャルで晩酌は無し。でもまあ、眠れなかったら寝酒する予定。

 プログラムは大改造になる予定だが、ちゃんと区切りをつけて深堀する前段階でコンパイルを通してデバッグや実行検証しながら進められているあたり成長だと思う。

 会社勤めしていた頃はどこか新天地に行かないと今以上スキルアップできないみたいに思っていたが、まさか自宅で引きこもりでスキルアップしていくようになるなんて夢にも思わなかったが、ネットで家で仕事したいとは実は勤務中から思ってはいた。

 まあ、打ち込めることがあるのは良いことだ。そして恐ろしいとすると、今の改造を終えても実行速度がそこまで変わらないという現実に直面した時のリアクションをどうするかという心の準備をしている。多分速くなるけど、それだけで速さを武器に探索深度を単純に上げるという予測はもう立たない。指し手を作るのに3手から5手には大きい時で6万倍にノードを増やすことになるので、倍早くなっても倍の速さで6万倍を計算しても3万倍の時間がかかるわけで。

 すると肝はそこではなく探索の工夫ということになるので、そこに到達する頃には今の高速化はほぼ無駄足になる可能性もあるが、着手とか実装可能性の容易さから、分かりやすくて毎日コツコツできる仕事として今の利きのBitBoard化を選んだのだ。

 機械学習は未着手だがそれも実装と学習実験にめちゃめちゃかかりそうな見積もり。

 その前に通信もやらなきゃね。だいたい、強い人でもチームでやっていて、俺は俺の守備範囲があって誰かが成功して手法を公開したものについて、言語違いでもロジック的に真似れるものを取り入れて強くなることもあるので、その意味ではBitBoardは実装は手間だが論理としては間違いが無いわけで。

 ただし、飛び利きのMagivBitboardの具体的な計算方法はまだ考え中。金銀桂から実装しようと思っていて、速くなるとしたら香飛角が出来てからだと思う。たぶん。

 それよか大きな秘密が必ずあるってことをあぶり出す段まで来たことが今回の実験の意味だと思う。そして実装段階での試行錯誤がスキルアップ的に大きな意義ありだ。

 さらに言うと年収1000万超えという目標が求人案件という形で目の前に来てから、それと年収800万で10人のプログラマのリーダー職というのと天秤にかけるようなところまで来ている。雲の上の天才プログラマーとして高収入だが孤独に作業をするのではなく、他人に分かるプログラムを書いて部隊を率いて仕事をする。

 この違いが単に手取りの多い少ない以上に悩ましい事にも今の仕事で気が付いた。

 今日の駒利きのBitBoard化みたいな作業は難しかったけどひとつ出来たら駒の種類分だけ並列にアシスタントに任せられるわけで、自分がもっと難儀なところに潜れる。

 でも反対にもっと難儀なところに潜る人のために自分が基礎モジュールとして作業の続きをすることだって選択肢としてある。自分も力になれている感覚が出来たのが今日の充実感に表れていると思う。


🄫1999-2023 id:karmen