diff --git a/.gitignore b/.gitignore index 68cad01e7..a9fa8776b 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,7 @@ bld/ # Visual Studio 2015 cache/options directory .vs/ +enc_temp_folder # MSTest test Results [Tt]est[Rr]esult*/ diff --git "a/docs/\346\233\264\346\226\260\345\261\245\346\255\264.txt" "b/docs/\346\233\264\346\226\260\345\261\245\346\255\264.txt" index 41ebda359..38e7e60f4 100644 --- "a/docs/\346\233\264\346\226\260\345\261\245\346\255\264.txt" +++ "b/docs/\346\233\264\346\226\260\345\261\245\346\255\264.txt" @@ -2,14 +2,42 @@ やねうら王 更新履歴 +■ 2017/05/17 V4.58 + +・lanceEffect()はrookFileEffect()を使うように変更。 +・飛車の利きを求めるための利きテーブルを無くした。 +・飛車の利き用のテーブルさらに小さくした。 +・角の利き用のテーブル小さくした。 +・working memory、だいぶ減ったかも。置換表を小さくすればいままでせ動かなかったスマホでも動くかも。 + + +■ 2017/05/16 + +・Learner::search、max_game_plyの値を変更しないようにした。 +・Limits.max_game_plyに一本化していたの、やめた。 +・MaxMovesToDrawを0に設定されたとき内部的にINT_MAXにしていたの、100000に変更。 +・is_ready()のなかでSignals.stopなどの変数を初期化するように変更。 +・Stockfish + - Execute an implied ucinewgame at startup +・position::gives_check() リファクタリング。 +・position.cpp reformatting +・ベンチマークだけTEST_CMDから移動させる。これは常に必要。 +・reformatting position.h +・step effectリファクタリング +・Position::attackers_to()、高速化。 +・prefetch()にassert追加。 +・NextSquareテーブル、u8に変更。 +・mate1ply_without_effect.cpp reformatting +・pawnEffect(Color,Bitboard)追加。Shift<>(Bitboard)削除。 +・歩の打てるところを調べるコード、テーブルを2つに分割。先後の区別なしにする。 +・Bitboard(u64,u64)のSSE2用コードを追加。 + + ■ 2017/05/15 V4.57 ・検討モード用の読み筋出力として、ConsiderationMode "検討モード用のPV出力" を用意。 ・テスト用に"test search"コマンド追加。 ・SILVER_HDK、GOLDS_HDK追加。 -・Learner::search、max_game_plyの値を変更しないようにした。 -・Limits.max_game_plyに一本化していたの、やめた。 -・MaxMovesToDrawを0に設定されたとき内部的にINT_MAXにしていたの、100000に変更。 ■ 2017/05/14 V4.56 diff --git "a/docs/\351\226\213\347\231\272\343\203\241\343\203\2422017.txt" "b/docs/\351\226\213\347\231\272\343\203\241\343\203\2422017.txt" index 22c714518..d81b6c976 100644 --- "a/docs/\351\226\213\347\231\272\343\203\241\343\203\2422017.txt" +++ "b/docs/\351\226\213\347\231\272\343\203\241\343\203\2422017.txt" @@ -5,11 +5,113 @@ - PPAP評価関数 - FP型(2GB) - SP型(6GB) + - EP型(16GB) - elmoの学習ルーチン、取り込む。 -- 読み太のソースコード調査する。 + + +## 2017/05/17 + +- lazySMPで4コアのときに8Tと4Tとどちらがいいか微妙。計測したほうがいいような。 + + +・角のテーブル小さくすることを考えたほうがいいかも。 + - した + +Nodes/second : 816502 +Nodes/second : 822704 + // 変わらないのでこれでいく。 + +Total time (ms) : 31455 +Nodes searched : 107911684 +Nodes/second : 3430668 +Nodes searched(main thread) : 13632956 +Nodes/second (main thread) : 433411 + + +・飛車のテーブルさらに小さくした。 +Nodes searched : 20361112 +Nodes/second : 823136 +// SSE4.1 +Nodes/second : 689646 + +・飛車のテーブルさらに小さくした。 +Nodes/second : 820384 + +・角と飛車のテーブル、大きいのでなんとかする。この変なテーブル使うのやめる。 + 角はそんなに大きくないのか。飛車をまずなんとかする。 + + 飛車のテーブル消したが、ほぼ速度変わらない。 + Nodes/second : 811652 + Nodes/second : 816927 + +Total time (ms) : 24635 +Nodes searched : 84955436 +Nodes/second : 3448566 +Nodes searched(main thread) : 10999930 +Nodes/second (main thread) : 446516 + + +・lanceEffect()はrootFileEffect()を使うように変更。 + +// 8T +Total time (ms) : 13327 +Nodes searched : 46596805 +Nodes/second : 3496421 +Nodes searched(main thread) : 5807426 +Nodes/second (main thread) : 435763 + +Total time (ms) : 18130 +Nodes searched : 63283390 +Nodes/second : 3490534 +Nodes searched(main thread) : 7985854 +Nodes/second (main thread) : 440477 + + +- 歩の打てるところを調べるコード、テーブルを2つに分割。先後の区別なしにする。 + +- pawnEffect(Color,Bitboard)追加。Shift<>(Bitboard)削除。 + +- NextSquareテーブル、 u8に変更。 +Nodes/second : 829271 +// ほぼ変わらず + ## 2017/05/16 +・Moveのdropのときのfrom、SQ_NB + Pieceにしたほうが使い勝手が良いのでは…。 + Piece自体はmoved_piece_after()で取得できるわけで…。 +// 善悪微妙なのでこの改造はいいや。 + +- attackers_to()改良。 + +Nodes searched : 20361112 +Nodes/second : 825004 +// ほぼ変わらず。 + +・reformatting position.h + +・玉以外SQ_NBに移動させることはないので、ここの利きとか配列、不要。 + → 王手になる指し手を生成するために王(SQ_NB)からの利きを見るので、そう簡単でもないのか。 + +・ベンチマークだけTEST_CMDから移動させる。これは常に必要。 + + +・position::gives_check() リファクタリング。 +共通化できて、少し速くなった。(かも) + + +・EVAL_LEARN、オフにしたほうが高速化する気がする。余計なコードが減って、コードが詰められるからか? +Nodes searched : 20361112 +Nodes/second : 831473 +test cmdもなくしたほうが速くなるかも知れないが、benchコマンドもなくなるのでテストできなくなる。 + +・Stockfish + - Execute an implied ucinewgame at startup + - 将棋だとusinewgameではなくisreadyに対して初期化しているのでそちらのコードを整理。 + +・Learner::search、max_game_plyの値を変更しないようにした。 +・Limits.max_game_plyに一本化していたの、やめた。 + // -- MAX_PLYに到達したかの判定が面倒なのでLimits.max_game_plyに一本化する。 // あとで戻す用 @@ -411,10 +513,15 @@ Nodes/second : 778821 int table[SQ_NB + 7][SQ_NB][COLOR_NB]; でいい。修正。 + - もしかして、positionクラスで、 Bitboard piece_bb[PIECE_TYPE_BITBOARD_NB][COLOR_NB]; 色別に持たないほうが良いのでは…。大改造になるが高速化のために変更してみる。 +Nodes searched : 20361112 +Nodes/second : 813598 +// 結果、変わらない気がする。 + - piece_bb[][]を直接参照しているところをPosition::pieces()経由でアクセスするように変更。 // 改良前 diff --git a/exe/2017Early/YaneuraOu-2017-early-nosse.exe b/exe/2017Early/YaneuraOu-2017-early-nosse.exe index 2118d0388..9d289ce27 100644 Binary files a/exe/2017Early/YaneuraOu-2017-early-nosse.exe and b/exe/2017Early/YaneuraOu-2017-early-nosse.exe differ diff --git a/exe/2017Early/YaneuraOu-2017-early-sse2.exe b/exe/2017Early/YaneuraOu-2017-early-sse2.exe index d9c9b9d84..c0eb74b42 100644 Binary files a/exe/2017Early/YaneuraOu-2017-early-sse2.exe and b/exe/2017Early/YaneuraOu-2017-early-sse2.exe differ diff --git a/exe/2017Early/YaneuraOu-2017-early-sse41.exe b/exe/2017Early/YaneuraOu-2017-early-sse41.exe index 7facb51e8..d3b810538 100644 Binary files a/exe/2017Early/YaneuraOu-2017-early-sse41.exe and b/exe/2017Early/YaneuraOu-2017-early-sse41.exe differ diff --git a/exe/2017Early/YaneuraOu-2017-early-sse42.exe b/exe/2017Early/YaneuraOu-2017-early-sse42.exe index 8fac0d78a..3e405b160 100644 Binary files a/exe/2017Early/YaneuraOu-2017-early-sse42.exe and b/exe/2017Early/YaneuraOu-2017-early-sse42.exe differ diff --git a/exe/2017Early/YaneuraOu-2017-early.exe b/exe/2017Early/YaneuraOu-2017-early.exe index a8cfce522..9284dae77 100644 Binary files a/exe/2017Early/YaneuraOu-2017-early.exe and b/exe/2017Early/YaneuraOu-2017-early.exe differ