science >> Wetenschap >  >> Elektronica

Schaken:hoe herken je een potentiële cheat

Krediet:Hutsuliak Dmytro/Shutterstock

Een paar jaar geleden verbood de schaakwebsite Chess.com de Amerikaanse grootmeester Hans Niemann tijdelijk voor het online spelen van schaakzetten waarvan de site vermoedde dat ze hem door een computerprogramma waren voorgesteld. Het had naar verluidt eerder zijn mentor Maxim Dlugy geschorst.

En bij de Sinquefield Cup eerder deze maand nam wereldkampioen Magnus Carlsen zonder commentaar ontslag na een matige wedstrijd tegen de 19-jarige Niemann. Sindsdien heeft hij gezegd dat dit was omdat hij gelooft dat Niemann de laatste tijd is doorgegaan met valsspelen.

Een andere deelnemer, de Russische grootmeester Ian Nepomniachtchi, noemde het optreden van Niemann 'meer dan indrukwekkend'. Hoewel Nieman heeft toegegeven dat hij soms vals heeft gespeeld in eerdere online games, heeft hij ten stelligste ontkend ooit vals te hebben gespeeld tijdens een live schaaktoernooi.

Maar hoe besluit 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 potentiële valsspelers precies weten hoe ze detectie kunnen vermijden. Op de website staat:"Hoewel juridische en praktische overwegingen Chess.com ervan weerhouden om de volledige set gegevens, statistieken en tracking te onthullen die worden gebruikt om games te evalueren in onze fair-play-tool, kunnen we zeggen dat de kern van Chess.com's systeem een statistisch model dat de waarschijnlijkheid evalueert dat een menselijke speler overeenkomt met de beste keuzes van een engine en het bevestigde schone spel van enkele van de beste schakers in de geschiedenis overtreft."

Gelukkig kan onderzoek licht werpen op welke benadering de website mogelijk gebruikt.

Mensen tegen AI

Toen AI-bedrijf DeepMind het programma AlphaGo ontwikkelde, waarmee het strategiespel Go kon worden gespeeld, werd het geleerd te voorspellen welke bewegingen een mens zou maken vanuit een bepaalde positie.

Het voorspellen van menselijke bewegingen is een leerprobleem onder toezicht, het brood en boter van machine learning. Gegeven veel voorbeelden van posities uit menselijke games (de dataset) en een voorbeeld van een menselijke beweging vanuit elk van deze posities (het label), kunnen machine learning-algoritmen worden getraind om labels op nieuwe datapunten te voorspellen. Dus leerde DeepMind zijn AI om de waarschijnlijkheid in te schatten dat een mens een bepaalde beweging zou maken vanuit een bepaalde positie.

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

Dus volgens dat machine learning-model van menselijke Go-spelers, als je een persoon Move 37 zou zien spelen, zou het een bewijs zijn dat ze niet zelf op het idee kwamen. Maar het zou natuurlijk geen bewijs zijn. Elke mens kon zet die stap.

Om er zeker van te zijn dat iemand vals speelt bij een spel, moet je naar veel zetten kijken. Onderzoekers hebben bijvoorbeeld onderzocht hoe veel zetten van een speler collectief kunnen worden geanalyseerd om afwijkingen op te sporen.

Chess.com gebruikt openlijk machine learning om te voorspellen welke bewegingen een mens in een bepaalde positie kan maken. In feite heeft het verschillende modellen van individuele beroemde schakers, en je kunt zelfs tegen ze spelen. Vermoedelijk worden vergelijkbare modellen gebruikt om bedrog te detecteren.

Een recente studie suggereerde dat, naast het voorspellen hoe waarschijnlijk het is dat een mens een bepaalde zet zou doen, het ook belangrijk is om te verklaren hoe goed die beweging is. Dit komt overeen met de verklaring van Chess.com dat het evalueert of zetten "overtreffen ... bevestigde clean play" van de groten.

Maar hoe meet je welke zetten beter zijn dan andere? In theorie is een schaakpositie ofwel "winnen" (u kunt een overwinning garanderen), "verliezen" (de andere speler kan) of "gelijkspel" (geen van beide kan), en een goede zet zou elke zet zijn die geen uw positie slechter. 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 gelijkspelend is. En ze zouden het zeker nooit kunnen bewijzen - een bewijs zou over het algemeen te veel berekeningen vereisen, waarbij elk blad van een exponentiële spelboom moet worden onderzocht.

Dus wat mensen en computers doen, is 'heuristieken' (gut-gissingen) gebruiken om de 'waarde' van verschillende posities te beoordelen - inschatten welke speler ze denken te winnen. Dit kan ook worden gezien als een machine learning-probleem waarbij de dataset bestaat uit veel bordposities en de labels zijn wie er heeft gewonnen, wat het algoritme traint om te voorspellen wie er zal winnen vanaf een bepaalde positie.

Doorgaans denken machine learning-modellen die voor dit doel worden gebruikt na over de volgende paar waarschijnlijke zetten, overwegen welke posities toegankelijk zijn voor beide spelers en gebruiken vervolgens 'onderbuikgevoel' over die toekomstige posities om hun evaluatie van de huidige positie te informeren.

Maar wie er vanaf een bepaalde positie wint, hangt af van hoe goed de spelers zijn. Dus de evaluatie van een bepaald spel door het model hangt af van wie de spellen speelde die in de trainingsdataset terechtkwamen. Wanneer schaakcommentatoren het hebben over de 'objectieve waarde' van verschillende posities, bedoelen ze meestal wie er waarschijnlijk zal winnen vanuit een bepaalde positie wanneer beide partijen worden gespeeld door de allerbeste schaak-AI's die beschikbaar zijn. Maar deze waardemaatstaf is niet altijd de meest bruikbare bij het overwegen van een positie die menselijke spelers uiteindelijk zullen moeten innemen. Het is dus niet precies duidelijk wat Chess.com (of wij) als een "goede zet" moet beschouwen.

Als ik vals speelde bij schaken en een paar zetten zou doen die door een schaakengine worden gesuggereerd, zou het me misschien niet eens helpen om te winnen. Die zetten zouden een briljante aanval kunnen zijn die nooit bij me zou opkomen, dus ik zou het verkwisten tenzij ik de schaakengine zou vragen om de rest van het spel voor me te spelen. (Lichess.org vertelt me ​​​​dat ik op het moment van schrijven 3.049 Blitz-spellen heb gespeeld, en mijn niet erg goede ELO-score van 1632 betekent dat je kunt verwachten dat ik goede tactieken links en rechts mis.)

Het opsporen van bedrog is moeilijk. Als je online speelt en je je afvraagt ​​of je tegenstander vals speelt, kun je dat echt niet met enige zekerheid zeggen, omdat je nog nooit miljoenen menselijke spellen hebt zien spelen met radicaal verschillende stijlen. Het is een probleem waarbij machine learning-modellen die zijn getraind met enorme hoeveelheden gegevens een groot voordeel hebben. Uiteindelijk kunnen ze van cruciaal belang zijn voor de voortdurende integriteit van het schaken. + Verder verkennen

De nieuwe Go-playing AI van Google leert snel en verplettert zelfs zijn vroegere zelf

Dit artikel is opnieuw gepubliceerd vanuit The Conversation onder een Creative Commons-licentie. Lees het originele artikel.