世界で最初に無料で公開された将棋ソフトとは?

このブログでも度々紹介している、あらきっぺさんのロングインタビュー記事がとても読み応えがあった。

“藤井聡太14歳と戦った男”が異色の将棋ベストセラー著者に 「敗戦に関する痛覚は完全にバグってます」AI研究に没頭する今とは
https://number.bunshun.jp/articles/-/853306

あらきっぺの将棋ブログ
https://arakippe.com/

ただ、この記事のなかで気になる部分があった。

 無料で公開されたソフトってAperyが初めてだったと思うんですけど、おそらくそれを使って……その棋風に寄りすぎてしまったのかなと。あくまで憶測の域にはなるんですが」

プロ棋士レベルのソフトで最初に無料で公開されたもの…となると確かにAperyになるのだと思う。おそらく、上の記事は「プロ棋士レベルの」の部分を各方面への配慮からか削ってしまい、ちょっとおかしな書き方になっているのではないかと私は推察する。

では、将棋ソフトの大会優勝レベルのソフトで最初に公開されたものは何だろう?

これは、Bonanzaであろう。Bonanzaは、2006年の世界コンピュータ将棋選手権(WCSC16)で優勝している。

では、さらに条件を緩めて、最初に無料で公開された将棋ソフトは何だろう?

これが難しい。インターネットが発達して以降の歴史はインターネットにわりと物証があるのだが、それ以前となると途端に情報量が少なくなってしまうのがインターネットの特徴である。

うさ親さんが言うには、ESSではないかと言うことであった。

うさぴょんの育ての親 — 2022/05/24

最初に公開されたかどうかは自信ないけど、雑誌MICROに掲載されてたESSが結構古い…のかな…?

WikiPediaで見ると、MICROが1984年に(5号でもって)廃刊になっているようなので、1983年か1984年にESSのソースコードが掲載されてたはず…。

(私の手元にあったMICROに載ってたのは、確か「棋道戦士ランダム」(ルール通りにランダム指しする)プログラムだったはず。)

「棋道戦士ランダム」、この絶妙なネーミングがじわじわくる。機動戦士ガンダムに似て、とても強そうなロボットを想起させるが、ランダムプレイヤー(合法手のなかからランダムに指す)だからとても弱いわけだ。「とても強いそう」と、「とても弱い」という互いに矛盾する2つのイメージを同時に我々に訴えかけてくる。これには噛み殺した笑いが思わず漏れそうになる。

さて、ESSの件なのだが、雑誌MICRO(発行元:新紀元社)の創刊号は1983年に発売になった。

// この雑誌の発行日は昭和59年1月18日(昭和59年 = 1984年)になっているが、当時の出版業界の慣習として、発行日は1ヶ月先とかに設定するのが常だったので、実際の発売年は1983年であろう。

ヤフーオークションに出品されていた情報から目次の内容は判明している。MICRO、創刊号には「将棋プログラム「ESS」あなたもつくれます!【言語:N88-BASIC/F-BASIC/T-BASIC/X1/MZ-1200/2000/2200】」と書かれている。

知らない人のために補足しておくと、当時のパソコンは、電源を入れるとBASIC言語が使える状態で起動した。しかしそのBASICはメーカーごとが独自に実装しているのでメーカーごとにBASICの言語仕様が異なっていた。また、SHARP製のX1/MZ-1200/2000/2200などは、クリーン設計と呼ばれており、電源を入れてもBASICの実行環境は起動せず、BASICの実行環境を起動させるためにカセットテープかフロッピーディスクを本体に読み込ませなければならなかった。(BASIC用のROMを持たずに、IPL(Initial Program Loader)領域を除いて、PCのメモリ領域の全域がRAMであったということである。BASIC環境の起動までに時間はかかるが、現代のPCに通ずる、素晴らしい設計思想ではある。)

