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

🍼 Provide easier / faster modes of playing against bots #322

Closed
13 of 14 tasks
Terkwood opened this issue Sep 7, 2020 · 9 comments
Closed
13 of 14 tasks

🍼 Provide easier / faster modes of playing against bots #322

Terkwood opened this issue Sep 7, 2020 · 9 comments
Labels
enhancement New feature or request

Comments

@Terkwood
Copy link
Owner

Terkwood commented Sep 7, 2020

Description

Constrain KataGo play time to provide an easier mode of play.

Implementation plan (first pass, KataGo only)

You only use one instance of tinybrain for this plan.

Evaluation (first pass, KataGo only)

We hope this approach works. In botlink/src/max_visits.rs we picked arbitrary values for the difficulty levels. Is the AI considered easy with even tiny values passed?

  • do the difficulty settings actually help?! Yes, but you need to throw stones at a 19x19 in order to see much of a difference.
  • Does KataGo caching matter? No, maxVisits is tied to what is cached. You'll get a diff search using two different maxVisits

Release plan (first pass, KataGo only)

Long-term plan: add easier modes of play using an alternative bot

@Terkwood Terkwood added the enhancement New feature or request label Sep 7, 2020
@erlend-sh
Copy link

If this is what it sounds like, it’s exactly what I need. I’ve never played Go before but would love to get started (big bonus to be playing an open source Rust game at the same time!) if the AI can go a bit easy on (I.e have an “easy” difficulty mode) me in the beginning.

@Terkwood
Copy link
Owner Author

Yeah, I'm in the same boat. I don't think I'll ever be able to beat this AI. So I want to eventually try running the AI using a time-constrained search as mentioned (which will also be a nice option because the player won't need to wait as long for the move to be computed). And if THAT doesn't make it easy enough for newer players, there is another fallback option which would involve a bit more plumbing: I could potentially run a copy of GnuGo https://www.gnu.org/software/gnugo/ in the AWS instance and turn its difficulty way down.

Unlike KataGo AI, which is analogous in design to the AlphaGo/AlphaZero AIs that have received so much popular press coverage, GnuGo is a simpler, rule-based system that doesn't involve neural nets or any of that newfangled magic. For beginners, it's still quite challenging to play

@Terkwood Terkwood pinned this issue Sep 17, 2020
@Terkwood
Copy link
Owner Author

This config for KataGo looks like what we want. Having a 2 second search time would be an interesting start. Maybe I could win a game 😂

/~https://github.com/lightvector/KataGo/blob/ac0c91571e1a9e20417897a2a7f3617b4eb3450c/cpp/configs/analysis_example.cfg#L62

@Terkwood Terkwood changed the title Easy mode: limit time allowed for KataGo play 🍼 Easy mode: limit time allowed for KataGo play Sep 23, 2020
@Terkwood Terkwood changed the title 🍼 Easy mode: limit time allowed for KataGo play 🍼 Easy mode: limit KataGo move analysis Sep 23, 2020
@Terkwood
Copy link
Owner Author

Work is under way in #429

@Terkwood
Copy link
Owner Author

Constraining the KataGo search space to two moves still yields a relatively difficult opponent. At least for me (a rank novice). I'm considering how to advance this issue: potentially by only offering two modes of play, "hard" and "impossible". 😁

The alternative, which will take more time to implement, but which is probably a better path: use GnuGo on a low difficulty setting for our "easy mode", and use KataGo AI for "hard" and "impossible" modes.

@Terkwood
Copy link
Owner Author

One good thing to note about the recently merged work : KataGo is much faster to play with the search space limited

@Terkwood Terkwood changed the title 🍼 Easy mode: limit KataGo move analysis 🍼 Provide easier / faster modes of playing against bots Oct 30, 2020
@Terkwood Terkwood unpinned this issue Oct 31, 2020
@Terkwood
Copy link
Owner Author

Just received a report that a friend was able to beat KataGo instant play! We are considering adding an intermediate difficulty. Instant play currently looks at the board TWICE, but full strength looks at it 500 times. Since my skill level is low, it's hard to personally gauge the difference between these two settings - - but my friend might be a good Guinea pig!

@Terkwood
Copy link
Owner Author

Raised #454

@Terkwood
Copy link
Owner Author

KataGo is faster now. #440 will track easier modes of play

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

No branches or pull requests

2 participants