Es gibt viele Online-Websites, auf denen Spieler in Echtzeit miteinander Schach spielen können. Die meisten Spiele dauern 5-10 Minuten. Mit der Verfügbarkeit von Schach-Software kann man einen Vorteil nutzen, indem man Fritz oder Rybka verwendet, um einen Zug für ihn vorzuschlagen.

Zum Beispiel kann ich einfach jeden Zug meines Gegners eingeben und sehen, welche Software für mich vorschlägt

Ich habe über einige Funktionen nachgedacht, die darauf hindeuten können, dass der Spieler betrügt:

  • Häufigkeit, mit der er den Bildschirm wechselt
  • Geschwindigkeit von spielen (in einfachen und in wirklich schwierigen Positionen)
  • Genauigkeit des Spiels

Hat jemand andere Ideen?

PS: Das tut es Für mich spielt es keine Rolle, aus welcher Perspektive Sie denken (Server- oder Client-Seite).

Kommentare

  • Hervorragende Frage und relevantes Problem heute! Aber meinen Sie damit, Online-Blitz-Betrug mithilfe eines Algorithmus zu erkennen oder nur als menschlicher Spieler zu erkennen, während Sie einen Gegner spielen?
  • Strategien zur Erkennung von Betrug funktionieren nur, wenn der Betrüger “ dumm „. Die Verwendung klügerer Betrugsstrategien (siehe meinen Kommentar zur Antwort von NoviceProgrammer ‚) würde das Betrügen fast unmöglich machen.
  • Ich denke, das ist so ziemlich ein kein Problem. Ich spiele auf chess.com. Ich würde vermuten, dass vielleicht 1 von 10 Personen tatsächlich betrügt. Und wenn ich vermute, dass mein Gegner Hilfe bekommen hat, blockiere ich sie einfach.

Antwort

Dies ist eigentlich eine Nach meinem Wissen eine sehr komplexe Frage, die nicht zufriedenstellend gelöst wurde. Im Wesentlichen bitten wir um einen Algorithmus, der eine Art umgekehrten Turing-Test durchführt, um zwischen menschlichen Spielern und Computern zu unterscheiden.

Erstens weisen clientseitige Überprüfungen immer Schwächen auf, es sei denn, Sie befinden sich in vollständige Kontrolle über die Client-Umgebung. Nehmen wir die erste Idee – prüfen, ob zwischen Windows gewechselt wird, das klingt gut. Leider ist es trivial, eine Schach-Engine auf einem separaten Computer auszuführen oder meine Engine in den Client zu integrieren, so dass kein „Fensterwechsel“ stattfindet, oder den Client so zu ändern, dass 0 Änderungen im Fenster gemeldet werden, oder … Es gibt keine wirkliche Möglichkeit, um sicherzugehen, dass es sich tatsächlich um Ihren Code handelt, der auf dem Client ausgeführt wird.

Was uns bleibt, sind physisch streng kontrollierte Clientumgebungen (welche) wird bei keinem Online-Spiel oder bei der serverseitigen Überprüfung passieren, dh bei der Betrachtung der tatsächlich gespielten Züge (und möglicherweise der Zeit zwischen den Zügen, wie Sie sagen) und beim Versuch, den Computer- oder menschlichen Aspekt abzuleiten

Die serverseitige Überprüfung kann auch auf verschiedene Arten aufgeteilt werden. Sie könnten wahrscheinlich einen „Top-Down“ -Ansatz ausprobieren, der in etwa so aussieht wie „aus früheren Spielen in der Geschichte, nur 2%“. von Menschen haben diesen Schritt gemacht, während 50% der Computer es schaffen „. Dies wäre tatsächlich ein ziemlich guter Weg, dies zu tun, wenn wir genug Daten für“ jede gegebene Position „hätten. Die Suche s Das Schachtempo ist jedoch so groß, dass selbst bei sehr großen Datenmengen keine signifikante Anzahl von Spielen vorhanden ist, die Ihrer Position entsprechen, sobald Sie die frühe Spielmitte hinter sich haben.