まあ、そのようにメーカーごとに搭載されているBASICが異なっていたので、通例、当時のプログラム雑誌に掲載されるプログラムは、N88-BASIC用だとか、PC-6001用だとか、機種が限定されているのが普通であった。ところが、上記のESSは、わりと広範囲の機種を対象としている。私の記憶によると、N88-BASICはNEC(N88のNは、NECのN)、F-BASICは富士通(F-BASICのFは、FUJITSUのF)、T-BASICは東芝(T-BASICのTは、TOSHIBAのT)、X1/MZ..はSHARP製のパソコンである。

それだけの異なる仕様のBASICを対象に、将棋の合法手を生成するプログラムを書くだけでも相当に骨が折れる。なぜそれだけ多くの機種をターゲットにする必要があったかと言うと、1983年はまだパーソナルユース(あるいはホビーユース)の世界においてはパソコンは群雄割拠の時代で、どのパソコンの勢力が大きいということもあまりなく、ホビー誌では複数の機種をターゲットにしないと雑誌を買ってもらえないのではという危惧があったからだと思う。

ともかく、歴史上、最初に無料で公開された将棋ソフトはESSではないかということであった。(雑誌に掲載というのが無料で公開に該当するかどうかはちょっと疑問の残るところだが)

ESSのデータ構造についてだが、これについては、YSSの作者である山下さんがESSを参考に1990年ごろにN88-BASIC用に作成された将棋プログラム(YSS 1.0)のソースコードを以下のページで公開されている。1000行程度のプログラムで、対局もできて、ランダムプレイヤーよりはずっと強いようである。(「当時PC-6001mkIIで走っていた「飛車」という市販ソフトには勝ちました。」とある)

YSS 1.0 のソースコード(N88-BASIC) : http://www.yss-aya.com/yss100.html

これからするとESSは1000行に満たないソースコードでランダムプレイヤーよりは強く、将棋対局をしてちゃんと遊べたっぽいことが伺える。

40年近く前にそんなソフトが無料(?)公開されていたというのが驚きであるな…。

2022/05/27 13:00 追記

1983年に「将棋対局」というソフトがI/O誌に掲載されていたそうです。私が最初に買ってもらったパソコンがPC-6001でしたので、この記事は当時リアルタイムで見ていた覚えがあります。こっちの方が先だったのですね…。

ついでに言うと、この記事に出てくるEXASコンパイラというのは、PC-6001の拡張カートリッジとして提供されているBASICコンパイラで、本体内蔵のBASICより10~100倍の速度で実行できるという、(当時としては)画期的な製品でした。私はこのコンパイラがとても欲しかったんですけど、おばあちゃんに三度目の一生のお願いをしたあとでしたので買ってもらえませんでした。

そう言えば森田将棋は1985年に出てるんですね…。将棋として遊べるレベルの強さにしてかつファミコンで動くようにして商品化…。いま考えても神業ですね…。

世界で最初に無料で公開された将棋ソフトとは?」への8件のフィードバック

  1. 私もそこは気になりましたが、3秒ほど考えて、プロが研究に使えるプロレベルの将棋ソフトという前提やなとまあいっかとしました。

    記事は素晴らしかったですね。藤井将棋の特徴とか、比較例が谷川77桂とか。

  2. こんにちは。本論と全然関係ありませんが、1983年くらいだとNECがシェアを圧倒していたような気もします。。

    • ゲームはPC-8801mkII/SR用(NEC)がシェア大きかったですね。
      ビジネス用途だと(1982年に発売になった)PC-9801シリーズ(NEC)がその後シェアを拡大していきましたね。

      ホビー用途に関しては、子供(大学生ぐらいまでを含む)のおもちゃとして、安いパソコンを買い与える親が多くいたようで、NEC以外のパソコンにもわりとバラけていた印象があります。

  3. 1982年のASCIIの6号に「VIC-1001 VIC将棋盤」とかあるが、これはソースが書いてあるのだろうか、それとも市販ソフトの紹介なのだろうか?

    この時期のASCIIにはYoのけそうぶみが載ってるんですね。

    • 将棋盤と書いてあるのは将棋盤としての機能しかないものでしょうね。(7776のように入力すると77の駒が76に移動する、みたいな)
      なんとか対局とか、AI棋士っぽい名前のがAIつきのやつで。

ヤッスー へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です