最初に作ったYSS1.0のソースをひっぱり出せたので公開します。
動作に関してはもちろん無保証です。
Win95上で動くフリーの N88-BASIC では4次元の配列を通さないため動かないようです。
cisc さん作成のPC-8801エミュレータ(M88)では動くそうです(横好きさん、情報ありがとうございます)。
また、PC-9801のMS-DOS上で動くN88-BASIC(86) Ver4.0 で動くことは確認しました。実行機種はPC9821Xnです。
作成時期は1990年4月〜8月ごろだったと思います。動作環境はPC-8801SRです。
データ構造は当時参考にした若林宏さんのESSにかなり似ています。
ちなみにどれくらいの強さかと言いますと、
1手に30秒近く考え、1手も探索することなく手を選びます。
森田将棋1のL1には何度戦っても勝てませんでした。
しかし、当時PC-6001mkIIで走っていた「飛車」という市販ソフトには
勝ちました。が、これもそうとう弱いプログラムでしたが・・・。
yss100.bas YSS 1.0 のソース(N88-BASIC) グラフィック文字などが一部文字化けしています。
(以下は2021年11月に追記です)
M88 emulatorでの実行画面。自己対戦も動きます。
桂の両取りがあったら指す、みたいな優先順位ベースで評価関数は存在しません。
どんな思考アルゴリズムだったか、30年前なので正確には思い出せないです・・・。
自己対戦の棋譜です。
だんだん思い出してきました。利きのテーブルを作るだけで20秒以上かかり、局面を動かすことはしていません。
駒を取る、両取り、動けない駒に当たりを掛ける、といった手の優先順位が高く、定跡、端歩、などがそれに続きます。
結構自然な棋譜になってる気がします。
42手目の△54香は歩で合駒されない、は分かってますが飛車が逃げられない、はたまたま、だと思います。
36手目の△38馬、とかは結構難しい手だと思うのですがよく指せてますね。
▲35歩、▲34歩、は歩が逃げようとしています。影の利きで飛車が結局取られることは分かっていません。
△48銀からの寄せは優先順位のたまもので、ちゃんと詰まして終わってます。