Schaken hoe herken je een potentiele valsspeler

Schaken: hoe herken je een potentiële valsspeler?

Hutsuliak Dmytro/Shutterstock

Een paar jaar geleden verbood de schaakwebsite Chess.com tijdelijk de Amerikaanse grootmeester Hans Niemann omdat hij online schaakzetten speelde waarvan de site vermoedde dat die hem door een computerprogramma waren aangeraden. Naar verluidt had het eerder zijn mentor Maxim Dlugy verboden.

En bij de Sinquefield Cup eerder deze maand nam wereldkampioen Magnus Carlsen zonder commentaar ontslag na het spelen van een slechte partij tegen de 19-jarige Niemann. Hij heeft sindsdien gezegd dat dit was omdat hij gelooft dat Niemann de laatste tijd is blijven valsspelen.

Afbeelding van Hans Niemann.

Hans Niemann.
wikipedia, CC BY-SA

Een andere deelnemer, de Russische grootmeester Ian Nepomniachtchi, noemde de prestatie van Niemann “meer dan indrukwekkend”. Hoewel Nieman heeft toegegeven soms vals te spelen in eerdere online partijen, heeft hij ten stelligste ontkend ooit vals te spelen in een live schaaktoernooi.

Maar hoe beslist Chess.com, ’s werelds grootste schaakwebsite, dat een speler waarschijnlijk vals heeft gespeeld? Het kan de wereld niet de code laten zien die het gebruikt, anders zouden valsspelers precies weten hoe ze detectie kunnen vermijden. De website zegt:

Hoewel Chess.com uit juridische en praktische overwegingen niet alle gegevens, statistieken en tracking kan onthullen die worden gebruikt om partijen in ons fair-play programma te evalueren, kunnen we wel zeggen dat de kern van het systeem van Chess.com een statistisch model is dat de waarschijnlijkheid evalueert dat een menselijke speler de beste keuzes van een engine evenaart, en het bevestigde schone spel van enkele van de grootste schaakspelers in de geschiedenis overtreft.

Gelukkig kan onderzoek uitwijzen welke benadering de website gebruikt.

Mensen versus AI

Toen AI-bedrijf DeepMind het programma AlphaGo ontwikkelde, dat het strategiespel Go kon spelen, werd het geleerd te voorspellen welke zetten een mens vanuit een bepaalde positie zou doen.

Het voorspellen van menselijke zetten is een gesuperviseerd leerprobleem, de kern van machinaal leren. Gegeven een groot aantal voorbeelden van posities van menselijke partijen (de dataset) en een voorbeeld van een menselijke zet vanuit elke positie (het label), kunnen algoritmen voor machinaal leren worden getraind om labels te voorspellen op nieuwe datapunten. Zo leerde DeepMind zijn AI de waarschijnlijkheid in te schatten dat een mens een bepaalde zet zou doen vanuit een bepaalde positie.

AlphaGo versloeg in 2017 op beroemde wijze de menselijke rivaal Lee Sedol. Een van de beroemde zetten van de AI in het spel was “zet 37”. Zoals hoofdonderzoeker David Silver in de documentaire AlphaGo opmerkte: “AlphaGo zei dat er een kans van 1/10.000 was dat zet 37 door een menselijke speler zou zijn gespeeld.”

Afbeelding van Sedols reactie op zet 37.

Sedol’s reactie op zet 37.
youtube, CC BY-SA

Dus volgens dat machine learning model van menselijke Go spelers, als je iemand Move 37 zou zien spelen, zou dat bewijs zijn dat hij niet zelf op het idee is gekomen. Maar het zou natuurlijk geen bewijs zijn. Ieder mens kan die zet doen.

Om er heel zeker van te zijn dat iemand vals speelt in een spel, moet je naar veel zetten kijken. Onderzoekers hebben bijvoorbeeld onderzocht hoe veel zetten van een speler gezamenlijk kunnen worden geanalyseerd om afwijkingen te ontdekken.

Chess.com gebruikt openlijk machine learning om te voorspellen welke zetten een mens in een bepaalde stelling zou kunnen doen. In feite heeft het verschillende modellen van individuele beroemde schakers, en je kunt zelfs tegen hen spelen. Vermoedelijk worden soortgelijke modellen gebruikt om valsspelen op te sporen.

