This commit is contained in:
Sander Land committed 2020-05-30 19:43:42 +02:00
1 parent 42b1df2015
commit 26bca7e348
9 files changed
+55 -66

No files matched your search

+39 -62
View File
@@ -53,52 +53,59 @@ on the board or not output details for them in SGFs,you can do so under 'Configu
#### AIs
Available AIs, with strength indicating an estimate for the default settings based on their current OGS rankings, are:
This section describes the available AIs, with strength based on their current OGS rankings using the default settings.
* Recommended options for serious play include:
* **[9p+]** **KataGo** is full KataGo, above professional level.
* <font color="#336699">**[~5k]** **ScoreLoss**</font> is KataGo making moves with probability `~ e^(-strength * points lost)`, playing a varied style with small mistakes.
* **Jigo** is KataGo aggressively making weaker moves, attempting to win by 0.5 points.
* **[~4d]** **Policy** uses the top move from the policy network (it's 'shape sense' without reading), should be around high dan level depending on the model used. There is a setting to increase variety in the opening, but otherwise it plays deterministically.
* **(RECOMMENDED)** **[~3k]**: **P:Weighted** picks a random move weighted by the policy,
as long as it's above `lower_bound`. Increasing `weaken_fac`, increases the chance for weaker moves.
* **[~7k]**: **P:Pick** picks `pick_n + pick_frac * <number of legal moves>` moves at random,
and play the best move among them.
* **[~3k]** **ScoreLoss** is KataGo analyzing as usual, but
choosing from potential moves depending on the expected score loss, leading to a varied style with mostly small mistakes.
* **[~4d]** **Policy** uses the top move from the policy network (it's 'shape sense' without reading).
* **[~5k]**: **Policy Weighted** picks a random move weighted by the policy, leading to a varied style with mostly small mistakes, and occasional blunders due to a lack of reading.
* **[~8k]**: **Blinded Policy** picks a number of moves at random and play the best move among them, being effectively 'blind' to all moves not picked.
The setting `pick_override` determines the minimum value at which this process is bypassed to play the best move instead, preventing obvious blunders.
This, along with 'ScoreLoss' and 'Weighted' are probably the best choice for kyu players who want a chance of winning without playing the sillier bots below. Variants of this strategy include:
* **[~3k]**: **P:Local** will pick such moves close to the last move. The setting `local_stddev` determines how close.
* **[~5k]**: **P:Tenuki** is biased in the opposite way as P:Local, using the same setting. After about half the board is filled, it stops and plays like P:Pick.
* **[~6k]**: **P:Influence** is biased towards 4th+ line moves, with every line below that dividing both the chance
of considering the move and the policy value by `influence_weight`. Consider setting `pick_frac=1.0` to only affect the policy weight.
* **[~8k]**: **P:Territory** is biased in the opposite way, towards 1-3rd line moves, using the same setting.
Both of these also stop the strategy in endgame and revert to P:Pick.
* Options that are more on the 'fun and experimenta' side include:
* **KataJigo** is KataGo aggressively making weaker moves, attempting to win by 0.5 points.
* Variants of **Blinded Policy**, which use the same basic strategy (only before the endgame):
* **[~5k]**: **Local Style** will consider mostly moves close to the last move.
* **[~8k]**: **Tenuki Style** will consider mostly moves away from the last move.
* **[~8k]**: **Influential Style** is biased towards 4th+ line moves, with every line below that
reducing both the chance of considering the move and the policy value.
* **[~5k]**: **P:Territory** is biased in the opposite way, towards 1-3rd line moves.
The Engine based AIs (Default, ScoreLoss, Balance, Jigo) are affected by both the model and choice of max_visits/max_time,
while the Policy net based AIs (Policy, P:...) are affected by the choice of model file, but work identically with 'max_visits' set to 1.
The Engine based AIs (KataGo, ScoreLoss, KataJigo) are affected by both the model and choice of visits and maximum time,
while the policy net based AIs are affected by the choice of model file, but work identically with 1 visit.
Regardless of the AI chosen, the analysis and feedback given is always based on the full KataGo AI.
### Analysis
AI moves, teaching mode and timers are suspended in analysis mode,
although analysis options are always available, some information is hidden if the 'Disable analysis while in play mode' is selected.
Keyboard shortcuts are shown with **[key]**.
* The checkboxes configure:
* **[q]**: Child moves are shown. On by default, can turn it off to avoid obscuring other information or when wanting to guess the next move.
* **[w]**: All dots: Show all evaluation dots instead of the last few.
* You can configure how many are shown with this setting off, and whether they are shown for AIs under 'Play/Configure Teacher'.
* The checkboxes at the top of the screen:
* **[q]**: Child moves are shown. On by default, can turn it off to avoid obscuring other information or when
wanting to guess the next move.
* **[w]**: Show all dots: Show all evaluation dots instead of the last few.
* You can configure how many are shown with this setting off, and whether they are shown for AIs under 'Configure Teacher'.
* **[e]**: Top moves: Show the next moves KataGo considered, colored by their expected point loss. Small dots indicate high uncertainty. Hover over any of them to see the principal variation.
* **[r]**: NN Policy: Show KataGo's policy network evaluation, i.e. where it thinks the best next move is purely from the position, and in the absence of any 'reading'.
* **[t]**: Show owner: Show expected ownership of each intersection.
* **[r]**: Policy moves: Show KataGo's policy network evaluation, i.e. where it thinks the best next move is purely from the position, and in the absence of any 'reading'.
* **[t]**: Expected territory: Show expected ownership of each intersection.
* The analysis options are used for deeper evaluation of the position:
* **[a]**: Extra: Re-evaluate the position using more visits, usually resulting in a more accurate evaluation.
* **[s]**: Equalize: Re-evaluate all currently shown next moves with the same visits as the current top move. Useful to increase confidence in the suggestions with high uncertainty.
* **[d]**: Sweep: Evaluate all possible next moves. This can take a bit of time even though 'fast_visits' is used, but the result is nothing if not colourful.
* The analysis options available under the 'Analysis' button are used for deeper evaluation of the position:
* **[a]**: Deeper analysis: Re-evaluate the position using more visits, usually resulting in a more accurate evaluation.
* **[s]**: Equalize visits: Re-evaluate all currently shown next moves with the same visits as the current top move. Useful to increase confidence in the suggestions with high uncertainty.
* **[d]**: Analyze all moves: Evaluate all possible next moves. This can take a bit of time even though 'fast_visits' is used, but can be useful to see how many reasonable next moves are available.
* **[enter]** AI move. Makes the AI move for the current player regardless of current player selection.
## Keyboard and mouse shortcuts
In addition to shortcuts mentioned above, there are:
In addition to shortcuts mentioned above and those shown in the main menu:
* **[Tab]**: to switch between analysis and play modes.
* **[~]** or **[`]** or **[m]**: Hide side panel UI and only show the board.
* **[enter]**: AI Move
* **[Shift]**: Open the main menu.
* **[Tab]**: Switch between analysis and play modes.
* **[~]** or **[`]** or **[m]**: Toggles only showing the board.
* **[p]**: Pass
* **[spacebar]**: Pause/Resume timer
* **[arrow up]** or **[z]**: Undo move. Hold shift for 10 moves at a time, or ctrl to skip to the start.
@@ -109,37 +116,6 @@ In addition to shortcuts mentioned above, there are:
* **[double-click on a move]**: Navigate directly to that point in the game.
* **[Ctrl-V]**: Load SGF from clipboard and do a 'fast' analysis of the game (with a high priority normal analysis for the last move).
* **[Ctrl-C]**: Save SGF to clipboard.
* **[Ctrl-L]**: Load SGF from file and do a normal analysis.
* **[Ctrl-S]**: Save SGF with automated review to file.
* **[Ctrl-N]**: Load SGF from clipboard
* **[F5]**: Open general settings
### Settings Panel
* engine settings
* These settings can be updated anytime:
* max_visits: The number of visits used in analyses and AI moves, higher is more accurate but slower.
* max_time: Maximal time in seconds for analyses, even when the target number of visits has not been reached.
* fast_visits: The number of visits used for certain operations with fewer visits.
* wide_root_noise: Consider a wider variety of moves, using KataGo's `analysisWideRootNoise` option. Will affect both analysis and AIs such as ScoreLoss. (KataGo 1.4+ only, keep at 0.0 otherwise)
* These settings cause the engine to be restarted:
* katago: Path to your KataGo executable. If blank, as is the default, uses the included binaries on windows/linux, or 'katago' on MacOS (which assumes you have installed KataGo yourself).
* model: Path to your KataGo model file. Note that the default model file included is an older 15 block one for high speed and low memory requirements. Replace it with a new model from [here](https://github.com/lightvector/KataGo/releases) for maximal strength.
* config: Path to your KataGo config file.
* threads: Number of threads to use in the KataGo analysis engine.
* game settings
* init_size: the initial size of the board, on start-up.
* init_komi: likewise, for komi.
* sgf settings
* sgf_load: default path where the load SGF dialog opens.
* sgf_save: path where SGF files are saved.
* board_ui settings
* anim_pv_time: time in seconds between each stone when animating variations.
* eval_dot_max_size: size of coloured dots when point size is maximal, relative to stone size.
* eval_dot_min_size: size of coloured dots when point size is minimal
* ... various other minor cosmetic options.
* debug settings
* level: determines the level of output in the console, where 0 shows no debug output, 1 shows some and 2 shows a lot. This is mainly used for reporting bugs.
## FAQ
@@ -147,6 +123,7 @@ In addition to shortcuts mentioned above, there are:
* Adjust the number of visits or maximum time allowed in the settings.
* KataGo crashes with out of memory errors, how can I prevent this?
* Try using a lower number for `nnMaxBatchSize` in `KataGo/analysis_config.cfg`, and avoid using versions compiled with large board sizes.
* If still encountering problems, please start KataGo by itself to check for any errors it gives.
* How can I play on larger boards?
* For windows, change the `katago` setting to `katrain\KataGo\katago-bs52.exe`. For other operating systems, you need to compile your own KataGo version with higher limits.
+1 -1
View File
@@ -3,7 +3,7 @@ from kivy.config import Config # isort:skip
ICON = "img/icon.png" # isort:skip # set icon
Config.set("kivy", "window_icon", ICON) # isort:skip # set icon
Config.set("input", "mouse", "mouse,multitouch_on_demand") # isort:skip # no red dots on right click
Config.set("graphics", "width", 1400)
Config.set("graphics", "width", 1300)
Config.set("graphics", "height", 1000)
+4 -3
View File
@@ -450,7 +450,7 @@
font_size: root.marker_font_size
color: SCORE_COLOR
pos: root.right_edge - self.width-1, root.mid - self.height/2 + 2
text: 'Jigo'
text: i18n._('Jigo')
opacity: int(root.show_score)
GraphMarkerLabel:
font_size: root.marker_font_size
@@ -995,14 +995,15 @@
AnalysisControls:
id: analysis_controls
size_hint_y: None
height: min(100,self.width / 13.5) if not root.zen else 0
height: min(100,self.width / 13.5) if not root.zen else 1
opacity: 0 if root.zen else 1
BadukPanWidget:
id: board_gui
BadukPanControls:
id: board_controls
size_hint_y: None
height: min(100,self.width / 13.5)
height: min(100,self.width / 13.5) if not root.zen else 1
opacity: 0 if root.zen else 1
MDBoxLayout:
size_hint_x: None
width: 0 if root.zen else self.height * 0.4
Binary file not shown.
@@ -134,6 +134,10 @@ msgstr "Notes"
msgid "closedlabel:scoregraph"
msgstr "Score Graph"
#. on the graph
msgid "Jigo"
msgstr "Jigo"
msgid "closedlabel:movestats"
msgstr "Move Stats"
Binary file not shown.
@@ -515,3 +515,6 @@ msgstr "ㅋㅋPass"
msgid "move"
msgstr "ㅋㅋMove"
msgid "Jigo"
msgstr "ㅋㅋJigo"
Binary file not shown.
@@ -652,3 +652,7 @@ msgstr "Advanced AI Settings"
#. TODO
msgid "move"
msgstr "Move"
#. TODO
msgid "Jigo"
msgstr "Jigo"