From 43e67645e22d20166ae8357284929588a97bfc30 Mon Sep 17 00:00:00 2001 From: Alexander Lyashuk Date: Sat, 3 Nov 2018 19:46:17 +0300 Subject: [PATCH] Write changelog for v0.19.0-rc1 (#484) --- changelog.txt | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/changelog.txt b/changelog.txt index b44fe1ce35..bbf4629767 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,113 @@ +v0.19.0-rc1 (2018-11-03) +~~~~~~~~~~~ + +* Search algorithm changes + + When visiting terminal nodes and collisions, instead of counting that as one + visit, estimate how many subsequent visits will also go to the same node, and + do a batch update. + + That should slightly improve nps near terminal nodes and in multithread + configurations. Command line parameters that control that: + + --max-collision-events – number of collision events allowed per batch. + Default is 32. This parameter is roughly equivalent to + --allowed-node-collisions in v0.18. + + --max-collision-visits – total number of estimated collisions per NN batch. + Default is 9999. + +* Time management + + Multiple changes have been done to make Leela track used time more precisely + (particularly, the moment when to start timer is now much closer to the moment + GUIs start timer). + + For smart pruning, Leela's timer only starts when the first batch comes from + NN eval. That should help against instamoves, especially on non-even GPUs. + + Also Leela stops the search quicker now when it sees that time is up (it could + continue the search for hundreds of milliseconds after that, which caused time + trouble if opponent moves very fast). + + Those changes should help a lot in ultra-bullet configurations. + +* Better logging + + Much more information is outputted now to the log file. That will allow us to + easier diagnose problems if they occur. To have debug file written, add a + command line option: + + --logfile=/path/to/logfile + + (or short option "-l /path/to/logfile", or corresponding UCI option "LogFile") + + It's recommended to always have logging on, to make it easier to report bugs + when it happens. + +* Configuration parameters change + + Large part of parameter handling has been reworked. As the result: + + All UCI parameters have been changed to have more "classical" look. + E.g. was "Network weights file path", became "WeightsFile". + + Much more detailed help is shown than before when you run + ./lc0 --help + + Some flags have been renamed, e.g. + --futile-move-aversion + is renamed back to + --smart-pruning-factor. + + After setting a parameter (using command line parameter or uci setoption + command), uci command "uci" shows updated result. That way you can check the + current option values. + + Some command-line and UCI options are hidden now. Use --show-hidden command + line parameter to unhide them. E.g. + ./lc0 --show-hidden --help + + Also, in selfplay mode the per player configuration format has been changed + (although probably noone knew that anyway): + Was: ./lc0 selfplay player1: --movetime=14 + Became: ./lc0 selfplay --player1.movetime=14 + +* Other + + "go depth X" uci command now causes search to stop when depth information in + uci info line reaches X. Not that it makes much sense for it to work this way, + but at least it's better than noting. + + Network file size can now be larger than 64MB. + + There is now an experimental flag --ramlimit-mb. The engine tries to estimate + how much memory it uses and stops search when tree size (plus cache size) + reaches RAM limit. The estimation is very rough. We'll see how it performs and + improve estimation later. + In situations when search cannot be stopped (`go infinite` or ponder), + `bestmove` is not automatically outputted. Instead, search stops progress and + outputs warning. + + Benchmark mode has been implemented. Run run, use the following command line: + ./lc0 benchmark + This feature is pretty basic in the current version, but will be expanded later. + + As Leela plays much weaker in positions without history, it now is able to + synthesize it and do not blunder in custom FEN positions. There is a + --history-fill flag for it. Setting it to "no" disables the feature, setting + to "fen_only" (default) enables it for all positions except chess start + position, and setting it to "always" enables it even for startpos. + + Instead of output current win estimation as centipawn score approximation, + Leela can how show it's raw score. A flag that controls that is --score-type. + Possible values: + - centipawn (default) – approximate the win rate in centipawns, like Leela + always did. + - win_percentage – value from 0 to 100.0 which represents expected score in + percents. + - Q – the same, but scales from -100.0 to 100.0 rather than from 0 to 100.0 + v0.18.1 (2018-10-02) ~~~~~~~