Een recente studie suggereerde dat, naast het voorspellen hoe waarschijnlijk het is dat een mens een bepaalde zet doet, het ook belangrijk is om rekening te houden met hoe goed die zet is. Dit komt overeen met de verklaring van Chess.com dat het evalueert of zetten “het bevestigde zuivere spel” van de groten overtreffen.

Maar hoe meet je welke zetten beter zijn dan andere? In theorie is een schaakpositie ofwel “winnend” (je kunt winst garanderen), “verliezend” (de andere speler kan dat) of “remise” (geen van beide), en een goede zet zou elke zet zijn die je positie niet slechter maakt. Maar realistisch gezien, hoewel computers veel beter zijn in het berekenen en kiezen van toekomstige zetten dan mensen, kunnen zelfs zij voor veel posities niet met zekerheid zeggen of een positie winnend, verliezend of remise is. En ze kunnen het zeker nooit bewijzen – een bewijs zou over het algemeen te veel berekeningen vergen, waarbij elk blad van een exponentiële spelboom moet worden onderzocht.

Dus wat mensen en computers doen is “heuristiek” (gut guesses) gebruiken om de “waarde” van verschillende posities te beoordelen – inschatten welke speler volgens hen zal winnen. Dit kan ook worden gezien als een machinaal leerprobleem, waarbij de dataset bestaat uit veel bordposities en de labels zijn wie er gewonnen heeft – wat het algoritme traint om te voorspellen wie er vanuit een bepaalde positie zal winnen.

Gewoonlijk denken machine-leermodellen die voor dit doel worden gebruikt na over de volgende paar waarschijnlijke zetten, overwegen welke posities voor beide spelers toegankelijk zijn, en gebruiken dan “buikgevoel” over die toekomstige posities om hun evaluatie van de huidige positie te onderbouwen.

Carlsen Magnus van Noorwegen.

De Noorse wereldkampioen Magnus Carlsen.
Leszek Szymansk/EPA

Maar wie in een bepaalde positie wint, hangt af van hoe goed de spelers zijn. De evaluatie door het model van een bepaalde partij hangt dus af van wie de partijen speelde die in de trainingsdataset zijn opgenomen. Wanneer schaakcommentatoren het hebben over de “objectieve waarde” van verschillende stellingen, bedoelen ze gewoonlijk wie er waarschijnlijk zal winnen van een bepaalde stelling wanneer beide partijen worden gespeeld door de allerbeste schaak-AI’s die beschikbaar zijn. Maar deze waardemaatstaf is niet altijd het meest bruikbaar als het gaat om een stelling die menselijke spelers uiteindelijk zullen moeten uitvoeren. Het is dus niet duidelijk wat Chess.com (of wij) precies als een “goede zet” moeten beschouwen.

Als ik vals zou spelen met schaken en een paar zetten zou doen die door een schaakmachine worden voorgesteld, dan zou dat me misschien niet eens helpen om te winnen. Die zetten kunnen een briljante aanval opzetten die nooit bij mij zou opkomen, dus zou ik die verspillen tenzij ik de schaakmachine zou vragen de rest van de partij voor mij te spelen. (Lichess.org vertelt me dat ik op het moment van schrijven 3.049 Blitz partijen heb gespeeld, en mijn niet al te beste ELO rating van 1632 betekent dat je kunt verwachten dat ik links en rechts goede tactieken mis).

Valsspelen opsporen is moeilijk. Als je online speelt en je vraagt je af of je tegenstander vals speelt, dan kun je dat echt niet met enige mate van zekerheid vaststellen – omdat je geen miljoenen menselijke partijen hebt gezien die met sterk verschillende stijlen zijn gespeeld. Dit is een probleem waarbij modellen voor machinaal leren, die met grote hoeveelheden gegevens zijn getraind, een groot voordeel hebben. Uiteindelijk kunnen ze cruciaal zijn voor de integriteit van het schaken.

The Conversation

Michael K. Cohen werkt niet voor, geeft geen advies aan, bezit geen aandelen in en ontvangt geen financiering van bedrijven of organisaties die baat hebben bij dit artikel, en heeft geen relevante banden bekendgemaakt buiten zijn academische aanstelling.