将棋 ID の話題について、現時点で思いつく範囲の課題を挙げておきます。

どこが管理するか

第1案。個人番号 (マイナンバー) のように住民個人個人に強制的に一意の番号を割り振る制度を作る。「行政手続における特定の個人を識別するための番号の利用等に関する法律」のような立法を必要とするので、実現可能性は皆無です。

第2案。日本将棋連盟が将棋 ID と関連情報を管理し、「全ての将棋大会は全ての将棋大会参加者へ将棋 ID を割り振ること」と宣言する。これは「全ての将棋大会」を強制実施の対象としているため反発が多いと思われます。

第3案。日本将棋連盟が将棋 ID と関連情報を管理し、「将棋大会のうち将棋 ID 活用を希望する大会は全ての将棋大会参加者へ将棋 ID を割り振る」ようにする。これは「アマ連」が全ての R 大会で実施ている方法に近いかと思います。書くと長くなるので省略しますが、「アマ連」は R を計算する以外の ID の役割を考えていないようです。また「アマ連」の力量面でも R の計算以外の活用は難しいかと思います。日本将棋連盟の力量はアマ連より上だとは思いますが、それでも難しいと思われます。

第4案。日本将棋連盟 (またはこれに類する唯一の機関) が将棋 ID の発行だけを管理し、各大会での対局情報は各大会の主催者が管理し、適切な範囲で公開する。第1~3案よりは実現可能性が上がると思いますが、将棋 ID を利用する将棋大会が全国である程度普及しないと「この大会だけ将棋 ID を発行しても意義が薄い」としてどの大会でも将棋 ID を採用してもらえないかと思います。鶏が先か卵が先か、という問題です。また、将棋 ID の発行が必要となるたびに日本将棋連盟に依頼しなければなりません (web interface などを用意してくれればかなり楽になりますが、日本将棋連盟にはそこまでの力量はないと思われます。予算があれば実現できますが、日本将棋連盟としては予算に余裕があるならもっと他のところに使いたいと感じるでしょう。)

第5案。各県連 (または類する機関) が県内用の将棋 ID を発行し、各大会での対局情報は各大会の主催者が管理し、適切な範囲で公開する。県にもよると思いますが、将棋大会に参加する方の多くは主に県内の将棋大会に参加していると思いますので、県内用の将棋 ID でそこそこ用が足ります。また、ID 発行のためだけに日本将棋連盟に依頼する必要もなくなります。

以下、第5案を基本に考えます。

名寄せの問題

各県で将棋 ID を発行するようになると、そのままでは重複する可能性が出てきます。そのため「○県で発行された ID ○○○○と○県で発行された ID ○○○○は同じ人物」という情報をどこかで管理する必要があります。

これは「名寄せ」という作業です。名寄せ情報の管理だけなら、日本将棋連盟 (または類する唯一の機関) が管理してもあまり問題がなさそうに思われます。

更に言うと、名寄せの仕組みさえ構築できるなら、別に県連以外が将棋 ID を発行しても構わないわけです。

棋力の過少申告を防ぎたい将棋大会であれば、参加者は以下のいずれかを選択する形になるかと思います。

  • 私は今までに将棋 ID を発行されたことはありません。
  • 私の将棋 ID (の1つ) は○○○○であり、私が持つ将棋 ID は全て名寄せ済みです。
  • 私の将棋 ID (の1つ) は○○○○であり、私が持つ将棋 ID は名寄せ済みではない (名寄せしていない将棋 ID が残っている可能性がある) が、私と思われる将棋 ID の名寄せ登録権限を大会主催者に委任します (復委任権を含む)。

対局結果の記録と access

大会主催者は対局者 ID と結果を公表することが基本となります (義務ではないですが、これを公表しないと他の将棋大会で棋力過少申告の検出に役立たないので、公表することが望ましいです)。

公表場所は、大会 web site などがあればそこが望ましいでしょう。書式は YAML か JSON が望ましいですが、もっと human-readable な書式を定めてもよいかも知れません。

公表場所の URL を集積する場所がほしいところです。そのための専用 server を用意するのが望ましいかも知れませんが、管理の費用と手間がかかります。GitHub あたりに載せてしまう方が楽かも知れません。(このあたりの仕組みの考察は不充分です。誰もが Git を使えるなら git の sub repositories 機能で各大会の情報を束ねてもいいかも知れませんが、実現可能性は低そうです。結局、Git などの道具の普及率から最適な方法が社会的に決まるような気がします。)

ここまで仕組みが揃えば、各大会などの対局者 ID と結果を scrape して大会参加者の過去の履歴を簡単に探すことができそうです。

正しくない情報の排除方法

次の問題は、正しくない情報をどうやって排除するか、です。

例えば A さんのことを憎む B さんが、次の大会で A さんと対局しないように A さんを本来より上の階級へ送り込みたいとします。B さんは虚偽の大会 C を開催したことにし、そこでは A さんが全国大会優勝者相手に勝利したことにすれば (そういう情報を公開すれば)、A さんの見かけ上の対局実績は上がります。

これを避けることは少々難しいです。

対策の1つは、大会主催者の信頼度を設定することです。と言っても「その信頼度を誰が設定するのか」という問題があるので、やるとしたら PGP の「信頼の輪」のような方法になるかと思います。(各県連、各支部、各普及指導員を起点として、そこから認証と信頼の連鎖をつなげていく感じです。)

また、失効 (revocation) 情報のようなものを流せる仕組みも、もしかしたら役立つかも知れません。(失効情報というよりは、異議申し立て情報の方が正確かも知れません。)

結局は社会的な普及過程に従う

まあはっきり言いますと、仮に私が日本将棋連盟の職員で、予算も権限もあって、中央集権的な仕組みを構築していいなら、多分運用できます。冒頭の第2案や第3案あたりです。予算感は、初期開発費数百万円、年間運用費数十万円です。連盟が主催に入っているアマ大会について県予選や地区予選から全て適用すれば、それだけで各種の将棋大会参加者の数割 (県によって差がありますが私の予想では5割~8割くらい) に将棋 ID を割り振ることができ、そうすると他の将棋大会でも導入が一気に進むような気がします。

でも多分、それほどの予算を確保することは難しいし、また連盟職員の勤務時間を割り当てる価値があるかどうかの判断はどうなるか分かりません。

結局、予算はほぼ0円で、中央集権的でない分散的な仕組みを用意し、それを社会的に普及させていくしかないものと思われます。