![image](https://user-images.githubusercontent.com/48946947/96442193-02738f00-120b-11eb-8dbe-454d2c1b843c.png)
This is a pre-release intended to crowd-source the testing and refining of a new AI option.
Specifically it includes some AI options that are intended to play in a 'simple' way, but still leverage the full power of KataGo, avoiding some of the blind spots that the policy based AIs have.
As a little extra, it also has support for KataGo's latest feature for reporting back partial analysis queries, so the feedback during analysis should be a lot more responsive.
AI Options
The new options are:
* **Simple style**: cares about all territory, preferring moves which clearly take or solidify own territory, even if this also solidifies the opponents territory.
* **Settle style**: Similar, but only cares for stones, see issue 215 for details.
I am mainly interested in people's experience in how these AIs play, which one is nicer to play against, and any weird behaviour they exhibit.
Giving feedback
Any reports of experimenting with the settings is useful. You can add your experiences to [this issue](https://github.com/sanderland/katrain/issues/220).
* Useful: Feedback on which settings are more enjoyable to play against over the span of one or more games
* Useful: Estimates of playing strenght at different settings (e.g. I am 1 dan and found these settings to give me a good opponent), or self-play experiments.
* Useful: Suggestions for improvment to the move selection.
* OK: Situations with huge blunders which destroy enjoyment, such as inappropriate passing, saved with full SGF ('ai thoughts') output.
* OK: Sharing games which you found particularly enjoyable or interesting.
* Less useful: Finding individual situations in which you find the move chosen to be 'not simple'.
In terms of calibrating the strength, these settings are expected to be most important:
* `max_points_lost` - A higher value will be weaker, and a very low value reverts back to normal KataGo behaviour.
* `settled_weight` - A higher value will be weaker, but play more strongly according to the style
* `wide_root_noise` (in engine settings) - A higher value (of 0.02-0.05) will return more candidate moves, giving more opportunities to prefer the simple style, but also increase the chance of blunders.
* `max_visits` (in engine settings) - more visits, more options, more likely to find a move appropriate to the style.
Fun experiments
For additional fun experiments, note:
* A negative `settled_weight` will prefer unsettledness, leading to complicated positions
* A positive `settled_weight` with a higher negative `opponent_fac` will prefer unsettledness of the opponent, leading to invasions.
Attachment and tenuki penalties can also be negative or zero to make these moves prefered instead of avoided.
These kind of inverse settings are not the focus of this release, but feel free to share interesting games along with their settings.
Installation
**Note that these AIs require features of KataGo which are not in the last release, so you need to use either the built-in opencl katago provided (which is up-to-date) or compile from source yourself.**
* For windows, just download and run the attached .exe, or download the .zip and run KaTrain.exe (which is faster to start)
* For linux, note that this release has not been uploaded to PyPi, but you can run the following to install it:
* `pip install https://github.com/sanderland/katrain/archive/v1.5.1.zip`
* Alternatively for running it without installation, you can `git clone` the branch and run it [as usual](https://github.com/sanderland/katrain/blob/master/INSTALL.md) with `python -m katrain`
* The included opencl KataGo is updated for linux to include the latest unreleased fetures.
* For MacOS, follow the linux instructions, and compile KataGo's master branch from source.