ここをクリックしてお気軽にお問い合わせください!

角不成による、コンピュータ判定ミス

3月21日、プロ棋士と将棋ソフトによる5対5の団体戦「将棋電王戦FINAL」の第2局・永瀬拓矢六段対Seleneの対局が行われ、Seleneがプログラム上の問題で「角成らず」を認識できず反則負けになるという異例の結末を迎えました。(ねとらぼ、より。)

Seleneと言うのは将棋ソフト(=プログラム)ですね。

321 20

プログラマーはプログラムコードで考えうる(起こり得る)全てのケースをテストするのが一般的です。しかし、それは「プログラム」。前段の仕様設計で漏れていればそのまま漏れるのです。

ゲームなどは、こういう予想外の事態が多いので「テスター」と言う一般の人を雇って発売前に色々と遊んでもらいます。初めて触るゲームなので、十人十色の操作法があって不具合を見つけると言うものです。

最近では、ベータテスター募集と言って、発売前のゲームを一般の人に遊んでもらい不具合を調べる傾向にあります。(こういうのを、皮肉って「無料デバッガー」と呼んだりします。)

こういうテストの事を「モンキーテスト」と言います。
設計者が設計しても一般ユーザがどういう使い方をするかは予測がつかないので、実際に仕様を知らない人にテストしてもらうと言うものです。

将棋の世界では、「相手の陣地に行けば駒は成る」事が出来ます。成るのが一般的ですが、成らない事も自由です。設計者は「まさか成らない訳がないだろう。」と思ってしまったんですね。

僕は将棋には詳しくないのですが、詰め将棋などでは「成らず」と言うのも戦法らしいです。

世の中には「まさか、こういう事をするとは!」と言う事が一杯あります。
そんな、世の中だから、色んな事が起こるのですね。

僕はシステムエンジニアでプログラムを設計する時には色々なケースを想定して設計しますが、今回の件を知って、もう一度、しっかり考えて設計しようと思った次第です。

コメントを残す

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