Kredit:Hutsuliak Dmytro/Shutterstock
För några år sedan förbjöd schackwebbplatsen Chess.com tillfälligt den amerikanske stormästaren Hans Niemann för att spela schackrörelser på nätet som sajten misstänkte hade föreslagits honom av ett datorprogram. Det hade enligt uppgift tidigare förbjudit hans mentor Maxim Dlugy.
Och vid Sinquefield Cup tidigare denna månad avgick världsmästaren Magnus Carlsen utan kommentarer efter att ha spelat en dålig match mot 19-årige Niemann. Han har sedan dess sagt att detta berodde på att han tror att Niemann har fortsatt att fuska nyligen.
En annan deltagare, den ryske stormästaren Ian Nepomniachtchi, kallade Niemanns prestation "mer än imponerande". Även om Nieman har erkänt att han ibland har fuskat i tidigare onlinespel, har han starkt förnekat att han någonsin har fuskat vid en schackturnering live.
Men hur avgör Chess.com, världens största schackwebbplats, att en spelare förmodligen har fuskat? Den kan inte visa världen koden den använder, annars skulle blivande fuskare veta exakt hur de ska undvika upptäckt. Webbplatsen säger:"Även om juridiska och praktiska överväganden hindrar Chess.com från att avslöja hela uppsättningen av data, mätvärden och spårning som används för att utvärdera spel i vårt fair-play-verktyg, kan vi säga att kärnan i Chess.coms system är en statistisk modell som utvärderar sannolikheten för att en mänsklig spelare matchar en motors bästa val och överträffar det bekräftade rena spelet för några av de största schackspelarna i historien."
Lyckligtvis kan forskning belysa vilket tillvägagångssätt webbplatsen kan använda.
Humans v AI
När AI-företaget DeepMind utvecklade programmet AlphaGo, som kunde spela strategispelet Go, lärde man sig att förutsäga vilka rörelser en människa skulle göra från en given position.
Att förutsäga mänskliga rörelser är ett övervakat inlärningsproblem, brödet av maskininlärning. Med tanke på massor av exempel på positioner från mänskliga spel (datauppsättningen) och ett exempel på ett mänskligt drag från varje sådan position (etiketten), kan maskininlärningsalgoritmer tränas för att förutsäga etiketter vid nya datapunkter. Så DeepMind lärde sin AI att uppskatta sannolikheten för att en människa skulle göra ett givet drag från en given position.
AlphaGo slog den berömda mänskliga rivalen Lee Sedol 2017. Ett av AI:s berömda drag i spelet var Move 37. Som huvudforskaren David Silver noterade i dokumentären AlphaGo, "AlphaGo sa att det fanns en 1/10 000 sannolikhet att Move 37 skulle ha varit spelas av en mänsklig spelare."
Så enligt den maskininlärningsmodellen för mänskliga Go-spelare, om du såg en person spela Move 37, skulle det vara bevis på att de inte kom på idén själva. Men det skulle naturligtvis inte vara bevis. Vilken människa som helst kunde gör det draget.
För att bli väldigt säker på att någon fuskar i ett spel måste du titta på massor av drag. Forskare har till exempel undersökt hur många rörelser från en spelare kan analyseras kollektivt för att upptäcka anomalier.
Chess.com använder öppet maskininlärning för att förutsäga vilka drag som kan göras av en människa i en given position. Faktum är att den har olika modeller av individuella kända schackspelare, och du kan faktiskt spela mot dem. Förmodligen används liknande modeller för att upptäcka fusk.
En nyligen genomförd studie föreslog att det, förutom att förutsäga hur sannolikt en människa skulle vara att göra ett visst drag, också är viktigt att ta hänsyn till hur bra det draget är. Detta stämmer överens med Chess.coms uttalande att man utvärderar om drag "överträffar ... bekräftat rent spel" från de stora.
Men hur mäter man vilka rörelser som är bättre än andra? I teorin är en schackposition antingen "vinnande" (du kan garantera en vinst), "förlora" (den andra spelaren kan) eller "dragning" (ingendera kan), och ett bra drag skulle vara vilket drag som helst som inte gör det. din situation sämre. Men realistiskt sett, även om datorer är mycket bättre på att beräkna och välja framtida drag än människor, för många positioner kan inte ens de säga säkert om en position vinner, förlorar eller drar. Och de kunde definitivt aldrig bevisa det – ett bevis skulle i allmänhet kräva för många beräkningar, att undersöka varje löv i ett exponentiellt spelträd.
Så vad människor och datorer gör är att använda "heuristik" (gut gissningar) för att bedöma "värdet" av olika positioner – att uppskatta vilken spelare de tror kommer att vinna. Detta kan också tolkas som ett maskininlärningsproblem där datauppsättningen innehåller många styrelsepositioner och etiketterna är vem som vann – vilket tränar algoritmen att förutsäga vem som kommer att vinna från en given position.
Vanligtvis funderar maskininlärningsmodeller som används för detta ändamål lite över de närmaste troliga dragen, överväger vilka positioner som är tillgängliga för båda spelarna och använder sedan "magkänsla" om dessa framtida positioner för att informera om deras utvärdering av den aktuella positionen.
Men vem som vinner från en given position beror på hur bra spelarna är. Så modellens utvärdering av ett visst spel kommer att bero på vem som spelade spelen som kom in i träningsdatasetet. Vanligtvis, när schackkommentatorer talar om det "objektiva värdet" av olika positioner, menar de vem som sannolikt vinner från en given position när båda sidor spelas av de allra bästa schack-AI:erna som finns tillgängliga. Men detta värdemått är inte alltid det mest användbara när man överväger en position som mänskliga spelare kommer att behöva utföra i slutändan. Så det är inte klart exakt vad Chess.com (eller vi) ska betrakta som ett "bra drag".
Om jag fuskade i schack och gjorde några drag föreslagna av en schackmotor, kanske det inte ens hjälper mig att vinna. Dessa drag kan skapa en briljant attack som aldrig skulle falla mig in, så jag skulle slösa bort den om jag inte bad schackmotorn att spela resten av spelet åt mig. (Lichess.org berättar för mig att jag har spelat 3 049 Blitz-spel i skrivande stund, och mitt inte särskilt bra ELO-betyg på 1632 betyder att du kan förvänta dig att jag missar bra taktik till vänster och höger.)
Att upptäcka fusk är svårt. Om du spelar online och undrar om din motståndare fuskar, kommer du verkligen inte att kunna säga något med säkerhet – eftersom du inte har sett miljontals mänskliga spel spelas med radikalt varierande stilar. Det är ett problem där maskininlärningsmodeller tränade med enorma mängder data har en stor fördel. I slutändan kan de vara avgörande för schackets pågående integritet. + Utforska vidare
Den här artikeln är återpublicerad från The Conversation under en Creative Commons-licens. Läs originalartikeln.