パスワードを忘れた? アカウント作成
11972813 story
ゲーム

将棋電王戦FINAL第2局、Seleneが王手を認識できずに反則負け 116

ストーリー by headless
反則 部門より
21日に高知県の高知城追手門で行われた将棋電王戦FINAL第2局は、永瀬拓矢六段とSeleneが対戦。Seleneが王手放置で反則負けとなったそうだ。Seleneには飛車不成、角不成、歩不成を認識できないプログラム上の不備があり、永瀬六段が指した2七角不成の王手を認識できなかったとのこと(マイナビニュースの記事ねとらぼの記事朝日新聞デジタルの記事週アスPLUSの記事)。

これについて Neoceratodus 曰く、

飛角歩については他の駒と異なり、成ることによって単純に移動範囲が広がるという性質から、打ち歩詰め回避を除き不成の利点が存在しない。これに着目し、コンピュータ将棋の指し手生成においては高速化のため省略されることが多い。おそらくSeleneはこの指し手生成を盤面の変更処理にそのまま使っていたと思われ、存在しない指し手を入力されたことで不整合が起きたと考えられる。

このようなバグは対局によって容易に発見可能なようにも思われるが、上述のようにコンピュータ将棋ソフトにおいては指されないことが多く、また人間もあまり差す手ではないために発見されなかったものとみられる。

永瀬六段は事前の研究でこの動作に気付いていたという。プログラムが修正されていれば不利になるが、修正されていても勝てると確信していたため、あえてこの手を指したとのこと。第1局の斎藤慎太郎五段とAperyの対局は斎藤五段が勝利しており、現時点で人類の2勝0敗となっている。28日に函館市の五稜郭で行われる第3局では、稲葉陽七段がやねうら王と対局する。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • より詳しい情報 (スコア:5, 参考になる)

    by NOBAX (21937) on 2015年03月22日 11時43分 (#2782449)
    将棋ワンストップ・ニュース
    永瀬拓矢六段が鬼手 [shogi1.com]
    Seleneの反則負けに関する棋士・関係者の見解 [shogi1.com]
    動画
    電王戦第2局で大事件!? △2七角『不成』で、誰も予期しない結末に!! [youtube.com]
    電王戦第2局 △2七角不成からの読み筋を永瀬本人が解説 【将棋電王戦FINAL 第2局 永瀬拓矢六段 vs Selene】 [youtube.com]

    「不成り」作戦を取るケース
    飛車・角・歩の不成り [hatena.ne.jp]
    このサイトには実戦で指された有名な谷川名人×大山十五世名人戦の棋譜もあります。
    • 谷川の各不成ですが、リンク先には解説はあっても棋譜はないですね。
      あと日付が間違っていたりする。(昭和58年が正しい)
      棋譜はこちら [optus.nu]で見れます。

      親コメント
  • by Anonymous Coward on 2015年03月22日 12時13分 (#2782463)

    多くのニュース記事では、人間側がどのみち読み勝っていた局面だったことは小さな扱いですね。
    そのせいか、勘違いして「バグを突いて勝つなんて汚い」などとブログ等で騒いでいる方々が少なくないですね。

  • by Anonymous Coward on 2015年03月22日 11時36分 (#2782445)

    自分が負けたと言うことは認識できたのかな。

    • by Anonymous Coward on 2015年03月22日 18時41分 (#2782615)

      王手を無視して別の手を中継ソフトに指示したところで、中継ソフトから負けを宣告されたようです。
      なのでSeleneは負けと認識したはずです。
      ロボットアームには最後の手は届いていません。

      親コメント
    • 「お前ら、ゼロか!ゼロの将棋ソフトなのか!?」
      「ゼロ ト イチ デス」
      「悔しく無いのか!?」
      「カンジョウ ハ プログラム サレテ イマセン」
      「いいか、殴られた痛みなど三日で消える。」
      「ナンノ ハナシ デスカ?」
      「だがな、今日の悔しさだけは絶対に忘れるなよ!」
      「ダカラ カンジョウ ハ プログr・・」
      「俺は今からお前を殴る!」
      「ナンデヤネン」
      「しかし、これはバツのためじゃない、お前達を励ますためだ!」
      「バツ デハナク タイバt・・」(ボカッ!!!

    • by Anonymous Coward

      お前が負けてないってんならそうなんだろう。
      お前(CPU)の中ではな。

      って感じではないでしょうか。

  • by Anonymous Coward on 2015年03月22日 12時22分 (#2782471)

    プロ棋士側からすると、玉を詰ます以外に、常に(少なくとも)角不成王手という勝利条件がある、ということがもともと念頭にあった対局だったわけですね。
    劣勢の局面ではなく、優勢の局面でその手を選ばれたというのがプロとしての矜持なのかとは思います。

  • 第一戦の、既に負けがほぼ確定した状況でも投了せず最後まで指し続けたプログラムといい、
    こういう状況ならアルゴリズムはどう「考える」のかっていうSF的な側面がFINALになって見えてきて面白いなと思いました。

    --
    一人以外は全員敗者
    それでもあきらめるより熱くなれ
  • 相手をよく研究していたということだし、コンピュータの考え方を見破ったものだし、
    むしろ不利な状態から一発逆転で仕掛ければよかったのにと思う。
    もうこれでソフト側は対策をしちゃうから隠し球には出来ないのが残念だ。
  • by Anonymous Coward on 2015年03月22日 11時48分 (#2782454)

    CPU相手に特定の動作を誘ってハメるゲームになるわけだ
    格ゲーのボスみたいな

    • by Anonymous Coward

      いやそこは、ソフトウェア相手に、だろ。
      別にハードウェアのバグを突いた訳じゃない。

      • by Anonymous Coward

        ここで言う「CPU」は、コンピュータゲームで言うところの「人間ではない側」を指す語だと思われます。
        他にも「COM(COMPUTERの略かな?)」とか、ファーストパーソンシューティングだと「BOT」等の呼び方もしますけど、
        所謂そのものを指すわけではなく、「コンピュータが操作する対戦相手」的な意味合いでしょう。

  • by Anonymous Coward on 2015年03月22日 11時50分 (#2782456)

    成らぬなら殺してしまえ:三原則無視型
    成らぬなら成らせてみせよう:人たらし型
    成らぬなら成るまで待とう:思考停止型

  • by Anonymous Coward on 2015年03月22日 12時02分 (#2782460)

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

    • 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 on 2015年03月22日 16時19分 (#2782549)

      >過去のデータがある場合はそれで
      既存の打ち筋や盤面と100%一致するのなんて序盤の十数手も無いだろうし、一致しててもどれが最善手かなんてわかんないから無駄。

      有効時間内に可能性の低い悪手を除き(枝刈り)つつ読めるだけ先読みして、
      時間内に詰将棋できればそれ、
      予め想定しておいた勝てそうな定石と一致してたらそれ、
      さもなくば形勢判断処理(評価関数)が最も好成績を返す手を打つ。

      あれこの手のゲームではコレが定番。この方針自体は設計ミスもクソもない。

      除いた悪手を実際に打たれた時に死ぬってのは設計ミスだけどね。

      親コメント
    • by Anonymous Coward

      "bonanzaメソッド"とかで検索してみることを勧めます。
      何かを語るのは、その後からでも。

    • by Anonymous Coward

      そろそろ投了のし方も作りこまないと
      みっともない挙動しかできないのは
      興行的にも成立しないだろうな

      しかし人間すげぇ
      少年漫画のような展開だった

typodupeerror

犯人はmoriwaka -- Anonymous Coward

読み込み中...