Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improved UI for ai settings #72

Closed
sanderland opened this issue Jun 16, 2020 · 6 comments
Closed

improved UI for ai settings #72

sanderland opened this issue Jun 16, 2020 · 6 comments
Labels

Comments

@sanderland
Copy link
Owner

Sliders for different settings with reasonable value ranges.

Possibly future or only for some now: Model of settings -> strength that gives an indication of what they do.

@sanderland
Copy link
Owner Author

image

@bale-go
Copy link
Contributor

bale-go commented Jun 21, 2020

This is really cool.
I think it would be really nice to make sliders to the calibrated rank bot for the different parts of the game.
Overall game rank would be the main slider. Than modifier sliders could be adjusted for parts of the game (e.g. opening -> between -5 and +5 kyu rank, early middle game (-5 to +5), late middle game (-5 to +5), endgame (-5 to +5)) to make - let's say - calibrated rank bot relatively stronger in the opening and weaker in the late middle game.
In the ai.py instead of:

n_moves = int(round(board_squares / 361 * 10 ** (-0.05737 * ai_settings["kyu_rank"] + 1.9482)))

it would be:

n_moves = int(round(board_squares / 361 * 10 ** (-0.05737 * (ai_settings["kyu_rank"]+ai_settings["kyu_rank_segment"]) + 1.9482)))

, where ai_settings["kyu_rank_segment"]) would depend on the current number of legal moves on the board. For 19x19 opening would be from 361 to 311 and so on.

@isty2e
Copy link
Contributor

isty2e commented Jun 22, 2020

IMHO, ultimately all the strategy options and sliders are to be compressed into three sliders: Rank, locality, and territorial/influential.

  1. To cover the higher ranks, a score loss based ai (calibration of current and new ais #74) can be calibrated with something like Zen, or human game records (https://github.com/featurecat/go-dataset). Then the scoreloss and rank models can be integrated into a single slider.
  2. I think all the local/tenuki/influential/territorial models can be combined with the score loss model (where many implementation options might be available), and then those can be controlled by two sliders.

I believe most of the end users would not like to mess around with seemingly weird options like pick_override or stddev, so this can be the long-term goal of what we can provide as the frontend.

@sanderland
Copy link
Owner Author

@isty2e I agree mostly, but score loss may not include enough moves (I'm finding this with calibrating it for rank) - the policy AIs are nice in that they give you the entire board.
The sliders at least make it so that the reasonable values are more clear to people wanting to experiment for now, rather than a floating point value with no apparent range.

@isty2e
Copy link
Contributor

isty2e commented Jun 22, 2020

@sanderland For that matter, maybe increasing cpuct and reducing root fpu reduction might help a bit? And I think the scoreloss bot does not necessarily have to play score losing moves every turn deliberately... Maybe I'm wrong though.

@sanderland
Copy link
Owner Author

oh it doesnt play score losing moves every turn, zero point loss (or <0!) is weighted quite highly. the name comes from being based on score loss.
wide root noise etc can help, but the architecture has analysis and ai moves quite strongly coupled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants