将棋電王戦FINAL第2局、Seleneが王手を認識できずに反則負け 116
ストーリー by headless
反則 部門より
反則 部門より
21日に高知県の高知城追手門で行われた将棋電王戦FINAL第2局は、永瀬拓矢六段とSeleneが対戦。Seleneが王手放置で反則負けとなったそうだ。Seleneには飛車不成、角不成、歩不成を認識できないプログラム上の不備があり、永瀬六段が指した2七角不成の王手を認識できなかったとのこと(マイナビニュースの記事、
ねとらぼの記事、
朝日新聞デジタルの記事、
週アスPLUSの記事)。
これについて Neoceratodus 曰く、
これについて Neoceratodus 曰く、
飛角歩については他の駒と異なり、成ることによって単純に移動範囲が広がるという性質から、打ち歩詰め回避を除き不成の利点が存在しない。これに着目し、コンピュータ将棋の指し手生成においては高速化のため省略されることが多い。おそらくSeleneはこの指し手生成を盤面の変更処理にそのまま使っていたと思われ、存在しない指し手を入力されたことで不整合が起きたと考えられる。
このようなバグは対局によって容易に発見可能なようにも思われるが、上述のようにコンピュータ将棋ソフトにおいては指されないことが多く、また人間もあまり差す手ではないために発見されなかったものとみられる。
永瀬六段は事前の研究でこの動作に気付いていたという。プログラムが修正されていれば不利になるが、修正されていても勝てると確信していたため、あえてこの手を指したとのこと。第1局の斎藤慎太郎五段とAperyの対局は斎藤五段が勝利しており、現時点で人類の2勝0敗となっている。28日に函館市の五稜郭で行われる第3局では、稲葉陽七段がやねうら王と対局する。
より詳しい情報 (スコア:5, 参考になる)
永瀬拓矢六段が鬼手 [shogi1.com]
Seleneの反則負けに関する棋士・関係者の見解 [shogi1.com]
動画
電王戦第2局で大事件!? △2七角『不成』で、誰も予期しない結末に!! [youtube.com]
電王戦第2局 △2七角不成からの読み筋を永瀬本人が解説 【将棋電王戦FINAL 第2局 永瀬拓矢六段 vs Selene】 [youtube.com]
「不成り」作戦を取るケース
飛車・角・歩の不成り [hatena.ne.jp]
このサイトには実戦で指された有名な谷川名人×大山十五世名人戦の棋譜もあります。
Re:より詳しい情報 (スコア:1)
谷川の各不成ですが、リンク先には解説はあっても棋譜はないですね。
あと日付が間違っていたりする。(昭和58年が正しい)
棋譜はこちら [optus.nu]で見れます。
Re:より詳しい情報 (スコア:5, 参考になる)
また、プロトコルでは、着手毎に初手からの着手を全部通信しているのだそうだけど、セレネは自分が合法手だと思っていない着手は無視して盤駒を動かすそうで、
角成らずの手が無視されている状態の局面で考慮して着手を将棋所に返したそうです。
Re:より詳しい情報 (スコア:2)
評価した結果、王手を無視した22銀を将棋所に指すという反則をして、将棋所が投了をサーバーに伝えたということです。
角ならずは良い手になることが極めてまれなので思考部分の探索処理で全幅探索するときに合法手を列挙する処理で省くことがあるんですが、ルールとしては当然認められているので、合法手として認識しなければなりません。
他の将棋ソフトでは、探索処理のための合法手列挙サブルーチンと、通信対局処理用の合法手列挙サブルーチンを別に用意するなどして対処しているのですが、考慮漏れのバグで、今回の事態になったということのようです。
Re:より詳しい情報 (スコア:4, 参考になる)
反則手を出力してから投了した。
Seleneはあくまで思考ソフトであり、指し手情報の入出力には、将棋所 [geocities.jp]というソフトを利用している。
角での王手を受けたSeleneは将棋所に「2二銀を指す」と伝えたけど、将棋所は「それ王手放置じゃん。お前負けな」と反則判定をSeleneに返して、ロボットアームを動かさなかった。
で、反則負けの判定を受けたSeleneは投了を選んだ。
永瀬六段はそこまで解析していなかったので、「Seleneが投了を選ぶ」とだけ認識していたのだと思う。
将棋所はSeleneとは別のソフトであり、Seleneの思考部分ともまったく無関係。
仮に将棋所が指し手情報をノーチェックでスルーしていたら、Seleneの「2二銀を指す」という指示通りにロボットアームは反則手を指していた。
なので反則手を「指そうとしたけど投了を選んだ」のではなく、「指した」とみなされた。
あと電王戦は今回も第一戦からケチついてるという見方してる人多いと思うよ
ソフト側の悪あがき見苦しかった
Re:より詳しい情報 (スコア:1)
むしろ、真剣勝負だからこそこういう手はあっていいと思います。
Re:より詳しい情報 (スコア:1)
こういう勝ち方は微妙な印象もあるけれども、
人間VSソフトウェアというマッチにおいて、より人間的な勝ち方とも言える。
指し手も迷うところはあったのではないか、また、
決定的な弱点を突いた時の、様々な(コンピュータ/開発者(連中)/将棋会/世間)反応を見てみたいという
好奇心もあったのではないか、など色々思う所がある。
「バグを突いた」という点だけが一人歩きしている (スコア:5, すばらしい洞察)
多くのニュース記事では、人間側がどのみち読み勝っていた局面だったことは小さな扱いですね。
そのせいか、勘違いして「バグを突いて勝つなんて汚い」などとブログ等で騒いでいる方々が少なくないですね。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:5, 興味深い)
元のタレコミでは「人間側の勝ちがほぼ決まった局面」と書いておいたんですが、消されてしまったようです……。
結構重要な情報だと思うんですが。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
「修正されていても勝てると確信していたため、あえてこの手を指したとのこと。」
というのがほぼ同じ意味だと思うのだが、違ってる?
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
これは個人的な感覚なので皆さんがそう感じるかは解りませんが、
「(対局者が)勝てると確信していた」というのは対局者の主観であるのに対し、
「勝ちがほぼ決まった局面だった」というのは客観的な事実であると感じます。
対局者の主観では読み違い等誤りが入る可能性がありますが、後者ではその余地がありません。
そして本譜では先手に詰みがあり、またそれが読めていなかったとしてもプロ棋士の見解では普通に指していれば後手勝勢、
Apery、その他多くのソフトでも15歩に対する同銀の読み抜けが生じており、その局面で評価値が大きくマイナス(-1500以上?)
となる状態でした。
以上のことから、人間ソフト双方ともに後手勝勢を支持する局面であり、客観的に見て勝ちが決まった局面と表現すべきではないかと。
そうすれば「勘違いして『バグを突いて勝つなんて汚い』などとブログ等で騒いでいる方々」も少なく済むだろうなぁ、と。
Re: (スコア:0)
部門名を見ても、編集者の民度がその程度だったようです。
Re: (スコア:0)
「民度」ってこういう時に使う言葉か?
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
彼は彼の民族最後の生き残りなんですよ
#証拠はない
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
「編集者」という絶滅危惧種か
Re: (スコア:0)
とか書いちゃうあたり、多分に感情が先行してる編集者なんでしょうね。お気の毒。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:2)
「人類」って言葉は主催者側でも使用している煽り文句ですよ。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
ヤフコメやはてなブックマークを見る限り、ニュースを見た人の過半数はきちんと認識してると考えて問題なさそうかなと。
本気で思い込んでいる人も多少はいるでしょうが、電王戦は荒らし、煽りが湧きやすいイベントになってしまったので基本的にはスルーが最善だと思います。
Re: (スコア:0)
個人的には「読み切って勝利を確実にした上でついでにバグまで晒し上げた」と見てる。
ある意味舐めプ?
脆弱性の公開と攻撃の実演を実戦の盤上でやってのけた感。
形を変えたハッキングですな。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:5, 参考になる)
永瀬六段は「バグだとは思うが確信はなかった、だから成りでも不成でもよい状況で、Seleneの持ち時間を削る意味で打った」と答えてます。
不成を選ぶと(成ったときと比べて)ソフト側は考慮時間が長くかかる傾向がある、というアドバイスがあったそうで
お互い持ち時間が少ない状況、少しでも自分が有利になるよう指したわけです。
三浦九段も「99%の勝ちをさらに100%に近づけるために打った手」と述べておられます。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
それどこの引用?引用なら正確に。
いくらなんでもプロがこの手を「打った」とは言うはずがないと思う。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
ニコニコ的には、ひふみんという”動物”カテゴリーのアイドル [nicovideo.jp]なんです。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
人間的には(3)角の正面や横に王を動かす▲3七玉には▽2六角で、
a)▲同玉は▽1六角成▲3七玉▽2五桂で詰み
b)▲2七玉は▽4八角成で
b1)放置は▽2八金で詰み
b2)▲3八金などで2八の地点を受けても▽2六金で詰み
b3)▲3七銀や角は▽1七香成▲3六玉▽2五金で詰み
b4)▲1八香は▽2六金▲2八玉▽3七金▲1九玉▽2七桂▲2九玉▽4七馬で詰み
のため必至(おそらくここまでは一瞬)で、かつ後手玉が詰まないので負け
なので論外とすぐ読めるんだけど、コンピュータ的には
「後手玉が詰まない」部分が難しいのかな?瞬間的には持ち駒に角増えるし。
Re: (スコア:0)
そこらへんの人間と将棋プログラム
将棋を指しているプロ棋士により近いのはどっちだろうね
Re: (スコア:0)
それは仕方ないと思う。
詰みが見えていて普通に勝っていれば、「やっぱりプロ棋士はすごい。ソフトの見落とした詰みを読んでいた」となった。
でも、本人も言ってるように、有利とは思っても詰みまでは見えていなかったから、不成りを選んだ。
そして実際不成が有利に働いて勝ったんだから、不成りが取り上げられるのが当然。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:2)
認識が間違ってる。
成ろうが成るまいが勝てると思ってたからやってみた。
だから、不成でさらに有利になったかもしれないが、どのみち勝ってた。
普通に勝ったのでは特に話題にするものが無いし・・・
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
普通に勝ったのでは特に話題にする物が無いから?
有利不利に関係ないのに、永瀬さんが話題作りのためにやったとでも言うのですか?
それはいくらなんでも失礼でしょ。
私も、指した直後はなんだこれ?と思ってました。プロとしてこれはどうなのかと。
対局後のインタビューを聞いて、すべての可能性を考えて戦うプロの意識が見えて考え直しました。
コンピュータ作者、プロ棋士共に互いを尊敬していることがよく分かっていい対局でしたよ。
Re:「バグを突いた」という点だけが一人歩きしている (スコア:1)
前回いろいろあった [srad.jp]ので、提供ソフトのバグ改修は今度こそ本当に禁止されているのではないかと。
Re: (スコア:0)
認識が間違ってるって、ニコ動での対局後のインタビューを見ましたか?
永瀬さん自身が有利だとは思っても、勝ちは見えていなかったと言ってますが。
勝ち筋、詰みを見つけたのは審議中の大盤解説とか、詰め将棋のソフトです。
Seleneは (スコア:1)
自分が負けたと言うことは認識できたのかな。
Re:Seleneは (スコア:1)
王手を無視して別の手を中継ソフトに指示したところで、中継ソフトから負けを宣告されたようです。
なのでSeleneは負けと認識したはずです。
ロボットアームには最後の手は届いていません。
ショーギ☆ウォーズ (スコア:0)
「お前ら、ゼロか!ゼロの将棋ソフトなのか!?」
「ゼロ ト イチ デス」
「悔しく無いのか!?」
「カンジョウ ハ プログラム サレテ イマセン」
「いいか、殴られた痛みなど三日で消える。」
「ナンノ ハナシ デスカ?」
「だがな、今日の悔しさだけは絶対に忘れるなよ!」
「ダカラ カンジョウ ハ プログr・・」
「俺は今からお前を殴る!」
「ナンデヤネン」
「しかし、これはバツのためじゃない、お前達を励ますためだ!」
「バツ デハナク タイバt・・」(ボカッ!!!
Re: (スコア:0)
お前が負けてないってんならそうなんだろう。
お前(CPU)の中ではな。
って感じではないでしょうか。
詰み以外の勝利条件 (スコア:1)
プロ棋士側からすると、玉を詰ます以外に、常に(少なくとも)角不成王手という勝利条件がある、ということがもともと念頭にあった対局だったわけですね。
劣勢の局面ではなく、優勢の局面でその手を選ばれたというのがプロとしての矜持なのかとは思います。
単なる勝ち負けにとどまらない (スコア:1)
第一戦の、既に負けがほぼ確定した状況でも投了せず最後まで指し続けたプログラムといい、
こういう状況ならアルゴリズムはどう「考える」のかっていうSF的な側面がFINALになって見えてきて面白いなと思いました。
一人以外は全員敗者
それでもあきらめるより熱くなれ
バグをつける方がすごい (スコア:1)
むしろ不利な状態から一発逆転で仕掛ければよかったのにと思う。
もうこれでソフト側は対策をしちゃうから隠し球には出来ないのが残念だ。
最終的に (スコア:0)
CPU相手に特定の動作を誘ってハメるゲームになるわけだ
格ゲーのボスみたいな
Re: (スコア:0)
いやそこは、ソフトウェア相手に、だろ。
別にハードウェアのバグを突いた訳じゃない。
Re: (スコア:0)
ここで言う「CPU」は、コンピュータゲームで言うところの「人間ではない側」を指す語だと思われます。
他にも「COM(COMPUTERの略かな?)」とか、ファーストパーソンシューティングだと「BOT」等の呼び方もしますけど、
所謂そのものを指すわけではなく、「コンピュータが操作する対戦相手」的な意味合いでしょう。
成らぬなら (スコア:0)
成らぬなら殺してしまえ:三原則無視型
成らぬなら成らせてみせよう:人たらし型
成らぬなら成るまで待とう:思考停止型
盤面だけで処理してるんだ (スコア:0)
ああいうソフトウェアってどういうアルゴリズムで動いてるのかと思ってたけど、ひたすら盤面のデータだけ持ってて、それだけで判定しているのか。
てっきり、過去のデータがある場合はそれで、なかったら別のアルゴリズムで…みたいな感じでやってるのかと思った。
設計ミスだよなぁ。
(いやそんな状況じゃどのみち勝てないから、設計から落とすのは方針として正しいのかもしれんけど。)
Re:盤面だけで処理してるんだ (スコア:4, 参考になる)
単純に言えば、
1 何らかの方法で盤面に点数をつける方法を用意しておく
2 現在の盤面から可能な指し手をすべて列挙する
3 2の指し手を指した後の局面すべてについて1を適用し、点数が最大となる指し手を選ぶ
というのが(この手のゲームの)最も基本的な処理です。
今回は2について高速化のための省略があり、全てを列挙していなかった。
これだけなら問題ないのですが、相手の指し手の入力にも2を用いていたことで、
省略された手の入力により内部の処理で不具合が生じた、ということのようです。
Re:盤面だけで処理してるんだ (スコア:5, 参考になる)
今後本人から詳しい説明があるかも知れませんが、現時点ではやねうらお氏の推測が一番納得できました。
Seleneが反則負けしたようですが [yaneu.com]
Re:盤面だけで処理してるんだ (スコア:1)
3手目3三角成らずは、残り3局の将棋ソフトは対応しているのだろうか?
DS版「いつでもどこでもできる将棋」は、ちゃんと同角でした。
Re:盤面だけで処理してるんだ (スコア:2)
書かれていることが正しければほんとにただのミスなので、大丈夫だと思いますよ。
全く同じミスが起きる方が奇跡的。
残りのソフトは時々floodgateに来て調整もしていましたし、自己対戦のみで見落とす可能性は少なそう。
Re:盤面だけで処理してるんだ (スコア:1)
仰るとおり、多くの将棋ソフトではおそらくそのような王手回避手のみを生成する処理がなされていると思います。2の処理の一つですね。
今回問題となっているのは、放送中開発者の方の「消えてしまった」等の発言からすると、
ソフトの内部の盤面を動かすのにソフトと相手で同じ処理を利用しており、しかしそこでは角不成に対応していなかったことから、
角不成を指されたことでソフト内部の盤面で不整合が生じ(おそらく27角が消えてしまった)、
王手されていると認識できなかった(王手の角が消えてしまっているので当然の話)、ということです。
角成りには対応しているため、成っていた場合には上記のような不整合は生じず普通に王手回避手を指すでしょう。
要するに、バグは後手の指し手によって引き起こされており、先手の王手不回避はバグった間接的な結果ではないか、ということです。
王手がされていようといまいと、角不成を指した瞬間にその駒が盤面から消えるバグが生じるのではないでしょうか。
ですので、先手の指し手の挙動とはまったく無関係で、仰るような処理の前段階で異常が起きていた、と思われます。
Re:盤面だけで処理してるんだ (スコア:1)
>過去のデータがある場合はそれで
既存の打ち筋や盤面と100%一致するのなんて序盤の十数手も無いだろうし、一致しててもどれが最善手かなんてわかんないから無駄。
有効時間内に可能性の低い悪手を除き(枝刈り)つつ読めるだけ先読みして、
時間内に詰将棋できればそれ、
予め想定しておいた勝てそうな定石と一致してたらそれ、
さもなくば形勢判断処理(評価関数)が最も好成績を返す手を打つ。
あれこの手のゲームではコレが定番。この方針自体は設計ミスもクソもない。
除いた悪手を実際に打たれた時に死ぬってのは設計ミスだけどね。
Re: (スコア:0)
"bonanzaメソッド"とかで検索してみることを勧めます。
何かを語るのは、その後からでも。
Re: (スコア:0)
そろそろ投了のし方も作りこまないと
みっともない挙動しかできないのは
興行的にも成立しないだろうな
しかし人間すげぇ
少年漫画のような展開だった
Re:盤面だけで処理してるんだ (スコア:1)
振動の周波数を測定
→
同期して自ら振動
→
共振によって大災害が....
#対局者の動きをまねっこする、もしくはまねっこのようで微妙にずれるような動作をさせると、心理的に揺さぶれたりして。
##相手の動きを真似るのはミラーリングとか言われてて、好感を得るテクニックとか言われてるな
#存在自体がホラー