Der er mange online-websteder, hvor spillere kan spille skak i realtid med hinanden. De fleste af spillene er 5-10 minutter lange. Med tilgængeligheden af skaksoftware kan man drage fordel ved at bruge Fritz eller Rybka til at foreslå et træk for ham.

For eksempel kan jeg bare gå ind i hvert træk fra min modstander og se, hvad software vil foreslå for mig .

Jeg tænkte på et par funktioner, der kan tyde på, at spilleren snyder:

  • antallet af gange, han skifter skærm
  • hastighed på spille (i lette og virkelig hårde positioner)
  • nøjagtigheden af spillet

Har nogen andre ideer?

PS: Det gør betyder ikke noget for mig, hvilket perspektiv du tænker fra (server eller klientsiden).

Kommentarer

  • Fremragende spørgsmål og relevant problem i dag! Men mener du detektere online blitz snyd med en algoritme eller opdage lige som en menneskelig spiller, mens du spiller en modstander?
  • Snyd detekteringsstrategier fungerer kun, når snyderen er ” dumme “. Vedtagelse af mere kloge snydestategier (se min kommentar til NoviceProgrammer ‘ s svar) ville gøre snyd næsten umuligt at gætte.
  • Jeg synes, det er stort set en ikke-problem. Jeg spiller på chess.com. Jeg vil gætte på, at måske 1 person ud af 10 faktisk snyder. Og hvis jeg formoder, at min modstander fik hjælp, blokerer jeg dem bare.

Svar

Dette er faktisk et meget komplekst spørgsmål, og ikke et, som jeg ved, er løst på en tilfredsstillende måde. I det væsentlige beder vi om en algoritme til at udføre en slags omvendt Turing-test for at skelne mellem menneskelige spillere og computere.

For det første vil kontrol på klientsiden altid have svagheder, medmindre du er i komplet kontrol med klientmiljøet. Lad os tage den første idé – at kontrollere for skift mellem windows, det lyder godt. Desværre fungerede det trivielt ved at køre en skakmotor på en separat computer eller integrere min motor med klienten, så der ikke finder sted “skift af vindue” eller ændre klienten til at rapportere 0 ændringer i vinduet, eller … Der er ingen reel måde at være sikker på, at det virkelig er din kode, der kører på klienten.

Hvad vi har tilbage med er fysisk tæt kontrollerede klientmiljøer (som vil ikke ske for ethvert onlinespil) eller kontrol på serversiden, dvs. at se på de faktiske træk, der blev spillet (og måske tiden mellem bevægelserne, som du siger) og forsøge at udlede computeren eller det menneskelige aspekt .

Serversides kontrol kan også opdele et par måder. Du kan sandsynligvis prøve en “top-down” tilgang, som ville være noget i retning af “fra tidligere spil i historien, kun 2% af mennesker lavede dette skridt, mens 50% af computere gør det “. Dette ville faktisk være en ret god måde at gøre det på, hvis vi havde nok data til” en hvilken som helst given position “. skakstempo er dog så stort, at selv meget store datasæt ikke vil have et betydeligt antal spil, der matcher din position, når du først er kommet forbi det tidlige midt i spillet.

Under forudsætning af at vi ikke har nogen pålidelig statistik på den menneskelige side af ligningen, kan du stadig præsentere positionen for et antal skakmotorer (med et antal forskellige tidsindstillinger hver) og se, hvor tæt spillernes bevægelser svarer til en computers. I sig selv vil dette også føre til mange falske positive, men gentagne positive for den samme skakmotor og tidsindstillinger vil gøre det mere og mere sandsynligt, at spilleren snyder. For yderligere at forbedre dette ville jeg sandsynligvis undersøge en “bottom-up” tilgang til analyse af skakpositioner; kort sagt, forsøger at finde ud af, hvorfor mennesker og computere spiller forskelligt. For eksempel. mennesker har tendens til at genkende fælles mønstre. I et spil med “ulige” mønstre eller usandsynlige situationer er det mindre sandsynligt, at et menneske kan spille meget præcist. Ingen af disse er i sig selv særligt fordæmmende, men i betragtning af et stort antal spil vil det fremhæve tendenser for administratorer.

