Kredit:Hutsuliak Dmytro/Shutterstock
For nogle år siden forbød skakhjemmesiden Chess.com midlertidigt den amerikanske stormester Hans Niemann for at spille skakbevægelser online, som siden formodede var blevet foreslået ham af et computerprogram. Det havde angiveligt tidligere forbudt hans mentor Maxim Dlugy.
Og ved Sinquefield Cup tidligere på måneden trak verdensmester Magnus Carlsen sig uden kommentarer efter at have spillet en dårlig kamp mod 19-årige Niemann. Han har siden sagt, at det var, fordi han mener, at Niemann er blevet ved med at være utro for nylig.
En anden deltager, den russiske stormester Ian Nepomniachtchi, kaldte Niemanns præstation "mere end imponerende." Mens Nieman har indrømmet nogle gange at have snydt i tidligere onlinespil, har han på det kraftigste nægtet at have snydt ved en live skakturnering.
Men hvordan beslutter Chess.com, verdens største skakhjemmeside, at en spiller sandsynligvis har snydt? Den kan ikke vise verden den kode, den bruger, ellers ville potentielle snydere vide præcis, hvordan de undgår at blive opdaget. Hjemmesiden siger:"Selvom juridiske og praktiske overvejelser forhindrer Chess.com i at afsløre det fulde sæt af data, målinger og sporing, der bruges til at evaluere spil i vores fair-play-værktøj, kan vi sige, at kernen i Chess.coms system er en statistisk model, der vurderer sandsynligheden for, at en menneskelig spiller matcher en motors topvalg og overgår det bekræftede rene spil fra nogle af de største skakspillere i historien."
Heldigvis kan forskning kaste lys over, hvilken tilgang hjemmesiden kan bruge.
Humans v AI
Da AI-virksomheden DeepMind udviklede programmet AlphaGo, som kunne spille strategispillet Go, blev det lært at forudsige, hvilke bevægelser et menneske ville foretage fra en given position.
Forudsigelse af menneskelige bevægelser er et overvåget læringsproblem, det bedste ved maskinlæring. Givet masser af eksempler på positioner fra menneskelige spil (datasættet) og et eksempel på en menneskelig bevægelse fra hver sådan position (etiketten), kan maskinlæringsalgoritmer trænes til at forudsige etiketter ved nye datapunkter. Så DeepMind lærte sin AI at estimere sandsynligheden for, at et menneske ville foretage en given bevægelse fra en given position.
AlphaGo slog den berømte menneskelige rival Lee Sedol i 2017. Et af AI's berømte træk i spillet var Move 37. Som hovedforsker David Silver bemærkede i dokumentaren AlphaGo:"AlphaGo sagde, at der var en 1/10.000 sandsynlighed for, at Move 37 ville have været spillet af en menneskelig spiller."
Så ifølge den maskinlæringsmodel af menneskelige Go-spillere, hvis du så en person spille Move 37, ville det være bevis på, at de ikke selv fandt på ideen. Men det ville selvfølgelig ikke være bevis. Ethvert menneske kunne tag det skridt.
For at blive meget sikker på, at nogen snyder i et spil, skal du se på mange træk. For eksempel har forskere undersøgt, hvordan mange træk fra en spiller kan analyseres samlet for at opdage uregelmæssigheder.
Chess.com bruger åbent maskinlæring til at forudsige, hvilke træk der kan foretages af et menneske i en given position. Faktisk har den forskellige modeller af individuelle berømte skakspillere, og du kan faktisk spille mod dem. Formentlig bruges lignende modeller til at opdage snyd.
En nylig undersøgelse foreslog, at ud over at forudsige, hvor sandsynligt et menneske ville være til at foretage en bestemt bevægelse, er det også vigtigt at redegøre for, hvor godt det træk er. Dette matcher Chess.com's udtalelse om, at det vurderer, om træk "overgår ... bekræftet rent spil" fra de store.
Men hvordan måler du, hvilke bevægelser der er bedre end andre? I teorien er en skakposition enten "vindende" (du kan garantere en sejr), "taber" (den anden spiller kan) eller "uafgjort" (ingen af dem kan), og et godt træk ville være ethvert træk, der ikke gør. din stilling værre. Men realistisk set, selvom computere er meget bedre til at beregne og vælge fremtidige træk end mennesker, kan de for mange positioner ikke engang sige med sikkerhed, om en position vinder, taber eller spiller uafgjort. Og de kunne bestemt aldrig bevise det – et bevis ville generelt kræve for mange beregninger, idet man undersøger hvert blad af et eksponentielt spiltræ.
Så hvad folk og computere gør, er at bruge "heuristik" (gut guess) til at vurdere "værdien" af forskellige positioner – at estimere, hvilken spiller de tror vil vinde. Dette kan også castes som et maskinlæringsproblem, hvor datasættet er masser af bestyrelsespositioner, og etiketterne er, hvem der vandt – hvilket træner algoritmen til at forudsige, hvem der vinder fra en given position.
Typisk gør maskinlæringsmodeller, der bruges til dette formål, nogle overvejelser om de næste par sandsynlige træk, overvejer hvilke positioner der er tilgængelige for begge spillere, og brug derefter "mavefornemmelse" om disse fremtidige positioner til at informere deres evaluering af den nuværende position.
Men hvem der vinder fra en given position afhænger af, hvor gode spillerne er. Så modellens evaluering af et bestemt spil vil afhænge af, hvem der spillede de spil, der kom med i træningsdatasættet. Typisk, når skakkommentatorer taler om den "objektive værdi" af forskellige positioner, mener de, hvem der sandsynligvis vinder fra en given position, når begge sider spilles af de allerbedste skak-AI'er, der er tilgængelige. Men denne værdimåling er ikke altid den mest nyttige, når man overvejer en position, som menneskelige spillere bliver nødt til at udføre i sidste ende. Så det er ikke klart præcist, hvad Chess.com (eller vi) bør betragte som et "godt træk."
Hvis jeg snød i skak og lavede et par træk foreslået af en skakmotor, ville det måske ikke engang hjælpe mig med at vinde. Disse træk kan være med til at skabe et genialt angreb, som aldrig ville falde mig ind, så jeg ville spilde det, medmindre jeg bad skakmotoren om at spille resten af spillet for mig. (Lichess.org fortæller mig, at jeg har spillet 3.049 Blitz-spil i skrivende stund, og min ikke særlig gode ELO-vurdering på 1632 betyder, at du kan forvente, at jeg går glip af god taktik til venstre og højre.)
Det er svært at opdage snyd. Hvis du spiller online, og du spekulerer på, om din modstander snyder, vil du virkelig ikke være i stand til at fortælle med nogen grad af sikkerhed – for du har ikke set millioner af menneskelige spil spillet med radikalt varierende stilarter. Det er et problem, hvor maskinlæringsmodeller trænet med enorme mængder data har en stor fordel. I sidste ende kan de være afgørende for skakkens fortsatte integritet. + Udforsk yderligere
Denne artikel er genudgivet fra The Conversation under en Creative Commons-licens. Læs den originale artikel.