パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

将棋電王戦FINAL第2局、Seleneが王手を認識できずに反則負け」記事へのコメント

  • ああいうソフトウェアってどういうアルゴリズムで動いてるのかと思ってたけど、ひたすら盤面のデータだけ持ってて、それだけで判定しているのか。
    てっきり、過去のデータがある場合はそれで、なかったら別のアルゴリズムで…みたいな感じでやってるのかと思った。
    設計ミスだよなぁ。
    (いやそんな状況じゃどのみち勝てないから、設計から落とすのは方針として正しいのかもしれんけど。)

    • by Neoceratodus (45829) on 2015年03月22日 12時26分 (#2782474) 日記

      単純に言えば、
      1 何らかの方法で盤面に点数をつける方法を用意しておく
      2 現在の盤面から可能な指し手をすべて列挙する
      3 2の指し手を指した後の局面すべてについて1を適用し、点数が最大となる指し手を選ぶ
      というのが(この手のゲームの)最も基本的な処理です。

      今回は2について高速化のための省略があり、全てを列挙していなかった。
      これだけなら問題ないのですが、相手の指し手の入力にも2を用いていたことで、
      省略された手の入力により内部の処理で不具合が生じた、ということのようです。

      親コメント
      • by glasstic (32934) on 2015年03月22日 17時18分 (#2782577) 日記

        今後本人から詳しい説明があるかも知れませんが、現時点ではやねうらお氏の推測が一番納得できました。
        Seleneが反則負けしたようですが [yaneu.com]

        親コメント
      • by Anonymous Coward

        将棋は詳しくないので良く分かりませんが、基本的な処理のなかでは、(1) 王手を認識して、(2) 「現在の盤面から可能な指し手」の中から「王手を回避する指し手」に限定する、という手順が含まれないのでしょうか?
        今回の場合、成っても成らなくても王手は変わらないので「角成らず」で混乱したという説明が良く分からないのです。
        (まあ、そこがバグなんで、ありえないロジックで動いてしまったということだといわれればそれだけなんでしょうけど)

        • 仰るとおり、多くの将棋ソフトではおそらくそのような王手回避手のみを生成する処理がなされていると思います。2の処理の一つですね。

          今回問題となっているのは、放送中開発者の方の「消えてしまった」等の発言からすると、
          ソフトの内部の盤面を動かすのにソフトと相手で同じ処理を利用しており、しかしそこでは角不成に対応していなかったことから、
          角不成を指されたことでソフト内部の盤面で不整合が生じ(おそらく27角が消えてしまった)、
          王手されていると認識できなかった(王手の角が消えてしまっているので当然の話)、ということです。
          角成りには対応しているため、成っていた場合には上記のような不整合は生じず普通に王手回避手を指すでしょう。

          要するに、バグは後手の指し手によって引き起こされており、先手の王手不回避はバグった間接的な結果ではないか、ということです。
          王手がされていようといまいと、角不成を指した瞬間にその駒が盤面から消えるバグが生じるのではないでしょうか。
          ですので、先手の指し手の挙動とはまったく無関係で、仰るような処理の前段階で異常が起きていた、と思われます。

          親コメント
          • by Anonymous Coward

            ソフト側が、バグの効果によって「2七角が盤面から消えてしまった」(盤面に2七角が無い)という誤認識をしたと考えられるわけですか。
            なるほど。それで王手を無視して自らの攻め手を指すことになってしまったんですね。

        • by Anonymous Coward

          > 基本的な処理のなかでは、~、という手順が含まれないのでしょうか?
          王手を回避しない差し手はそもそも反則で可能な指し手に含まれません。回避する機能がなくてもそんな状況は評価結果が恐ろしく低いのが普通なので他の手が優先されるのが普通です。

          > 今回の場合、成っても成らなくても王手は変わらない
          試合中の時点では詰みまで読み切れていないので無関係です。

          > 「角成らず」で混乱したという説明が良く分からないのです。
          今回のは最終的にはバグだったということなので、混乱というよりは
          開発者の想定しない入力によりどこかしらの処理が暴走したという話です。
          例えば、

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

処理中...