rewritemath's blog

rewritemath’s blog

これマシュマロ。質問も受け付ける(https://t.co/VfNWTuMqau)

将棋ソフトから学ぶ指し手の選択と時間の使い方

はじめに

qhapaqさんのブログを参考にさせていただきました。

 

示唆に富んだ内容で大変参考になりました

 

読んだ方で、記事に意見や間違いの指摘等ありましたらコメント下さい

 

スターの仕組みとか全然わかってないんですけど、すこしずつわかってきたので、これからはちょくちょく、参考になった記事等には飛ばそうと思います。

qhapaq.hatenablog.com

 

 

数学的解説をしてもらっても実践に活かすのって難しいし感覚的にもわからないよって人向けに書きます。

 

まずは、人間の場合の将棋の時間の使い方戦略をいくつか提示します

 

  • 定跡を覚えて序盤に使う時間を減らす
  • 終盤力、特に詰将棋をつける
  • 読みの力(短い時間で多く読む力)をつける
  • 定跡を覚えていないかつ相手は定石を覚えている場合は定跡と離れた局面に誘導することで、お互いに知らない局面にして、相手にも時間を使わせる

こういった戦略が考えられます。

 

今回考察するのは、自分が知らない局面が続くときに勝率を向上させる方法です。

 

再度いいますが、先ほど貼ったリンクの記事の解説を感覚的に解説するのがコンセプトです。

 

前提確認

 

はじめに前提として、関数というのは、ある値を受け取って、別の値を返すものです。

 

今回受け取る値は、持ち時間です。

関数が吐き出す値は、一手に使う最適な時間です。

 

仮定

  • 正確な指し手を選択した局面が多いほうが勝てると仮定する
  • その仮定から、正確な指し手を選択した局面が多いほうがよいとする
  • 読む時間が短いうちは指し手の正確さはかけた時間に比例する
  • 読む時間が長くなってくると時間に対する効果が薄くなってくる

 

論理的な展開

時間を効率よく使っていないとする

その状態では、無駄に時間を使っている局面Aが存在する

Aで使う分の時間を別の、時間を本来使うべき局面Bで使えば、勝率は上がる

 

よって

最適な時間の使い方をしている場合、どの局面でも、使う時間が生み出す、勝率を上げる効果は変わらない。

 

 次に、ある局面で、

時間 対 勝率を上げる効果=正しい手を導ける確率の上昇効果

 

が、どの程度か予測する

 

1.難しい局面ほど正しい手を導くのが難しい、長く読めば長く読むだけ効果が出る。

 

2.簡単な局面では長く読んでもあまり効果は変わらない。

 

と思われる。

また、どんな局面でも、

 

一定以上読むと分岐が膨大になり読みきれない

忘れる

 

ということが言える。

 また、一定以上読むと、時間をかけてもあまり正しい手を選べる確率が変わらないというところに段々と近づいてくる。

 

戦型によって、総手数が変化するので、一手に使える時間の量は変わる

 

人間が指す将棋の前提として一応、

ある一手を間違えた時に評価値がどのくらい下がるのかを考慮し、下がりやすい局面や上がりやすい局面では長く考える

序盤は短めに、終盤は長めにした方がいいことが多い

 

結論

 そこで、戦略としては、

 

  • これ以上読んでもあまり指し手の正確さは変わらないと思ったら後に時間を残す
  • 簡単な局面では短めに、難しい局面では長めに考える
  • 長い戦いになる戦型の場合は、少し早めに指す
  • 戦型から事前に終局までの手数を概算しておいて、一手にかけることのできる時間を計算し、その計画にできるだけ沿って時間を配分する

 

ということがソフトから学べるだろう

 

また、人間としては、

  • 序盤は少し早めに指す(定跡を覚えると早く指せるようになる)
  • 終盤では時間をかける
  • 自分の得意な局面(指し手の正確さにプラスに働く局面)に誘導する
  • 定跡を覚えずに力戦を目指す人=序盤で相手に時間の差をつけられないように定跡を外す
  • 定跡を覚えて押し切ろうとする人=指しての広い(定跡を外されにくいはず)局面に誘導する

 

 といった戦略があるだろう

 

 

まだまだ体系的に文章としてまとめるには研究が不足しているし、細かい技術的な話をひたすら避けようとしたら結局袋小路に迷い込んでしまったのではないかとの懸念もあるが、ひとまずここで区切りにして発表した次第である。

 

参考になるかどうかはわかれるかもしれないが、とりあえず最後まで目を通していただいてありがとうございました

カラーコードを簡単に利用する方法

Google先生のお陰で、なんとGoogleの検索窓で簡単にカラーコードを利用できるようになりました。

 

CSS等々で利用するカラーコードを、色を見ながらコードを得られるわけです。

 

方法を簡単に解説しますと、Googleの検索バーに、まず、#000000と打ち込みましょうそうすればもう後は、感覚的に利用方法がわかると思います。

注意として、検索窓に打ち込むときは、半角にして下さい。

f:id:rewritemath:20170212192714p:plain

ぜひお試しあれ。

浮かむ瀬の導入

浮かむ瀬

現状のフリーソフトでおそらく最強なのは浮かむ瀬です。検討のお供に心強いです。

 

そしてもう一つ特筆すべき点があるとするなら、作者の平岡さんの、導入のための解説が丁寧だってことでしょうか。

 

他にも、フリーで公開された初めての電王戦出場ソフトが、この浮かむ瀬の前のバージョンになります。とかとか。

 

正直言って、作者の平岡様の解説が丁寧ですので、私の出る幕がありません。

 

浮かむ瀬=Aperyです

 

とだけ言っておけば僕の役割はおしまいですね。リンクだけ貼ります。

 

いいコンピュータ将棋ライフを。

 

Aperyの使い方

チューリングテスト再考(課題で書いた論文の公開)

 

チューリングテスト再考

知性の定義の方法と必要性

 

  •  動機、この論文について
  • 第一章
  • 生物学的分類、ヒトと、知性についての考察
  • 第二章哲学的観点からの考察
  • 第二章第一節
  • スワンプマン(引用:wikipedia
  • 第二章第二節哲学的ゾンビ
  • 第二章第三節人体の構成と自己同一性の観測(テセウスの船)
  • 第三章知性の定義の必要性
  • 第四章チューリングテストにおける観測の手法 
  • 第四章第一節
  • テストの前提
  • 第四章第二節人間とコンテストを行う方式についての考察
  • 第四章第三節コンテストのルール
  • 第五章知性の実態
  • 第六章意識の存在
  • 第七章ニューラルネットによる脳のモデリングの最新研究
  • まとめ
  • 出典、引用先、注意
続きを読む

高校生が人工知能とかチューリングテストについて学校の課題でちょこっとだけ書いた

学校の課題で論文を書きました。

 

論文と言っても、殆どの人は、なかなか書けないものだと思います。高校生ならなおさらです。

 

 

でも、私は、普段から考えていることが結構論文のネタになるようなことなので、苦痛とかはなかったですね。

 

もしよろしかったら、誰か、僕の論文についてなんか意見とか出してくれたら嬉しいな~とかいう、不順な動機でこれを公開します。

 

続きを読む

やねうら王からはじめるコンピュータ将棋ライフ-Part4-やねうら王に定跡を入れよう。

定跡の入れ方をずーっっと放置していました。待ってくださっていた方がいたらごめんなさい。

 

 

今回は簡単なんでサクサク行きますよ。

続きを読む

けものフレンズは何故ここまで放歌的なファンを生み出せるのか

けものフレンズシリーズ第二回

けものフレンズが人気ですね。そして、その御蔭で日本が一部平和になっています。

わーい!たーのしー!ブログを読むのが得意なフレンズなんだね!

コメントが放歌的な雰囲気で満たされるのを楽しみにしております(わーい)

さて、この風潮は喜ばしいことです。個人的に喜ばしいと思っています。

 

人の個性を尊重したり、人を肯定的に捉えたり、ポジティブに物事を捉えたり。

 

そういった空気が広まっていくのは本当に良いことだと思います。

続きを読む