Skip to content

Commit

Permalink
Write changelog for v0.19.0-rc1 (#484)
Browse files Browse the repository at this point in the history
  • Loading branch information
mooskagh authored Nov 3, 2018
1 parent 7f1dfb8 commit 43e6764
Showing 1 changed file with 110 additions and 0 deletions.
110 changes: 110 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -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)
~~~~~~~

Expand Down

0 comments on commit 43e6764

Please sign in to comment.