Angenommen, wir tun dies nicht Wenn Sie zuverlässige Statistiken auf der menschlichen Seite der Gleichung haben, können Sie die Position dennoch einer Reihe von Schach-Engines (mit jeweils unterschiedlichen Zeiteinstellungen) präsentieren und sehen, wie genau die Bewegungen der Spieler mit denen eines Computers übereinstimmen. Dies würde für sich genommen auch zu vielen Fehlalarmen führen. Wiederholte Positive für dieselbe Schachengine und Zeiteinstellungen würden es jedoch immer wahrscheinlicher machen, dass der Spieler betrügt. Um dies weiter zu verbessern, würde ich wahrscheinlich einen „Bottom-up“ -Ansatz zur Analyse von Schachpositionen untersuchen. Kurz gesagt, um herauszufinden, warum Menschen und Computer unterschiedlich spielen. Z.B. Menschen neigen dazu, gemeinsame Muster zu erkennen. In einem Spiel mit „merkwürdigen“ Mustern oder unwahrscheinlichen Situationen ist es weniger wahrscheinlich, dass ein Mensch sehr genau spielen kann. Keines davon ist an sich besonders schädlich, aber angesichts der großen Anzahl von Spielen würde es den Administratoren Trends aufzeigen.

Um Ihrer Liste einige Besonderheiten hinzuzufügen, würde ich mich an die Vorgehensweise von Professoren halten Plagarismus in Papieren erkennen – durch Erkennen einer plötzlichen Veränderung. Im Schach ist dies äußerst schwer zu definieren, aber eine plötzliche Änderung des Spielstils oder der Spielstärke kann auf Betrug hinweisen. Insbesondere würde ich nach ungewöhnlich aggressiven Zügen suchen, die dazu neigen, nur „zu trainieren“ und keine Nachteile für den Spieler haben (zu genau). Erzwungene Gefährten in 4+ Zügen von einem Spieler, der normalerweise Ritter auf die Kante des Bretts legt usw. (es ist möglich … nur nicht wahrscheinlich). Wie genau dies funktionieren würde, scheint jedoch ein ganzes Buch (oder mehr) in Anspruch zu nehmen.

BEARBEITEN: Es gab einen Artikel über Betrug und Erkennung in Top-Level-Schach vor kurzem.

Kommentare

  • Die Menschen gegen Computer können bei der Eröffnung des Spiels falsch positive Ergebnisse liefern. Dies ist sehr einfach Die besten Spiele auswendig lernen
  • @ ajax333221 Ich stimme vollkommen zu. Bis zu einem gewissen Grad kann etwas Ähnliches für das Endspiel gelten, bei dem ein Mensch es ziemlich perfekt spielen könnte, nur basierend auf Vorkenntnissen. Das heißt, wenn ich mögliche Betrügereien in einem Spiel erkennen kann, bin ich mir sicher, dass ein Computer mit zusätzlichen Informationen und ausgefeilten Analysen das Gleiche tun könnte, ‚. Der erzwungene Partner in 4+ Zügen war ein aktuelles Beispiel aus einem kürzlich durchgeführten Online-Spiel gegen einen Spieler mit 1050 Bewertungen – gelinde gesagt sehr suggestiv …

Antwort

In Blitz können Sie anhand der Zeit, die sie verwenden, erkennen, wie viel Zeit sie verwenden. Benutzer von Motoren verwenden für jede Bewegung eine konstante Zeit, anstatt durch die Öffnung zu blitzen und langsamer zu werden Insbesondere die meisten normalen Spieler können die Eröffnung nicht schnell spielen, da sie ihre Computerplatine nach jedem Eröffnungszug aktualisieren müssen. Wenn sie im zweiten Zug fünf Sekunden und im zwanzigsten Zug fünf Sekunden brauchen, verwenden sie wahrscheinlich eine Engine.

