2020-01-21 16:58:56 +01:00
2020-01-14 15:10:13 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2020-01-13 23:06:25 +01:00
2020-01-21 16:58:56 +01:00
2020-01-17 15:52:01 +01:00
2020-01-17 15:52:01 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2019-12-09 17:37:31 +01:00
2020-01-21 16:58:56 +01:00
2019-12-09 17:37:31 +01:00

Manual

Installation

  • pip install kivy
  • change the engine.command field in config.json to your kata installation (for example, to path/to/lizzie/katago/katago.exe)
  • start the app by running python katrain.py (or python3 if needed)

Options

  • Top row options

    • Eval: show the coloured dots on the moves for this player.
    • Hints: show suggested moves for this player.
    • Undo: automatically undo poor moves for this player and make them try again.
    • Lock AI: disallow extra undos, changing hints options, changing auto move, or AI move.
    • Show owner: show expected control of territory.
  • Temperature/Evaluation/Score: Not that these fields can be hidden by clicking on the text.

    • Temperature is the point difference between passing and the best move.
    • Evaluation is where on this scale the last move was, from 0% (equivalent to a pass) to 100% (best move). This can be < 0% in case of suicidal moves, or >100% when Kata did not consider the move before, or further analysis shows it to be better than the best one considered.
    • Score: Expected score.

Play

  • Play against the AI

    • Turn on auto move.
    • Choose whether to turn on balance score to make the AI play slack moves.
    • Choose whether to turn on undo for your colour to be prompted to re-try poor moves.
    • Choose whether or not to turn on fast to make the AI play faster but read less deeply (NB: with balance score, faster AI can be a stronger opponent, as there are fewer mediocre moves considered).
    • Possibly lock AI to prevent yourself from peeking at hints, etc.
    • Possibly hide score or temperature.
    • Possibly hide evaluation for the AI player.
    • Play by playing a move or clicking AI move if you want white.
  • Engine-assisted play

    • Turn off auto move.
    • Choose whether to turn on undo for either colour to be prompted to re-try poor moves.
    • Possibly lock AI to prevent peeking at hints.
    • Possibly hide score or temperature.
    • Play with a friend with instant feedback and/or undos for both, or see how many stones stronger you are with one undo. (But please play unranked and be honest to your opponent on what you're doing)
  • Analysis

    • Copy the SGF into the text box
    • Choose whether or not to turn on fast to make the AI weaker but analyze faster.
    • Click Analyze
  • Save game

    • Click save to get an sgf as out.sgf with comments (and a short version in the text box).

Configuration

config.json has a number of options, many of them are stylistic.

The trainer block has the following options to tweak:

  • balance_play_target_score: indicates how many points the AI aims to win by when using 'balance score'.
  • balance_play_randomize_eval: when not needing to balance score, the AI will pick a random move which is at least this good.
  • balance_play_min_eval: when needing to balance score, the AI will pick a move which is at least this good.
  • balance_play_min_visits: never pick a move with fewer playouts than this.
  • undo_eval_threshold, undo_point_threshold: prompt player to undo if move is worse than this in terms of points AND evaluation.
  • undo_outdated_eval_threshold: don't prompt undo if last move's evaluation is >= undo_eval_threshold and the NEW evaluation is greater than this. (this decreases frustration when hints are on, or when kata over-estimates the best move).
  • num_undo_prompts: automatically undo bad moves when undo is on at most this many times.
  • show_ai_options: show which moves the AI considered.

The cfg file has additional configuration for kata. In particular, it changes the default to being more exploratory and score-based (and therefore nicer as an opponent, but weaker as analysis tool).

TODO

  • Prisoner count
  • Better name
  • ....
Languages
Python 86.8%
kvlang 13.2%