twitter:亜亜亜  ブログ2:秘密基地  ブログ3:亜流(工事中)

第3回電王戦ソフト差し替え問題に対する考察

この記事は、やねうらお氏の以下の記事に対する考察です。

2014-03-21 棋力と指し手の性質とは何か?
http://d.hatena.ne.jp/yaneurao/20140321

詳しい経緯は説明するのが面倒なので、各自ググってください。

さて、記事の説明に分かりづらい部分があって、言葉足らずに思えたので、以下のように再構成した上で、新たな考察を加えてみました。

(B1)Bonanza6(Bonanza評価関数+Bonanza探索部+トッピング全部乗せ)
(B2)仮想BonanzaBonanza評価関数+Stockfish探索部+トッピング全部乗せ)

(Y1)やねうら王2010  (Bonanza評価関数?+Bonanza探索部+トッピング全部乗せ)
(Y2)やねうら王2013  (やね裏評価関数+Bonanza探索部改造+トッピング全部乗せ=魔改造=バグ持ち改造)
(Y3)やねうら王2013α1(やね裏評価関数+Stockfish探索部)2月2日版
(Y4)やねうら王2013α2(やね裏評価関数+Stockfish探索部+トッピング一部乗せ)3月1日版

やねうらさんの主張は、以下の式で表すことができます。
棋力(B2)>棋力(B1)
棋力(Y3)<棋力(Y1)

さらに、数学的に明確化するために、表記を簡略化してみます。
(B1)Bonanza6(BH+BT+TA)
(B2)仮想Bonanza(BH+ST+TA)

(Y2)やねうら王2013  (YH+BTK+TA)
(Y3)やねうら王2013α1(YH+ST)
(Y4)やねうら王2013α2(YH+ST+TZ)
(Y5)仮想やねうら王2013(YH+ST+TA)

TA:トッピング全部乗せ
TZ:トッピング暫定版(一部乗せ)

性能(ST)>性能(BT)から、
棋力(BH+ST+TA)>棋力(BH+BT+TA)が成り立ちます。
数学嫌いの人も、左右の項目の差異だけに着目してみてください。
STとBTが違うだけですよね。
棋力(B2)>棋力(B1)を、内部構造も含めて数学的に表記し直しただけです。

ここで、BT≒BTKとします。
性能(ST)>性能(BTK)から、
棋力(YH+ST+TA)>棋力(YH+BTK+TA)が成り立ちます。
これは、棋力(Y5)>棋力(Y2)に対応します。

しかし、やねうら王2013αは、Y5(仮想やねうら王2013)ではないというのが、やねうらお氏の主張の最重要点だと思います。
ところが、棋力(Y4)>棋力(Y2)だったというのが、今回の騒動の発端だったわけです。

では、なぜやねうらさんは、棋力(Y4)≒棋力(Y2)と判断してしまったのか?
それが、彼のブログ記事では、触れられていないように見えます。
だからといって、棋力向上を認識していたというのは早計な判断で、逆に棋力向上を認識していなかったというのも早計です。

現在のところ、触れられていない部分に関する彼の発言がないため、ここからは推測です。

やねうらお氏のブログ記事の「指し手の性質」の部分から、彼は、
指し手(Y4)≒指し手(Y2)
と判断していた。
そこから、棋力(Y4)≒棋力(Y2)と判断してしまったのではないか?

もしそうだとしたら、「やねうらお氏が棋力向上を認識していたのは間違いない」という命題は、否定されます。
ただし、この命題には様相論理と認識論理が関わっているので、少しややこしい事情があります。
それは、認識に関しては、否定も肯定もできないが、その認識に対し、必然とするのは否定されるということです。

そして、以下のように命題を分類してみました。

(1A)悪意があったのは間違いない。
(2A)棋力向上を認識していたのは間違いない。


(1B)悪意があった可能性が高い。
(2B)棋力向上を認識していた可能性が高い。


(1C)悪意があった可能性がある。なかった可能性もある。
(2C)棋力向上を認識していた可能性がある。なかった可能性もある。


(3) 棋力向上を認識できたはずだ。

(しかし、見通しが甘く、認識できていなかった。)

1Aと2Aは、やねうらお氏のブログ記事の内容に関わらず、証明不可能問題です。
ただし、相手のコンセンサスが得られれば、一応証明されたことにはなります。
(それでも、相手が嘘をついて、非を認める可能性はある。日本人によくあるパターンとして。)

問題は1Bと2Bですが、それを裏付ける証拠が増えれば、信憑性は増しますが、帰納法は常に反証可能性があり、いくら可能性が高いと思っても、1Aや2Aにはならないということに注意する必要があります。

そして、やねうらお氏の主張により、確実に言えることは、1Cと2Cになったわけです。
2つの可能性のどちらかはっきりしない場合は、推定無罪とすべきですし、論理学の語用論規則として、寛容の原則というものがあり、相手の主張が偽と言い切れない場合は、真と解釈してあげるのが原則となっています。

結局、責任問題として、着目すべき命題を考えた場合、3が残るわけです。
そして、やねうらさん自体、3の過失を認めて謝罪していますから、これ以上の責めるべきではないと思います。

ただし、謝罪したからといって、責任を果たしたことにはなりません。
なぜこのようになったかを明らかにして、二次的失敗を防止するために、説明責任を果たす必要はあります。

よって、私はやねうらお氏に対し、責めるつもりはないですが、まだ充分な責任を果たしていないと考えています。
もっとも、彼は自分がどう思われるかよりも、プログラマーとして局面がフリーズするバグが生じないことが最重要だったのかもしれません。
だからこそ、今回のような失敗が生じたわけで、だからこそ、彼は天才かつ異端児であり、だからこそ、社会はそれを許容する寛容さが求められているではないでしょうか?

確かに彼は、一時的原因を作りました。
しかし、関係者が二次的原因を作り、三次的原因を作り、次々と事態を大きくしていきました。
果たして、火を点けて、消そうとした者に対し、油を次から次へと注いだ者が、火を点けた者を責めることが出来るのでしょうか?
そんな滑稽さと無責任さを、今回の件では強く感じました。

ネットの発言で、「清濁併せ呑む」という言葉を見かけましたが、もし将棋連盟や関係者がそのような姿勢で接していれば、このようなことにはならなかったはずです。
もっとも、ドワンゴに関しては、清濁併せ呑んだ上でそれを商売に利用するという感じで、それはそれでプロフェッショナルだと思いますが、今回はさすがにやりすぎてしまったため、すべての責任をしょい込んで謝罪したのでしょう。
ただ、今回のことに対し、事前防止策や、チェック体制、生じてしまった時の対応策をどうすべきだったのかを充分に検討することなく、問題の本質が欠落した状態での形だけの謝罪では、再発防止に全くなっていないと思います。

だからこそ、私は第3回電王戦第2局が無事に終わった後でも、現状を危惧せずにはいられず、このような考察をしているのです。