Kommentare

  • Ich bin mir nicht sicher, ob Dies war zum Zeitpunkt der Veröffentlichung der Fall, aber Stockfish kann die verbleibende Zeit als Eingabe akzeptieren, um zu priorisieren, in welchen Bewegungen Zeit verbracht werden soll.

Antwort

Anzahl der Bildschirmschalter und Spielgeschwindigkeit sind bedeutungslos. Wenn Sie diese verwenden, um sich bei den Organisatoren einer Online-Schachspiel-Website zu beschweren, werden sie Sie auslachen.

Es gibt zwei Möglichkeiten um zu sagen, ob jemand betrügt. Die erste ist die „rauchende Waffe“. Betrachten Sie diesen Spielabschnitt –

[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 

Die Frage ist, was würden Sie in dieser spielen? Die Situation ist, dass ein Sieg in dieser letzten Runde des Wettbewerbs Ihnen das Turnier vor einer Reihe von Großmeistern einbringt. Nicht schlecht für nur 1900. Ich vermute, die meisten von uns würden etwas ziemlich Solides spielen, das das hält win. Moves wie Rxb7 oder Rd7 oder (für Feiglinge wie mich 😉 Lxf6. Qa7 ist ein Herzschlag einer Bewegung, eine rauchende Waffe. Fritz gilt als der beste Zug in der Position, satte 0,1 vor dem nächstbesten Zug, Rd7.

Smoking Gun # 2-Spiel am Ende des Spiels, als Schwarz zurücktrat und den 1900 bewerteten Spieler als den zurückließ Turniersieger. Was würden Sie Kalinitschev in dieser Position sagen?

So verlief das Gespräch:

Allwermann: „Es ist Kumpel in 8“

Kalinitschev: „Ich glaube nicht“

Allwermann: „“ Probieren Sie es aus, Sie werden feststellen, dass ich Recht habe „

Allwermann hatte natürlich Recht. Kannst du den Partner in 8 in der Endposition finden? Ohne Silikonunterstützung?

Sie haben also Ihre rauchende Waffe und bringen sie zu den Organisatoren. Was werden sie tun?

Nun, dann kommt die zweite Möglichkeit, zweifelsfrei zu erkennen und zu beweisen, dass Betrug stattfindet.

Sie müssen jeweils mindestens 20 Spiele sammeln Mindestens 20 Nicht-Datenbank-Verschiebungen werden zur Überprüfung in eine Engine eingespeist. Grundsätzlich suchen sie nach dem Prozentsatz der Zeit, in der der Verdächtige eine Nicht-Datenbank-Bewegung auswählt, die mit der ersten Auswahl der Engine, einer der ersten zwei Auswahl, einer der ersten drei Auswahl übereinstimmt. Die „Beweis“ -Schwellenwerte sind –

Top 1 65%

Top 2 80%

Top 3 90%

Ein aktuelles Beispiel ist die Furore über die Leistung von Borislav Ivanov .

Hier sind seine Statistiken –

Zadar 19 .: Houdini 1.5a x64 Hash: 256 Zeit: 30s max Tiefe: 20-mal {Borislav Ivanov (Spiele: 9)}

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

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

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

{Top 4 Match: 293/314 (93,3%) Gegner: 267/313 (85,3%)

In der 8. Runde ging der Live-Feed zurück (es wird vermutet, dass dies seine Hilfe von außen erlaubte Holen Sie sich die Züge) und er verlor gegen GM Predojevic. Wenn dieses Ergebnis entfernt wird, sind die neuen Statistiken:

Zad ar 19 .: Houdini 1.5a x64 Hash: 256 Zeit: 30s Maximale Tiefe: 20ply {Borislav Ivanov (Spiele :)}

{Top 1 Match: 197/287 (68,6%) Gegner: 135/286 ( 47,2%)

{Top 2 Match: 252/287 (87,8%) Gegner: 188/286 (65,7%)

{Top 3 Match: 265/287 (92,3%) Gegner: 218/286 (76,2%)

{Top 4 Match: 272/287 (94,8%) Gegner: 242/286 (84,6%)

Wie Sie sehen, beide Sätze von Statistiken würde ihn von einem Schachserver werfen. Zum Vergleich hier die Analyse für Spiel 8, als der Feed nicht verfügbar war:

{Weiß: Borislav Ivanov}

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

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

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

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

{Schwarz: Borki Predojevic}

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

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

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

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

Beachten Sie, dass die FIDE eine Kommission eingerichtet hat, die nach Möglichkeiten sucht, Computerbetrug zu erkennen und zu bekämpfen. Ihre Richtlinien sind hier . Beachten Sie diesen Abschnitt:

E. Das internetbasierte FIDE-Game-Screening-Tool

FIDE wird ein internetbasiertes Game-Screening-Tool bereitstellen, auf das alle autorisierten FIDE-Beamten (IO-, IA-, ACC-Mitglieder) und nationalen Verbände zugreifen können. Es soll auf einer FIDE-eigenen Webseite gehostet werden und es autorisierten Parteien ermöglichen, Spiele im PGN-Format für einen „schnellen Test“ hochzuladen, der potenzielle Ausreißer in einem Turnier identifiziert. Unter „Screening“ versteht man, dass dies nur einen vorläufigen Test ohne Beurteilungswert darstellt, mit der Ausnahme, dass er zitiert werden kann, während Anschuldigungen zurückgewiesen und abgelehnt werden, zu einem manuellen vollständigen Test überzugehen.

Kommentare

  • Großartige Analyse! Die T3 / T4-Ergebnisse überzeugen, insbesondere wenn die Wahrscheinlichkeit seiner Ergebnisse angegeben wird. Übrigens: Mir ist klar, dass Ihr Beitrag vor einiger Zeit verfasst wurde, aber haben Sie immer noch das Zitat für das Gespräch zwischen Kalinitschev und Allwermann? Es ist klar, dass kein 1900 einen Partner in 8 zuverlässig finden wird, besonders wenn ein 2500 ‚ es nicht sieht. ‚ klingt für ihn nicht besonders klug, wenn er diesen Punkt angesprochen hat, an dem er den Verdacht erwecken könnte, dass er ‚ betrügt.
  • Übrigens: Ich bin nicht der Meinung, dass Qa7! ist ein Herzstopper. ‚ nutzt einfach die beiden folgenden Fakten aus: 1) Der hintere Rang von Schwarz ‚ ist schwach und 2) er ‚ ist anfällig für einen Partner. Jede Ablenkung des Turmes vom hinteren Rang ermöglicht also potenziell gewinnbringende Taktiken. In diesem Fall nutzt Weiß den Zug, um den B-Bauern anzugreifen und seine Königin und seinen Turm am siebten zu koordinieren, damit der Turm verteidigt wird. Weiß gewinnt mindestens einen Bauern nach 1 … Dxf7 2.Dxa8 + Dg8 3.Dxb7. Ich denke, jeder GM hätte den Zug Qa7 sehen sollen, und ich ‚ bin sehr überrascht, dass Kalinitschev ihn verpasst hat. Es ist ‚ nach Rxf6 der erzwungenste Zug auf dem Brett?!
  • @jaxter Die Informationen stammen von en.chessbase.com/post/a-history-of-cheating-in-che-3- . Hinweis “ Ich bin nicht der Meinung, dass Qa7! ist ein Herzschlag “ – wenn Sie den Artikel lesen, werden Sie sehen, dass Vishy Anand nicht mit Ihnen übereinstimmt :-). Aus dem Artikel – ‚ Was spielt unser Held? 31.Da7? !! „Fritzy!“ quietschte Anand und geriet in unkontrollierbare Lachanfälle, als er diese und die folgenden Bewegungen sah (ich filmte seine Freude und nahm sie in meinen Multimedia-Bericht im ChessBase Magazine 69 auf). ‚
  • Vielen Dank für den Hinweis. Ich nehme deinen Punkt. Ich wäre sicherlich bereit gewesen, dem Zug eine Chance zu geben, aber das ‚ liegt teilweise daran, dass ich beurteilt hätte, dass Weiß Schwarz überleben könnte ‚ s Gegenangriff ohne Berechnung aller Zeilen . Wenn ich das versuchen würde a) Ich ‚ würde sicher sein, dass ich einen fatalen Fehler machen würde, und b) ich ‚ würde das bekommen heebie-jeebies und wählen Sie einen anderen Zug. ‚ Gerade weil ich Intuition benutze, spiele ich oft verrückte Moves wie … Qa7!. ‚ trägt zweifellos auch dazu bei, warum meine Bewertung unter 2000 liegt …
  • Dort ‚ sa Der Unterschied zwischen dem Top-Move und einem Sound-Move, den Sie ‚ erwarten würden, und einer brillanten Taktik, die Sie nicht ‚ t finden würden Erwarten Sie, dass die meisten Spieler sehen. Das Spiel von White ‚ hat mehrere der letzteren.

Antwort

Um meine Antwort zu geben, wie ich das angehen würde, würde ich eine einfache Idee verwenden:

  • Nullhypothesentest

Die Idee ist, dass es eine begrenzte Anzahl öffentlich verfügbarer Schach-Engines gibt, sagen wir N von ihnen. Diese Annahme schließt natürlich die Möglichkeit aus, dass der Betrüger eine eigene Schachmaschine geschrieben hat (oder eine öffentlich nicht verfügbare Schachmaschine verwendet), aber um Gelegenheitsbetrüger zu fangen, sollte dies eine hinreichend starke Annahme sein.

Die Anwendung des Nullhypothesentests wäre sehr einfach: für jede Schachengine X und für jede Teilsequenz von Zügen des aktuellen Spiels die Wahrscheinlichkeit p berechnen, die gespielte Teilsequenz unter der Nullhypothese dass der Spieler nicht Verwenden der Schachengine X, um die Züge für sie auszuführen. Eine naive Annahme könnte gemacht werden, dass sich der Spieler zufällig bewegt (oder zufällig aus einer ausgewählten Anzahl von Top-Zügen d_i wählt), dann die Wahrscheinlichkeit für eine gegebene Teilsequenz der Länge k Matching-Moves, die eine Schach-Engine X ausführen würde, würden als (d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k) berechnet, wobei d_i ist die Anzahl der möglichen (oberen) Bewegungen, die bei der ith -Drehung ausgeführt werden müssen, bewertet von Motor X und n_i ist die Anzahl der Züge, die dem Spieler in Runde i (oder einer vernünftigen Teilmenge) zur Verfügung stehen.

Berechnen Sie dann einfach

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

Wenn p* unter einem bestimmten Schwellenwert liegt, wird der Spieler als Betrüger bezeichnet, da er existiert eine Teilsequenz y und eine Schachengine X, die die Wahrscheinlichkeit erhöht, dass der Spieler nicht Betrug unter einer gewünschten Wahrscheinlichkeit.

Antwort

Ich denke, die Analyse nach dem Spiel bietet Ihnen die beste Chance, festzustellen, ob ein Spieler betrogen hat. Dies kann mithilfe der sogenannten T3 / T4-Analyse erfolgen.

Dies misst im Wesentlichen die Häufigkeit, mit der ein Spieler einen der Top 3 oder Top 4 Züge auswählt, die von einer Engine vorgeschlagen werden. Dadurch entfällt weitgehend die Notwendigkeit, die verwendete Ziel-Engine zu identifizieren (da sie sich im Allgemeinen auf die Top-4/5-Züge einigen, auch wenn die Reihenfolge der Präferenzen unterschiedlich ist).

Es ist Software verfügbar, die a ausführt Satz von Spielen des Benutzers gegen die obersten n Bewegungen der Maschine. Bearbeiten:

Mir ist ChessAnalyse bekannt, mit der eine solche Analyse durchgeführt werden kann. Sie können die 30-Tage-Testversion ausprobieren.

Kommentare

  • Dem kann ein intelligenter Betrüger entgegenwirken, der über folgende Schachkenntnisse verfügt: Spielzüge Das macht Ihre Position einfach nicht schlechter und wartet auf den Fehler Ihres Gegners ‚, der seine Position gefährden würde. Wenn Sie 5 bis 15 Minuten Blitz gegen jemanden spielen, der nicht GM-stark ist, wird dies definitiv früher oder später passieren. Wenn Sie außerdem gelegentlich einen schlechten Zug ausführen und / oder nicht darauf bestehen, jedes einzelne Spiel zu gewinnen, bin ich ‚ sicher, dass Ihr Betrug unentdeckt bleibt.
  • @AndreaMori: Ich stimme zu, dass Sie einige Situationen vermeiden können, aber wenn sich seine / ihre Bewertung verbessert, wird er gezwungen sein, immer mehr nachzuschauen und wird schließlich entdeckt.
  • Vielen Dank, Sie haben es erwähnt dass es Software gibt. Können Sie ein Beispiel geben?

Antwort

Wenn Ihre Site den Benutzern einen Klick gibt, erhalten Sie FEN-Positionen oder PGN während das Spiel läuft , sollten Sie in Betracht ziehen, diese zu verfolgen.

Einige Betrüger betrügen von Anfang an, andere ziehen es vor, nur dann zu schummeln, wenn sie in Schwierigkeiten sind, und das werden sie auch Verwenden Sie natürlich die FEN / PGN-Kopierfunktion, da das manuelle Einrichten der Position zeitaufwändig ist.

Sie sollten dies zusammen mit der Verschiebung zum Zeitpunkt des Kopierens irgendwie speichern, auf diese Weise können Sie vergleichen dieser Punkt auf die folgenden Züge und sehen, ob seine Stärke mit Hilfe von Schach-Engines stark zugenommen hat.

Aber es ist sehr wichtig, dass Sie es nur verwenden, um zu entscheiden, ob er betrogen hat, es wäre unfair Um ein Skript zu verwenden, bei dem kein menschliches Eingreifen erforderlich ist, kann es viele Fehlalarme geben. Ich kopiere beispielsweise häufig Positionen, während ich spiele, um sie später zu analysieren, ohne nach meinem Spiel suchen oder das finden zu müssen Die genaue Bewegung von der PGN. Und ich lasse es nicht immer in meiner Zwischenablage, weil ich Angst habe, es zu überschreiben, und verschiebe es in den Editor (was bedeutet, dass ich die Fenster direkt nach dem Kopieren wechsle).

Kommentare

  • Dies scheint eher die “ Vorgehensweise zum Verwalten eines Servers “ zu adressieren als Die “ betrügt mein Gegner? “ eine (nicht, dass das OP etwas darüber gesagt hätte, welcher Fall für ihn von Bedeutung ist). Könnte erwähnenswert sein Ich brauchte ein wenig Zeit, um zu verstehen, was Sie meinten, und dachte an den POV des Players ‚.(Gute Antwort … sobald dies verstanden ist ^ _ ^ ‚)
  • danke @ajax. Ich habe nicht daran gedacht, den Zug zu speichern, an dem die Position kopiert wurde, und den Unterschied zwischen der Stärke vorher und nachher zu analysieren.
  • und natürlich werden Betrüger diese Verfolgung herausfinden und deaktivieren. oder machen Sie ihre eigene Kopierfunktion, es ist ‚ nicht so schwer: codegolf.stackexchange.com/questions/89647/chess-conversion

Antwort

FWIW, niemand hat Dr. Ken Regan namentlich erwähnt, obwohl die Der Zeiger auf Liptons Blog beschreibt einen weiteren Artikel in Chess Life , in dem seine Arbeit erörtert wird.

Dieser Artikel ist sehr informativ über Regans Arbeit, den Stand der 2014 in Kraft getretenen Erkennungstechniken und die Arbeit der FIDE bei der Einrichtung eines Komitees zur Definition und Verbreitung von Standards, Tools und Techniken zur Unterstützung von TD. s beim Ausrotten von Betrug.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.