How to limit cheating in online go?
Published 21 May 2020 by antti
(last edited 21 May 2020)
The last 1–2 years have seen a sharp increase in cheating in online go, especially on higher dan levels. I, personally, have almost completely quit online go, as it not only takes a considerable amount time to find an opponent of similar level, but also the chances of the opponent’s consulting an ai are high. If I want to train with an ai, I’ll rather save my time and run KataGo directly on my computer. For some time, GoQuest seemed a safe haven for 13×13 go in this regard, but recently there is a pattern that if I get paired with a notably weaker player, ‘surprisingly’ the opponent makes no mistakes at all and almost directly follows the ai’s play.
While I (and probably many of you readers) prefer playing go on a real board, the reality right now is that there just are not enough go players around for that. For example chess has roughly ten times more players and chess playing sets are all around in cafés and bars – go is just simply not as widely spread. Therefore, at least for now, it seems to me that the spread of go is dependent on online playing servers.
Luckily, cheaters are more like the exception than the rule among lower and middle levels; there is nothing to ‘gain’ save for improvement and enjoyment, both of which the ai effectively removes – and if you keep on using the ai for winning games, eventually you will hit the upper end of the ranking spectrum. A part of me hopes that even in the higher rankings, cheating is a passing phenomenon and that people will soon realise that there is no purpose to it; but chess ai has been around for 20 years and the problem persists on chess servers, so probably this is wishful thinking.
The upper ranks’ ‘ai contamination’ is luckily a problem only for a small minority of players, and so the real challenge, I think, comes with online tournaments.
We saw with the Corona Cup that there is considerable demand for online go tournaments, at least now in the era of social distancing. When there are prizes and prestige at stake, and the risk of getting caught is slim at best, the number of cheaters sees a sharp increase. How should we try to battle this?
- Remove the prizes or do not hold online tournaments at all. This is a bad solution, as online tournaments are a great opportunity for popularising and getting visibility for the game – and tournaments without prizes just don’t feel the same.
- Have an arbitration board check games and results for possible cheaters. This is what we did at the Corona Cup, with Lukáš and me ending up researching several players’ tournament and non-tournament games. This solution is far from optimal, as it caused us a huge amount of work – and although we thought there were several highly suspicious cases, we were unable to gather enough evidence to convict any of them. The damage of wrongly convicting is far bigger than that of letting a cheater go loose, and so we figured we have to be extremely sure of a case – even a 99% subjective probability might not be good enough.
- Develop an algorithm to catch cheaters. This is actually something that I am looking into right now. Having a reliable algorithm to catch cheaters would of course be an optimal solution, but the problem is that we have to create the algorithm first – and that is starting to look like an increasingly difficult project. I will elaborate on this more in a future post.
- Set up proctored tournament settings. This is what professional go associations, for example the Japan Go Association, sometimes do. The players go to a common playing area where there is a proctor watching them play on a computer. As long as the proctor is reliable, this setting is virtually identical to a regular tournament setting. The downside is that this solution is not very cheap to set up, requiring a physical place where players gather, and so a lot of the benefits of playing online are lost.
- Wild idea: set up a tournament go server that is accessed by vr headsets, for example the Oculus Quest. The Oculus Quest recognises when the user takes the headset off, and also when the user’s hands are not touching the controllers, making it infeasible for a player to consult an ai at the same time. This is not a foolproof solution – I will also elaborate on this in a later post – but I think it could solve cheating in low-stakes games. This solution would also make online go feel a bit more like playing on a real board, which should be a welcome feature to many. The problem in this solution is of course obvious: most people cannot afford a €479 headset just for playing go, and vr headsets may also cause nausea among some people.