Low ranked Monte Carlo players
-
anpd
- Dies in gote
- Posts: 42
- Joined: Wed Jan 22, 2014 3:34 am
- Rank: KGS 10 kyu
- GD Posts: 0
- KGS: anpd
- Has thanked: 17 times
- Been thanked: 9 times
Low ranked Monte Carlo players
Hi, I am in the progress of developing a Go AI, I had a question regarding Monte Carlo tree search that I was hoping someone could answer. Is there one or is it possible to make a lower ranked Monte Carlo player say 30-20k and 20-10k that doesn't make weird moves? I want my AI to have difficulty settings so that beginners can get a good game, but thinking of maybe doing the lower levels as old school Go AI more based on knowledge and search.
-
Boidhre
- Oza
- Posts: 2356
- Joined: Mon Mar 05, 2012 7:15 pm
- GD Posts: 0
- Universal go server handle: Boidhre
- Location: Ireland
- Has thanked: 661 times
- Been thanked: 442 times
Re: Low ranked Monte Carlo players
Creating an AI that looked like a 20-30k might be quite difficult, getting AIs to make human-looking mistakes in almost any game is considered very difficult and 20-30k games look weird but often in a very particular way. Could you mimic a beginner by searching from a limited number of starting points, to a very shallow depth with an extreme focus on either the local fight or ignoring the local situation? It's interesting to think about.
-
Mike Novack
- Lives in sente
- Posts: 1045
- Joined: Mon Aug 09, 2010 9:36 am
- GD Posts: 0
- Been thanked: 182 times
Re: Low ranked Monte Carlo players
I think that is a very difficult problem. If weakened below a certain point the algorithm is likely to play in a very erratic non-human manor.
However weak human players sometimes make a good move and it might be possible to manage to model that, though I'm not sure at as low a level of play as you want to get to. In other words, I think it will be hard enough to do this for the low teens <<it is hard to make a MCTS evaluator weaker than a few kyu without making it erratic >>
But here's my idea. Assume you have a go knowledge AI able to play at say the upper teens. One that first has a go knowledge AI select a set of plausible moves and then uses an go knowledge based AI to try to pick the best of that set (and it can do that at the high teens level). Second, that one has a MCTS evaluator that given a set of plausible moves picks the best move from that set and can do this at say the 2-3 kyu level.
Have those? OK, now a "slider" which selects the probability that for the next move the AI evaluator will be used or the MCTS evaluator. Now that should be able to deliver all levels of play between 0% MCTS evaluator used and 100% MCTS evaluator used. But I rather suspect that the slider will not be linear in results and you will have a tedious job calibrating the strength for various points on the slider.
However weak human players sometimes make a good move and it might be possible to manage to model that, though I'm not sure at as low a level of play as you want to get to. In other words, I think it will be hard enough to do this for the low teens <<it is hard to make a MCTS evaluator weaker than a few kyu without making it erratic >>
But here's my idea. Assume you have a go knowledge AI able to play at say the upper teens. One that first has a go knowledge AI select a set of plausible moves and then uses an go knowledge based AI to try to pick the best of that set (and it can do that at the high teens level). Second, that one has a MCTS evaluator that given a set of plausible moves picks the best move from that set and can do this at say the 2-3 kyu level.
Have those? OK, now a "slider" which selects the probability that for the next move the AI evaluator will be used or the MCTS evaluator. Now that should be able to deliver all levels of play between 0% MCTS evaluator used and 100% MCTS evaluator used. But I rather suspect that the slider will not be linear in results and you will have a tedious job calibrating the strength for various points on the slider.
-
Bill Spight
- Honinbo
- Posts: 10905
- Joined: Wed Apr 21, 2010 1:24 pm
- Has thanked: 3651 times
- Been thanked: 3373 times
Re: Low ranked Monte Carlo players
You might try using only Monte Carlo playouts without building a tree, and without letting it try weird moves. OC, you would have to define "weird move".anpd wrote:Hi, I am in the progress of developing a Go AI, I had a question regarding Monte Carlo tree search that I was hoping someone could answer. Is there one or is it possible to make a lower ranked Monte Carlo player say 30-20k and 20-10k that doesn't make weird moves? I want my AI to have difficulty settings so that beginners can get a good game, but thinking of maybe doing the lower levels as old school Go AI more based on knowledge and search.
The Adkins Principle:
At some point, doesn't thinking have to go on?
— Winona Adkins
Visualize whirled peas.
Everything with love. Stay safe.
At some point, doesn't thinking have to go on?
— Winona Adkins
Visualize whirled peas.
Everything with love. Stay safe.
-
anpd
- Dies in gote
- Posts: 42
- Joined: Wed Jan 22, 2014 3:34 am
- Rank: KGS 10 kyu
- GD Posts: 0
- KGS: anpd
- Has thanked: 17 times
- Been thanked: 9 times
Re: Low ranked Monte Carlo players
Thanks for the suggestions! Think I will try the slider ideá, I am only looking at having 5-7 different settings so hopefully that will keep the tweaking to a minimum.