■きのあ将棋について ○作成 :2019/03/31 山田 元気 ...過去のものを元に作成。 ○追記 :2019/05/19 山田 元気 ...追記(2019年コンピュータ将棋選手権の直前に試したことの例)。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ●2019年コンピュータ将棋選手権の直前に試したことの例1 誤差関数に違いを持たせて機械学習した評価関数を合議することで勝率上昇を確認したためこれを採用した。 下記に、実験の一部を抜粋します。 ケース 検証日時 検証数 勝率 単体1 2019/04/28 17:07 400回 34.0% 単体2 2019/04/28 17:31 400回 43.5% 単体3 2019/04/28 17:55 400回 44.0% 1〜3の合議 2019/04/28 18:21 400回 54.3% 合議の方法として、平均、中央値、それらの組合せなどを試した。 この結果はっきりと差異が分からなかったため、選手権では簡易な平均による合議結果を採用。 ※選手権では「誤差関数」と「若干の評価関数の差異」に違いのある7つの評価関数による合議を採用。 ●2019年コンピュータ将棋選手権の直前に試したことの例2 きのあ将棋サイトによるgood/bad投稿のデータを元に評価関数の機械学習を実施。 これを元に、下記の対局をする実験を行った。 ・good/bad評価1手読み vs good/bad評価1手読み ・good/bad評価1手読み vs ランダム指し ※定跡はon。ただし、ランダムで定跡から外れる。 これにより「good/bad評価1手読み vs ランダム指し」にて、下記の状況を確認した。 ・誤差関数が収束する傾向 (当たり前ではあるけれど収束しないと機能していないと言える) ・双方の駒あたりを放置し、駒あたりが発生する状況を好む ・非常に弱いものの「ランダム指し」には勝つ傾向 (ユーザさんは勝った将棋にgoodを押す傾向があるため) ※実験による生成した棋譜を付録として、本資料末に追加しました。 より詳細な実験/検証は、よりデータが集積されてから再実施したいと考えています。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ●きのあ将棋の特徴 1手ごと思考エンジンを実行し、次の着手を思考する方法を採用しています。(2011年採用) ・この方法のメリット →1台のマシンで沢山の相手と対局する際にて、コンピュータ資源の節約。 →思考プログラムの実行を管理しやすくなる。など。。 ・この方法のデメリット →前回の思考時のハッシュの利用ができなくなる。 →相手の思考時間を有効利用できない。など。。 ●使用ライブラリなど 現在のところ過去においても将棋ライブラリの利用ならびに利用予定なし。 他プログラム(手作成も含め)の評価値や読み筋、定跡データなどの利用もなし。 プロ棋士の棋譜データの利用のみあり。(椿原チーム様から。椿原チーム様ありがとうございます) とはいえ研究開発を汎用化/効率化の目的から、きのあ将棋/囲碁で汎用ライブラリを利用。 ●評価について ここ数年と同じく、 ・置換テーブルの値を元に、乗算、加算の単純な繰り返しで評価関数を構築を模索。 ・ニューラルネットワークの考え方と独自のやり方のマージした方法を模索。 ●機械学習について 「2の倍数固定値方式」や「ミニバッチのサイズ」などで、 数時間あるいは10分以内に収束するような簡易モデルで実験を繰り返して模索を繰り返しています。 ●強さとは別に UI、時間、待った、手数、初期局面、結果などと、good/bad投稿を 元にどういう内容がユーザさん満足度が高いかを本格的に研究を進めています。 10近く前?にも同じような研究を進めていましたが、 今回は汎用的な仕組みで、囲碁やその他にも共通で組み込める仕組みで分析システム構築を進めています。 また、good/badデータを元に ユーザさんの満足度が上がるような評価関数を機械学習できるように研究を進めているのと、 そのgood率が高い局面とは何か、先後入れ替えても同じく高いと言えるのか(対称性の問題)などに興味があります。 現在の段階は、汎用的な仕組みでデータ集積段階で、 単純な統計分析でどのようなUIや、どのような利用方法が満足度が高くなるのかを分析している段階です。 5月までにデータ集積が間に合い、体力的余力があれば、 本項あるいは、きのあ将棋サイト上にてレポートを公開したいと思います。 ●きのあ将棋サイト https://syougi.qinoa.com/ja/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ●付録1  先手:good/bad学習  後手:ランダム指し のcsa形式棋譜 (生成2019/05/02) +7776FU,'* 0 #0 -3334FU,'* 0 #0 +2726FU,'* 0 #0 -5354FU,'* 0 #0 +3948GI,'* 0 #0 -2233KA,'* 0 #0 +5968OU,'* 0 #0 -8222HI,'* 0 #0 +8844KA,'* 715 #0 -7374FU,'* 1 #-1 +4435KA,'* 1258 #0 -9192KY,'* 1 #-1 +2818HI,'* 1702 #0 -2212HI,'* 1 #-1 +3553UM,'* 1698 #0 -7182GI,'* 1 #-1 +8786FU,'* 1731 #0 -1242HI,'* 1 #-1 +5352UM,'* 1714 #0 -5152OU,'* 1 #-1 +4746FU,'* 1636 #0 -0045KA,'* 1 #-1 +9998KY,'* 1711 #0 -3377UM,'* 1 #-1 +6858OU,'* 1120 #0 -6151KI,'* 1 #-1 +5847OU,'* 1457 #0 -8271GI,'* 1 #-1 +3736FU,'* 1362 #0 -5261OU,'* 1 #-1 +8685FU,'* 1708 #0 -4344FU,'* 1 #-1 +2625FU,'* 1948 #0 -5455FU,'* 1 #-1 +2937KE,'* 2244 #0 -4132KI,'* 1 #-1 +6766FU,'* 2752 #0 -7799UM,'* 1 #-1 +6959KI,'* 2326 #0 -9394FU,'* 1 #-1 +6665FU,'* 2637 #0 -4272HI,'* 1 #-1 +7988GI,'* 2526 #0 -3243KI,'* 1 #-1 +8887GI,'* 2738 #0 -1314FU,'* 1 #-1 +8977KE,'* 3043 #0 -3132GI,'* 1 #-1 +5756FU,'* 3072 #0 -7252HI,'* 1 #-1 +7675FU,'* 2668 #0 -8193KE,'* 1 #-1 +4645FU,'* 2102 #0 -6364FU,'* 1 #-1 +0024KA,'* 2715 #0 -9998UM,'* 1 #-1 +6564FU,'* 2386 #0 -0027KY,'* 1 #-1 +1828HI,'* 3424 #0 -9887UM,'* 1 #-1 +9796FU,'* 3356 #0 -0082GI,'* 1 #-1 +9695FU,'* 3027 #0 -4354KI,'* 1 #-1 +3635FU,'* 3097 #0 -8765UM,'* 1 #-1 +9594FU,'* 2825 #0 -3233GI,'* 1 #-1 +9493TO,'* 3428 #0 -5212HI,'* 1 #-1 +9382TO,'* 4702 #0 -1415FU,'* 1 #-1 +0072GI,'* 5619 #0 -1272HI,'* 1 #-1 +8272TO,'* 5132 #0 -7172GI,'* 1 #-1 +6463TO,'* 4747 #0 -0046GI,'* 1 #-1 +4746OU,'* 4833 #0 -0068FU,'* 1 #-1 +6362TO,'* 6826 #0 -6162OU,'* 1 #-1 +0058GI,'* 5398 #0 -0091FU,'* 1 #-1 +5655FU,'* 5922 #0 -3435FU,'* 1 #-1 +0039FU,'* 5894 #0 -5453KI,'* 1 #-1 +5554FU,'* 5747 #0 -4445FU,'* 1 #-1 +3745KE,'* 4913 #0 -0041FU,'* 1 #-1 +0026HI,'* 4756 #0 -3334GI,'* 1 #-1 +0063KE,'* 4456 #0 -7261GI,'* 1 #-1 +7574FU,'* 5286 #0 -5343KI,'* 1 #-1 +3938FU,'* 5161 #0 -0055FU,'* 1 #-1 +4839GI,'* 5406 #0 -5142KI,'* 1 #-1 +2818HI,'* 4400 #0 -3536FU,'* 1 #-1 +2627HI,'* 4767 #0 -9299NY,'* 1 #-1 +2435KA,'* 4540 #0 -4353KI,'* 1 #-1 +3526KA,'* 4761 #0 -6587UM,'* 1 #-1 +4647OU,'* 4331 #0 -1516FU,'* 1 #-1 +0069FU,'* 5170 #0 -6152GI,'* 1 #-1 +2524FU,'* 4728 #0 -3425GI,'* 1 #-1 +2635KA,'* 4669 #0 -8786UM,'* 1 #-1 +3546KA,'* 4852 #0 -8664UM,'* 1 #-1 +7473TO,'* 4539 #0 -6261OU,'* 1 #-1 +0062KY,'* 999999 #0 %TORYO ●付録2  先手:good/bad学習  後手:ランダム指し のcsa形式棋譜2 (生成2019/05/02) +7776FU,'* 0 #0 -8384FU,'* 0 #0 +8844KA,'* 564 #0 -6152KI,'* 1 #-1 +4453UM,'* 788 #0 -6364FU,'* 1 #-1 +5756FU,'* 1200 #0 -9192KY,'* 1 #-1 +5655FU,'* 1559 #0 -7162GI,'* 1 #-1 +5364UM,'* 1625 #0 -4132KI,'* 1 #-1 +7675FU,'* 2044 #0 -2324FU,'* 1 #-1 +3736FU,'* 1815 #0 -3334FU,'* 1 #-1 +2937KE,'* 1870 #0 -3435FU,'* 1 #-1 +8977KE,'* 2070 #0 -8485FU,'* 1 #-1 +7785KE,'* 2318 #0 -3233KI,'* 1 #-1 +6454UM,'* 2273 #0 -8284HI,'* 1 #-1 +8786FU,'* 2498 #0 -5141OU,'* 1 #-1 +3635FU,'* 2806 #0 -9394FU,'* 1 #-1 +7978GI,'* 2306 #0 -8483HI,'* 1 #-1 +8593KE,'* 2060 #0 -8384HI,'* 1 #-1 +7574FU,'* 2642 #0 -9495FU,'* 1 #-1 +9796FU,'* 2640 #0 -8482HI,'* 1 #-1 +7473TO,'* 2782 #0 -3132GI,'* 1 #-1 +0079FU,'* 3067 #0 -8173KE,'* 1 #-1 +9381NK,'* 1968 #0 -6253GI,'* 1 #-1 +7887GI,'* 1519 #0 -3344KI,'* 1 #-1 +2898HI,'* 1369 #0 -4151OU,'* 1 #-1 +5472UM,'* 1970 #0 -9293KY,'* 1 #-1 +7282UM,'* 1824 #0 -3223GI,'* 1 #-1 +0033HI,'* 1657 #0 -2334GI,'* 1 #-1 +3334RY,'* 1753 #0 -0085FU,'* 1 #-1 +0023GI,'* 1909 #0 -4445KI,'* 1 #-1 +5554FU,'* 2497 #0 -2133KE,'* 1 #-1 +3445RY,'* 2667 #0 -8586FU,'* 1 #-1 +5453TO,'* 3277 #0 -3325KE,'* 1 #-1 +3725KE,'* 3503 #0 -0078FU,'* 1 #-1 +0056GI,'* 4160 #0 -5262KI,'* 1 #-1 +0015KE,'* 4332 #0 -2255KA,'* 1 #-1 +0029KI,'* 4817 #0 -5599UM,'* 1 #-1 +4565RY,'* 4779 #0 -0091KY,'* 1 #-1 +8272UM,'* 4807 #0 -9394KY,'* 1 #-1 +7271UM,'* 4994 #0 -9922UM,'* 1 #-1 +0055FU,'* 5151 #0 -1314FU,'* 1 #-1 +2513NK,'* 4770 #0 -6252KI,'* 1 #-1 +6561RY,'* 999999 #0 %TORYO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End