For at tilføje et par detaljer til din liste vil jeg gå i retning af, hvordan professorer opdage plagarisme i papirer – ved at opdage en pludselig ændring. I skak er dette ekstremt vanskeligt at definere, men en pludselig ændring i spillestil eller spilstyrke kan indikere snyd. Specifikt vil jeg se efter ikke-karakteristiske aggressive træk, der har tendens til bare at “træne” og ikke har nogen ulempe for spilleren (for nøjagtig). Tvungne kammerater i 4+ træk fra en spiller, der normalt lægger riddere på kanten af brættet osv. (det er muligt … bare ikke sandsynligt). Hvordan det ville fungere, lyder dog som om det kunne tage en hel bog (eller mere).

EDIT: Der var en artikel om snyd og afsløring i skak på øverste niveau for nylig.

Kommentarer

  • menneskerne vs computere kan give falske positive i åbningen af spillet, det er meget let at husk de bedste spil
  • @ ajax333221 Jeg er helt enig. I et omfang kan noget lignende gælde for slutspillet, hvor et menneske måske spiller det ret tæt på perfekt, bare baseret på forudgående viden. Når det er sagt, hvis jeg kan opdage mulig snyd i et spil, er jeg ‘ sikker på med yderligere information og sofistikeret analyse, at en computer kunne gøre det samme. Tvungen kompis i 4+ træk var et faktisk eksempel fra et nyligt online spil mod en 1050-klassificeret spiller – mildt sagt meget suggestivt …

Svar

I blitz kan du se, hvor lang tid de bruger. Folk, der bruger motorer bruger en jævn tid til hver bevægelse i stedet for at blitz gennem åbningen og sænke farten til en gennemsøgning i mellemspillet som de fleste normale spillere. Især kan de ikke spille åbningen hurtigt, fordi de er nødt til at opdatere deres computerkort efter hver åbning. Hvis de tager fem sekunder på træk to og fem sekunder på træk tyve, bruger de sandsynligvis en motor.

Kommentarer

  • Jeg er usikker på, om dette var tilfældet på tidspunktet for udstationering, men tørrefisk kan acceptere den resterende tid som input til at prioritere, hvad der bevæger sig at bruge tid på.

Svar

Antal skærmskiftere og spilhastighed er meningsløst. Hvis du bruger disse til at klage til arrangørerne af et online skakspil-websted, griner de af dig.

Der er to måder for at fortælle, om nogen snyder. Den første er “rygepistolen”. Overvej dette spilafsnit –

[White "Allwermann,Clemens (1900) "] [Black "Kalinitschev,Sergey (2505) Boeblingen (9), 30.12.1999"] [FEN "r6k/1p3Rpp/p2p1bq1/3N4/2P5/1P6/P1b2QPP/5RK1 w - - 0 1"] 1.Qa7 Rg8 2.Qxb7 Be4 3.Nf4 Qf5 4.Qd7 Qe5 5.Kh1 g5 6.Nh3 g4 7.Nf2 Bf5 8.Nxg4 Be4 9. R7xf6 Bxg2+ 10. Kxg2 Qe4+ 11. Kh3 

