The bulk of what I am going to say (again) is that it is very wrong to discuss the behavior of computer programs in the absence of specifying which program or at the very least, which class of porgrams.
jts wrote:
1. Playing the same opponent all the time is less interesting and less educational. I would give the same advice if we had people coming on here saying "I only ever play my Uncle Bob, but recently I've wondered how I can make my games with Uncle Bob more educational/fun/challenging." Specifically:
a. You come to expect that a certain move is sente or gote because that's how Uncle Bob always responds.
b. You come to expect the specific continuations that Uncle Bob loves - and perhaps some of these continuations are mistakes, so you provoke them.
c. You develop a style which you only like because you know how Uncle Bob responds to it and what sort of game that leads to; your play is inflexible.
d. You won't be introduced to new repertoires of fuseki, joseki, strategies, and tesuji.
e. You will get petrified ideas about the relative strength of other players at the opening, middle and endgame; you won't get the experience of falling far behind at one stage and making up huge amounts of ground later, and vice-versa.
Those five have nothing to do with GnuGo per se. The next few are specific to what I know about GnuGo (and, anecdotally, about some other programs).
No, they are quite specific to the class of programs using an "go knowledge" AI to choose the next move and run with the option "randomize" turned off. A program using a MCTS based evaluator will
not be making the same moves each time. There are "go knowledge" based programs that also will not make the
same move each time (but even when set to "randomize" likely to make the same sort of move)
jts wrote:
2. Tenuki
a. If you learn to play Go by imitating GnuGo, you'll tenuki way too often. (Unless you're crawling on the second or third line, in which case you'll never tenuki.)
b. Likewise, because you won't expect your sente moves to be treated as such, you'll probably take longer to understand the strategic role of sente.
c. And you will probably play out 1-2-3 forcing moves far too often. Beginners need to learn to play the third move - the threat that would make "1" effective - but if they are harboring the hope that GnuGo will ignore 1, and occasionally that hope is rewarded, it will take much longer to unlearn the habit.
That doesn't teach you to imitate the behavior but does force you to learn to cope with an opponent who complicates the game instead of keeping things simple. The programs aren't making a mistake by playing tenuki. Were you correct in assuming that move was sente? Maybe it just looked like sente to you but could be ignored in exchange for a gain elsewhere plus the aji being left behind here. Yes, a human opponent of your own strenght level would likely have treated that as sente because no more able than you to afford complications and trying to remember everything that was left pending.
jts wrote:
3. Unknown numbers of hard-coded errors
a. It's far too easy to manipulate GnuGo into giving you a huge central moyo (because of its submissive behavior towards shoulder hits - you can search for the thread in this forum if you don't know what I'm talking about). Whether you're imitating GnuGo or unconsciously adapting to take advantage of the error, you aren't playing better go.
b. I can't quantify this problem as well, but GnuGo isn't very good at brawling. Last February I was travelling and wasn't able to use KGS, so I tried beating GnuGo on 9x9 with 2H, and then with 3H. I only got within 3 pts. of winning on 3H, but there's something wrong with that. I couldn't have gotten that close to a beginner with 3H. Same logic as 3a, mutis mutandis.
c. Who knows what other weird behavior GnuGo has that hasn't been recognized yet? And no matter how many times you play with GnuGo, it won't get better or learn from its mistakes.
Again, the passive behavior of the AI evaluators has been well noted but that is not true of "go playing computer programs". Nor do they lack brawling capability. I don't just play against the computer but also at the local go club and when the last update came out I took in MFOG 12 on a moderately powerful two core machine so our strong players could decide if it was really 1 dan (Remember, forget about the bots on the server playing on much more powerful machines. That translates into a lot of thinking time per move. MFOG is only ~1.5 d on a more realistic machine such as we might have at home). The results were interesting. Both the 7d and the 5d gave the program the appropriate number of stones and in both cases lost the games. But most interesting (from what you said about weak brawling) was that they lost in the same way, misjudging the amount of aji left behind as they thought they were beating it. In other words, they lost to the brawling counterattack. In both cases they expressed the opinion that the program was weaker than 1d in the strategic sense but much stronger than 1d in fighting.
Perhaps if you only want to consider "open source" programs you might want to check out fuego. You really need to understand that perhaps people continue developing the "go knowledge" based program because they are at least as interesting in studying how an AI might be programed to play go as they are in having the strongest playing program at the moment. Besides, that AI could be used as a "plausible move generator" even if some form of MCTS used to evaluate moves (chooes the best from the set of the plausible). When that is done, athough the progam should be classed with the MCTS progams it should be free from the objection of "weird move no human would think of".
Look, people trying to use a computer program to get games in and learn need to be careful how they use this tool. But that is true of most tools.