黄昏通信社跡地処分推進室

黄昏通信社の跡地処分を推進しています

バグ大好き、ってわけでもないんだけど、またバグねた。

そういえばこれを忘れてた。
まずは下のリンク先をご覧ください。サブタイトルの typo原文ママです。コメント3つもついたのに誰にも突っ込まれなくて多分寂しかったと思います。
EXIT_FAILURE -- 黄金賢者十段のQAM5日記
形式がアニメ&ゲーム並べ替えになっているのにタイピングが出題されるという不具合のようだ。同様の問題は他にもあるとのことで、2ちゃんねるでも報告は見たことがある。が、報告や頻度の低さを考えるにこれも一般的な現象ではなく、特定の問題においてのみ発生すると考えられそうだ。
しかしこれは難度が高い。元バステトさんも書かれているが、


そもそも、何でこんなミスが起こるのかが気になるところなのですがー。
形式データを「実際の問題形式」と「問題形式の表示部分(左上)」をリンクさせちまえばおしまいだと思うんですけど。
全くこの一文に尽きると言える。「並べ替え」という形式データを持っていなければ「アニメ&ゲーム・並べ替え」を出題した場合の出題としてこの問題が選ばれることは考えられず、しかしながら現実問題としてこの問題はタイピングで、にもかかわらず左上には「並べ替え」と表示されたまま。どうしてこんなことが起きるのだろうか。
元バステトさんは続けて

形式データが5ビットのMAX32に、表示データが4ビットMAX16になってるからそれぞれの関連がなくなり、結果として整合性が取れてない
という仮説を提示されているが、これはちょっと無さそうに思う。表示データを参照して問題を探すとは考えにくいからだ。また、感覚的だが、これだとすればもっと頻発しそうな気もする。
ちょっとヒントになりそうなのは、ちぃといつさんの以下のコメント。

問題抽出周りに不具合があって、並べ替えなのにタイピングの問題が抽出されてしまい、無理矢理並べ替えとして処理しようとしておかしなことになる、というのなら分かるのですが、今回は普通にタイピングとして処理されていますからね。
内部の処理順を想像すると、ジャンル・形式を決定する→問題を抽出→抽出された問題の処理、となっているだろう。ランダムの存在を考えてもこの手順は妥当で、つまり抽出する時点においては当然ジャンル・形式を限定するものの、抽出された問題についてはジャンル・形式を気にせずに出題する、ということになっている。上の例で言えば、「並べ替え」という限定で抽選したら何故かタイピングの問題が当たったけど、当たった以上はタイピングとして普通に出す、ということだ。
ここまでは強引な推測も含んだ考察。ここから先は仮説というか妄想になる。
並べ替えの問題を抽選しているのに何故かタイピングの問題が当たる、というところがポイントだ。ジャンル・形式を限定して抽選しているのに、それ以外の形式の問題を引いてしまうというのはどういうことなのだろう。
問題には ID が付されている筈だ。「ジャンル」「形式」とは多分別に。おそらくはある程度連続した数字が振られていると思われる。その方が乱数で選択するとき楽だろうから。しかし、完全に連続した数字ということもあり得ないだろう。実装当初はともかく、出題ミスや時事問題の見直し、あるいは事実の経年変化によって「使えなくなった」問題は必ず生じる。その ID は(差し替えるのでない限り)欠番になる。
問題抽出時に、その欠番を引いてしまった場合どうするか。条件はそのままで抽選し直す、のが多分一番面倒が起こらない筈だ。そうなっていれば問題は起きないだろう。でもそれがそうなっていないとしたら。たとえば、メタルギア検定の問題で欠番が生じて、その処理として「メタルギア検定問から再抽選する」という風にされていたら。あるいは、単に適当なメタルギア問題にリダイレクトされていたら。
まあ、たったひとつの事象から仕様とバグを想像する、というのはあまりにも無理があるので、妄想は妄想に過ぎない。ただ、出題の時点でジャンル・形式を再チェックしていないのは多分確かで、その辺りに不具合が潜む余地があるに違いない。特定の問題に関して(あるいは特定の状況下において)特殊な再抽選が行われて、本来のジャンル・形式と違うものが出題される??という流れはあり得なくはないかな、と思う。
これは違うだろ、とか、関連のありそうな不具合に遭遇した、とかあれば、教えてください。