Il existe de nombreux sites Web en ligne, où les joueurs peuvent jouer aux échecs en temps réel les uns avec les autres. La plupart des jeux durent entre 5 et 10 minutes. Avec la disponibilité du logiciel d’échecs, on peut prendre avantage en utilisant Fritz ou Rybka pour lui suggérer un déménagement.
Par exemple, je peux simplement entrer chaque mouvement de mon adversaire et voir ce que le logiciel me proposera.
Je pensais à quelques fonctionnalités qui peuvent suggérer que le joueur triche:
- nombre de fois qu'il change d'écran
- vitesse de jeu (dans des positions faciles et très difficiles)
- précision du jeu
Quelqu'un a-t-il d'autres idées?
PS: Peu importe pour moi, quelle perspective vous envisagez (côté serveur ou côté client).
analysis
online-chess
Salvador Dali
la source
la source
Réponses:
A ma connaissance, cette question est en réalité très complexe et n’a pas été résolue de manière satisfaisante. Nous demandons essentiellement un algorithme pour effectuer une sorte de test de Turing inverse, afin de différencier les joueurs humains des ordinateurs.
Premièrement, les contrôles côté client auront toujours des faiblesses, à moins que vous ne maîtrisiez totalement l'environnement du client. Prenons la première idée - vérifier que vous passez d’une fenêtre à l’autre, cela sonne bien. Malheureusement, cela fonctionne trivialement en exécutant un moteur d’échecs sur un ordinateur séparé, ou en intégrant mon moteur au client afin qu’aucun "changement de fenêtre" ne se produise, ou en modifiant le client pour signaler 0 changement de fenêtre, ou ... Il n’existe aucun moyen réel de s’assurer que c’est bien votre code qui tourne sur le client.
Ce qui nous reste est un environnement client strictement contrôlé (ce qui ne se produira pas pour les jeux en ligne), ou une vérification côté serveur, c’est-à-dire en regardant les coups réellement joués (et peut-être le temps entre les coups, comme vous le dites), et en essayant de déduire l’aspect informatique ou humain.
La vérification côté serveur peut également être divisée de plusieurs manières. Vous pourriez probablement essayer une approche "du haut vers le bas", qui ressemblerait à "des jeux passés de l'histoire, seulement 2% des humains ont fait ce mouvement, alors que 50% des ordinateurs l'ont fait". Ce serait en fait un très bon moyen de le faire si nous avions assez de données pour "n'importe quel poste". L'espace de recherche des échecs est si vaste que même les très grands ensembles de données n'auront pas un nombre important de jeux correspondant à votre position, une fois que vous aurez dépassé le début de la mi-partie.
En supposant que nous ne disposions pas de statistiques fiables sur le côté humain de l'équation, vous pouvez toujours présenter la position à un certain nombre de moteurs d'échecs (avec un certain nombre de réglages de temps différents) et voir à quel point les mouvements des joueurs correspondent. celui d'un ordinateur. En soi, cela conduirait également à de nombreux faux positifs, cependant, des positifs répétés pour le même moteur d'échecs et les mêmes réglages de l'heure rendraient de plus en plus probable que le joueur trichait. Pour améliorer encore cela, je rechercherais probablement une approche «ascendante» d’analyse des positions d’échecs; en bref, essayer de comprendre pourquoi les humains et les ordinateurs jouent différemment. Par exemple, les humains ont tendance à reconnaître des modèles communs. Dans un jeu avec des schémas "étranges" ou des situations improbables, un humain aurait moins de chances de pouvoir jouer avec une grande précision. Aucun d'eux,
Pour ajouter quelques détails à votre liste, j'irais dans le sens de la façon dont les professeurs détectent le plagarisme dans les journaux - en détectant un changement soudain. Aux échecs, cela est extrêmement difficile à définir, mais un changement soudain de style de jeu ou de force de jeu peut indiquer une triche. Plus précisément, je rechercherais des mouvements inhabituellement agressifs qui ont tendance à "fonctionner" et ne présentent aucun inconvénient pour le joueur (trop précis). Les compagnons forcés dans 4+ mouvements d'un joueur qui met normalement des chevaliers sur le bord du tableau, etc. (c'est possible ... mais c'est peu probable). Cependant, comment cela fonctionnerait-il? Cela pourrait prendre un livre entier (ou plus).
EDIT: Il y a eu récemment un article sur la triche et la détection dans les échecs de haut niveau .
la source
En blitz, vous pouvez dire par combien de temps ils utilisent. Les personnes utilisant des moteurs utilisent une quantité de temps constante pour chaque coup, au lieu de passer en blitz à travers l'ouverture et de ralentir au ralenti, comme la plupart des joueurs normaux. En particulier, ils ne peuvent pas jouer rapidement parce qu’ils doivent mettre à jour leur ordinateur après chaque coup d’ouverture. S'ils mettent cinq secondes pour bouger, deux à cinq secondes pour vingt, ils utilisent probablement un moteur.
la source
Le nombre de commutateurs d'écran et la vitesse de jeu n'ont pas de sens. Si vous les utilisez pour vous plaindre auprès des organisateurs d'un site Web de jeu d'échecs en ligne, ils se moqueront de vous.
Il y a deux façons de savoir si quelqu'un triche. Le premier est le "pistolet fumant". Considérez cette section de jeu -
La question est de savoir quel rôle joueriez-vous dans cette position? La situation est qu’une victoire dans cette dernière manche de la compétition vous permettra de gagner le tournoi devant une série de grands maîtres. Pas mal pour un simple 1900. Je suppose que la plupart d’entre nous jouerions quelque chose de raisonnablement solide qui maintiendrait la victoire. Se déplace comme Rxb7 ou Rd7 ou (pour les lâches comme moi ;-) Rxf6. Qa7 est un coup de cœur pour un déménagement, une arme à feu. Fritz estime que le meilleur mouvement de la position, avec une avance colossale de 0,1% sur le prochain meilleur mouvement, Rd7.
Jeu de pistolet à fumer n ° 2 à la fin du jeu lorsque Black a démissionné, laissant le joueur classé au classement 1900 comme vainqueur du tournoi. Que diriez-vous à Kalinitschev dans cette position?
Voici comment s'est déroulée la conversation:
Allwermann: "C'est un pote dans 8"
Kalinitschev: "Je ne pense pas"
Allwermann: "" Regarde, tu verras que j'ai raison "
Allwermann avait raison, bien sûr. Pouvez-vous trouver le second dans la position 8? Sans assistance en silicium?
Donc, vous avez votre arme à feu et vous le remettez aux organisateurs. Qu'est-ce qu'ils vont faire?
Vient ensuite la deuxième façon de détecter et de prouver au-delà de tout doute raisonnable que la tricherie est en cours.
Ils devront collecter au moins 20 jeux comportant chacun au moins 20 mouvements non liés à une base de données et les alimenter dans un moteur de contrôle. Ce qu’ils recherchent, c’est essentiellement le pourcentage de fois où le suspect choisit un déplacement ne faisant pas partie de la base de données, qui correspond au premier choix du moteur, l’un des 2 premiers choix et l’un des 3 premiers choix. Les seuils de "preuve" sont -
Top 1 65%
Top 2 80%
Top 3 90%
Un exemple récent est le tollé suscité par la performance de Borislav Ivanov .
Voici ses statistiques -
Zadar 19ème: Houdini 1.5a x64 Hash: 256 Temps: 30s Profondeur Max: 20ply {Borislav Ivanov (Jeux: 9)}
{Top 1 Match: 210/314 (66,9%) Adversaires: 150/313 (47,9%)
{Top 2 Match: 270/314 (86.0%) Adversaires: 207/313 (66.1%)
{Top 3 Match: 285/314 (90,8%) Adversaires: 238/313 (76,0%)
{Top 4 Match: 293/314 (93.3%) Adversaires: 267/313 (85.3%)
Au 8e tour, la transmission en direct s’est arrêtée (il est soupçonné que cela a permis à son aide extérieure de prendre les choses de main) et il a perdu face à GM Predojevic. Si ce résultat est supprimé, les nouvelles statistiques sont les suivantes:
Zadar 19ème: Houdini 1.5a x64 Hash: 256 Temps: 30s Profondeur Max: 20ply {Borislav Ivanov (Jeux:)}
{Top 1 Match: 197/287 (68,6%) Adversaires: 135/286 (47,2%)
{Top 2 Match: 252/287 (87,8%) Adversaires: 188/286 (65,7%)
{Top 3 Match: 265/287 (92.3%) Adversaires: 218/286 (76.2%)
{Top 4 Match: 272/287 (94,8%) Adversaires: 242/286 (84,6%)
Comme vous le voyez, les deux ensembles de statistiques le feraient lancer un serveur d’échecs. À titre de comparaison, voici l’analyse du jeu 8 lorsque le flux était en panne:
{Blanc: 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%)
{Noir: 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%)
Notez que la FIDE a mis en place une commission chargée d’examiner les moyens de détecter et de combattre la triche informatique. Leurs lignes directrices sont ici . Notez cette section:
la source
Pour donner ma réponse quant à la manière dont j'aborderais cela, j'utiliserais une idée simple:
L'idée est qu'il existe un nombre limité de moteurs d'échecs disponibles au public, disons
N
d'eux. Bien entendu, cette hypothèse exclut la possibilité que le tricheur ait écrit son propre moteur d’échecs (ou qu’il utilise un moteur d’échecs indisponible publiquement), mais cela devrait être une hypothèse suffisamment solide pour attraper les tricheurs occasionnels.L'application du test d'hypothèse nulle serait très simple: pour chaque moteur d'échecs
X
et pour chaque sous-séquence de coups du jeu en cours, calculez la probabilitép
d'observer la sous-séquence jouée en supposant l' hypothèse nulle que le joueur n'utilise pas le moteur d'échecsX
pour effectuer les coups. pour eux. Une hypothèse naïve pourrait être fait que le joueur se déplace au hasard (choisit ou au hasard à partir d' un certain nombre de premiers mouvementsd_i
), la probabilité d'une séquence donnée de longueurk
se déplace correspondant un moteur d'échecsX
rendrait seraient calculés comme(d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k)
oùd_i
est le nombre de possibles (top) mouvements à faire à laith
tour, évalué par le moteurX
etn_i
est le nombre total de coups disponibles pour le joueur à son touri
(ou un sous-ensemble raisonnable).Ensuite, calculez simplement
Si
p*
est inférieur à un certain seuil, étiquetez le joueur en tant que tricheur puisqu'il existe uny
moteur de sous-séquence et d'échecsX
qui porte la probabilité que le joueur ne triche pas en dessous d'une probabilité souhaitée.la source
Je pense que l'analyse post-match vous donne la meilleure chance d'identifier si un joueur a triché. Cela peut être fait en utilisant ce qu'on appelle l'analyse T3 / T4.
Cela mesure essentiellement la fréquence à laquelle un joueur choisit l’un des 3 ou 4 meilleurs mouvements suggérés par un moteur. Ceci élimine en grande partie le besoin d'identifier le moteur cible utilisé (car ils s'accorderont généralement sur les 4/5 premiers mouvements même si l'ordre de préférence est différent).
Il existe des logiciels disponibles qui exécuteront un ensemble de jeux de l'utilisateur contre les n meilleurs mouvements du moteur. Modifier:
Je suis conscient de ChessAnalyse qui peut être utilisé pour faire une telle analyse. Vous pouvez essayer la version d'essai de 30 jours.
la source
Si votre site donne aux utilisateurs un seul clic pour obtenir les positions FEN ou PGN pendant le jeu , vous devez envisager de les suivre.
Certains tricheurs trichent depuis le début, mais d’autres préfèrent ne commencer à tricher que s’ils rencontrent des difficultés et ils utiliseront évidemment la fonction de copie FEN / PGN car il est fastidieux de configurer la position manuellement.
Vous devriez en quelque sorte stocker cela avec le coup au moment où il l'a copié, de cette façon vous pouvez comparer à partir de ce point aux coups suivants et voir si sa force a considérablement augmenté avec l'aide de moteurs d'échecs.
Mais il est très important que vous l'utilisiez uniquement pour vous aider à décider s'il trichait, il serait injuste d'utiliser un script qui n'utilise aucune intervention humaine, il peut y avoir beaucoup de faux positifs, par exemple, j'aime souvent copier des positions. pendant que je joue, je les analyserai plus tard sans avoir besoin de chercher mon jeu ou de trouver le coup exact du PGN. Et je ne le laisse pas toujours dans mon presse-papiers, par crainte de l'écraser, je le déplace donc vers le bloc-notes (ce qui signifie que je change de fenêtre juste après l'avoir copié).
la source
FWIW, personne n’a mentionné le nom du Dr Ken Regan, bien que le pointeur sur le blog de Lipton décrive un autre article de Chess Life qui traite de son travail.
Cet article est très instructif sur le travail de Regan, l'état des techniques de détection en vigueur en 2014 et le travail de la FIDE dans la mise en place d'un comité chargé de définir et de promulguer des normes, des outils et des techniques pour aider le TD à enrayer la triche.
la source