Spørgsmålet er, hvad ville du spille i det Situationen er, at en sejr i denne, den sidste runde af konkurrencen, vil vinde dig turneringen foran en række stormestre. Ikke dårligt for blot 1900. Jeg formoder, at de fleste af os ville spille noget rimeligt solidt, der holder vinder. Bevæger sig som Rxb7 eller Rd7 eller (for feje som mig 😉 Rxf6. Qa7 er en hjertestopper af et træk, en rygepistol. Fritz vurderer som det bedste træk i positionen, en kæmpestor 0,1 foran det næstbedste træk, Rd7.

Rygepistol nr. 2 spil i slutningen af spillet, da sort trak sig tilbage og efterlod den 1900-vurderede spiller som turnering direkte vinder. Hvad vil du sige til Kalinitschev i den stilling?

Sådan gik samtalen:

Allwermann: “Det er parret i 8”

Kalinitschev: “Jeg tror ikke det”

Allwermann: “” Tjek det ud, du vil finde ud af, at jeg har ret “

Allwermann havde selvfølgelig ret. Kan du finde makker i 8 i den endelige position? Uden siliciumassistance?

Så du har din rygepistol, og du tager den med til arrangørerne. Hvad vil de gøre?

Nå, så kommer den anden måde at opdage og bevise uden rimelig tvivl om, at snyd foregår.

De bliver nødt til at samle mindst 20 spil hver med mindst 20 ikke-database flytter og føder dem ind i en motor til kontrol. Grundlæggende hvad de leder efter er procentdelen af den gang, den mistænkte vælger et ikke-databasetræk, der matcher motorens første valg, et af de første 2 valg, et af de første 3 valg. De “bevis” tærskler er –

Top 1 65%

Top 2 80%

Top 3 90%

Et nylig eksempel er furore over Borislav Ivanovs præstationer .

Her er hans statistikker –

Zadar 19th: Houdini 1.5a x64 Hash: 256 Time: 30s Max Dybde: 20-taligt {Borislav Ivanov (Spil: 9)}

{Top 1-kamp: 210/314 (66,9%) Modstandere: 150/313 (47,9%)

{Top 2 Match: 270/314 (86,0%) Modstandere: 207/313 (66,1%)

{Top 3 Kamp: 285/314 (90,8%) Modstandere: 238/313 (76,0%)

{Top 4-kamp: 293/314 (93,3%) Modstandere: 267/313 (85,3%)

I 8. runde gik live-feedet ned (det mistænkes for, at dette tillod hans hjælp udefra få træk) og han tabte mod GM Predojevic. Hvis dette resultat fjernes, er de nye statistikker:

Zad ar 19.: Houdini 1.5a x64 Hash: 256 Tid: 30ere Maks. dybde: 20-tal {Borislav Ivanov (Spil:)}

{Top 1-kamp: 197/287 (68,6%) Modstandere: 135/286 ( 47,2%)

{Top 2-kamp: 252/287 (87,8%) Modstandere: 188/286 (65,7%)

{Top 3-kamp: 265/287 (92,3%) Modstandere: 218/286 (76,2%)

{Top 4-kamp: 272/287 (94,8%) Modstandere: 242/286 (84,6%)

Som du ser, begge sæt af statistikker ville få ham kastet af en skakserver. Til sammenligning her er analysen for spil 8, når feedet var nede:

{Hvid: Borislav Ivanov}

{Top 1-kamp: 13/27 (48,1%)

{Top 2-kamp: 18/27 (66,7%)

{Top 3-kamp: 20/27 (74,1%)

{Top 4-kamp: 22/27 (81,5%)

{Sort: Borki Predojevic}

{Top 1-kamp: 15/27 (55,6%)

{Top 2-kamp: 19 / 27 (70,4%)

{Top 3-kamp: 20/27 (74,1%)

{Top 4-kamp: 25/27 (92.6%)

Bemærk, at FIDE har nedsat en kommission, der skal undersøge måder til at opdage og bekæmpe edb-snyd. Deres retningslinjer er her . Bemærk dette afsnit:

E. FIDEs internetbaserede spil-screeningsværktøj

FIDE leverer et internetbaseret spil-screeningsværktøj, som vil være tilgængeligt for alle autoriserede FIDE-embedsmænd (IO, IA, ACC-medlemmer) og de nationale forbund. Det skal hostes på en FIDE-dedikeret webside og vil give autoriserede parter mulighed for at uploade spil i PGN-format til en “hurtig test”, der identificerer potentielle outliers i en turnering. Ved “screening” forstås det, at dette kun giver en indledende test uden domsværdi, bortset fra at den kan citeres, mens afvisning af påstande og afvisning af at gå videre til en manuel fuld test.

Kommentarer

  • Fantastisk analyse! T3 / T4-resultaterne er overbevisende, især når sandsynligheden for hans resultater rapporteres. BTW: Jeg er klar over, at dit indlæg blev lavet for et stykke tid siden, men har du tilfældigvis stadig henvisning til samtalen mellem Kalinitschev og Allwermann? Det er klart, at ingen 1900 finder en kammerat i 8 pålideligt, især når en 2500 ikke ser ‘ det. Det lyder ‘ ikke særlig smart for ham at have rejst dette punkt, når det af sig selv kunne give mistanke om, at han ‘ s snyd.
  • BTW: Jeg er uenig i, at Qa7! er en hjertestopper. Det ‘ udnytter simpelthen de to fakta, at: 1) Sort ‘ s bageste rang er svag, og 2) han ‘ er sårbar over for en makker på den. Så enhver omdirigering af tårnet fra bageste rang tillader potentielt vindende taktik. I dette tilfælde bruger White bevægelsen til at angribe b-bonden og til at koordinere sin dronning og tårnet på den syvende, så tårnet forsvares. Hvid vinder mindst en bonde efter 1 … Qxf7 2.Qxa8 + Qg8 3.Qxb7. Jeg tror, at enhver GM skulle have set træk Qa7, og jeg ‘ er meget overrasket over, at Kalinitschev savnede det. Det ‘ er det mest tvungne træk på tavlen efter Rxf6 ?!
  • @jaxter Oplysningerne kommer fra da.chessbase.com/post/a-history-of-cheating-in-che-3- . Bemærk ” Jeg er uenig i, at Qa7! er en hjertestopper ” – hvis du læser artiklen, vil du se, at Vishy Anand er uenig med dig :-). Fra artiklen – ‘ Så hvad spiller vores helt? 31.Qa7? !! “Fritzy!” skreg Anand og gik i ukontrollerbare latterpasninger, da han så dette og de følgende træk (jeg filmede hans glæde og inkluderede den i min multimedierapport i ChessBase Magazine 69). ‘
  • Tak for henvisningen. Jeg tager din pointe. Jeg ville bestemt have været villig til at give træk et skud, men at ‘ er dels fordi jeg ville have bedømt, at hvid kunne overleve sort ‘ s modangreb uden at beregne alle linjer . Hvis jeg forsøgte at gøre det a) Jeg ‘ ville være sikker på, at jeg ville begå en fatal fejl, og b) jeg ‘ d få heebie-jeebies og vælg et andet træk. Det ‘ er netop fordi jeg bruger intuition, at jeg ofte spiller freaky moves som … Qa7 !. Det ‘ er utvivlsomt også en medvirkende årsag til, hvorfor min vurdering er under 2000 …
  • Der ‘ sa forskel på, at det øverste træk er et lydtræk, du ‘ forventer, at mange spillere finder, og en strålende taktik, du ikke ville ‘ t forventer, at de fleste spillere ser. Hvid ‘ s play ovenfor har flere af sidstnævnte.

Svar

For at give mit svar på, hvordan jeg ville nærme mig dette, ville jeg bruge en simpel idé:

  • Null Hypotesetest

Ideen er, at der er et begrænset antal offentligt tilgængelige skakmotorer, lad os sige N af dem. Denne antagelse udelukker naturligvis muligheden for, at snyderen har skrevet deres egen skakmotor (eller bruger en offentligt utilgængelig skakmotor), men for at fange afslappede snydere skal dette være en stærk nok antagelse.

Anvendelsen af Null hypotesetest ville være meget enkel: for hver skakmotor X og beregne sandsynligheden p for at observere den spillede sekvens forudsat at nullhypotese at afspilleren er ikke ved hjælp af skakmotor X for at foretage bevægelserne for dem. En naiv antagelse kunne antages, at spilleren bevæger sig tilfældigt (eller tilfældigt vælger fra et valgt antal topbevægelser d_i), så sandsynligheden for en given rækkefølge af længde k matching bevæger en skakmotor X ville gøre, ville blive beregnet som (d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k) hvor d_i er antallet af mulige (øverste) bevægelser, der skal foretages ved ith drejning, som vurderet af motor X og n_i er antallet af samlede træk, der er tilgængelige for afspilleren ved tur i (eller en rimelig delmængde.)

Beregn derefter blot

p* = minimum p over all chess engine X, all subsequences y. 

Hvis p* er mindre end en bestemt tærskel, markerer afspilleren som en snyder, da der findes en efterfølgende y og skakmotor X, der giver sandsynligheden for, at afspilleren er ikke snyderi under en ønsket sandsynlighed.

Svar

Jeg tror, at analyse efter spillet giver dig den bedste chance for at identificere, om en spiller snyder. Dette kan gøres ved hjælp af det, der kaldes T3 / T4-analysen.

Dette måler grundlæggende frekvensen, hvormed en spiller vælger en af de øverste 3 eller top 4 bevægelser, der foreslås af en motor. Dette eliminerer stort set behovet for at identificere målmotoren i brug (da de generelt er enige om de øverste 4/5 bevægelser, selvom rækkefølgen af præferencer er anderledes).

Der er software tilgængelig, der kører en sæt af brugerens spil mod motorens øverste n bevægelser. Rediger:

Jeg er opmærksom på ChessAnalyse , der kan bruges til at foretage en sådan analyse. Du kan prøve den 30 dages prøveversion.

Kommentarer

  • Dette kan modvirkes af en intelligent snyder, der har en vis skakviden som følger: play moves der simpelthen ikke gør din position værre og venter på din modstanders ‘ blunder, som vil kompromittere hans / hendes position. Hvis du spiller 5 til 15 minutters blitz mod nogen, der ikke har GM-styrke, vil dette helt sikkert ske før eller senere. Hvis du desuden kaster et lejlighedsvis dårligt træk ind og / eller du ikke insisterer på at vinde hvert eneste spil, er jeg ‘ sikker på, at dit snyd ikke bliver opdaget.
  • @AndreaMori: Jeg er enig i, at du kan undgå nogle få situationer, men når hans / hendes vurdering forbedres, vil han være tvunget til at slå op mere og mere og til sidst blive opdaget.
  • Tak, du har nævnt at der er software tilgængelig. Kan du give et eksempel?

Svar

Hvis dit websted giver brugerne et enkelt klik, får du FEN-positioner eller PGN mens spillet kører , bør du overveje at spore disse.

Nogle snydere snyder fra starten, men andre foretrækker kun at begynde at snyde, når de er i problemer, og de vil brug naturligvis kopifunktionen FEN / PGN, da det er tidskrævende at opsætte positionen manuelt.

Du skal på en eller anden måde gemme det sammen med træk på det tidspunkt, hvor han kopierede det, på denne måde kan du sammenligne fra der peger på følgende bevægelser og se om hans styrke steg stærkt ved hjælp af skakmotorer.

Men det er meget vigtigt, at du kun bruger det til at hjælpe dig med at beslutte, om han snyder, det ville være uretfærdigt for at bruge et script, der ikke bruger menneskelig indblanding, kan der være mange falske positive, for eksempel kan jeg ofte lide at kopiere positioner, mens jeg spiller for senere at analysere dem uden behov for at søge efter mit spil eller finde th et nøjagtigt træk fra PGN. Og jeg lader det ikke altid være på mit klipbræt, fordi jeg er bange for at overskrive det, så jeg flytter det til notesblok (hvilket betyder, at jeg skifter vinduer lige efter kopiering).

Kommentarer

  • Dette ser ud til at adressere ” hvordan man administrerer en server ” synspunkt snarere end ” snyder min modstander? ” en (ikke at OP sagde noget om hvilken sag der var vigtig for ham). Kan være værd at nævne det, da det tog mig lidt tid at forstå, hvad du mente, og tænkte på det fra afspilleren ‘ s POV.(Godt svar … når dette først er forstået ^ _ ^ ‘)
  • tak @ajax. Jeg har ikke tænkt på at gemme det træk, hvor positionen blev kopieret, og analysere forskellen mellem styrken før og efter.
  • og selvfølgelig vil snyderne finde ud af og deaktivere denne sporing. eller gør deres egen kopifunktionalitet, det er ‘ ikke så svært: codegolf.stackexchange.com/questions/89647/chess-conversion

Svar

FWIW, ingen har nævnt Dr. Ken Regan ved navn, selvom pointer til Liptons blog beskriver en anden artikel i Chess Life , der diskuterer hans arbejde.

Denne artikel er meget informativ om Regans arbejde, status for detektionsteknikker, der var gældende i 2014, og FIDEs arbejde med at nedsætte et udvalg, der skulle definere og offentliggøre standarder, værktøjer og teknikker til at hjælpe TD ” s ved at udelukke snyd.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *