タグ

ブックマーク / yaneuraou.yaneu.com (16)

  • Winnyの金子さんのED法について | やねうら王 公式サイト

    Winnyの金子勇さんが考案された機械学習アルゴリズムED法を再現して実装した人がいていま話題になっている。 『Winny』の金子勇さんの失われたED法を求めて…いたら見つかりました https://qiita.com/kanekanekaneko/items/901ee2837401750dfdad いまから書くことは私の記憶頼りなので間違ってたらコメント欄で教えて欲しい。 1998年ごろだと思うのだが、私はWinnyの金子勇さんのホームページの熱心な読者だった。(ページも全部保存してたので私のHDDを漁れば出てくると思うが、すぐには出せない。) Winnyのβ版が発表されたのが2002年なのでそれよりはずいぶん前である。 当時、金子さんはNekoFightという3D格闘ゲームを公開されていた。そのゲームには、自動的に対戦から学習するAIが搭載されていた。 当時の金子さんのホームページの

  • WCSC31、やねうら王のマシントラブルについて詳しく | やねうら王 公式サイト

    WCSC31(第31回世界コンピュータ将棋選手権)、二次予選、やねうら王は予選敗退しました。 やねうら王は、初戦で昨年末の電竜戦で優勝したdlshogiを後手番で下し、次にHEROZの計算資源をふんだんに使えるという噂のPALも同じく後手番で下し、私は気持ちよくお昼寝して起きたら、そのあと連敗してました😅 どうやらAWSのp4インスタンスのメモリ1.1TBを使い切って、コンソールから応答返ってこなくなったらしいです。nps(探索速度)が家dlshogiより出るように頑張ったのに、それが仇となって、1.1TBのメモリを使い切って死ぬとは。 第2局でも終盤で4秒ぐらいで指すはずのところで大長考をしているので(コンソールからの応答もなし)、よく第2局で勝てたなという感じ。 そのあと私はお昼寝してたんですけど、フリーズすると困るのでオペレーション担当のMizarさんは、やねうら王を以前の探索部

  • 渡辺明名人と東大教授で日本の脳研究の第一人者である池谷裕二先生との対談記事が間違いだらけである件 | やねうら王 公式サイト

    ここまでひどい記事は久しぶりだ。 渡辺明名人の疑問「将棋の初手でこれを指したら負けという“必敗”の手はありませんか?」 脳研究者の答えは… https://number.bunshun.jp/articles/-/846635 この手の対談は、編集側が元の発言とは異なる意図で解釈して、誤った書き方にしてしまうことが多々あるので、誰が悪いのかということはここでは問題としないことにする。ただ、内容が間違いだらけではあるので、ここではそれを指摘するに留める。 14年前のAIは「奨励会1級とか初段ぐらいだった」 池谷 渡辺さんのすごいところは、転換期を迎えた時に「じゃあAIに学んでみるのも面白いかもしれない」と思ったことですね。柔軟な適応力で発想の着火点をスムーズに転換されています。渡辺さんはかなり早い時期からAIと対戦されていましたよね? 渡辺 あれは2007年ぐらいでしたが、まだAIが全然強く

  • ひまうら王実験結果その4 | やねうら王 公式サイト

    前回の続き。 教師なし学習の実験に取り組んでいた、ひまうら王、ひようら王(ひよこ将棋)より有意にかなり強くなったので、floodgateに放流しておきます。明後日ぐらいにバイナリ公開します。 — やねうら王 (@yaneuraou) December 3, 2015 前回、ひようら王のほうがひまうら王よりnpsが高いため、駒得のみの評価関数(ひようら王)のくせに、なかなかそれを超えられないという話を書きました。 ところが、ひようら王同士の自己対戦を1手1~3秒1スレッド6並列×3PCで行なって、棋譜を2000局ほど作り、それで学習させるだけでなんとひようら王と同等か少し強くぐらいの強さになったわけですよ。これにはびっくり! 棋譜2000局でこの強さになるならば、棋譜を増やせばまだまだ強くなることは経験的にわかっています。 しかし棋譜を増やすにしても強い棋力で指された棋譜のほうが好ましいです

  • 縦型Bitboardの唯一の弱点を克服する | やねうら王 公式サイト

    前回の続きです。 今回は、いいこと尽くめに思えるAperyのような縦型Bitboardの弱点について考えていきましょう。 そうそう。Sunfishも縦型Bitboardを採用しているそうです。てっきり横型かと思っていました。お詫びして訂正しておきます。 今回は縦型Bitboardの唯一の弱点である、歩の打てる場所を探す処理について考えていきましょう。 将棋では二歩は禁則なので自分の歩のある筋に歩を打つことは出来ません。Bonanzaの指し手生成部では、この処理は次のようになっています。 ibb_pawn_cmp = BBToU(BB_BPAWN_ATK); ais_pawn[0] = ibb_pawn_cmp & (mask_file1 >> 0); ais_pawn[1] = ibb_pawn_cmp & (mask_file1 >> 1); ais_pawn[2] = ibb_pawn

  • 入玉宣言勝ちの処理について | やねうら王 公式サイト

    Seleneが今回のWCSC(世界コンピュータ将棋選手権)で、入玉宣言勝ちをしたそうなのですが、この処理について詳しいことを少し書いておきます。(私は中継自体は見てません。) Seleneは「mate 17」を出したそうなので、おそらく宣言勝ちした局面の17手前に宣言勝ちの局面を見つけたということになります。 「宣言勝ち」については、やねうら王を含め、上位の将棋ソフトなら必ず実装されているかと思います。 どのように実装するかは、開発者によって方法が異なるのかも知れませんが、評価関数のなかで宣言勝ちの局面であれば詰みのスコアを返すという方法が一番お手軽です。このようにしておけば、探索中に宣言勝ちの局面を見つければその局面のスコアは詰みだとみなすので、その局面を目指すようになります。 入玉して駒をぼろぼろ拾ってるうちに、自然と宣言勝ちの局面が見えてくるので、この方法でもそれなりに宣言勝ちをして

  • 電王戦第二局における検討用やねうら王の不可解な指し手について | やねうら王 公式サイト

    Seleneが反則負けをした局面で、検討用のやねうら王が2歩となる指し手を示しているらしく、「第三局のやねうら王は大丈夫なのか?」と心配する声を頂戴しております。 これについてはMIROさん(ニコファーレの中の人)が次のようにコメントしています。 やねうら王の読み筋画面に二歩の手がでたのはやねうら王の問題ではなく、棋譜データとしてそういう手が流れてしまったから。ではなぜその手がデータとして流れたのか、は今回のSeleneの問題に起因するもので理由がわかると実はちょっと面白いです http://t.co/Hr1MKCGZQX — MIRO (@MobileHackerz) March 22, 2015 ところで、何故第二局の検討用のソフト(評価値と読み筋を提供するソフト)がやねうら王なのでしょうか? 気づいている人は気づいていると思いますが、前回電王戦出場の第1局から第5局のソフトが、今回の

  • 電王戦 第三局の感想 | やねうら王 公式サイト

    大阪戻ってきました!開発者サイドの感想として書きたいこと、書かなければならないことはたくさんありますが、取り急ぎ、開発者だから言えることを4つだけ書きます。 27歩は悪手ではない可能性 譜、27銀成とやねうら王が2筋を突破してそこでやねうら王の評価値がプラスに転じたと記者会見で私が言ったこともあってか、直前の先手の27歩が攻めを呼び込んだ悪手であったかのように言われています。(「27歩で攻めを呼び込んで何がしたかったんだ?」etc…) しかし、この時点ではやねうら王の評価値的には優勢ではなく、微差でした。 やねうら王は飛車を成ってもまだ形勢をほぼ互角と見ていました。 つまり、飛車を成らせたこと自体は悪くなく、74歩〜85桂の攻めが一つの勝負どころだったのかなと私は捉えています。そしてそのあとの49桂で、ここで急激にやねうら王の評価値が上がりました。やねうら王は49桂に代えて39銀打で難し

  • Seleneが反則負けしたようですが | やねうら王 公式サイト

    電王戦第2局においてSeleneが相手の角不成に対して非合法手を指して反則負けになった件ですが、理由は私には想像つくので、以下に書いておきます。 UCIプロトコルでは、思考を開始する局面は、普通、startpos(平手の初期局面)からの指し手を示す文字列が送られてきます。と言うことは、常識的には、UCI表記での指し手文字列を思考エンジンが内部で使っている指し手構造体に変換する必要があります。ところが、Stockfishにはこの変換をダイレクトに行なう関数は存在しません。さて、どうやっているのでしょうか。 実は、現在の局面の合法手すべてを生成して、それをmove_to_uci( )でそれをUCIの指し手文字列に変換し、それが与えられた文字列と一致したら、そのmove_to_uci( )で変換する前の指し手構造体を返すという実装になっています。少し遅いのが気になりますが、思考開始のときに送られ

  • ponanzaも反省を始めたようです | やねうら王 公式サイト

    昨日の記事の続きです。 やねうら王側の飛車が詰んだ局面、ソフト側は龍を作っているので龍の価値を大きくプラス評価しており、かつ飛車を詰ませるまでの手順が見えていないため大きな得だと思い込んでいます。 これは、やねうら王がponanzaやAWAKEに比べて弱いソフトだから、というわけではなく、ソフト共通の弱点だと言えます。この局面はponanzaでも読み進めるうちに大いに反省するようです。(反省=評価値がマイナス方向に大きく変動すること) あーこの評価値推移はひどい。Ponanzaもこれは負けるわ・・・ pic.twitter.com/ICVQlid8eg — 山 一成@Ponanza (@issei_y) January 26, 2015 上図はソフト共通の課題を孕んだ局面と言えるかも知れません。番では持ち時間が増えるとは言え、この局面への進行を回避できるかどうかはよくわかりません。 動

  • 棋譜のコンバーターはどこにありますか? | やねうら王 公式サイト

    棋譜からの学習なり何なりで入力棋譜がCSA形式やKIF形式ということはよくあります。しかし、いまや将棋ソフトの思考エンジンはUSIプロトコルでやりとりするのが標準的であり、USIプロトコルでの局面形式(sfen)の入出力部しか書いていない & 書きたくないという開発者の方も多数おられることでしょう。 そこで前者から後者へ変換するソフトが必要となります。以前、Blunderの下山さん(Ponanzaの共同開発者)が作ったコンバーターがGitHub上にあって、彼のブログからそこへのリンクが貼られていたわけですが、いまや彼のブログは閉鎖されていて(私は事情は知りませんが)、検索エンジンで検索してそこに辿り着くのは相当困難になっているので私がここに改めて記事にして、かつ、リンクを紹介させていただく次第です。 下山さんのGitHubのリポジトリ(Blunder.Converterが棋譜変換ツールです

  • ブラウザ版やねうら王のサイト名を募集しています! | やねうら王 公式サイト

    「ブラウザ版やねうら王について」に書いた通り、ブラウザ版のやねうら王を作ることに決まったのですが、このやねうら王公式サイトにぶら下げるとアクセスを捌き切れない可能性があるので専用のサイトを作ろうと思います。 しかし、私がサイト名を考えると『裏王倶楽部24』とか『裏王ウォーズ』とかになって、どこかの会社から怒られかねないので、サイト名を今日のコメント欄もしくはツイッターにて募集します。 採用された方には、ブラウザ版やねうら王の特別招待アカウントを進呈させていただきます。 誤解のないように書いておきますと、ブラウザ版やねうら王に関しては基的にログインせずに遊べるようにします。しかし、他人の棋譜を見たり、対人の機能とかをつけようと思っていて、それらの機能を利用するためにはログインが必要になります。 あと、アクセスが捌き切れなくなってきた場合、ログインせずに遊べるのはソフトの棋力がX段までで、X

  • Stockfish DD – rkiss | やねうら王 公式サイト

    今回は擬似乱数生成器です。世間では「乱数と言えばMT(Mersenne twister : メルセンヌツイスター)乱数だろ」と思われているかも知れませんが、MT乱数は生成に結構コストがかかるので、ベストなソリューションとは言えません。かと言って、組み込み系の乱数は乱数の精度が今ひとつですのでそういう部分で偏りが出るのは困ります。(定跡選択で乱数を使うので、乱数に偏りがあると連続自己対戦の勝率に偏りが生じかねない) Stockfishで採用されているのはRKISSという乱数で、この乱数の実装を見るためだけにでも、Stockfishのソースコードを読む価値はあると私は思います。 /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glau

  • おもてなし定跡はおもてなしすぎ? | やねうら王 公式サイト

    事の発端は習甦の竹内さんが、「(2014年の電王戦のために貸し出した)習甦には、色んな定跡を入れておいたところ、それはプロ棋士の先生に非常に喜んでもらえた」と言い出したことである。 「それならワイもやったるで〜」と習甦と同じ手法で定跡を入れようと思った。 32手目まで、depth 16で探索して、評価値が大きくマイナスでなければ定跡に登録していくのだ。 ところが、これで私がやったところとんでもない糞定跡が生成された。後手の初手42玉とか62銀とか、当、これを指したやつをゲンコツしてやりたい。 たぶん、習甦とやねうら王とでは定跡の生成のために使っている棋譜の質が違って、やねうら王のほうは結構ゴミのような棋譜も混じっている。4手目で角を素抜かれる棋譜だとか、二歩反則負けの棋譜も混じっていたりする。そのへんが根的な原因のような気もするが、ともかくこれではさすがにまずいと思い、depthをもっ

  • やねうら王の開発の歩み(2014年まで) | やねうら王 公式サイト

    今日はやねうら王開発の歩みをまとめてみたいと思います。やねうら王 公式のほうに記載していた内容をまとめてみます。→ 旧やねうら王 公式 ・2010年 超高速3手詰み判定ルーチンを搭載しています。Core i7 1コアにて4M yields(make_move + unmake_move + 1手詰み判定)/sec以上を達成しました。これはBonanzaの3手詰み判定ルーチンの5倍以上の探索速度です。また、合い駒の多い局面ではBonanzaの30倍以上の探索効率を発揮するようになりました。→ 超高速3手詰 このソフトに採用した打ち中合いの応手生成の省略技法は、Bonanzaにも採用されました。→ 中合いの省略技法 いまはこの3手詰めは入れていません。3手詰め相当の処理は何がしか入れたほうが良いとは思っていますが、呼び出すタイミングが難しく、プログラムを書くのが難しい割にはなかなか棋力向上につ

  • 将棋の探索空間の広さについて | やねうら王 公式サイト

    将棋の探索空間はどれくらいの広さなのでしょうか。 チェスの場合、1手から最終局面までの手順数(探索空間)は10の120乗程度と言われている。将棋の場合は、10の220乗。一度取った相手の駒を使うことができるため、とたんに増えてしまう。囲碁は盤面の広さもあって10の360乗である。 将棋対決・第1回  チェスコンピュータからの応用でもアマ20級 上の記事に見られるような「10の220乗」というのが定説になっています。 ところが、一定以上の棋力を持つプレイヤーに限定する場合、桁違いに狭いというのが私の考えです。10の220乗どころか、10の50乗すらいかないと私は思っています。 やねうら王では探索をしない場合、プロの棋譜との指し手一致率は、以下のようになっています。 Prediction(%) = 43.5828, 64.8331, 75.9408, 82.7774, 87.3075, 90.

  • 1