Il existe de nombreux sites Web en ligne sur lesquels 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 profiter dun avantage en utilisant Fritz ou Rybka pour lui suggérer un coup.
Par exemple, je peux simplement entrer chaque coup de mon adversaire et voir quel logiciel me suggérera .
Je pensais à quelques fonctionnalités qui peuvent suggérer que le joueur triche:
- le nombre de fois où il change décran
- la vitesse de jouer (dans des positions faciles et vraiment difficiles)
- précision du jeu
Quelquun a-t-il dautres idées?
PS: Oui peu importe pour moi, à quelle perspective vous pensez (côté serveur ou côté client).
Commentaires
- Excellente question et problème pertinent aujourdhui! Mais voulez-vous dire détecter la tricherie éclair en ligne à laide dun algorithme ou détecter comme un joueur humain tout en jouant un adversaire?
- Les stratégies de détection de triche ne fonctionnent que lorsque le tricheur est » stupide « . Adopter des stratégies de triche plus intelligentes (voir mon commentaire à NoviceProgrammer ‘ réponse) rendrait la triche presque impossible à deviner.
- Je pense que cest à peu près un pas de sortie. Je joue sur chess.com. Je suppose que peut-être 1 personne sur 10 triche. Et si je soupçonne que mon adversaire a obtenu de laide, je le bloque simplement.
Réponse
Cest en fait un question très complexe, et pas une qui ait été résolue de manière satisfaisante, à ma connaissance. Essentiellement, nous demandons un algorithme pour effectuer une sorte de test de Turing inversé, pour différencier les joueurs humains et les ordinateurs.
Premièrement, les contrôles côté client auront toujours des faiblesses, sauf si vous êtes dans contrôle complet de lenvironnement client. Prenons la première idée – vérifier le passage dune fenêtre à lautre, ça sonne bien. Malheureusement, cela a été simplifié en exécutant un moteur déchecs sur un ordinateur séparé, ou en intégrant mon moteur avec le client afin quaucune « commutation de fenêtre » nait lieu, ou en changeant le client pour signaler 0 changement dans la fenêtre, ou … Il ny a pas vraiment de moyen de sassurer que cest votre code qui sexécute sur le client, vraiment.
Ce qui nous reste, ce sont des environnements clients physiquement contrôlés (qui ne va pas se produire pour les jeux en ligne), ou la vérification côté serveur, cest-à-dire en regardant les mouvements réels qui ont été joués (et peut-être le temps entre les mouvements, comme vous le dites), et en essayant de déduire laspect informatique ou humain .
La vérification côté serveur peut également être divisée de deux manières. Vous pourriez probablement essayer une approche « descendante », qui serait quelque chose du genre « des jeux précédents dans lhistoire, seulement 2% des humains ont fait ce mouvement, tandis que 50% des ordinateurs le font « . Ce serait en fait une très bonne façon de le faire, si nous avions suffisamment de données pour » nimporte quelle position donnée « . le rythme des échecs est si important, cependant, que même les très grands ensembles de données nauront pas un nombre significatif de parties correspondant à votre position, une fois que vous aurez dépassé le début de la partie.
En supposant que nous ne « t avoir des 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 paramètres de temps différents chacun), et voir à quel point les mouvements des joueurs correspondent à ceux dun 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 paramètres de temps rendraient de plus en plus probable que le joueur triche. Pour améliorer encore cela, jexaminerais probablement une approche «ascendante» de lanalyse 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 motifs «étranges» ou des situations improbables, un humain serait moins susceptible de pouvoir jouer avec une grande précision. Aucun de ceux-ci, en soi, nest particulièrement accablant, mais étant donné le grand nombre de jeux, cela mettrait en évidence les tendances pour les administrateurs.
Pour ajouter quelques détails à votre liste, je dirais comment les professeurs détecter le plagarisme dans les papiers – 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 tricherie. Plus précisément, je rechercherais des mouvements inhabituellement agressifs qui ont tendance à « travailler » et qui nont aucun inconvénient pour le joueur (trop précis). Des compagnons forcés en 4+ mouvements dun joueur qui place normalement les chevaliers sur le bord du plateau , etc (cest possible … mais peu probable). Cependant, comment cela fonctionnerait exactement, cela pourrait prendre tout un livre (ou plus).
MODIFICATION: Il y avait un article sur la tricherie et détection aux échecs de haut niveau récemment.
Commentaires
- les humains contre les ordinateurs peuvent donner des faux positifs dans l ouverture du jeu, il est très facile de mémoriser les meilleures pièces
- @ ajax333221 Je suis entièrement daccord. Dans une certaine mesure, quelque chose de similaire peut sappliquer à la fin du jeu, où un humain peut le jouer assez proche de parfaitement, juste sur la base de connaissances antérieures. Cela dit, si je peux détecter une possible triche dans un jeu, je ‘ je suis sûr quavec des informations supplémentaires et une analyse sophistiquée, un ordinateur pourrait faire de même. Le compagnon forcé en 4 coups et plus était un exemple réel dun jeu en ligne récent contre un joueur évalué à 1050 – très suggestif, cest le moins quon puisse dire …
Réponse
En mode blitz, vous pouvez savoir combien de temps ils utilisent. Les utilisateurs de moteurs utilisent un temps constant pour chaque mouvement, au lieu de faire un blitz à travers louverture et de ralentir à un crawl dans le middlegame comme la plupart des joueurs normaux. En particulier, ils ne peuvent pas jouer louverture rapide, car ils doivent mettre à jour leur carte dordinateur après chaque coup douverture. Sils mettent cinq secondes en mouvement deux et cinq secondes en mouvement vingt, ils « utilisent probablement un moteur.
Commentaires
- Je ne sais pas si cétait vrai au moment de la publication, mais stockfish peut accepter le temps restant comme entrée pour hiérarchiser les mouvements dans lesquels passer du temps.
Réponse
Le nombre de commutateurs décran et la vitesse de jeu nont aucun sens. Si vous les utilisez pour vous plaindre aux organisateurs dun site Web de jeu déchecs en ligne, ils se moqueront de vous.
Il y a deux façons pour dire si quelquun triche. Le premier est le « pistolet fumant ». Considérez cette section de jeu –
[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
La question est à quoi joueriez-vous dans ce La situation est quune victoire dans ce dernier tour de la compétition vous fera gagner le tournoi devant une série de grands maîtres. Pas mal pour seulement 1900. Je soupçonne que la plupart dentre nous joueraient quelque chose de raisonnablement solide qui maintient le gagner. Se déplace comme Rxb7 ou Rd7 ou (pour les lâches comme moi 😉 Rxf6. Qa7 est un coup de cœur dun mouvement, un pistolet fumant. Fritz est considéré comme le meilleur coup de la position, un énorme 0,1 avant le meilleur coup suivant, Rd7.
Le jeu Smoking gun # 2 à la fin de la partie lorsque les noirs ont démissionné, laissant le joueur classé 1900 comme le vainqueur pur et simple du tournoi. Que diriez-vous à Kalinitschev dans cette position?
Voici comment la conversation sest déroulée:
Allwermann: « Cest compagnon en 8 »
Kalinitschev: « Je ne pense pas »
Allwermann: « » Regarde ça, tu « trouveras » que jai raison «
Allwermann avait raison, bien sûr. Pouvez-vous trouver le compagnon en 8 en position finale? Sans assistance silicium?
Donc, vous avez votre arme fumante et vous lapportez aux organisateurs. Que vont-ils faire?
Eh bien, 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 chacun avec au moins 20 mouvements non liés à la base de données et les alimentent dans un moteur de vérification. Fondamentalement, ce quils recherchent est le pourcentage de temps pendant lequel le suspect choisit un déplacement hors base de données qui correspond au premier choix du moteur, lun des 2 premiers choix, lun des 3 premiers choix. Les seuils de « preuve » sont –
Top 1 65%
Top 2 80%
Top 3 90%
Un exemple récent est le furieux de la performance de Borislav Ivanov .
Voici ses statistiques –
Zadar 19e: Houdini 1.5a x64 Hash: 256 Temps: 30s Max Profondeur: 20 fois {Borislav Ivanov (parties: 9)}
{Match dans le top 1: 210/314 (66,9%) Adversaires: 150/313 (47,9%)
{Top 2 Match: 270/314 (86,0%) Adversaires: 207/313 (66,1%)
{Match des 3 meilleurs: 285/314 (90,8%) Adversaires: 238/313 (76,0%)
{Top 4 Match: 293/314 (93,3%) Adversaires: 267/313 (85,3%)
Au 8ème tour, le flux en direct est tombé en panne (on soupçonne que cela a permis son aide extérieure obtenir les coups) et il a perdu contre GM Predojevic. Si ce résultat est supprimé, les nouvelles statistiques sont:
Zad ar 19: Houdini 1.5a x64 Hash: 256 Temps: 30s Profondeur max: 20ply {Borislav Ivanov (Games:)}
{Top 1 Match: 197/287 (68.6%) Adversaires: 135/286 ( 47,2%)
{Match dans le top 2: 252/287 (87,8%) Adversaires: 188/286 (65,7%)
{Match dans le top 3: 265/287 (92,3%) Adversaires: 218/286 (76,2%)
{4 meilleurs matchs: 272/287 (94,8%) Adversaires: 242/286 (84,6%)
Comme vous le voyez, les deux ensembles des statistiques le feraient jeter dun serveur déchecs. À titre de comparaison, voici lanalyse du jeu 8 lorsque le flux était en panne:
{White: Borislav Ivanov}
{Top 1 Match: 13/27 (48,1%)
{Match 2 Top: 18/27 (66,7%)
{Match 3 Top: 20/27 (74,1%)
{Match 4 Top: 22/27 (81,5%)
{Noir: Borki Predojevic}
{Match Top 1: 15/27 (55,6%)
{Match Top 2: 19 / 27 (70,4%)
{Match dans le top 3: 20/27 (74,1%)
{Match dans le top 4: 25/27 (92.6%)
Notez que la FIDE a mis en place une commission chargée détudier les moyens de détecter et de combattre la fraude informatique. Leurs consignes se trouvent ici . Notez cette section:
E. LOutil de Filtrage de Jeu sur Internet de la FIDE
La FIDE fournira un Outil de Filtrage de Jeu sur Internet, qui sera accessible à tous les officiels FIDE autorisés (membres IO, IA, ACC) et aux Fédérations Nationales. Il sera hébergé sur une page Web dédiée à la FIDE et permettra aux parties autorisées de télécharger des jeux au format PGN pour un «test rapide» qui identifiera les valeurs aberrantes potentielles dans un tournoi. Par «dépistage», il est entendu que cela ne fournit quun test préliminaire sans valeur de jugement, sauf quil peut être cité en rejetant les allégations et en refusant de procéder à un test complet manuel.
Commentaires
- Excellente analyse! Les résultats T3 / T4 sont convaincants, surtout lorsque la probabilité de ses résultats est rapportée. BTW: Je me rends compte que votre message a été publié il y a un certain temps, mais avez-vous toujours la citation de la conversation entre Kalinitschev et Allwermann? Clairement, aucun 1900 ne va trouver un compagnon en 8 de manière fiable, surtout quand un 2500 ne le voit pas ‘. Il ne semble pas ‘ t particulièrement intelligent pour lui d’avoir soulevé ce point alors que cela pourrait à lui seul provoquer le soupçon qu’il ‘ triche.
- BTW: Je ne suis pas daccord avec Qa7! est un coup de cœur. Il ‘ exploite simplement les deux faits suivants: 1) le rang arrière du noir ‘ est faible, et 2) il ‘ est vulnérable à un compagnon dessus. Ainsi, toute diversion de la tour hors du rang arrière permettra des tactiques potentiellement gagnantes. Dans ce cas, Blanc utilise le mouvement pour attaquer le pion b et pour coordonner sa reine et sa tour sur la septième afin que la tour soit défendue. Les blancs gagnent au moins un pion après 1 … Qxf7 2.Qxa8 + Qg8 3.Qxb7. Je pense que nimporte quel MJ aurait dû voir le mouvement Qa7, et je ‘ suis très surpris que Kalinitschev lait manqué. Cest ‘ le coup le plus forcé du tableau, après Rxf6?!
- @jaxter Les informations proviennent de fr.chessbase.com/post/a-history-of-cheating-in-che-3- . Remarque » Je ne suis pas daccord avec Qa7! est un coup de cœur » – si vous lisez larticle, vous verrez que Vishy Anand nest pas daccord avec vous :-). Extrait de larticle – ‘ Alors, à quoi joue notre héros? 31.Qa7? !! «Fritzy!» a hurlé Anand et est entré dans des éclats de rire incontrôlables quand il a vu cela et les mouvements suivants (jai filmé sa gaieté et lai inclus dans mon reportage multimédia dans ChessBase Magazine 69). ‘
- Merci pour la référence. Je comprends ton raisonnement. Jaurais certainement été prêt à tenter le coup, mais ce ‘ est en partie parce que jaurais jugé que les Blancs pouvaient survivre aux Noirs ‘ s contre-attaque sans calculer toutes les lignes . Si jessayais de le faire a) je ‘ d être sûr que je ferais une erreur fatale, et b) je ‘ obtenir le heebie-jeebies et choisissez un mouvement différent. Cela ‘ est précisément parce que jutilise lintuition que je joue souvent des mouvements bizarres comme … Qa7 !. Il ‘ est aussi sans aucun doute un facteur qui explique pourquoi ma note est inférieure à 2000 …
- Il ‘ sa différence entre le coup supérieur étant un coup solide que vous ‘ attendez de beaucoup de joueurs et une tactique brillante que vous ne ‘ t sattendent à ce que la plupart des joueurs voient. Le jeu de ‘ blanc ci-dessus en contient plusieurs.
Réponse
Pour donner ma réponse sur la façon dont jaborderais cela, jutiliserais une idée simple:
- Test dhypothèse nulle
Lidée est quil existe un nombre limité de moteurs déchecs accessibles au public, disons N
deux. Cette hypothèse exclut bien sûr la possibilité que le tricheur ait écrit son propre moteur déchecs (ou utilise un moteur déchecs public indisponible), mais pour attraper des tricheurs occasionnels, cela devrait être une hypothèse assez forte.
Lapplication du Test dhypothè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
dobserver la sous-séquence jouée en supposant le hypothèse nulle que le joueur est pas en utilisant le moteur déchecs X
pour faire les mouvements à leur place. Une hypothèse naïve pourrait être faite que le joueur se déplace au hasard (ou choisit au hasard parmi un nombre sélectionné de coups supérieurs d_i
), puis la probabilité pour une sous-séquence donnée de longueur k
déplacer un moteur déchecs X
serait calculé comme (d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k)
où d_i
est le nombre de mouvements (supérieurs) possibles à effectuer au ith
virage, tel que noté par le moteur X
et n_i
est le nombre total de coups disponibles pour le joueur au tour i
(ou un sous-ensemble raisonnable.)
Ensuite, calculez simplement
p* = minimum p over all chess engine X, all subsequences y.
Si p*
est inférieur à un certain seuil, étiquetez le joueur comme un tricheur puisquil existe une sous-séquence y
et un moteur déchecs X
qui apporte la probabilité que le joueur soit pas tricher en dessous dune probabilité désirée.
Réponse
Je pense que lanalyse daprès-match vous donne les meilleures chances didentifier si un joueur triche. Cela peut être fait en utilisant ce que lon appelle lanalyse T3 / T4.
Ceci mesure essentiellement la fréquence à laquelle un joueur choisit lun des 3 ou 4 meilleurs coups suggérés par un moteur. Cela élimine en grande partie le besoin didentifier le moteur cible utilisé (car ils seront généralement daccord sur les 4/5 premiers coups même si lordre de préférence est différent).
Il existe des logiciels disponibles qui exécutent un ensemble de jeux de lutilisateur contre les n premiers coups du moteur. Edit:
Je connais ChessAnalyse qui peut être utilisé pour faire une telle analyse. Vous pouvez essayer la version dessai de 30 jours.
Commentaires
- Cela peut être contré par un tricheur intelligent qui a quelques connaissances sur les échecs comme suit: jouer se déplace cela naggrave tout simplement pas votre position et attendez la bévue de votre adversaire ‘ qui compromettrait sa position. Si vous jouez 5 à 15 minutes de blitz contre quelquun qui na pas la force de GM, cela se produira certainement, tôt ou tard. Si de plus vous lancez un mauvais coup occasionnel et / ou que vous n’insistez pas pour gagner chaque partie, je ‘ suis sûr que votre tricherie ne sera pas détectée.
- @AndreaMori: je suis daccord que vous pouvez éviter quelques situations, mais au fur et à mesure que sa note saméliorera, il sera obligé de chercher de plus en plus et sera finalement détecté.
- Merci, vous avez mentionné quil existe un logiciel disponible. Pouvez-vous donner un exemple?
Réponse
Si votre site donne aux utilisateurs un clic pour obtenir des positions FEN ou PGN pendant que le jeu est en cours dexécution , vous devriez envisager de les suivre.
Certains tricheurs trichent depuis le début, mais dautres préfèrent ne commencer à tricher que lorsquils ont des problèmes, et ils le feront utilisez évidemment la fonction de copie FEN / PGN car la configuration manuelle de la position prend du temps.
Vous devriez en quelque sorte stocker cela avec le mouvement au moment où il la copié, de cette façon, vous pouvez comparer ce point vers les mouvements suivants et voir si sa force a considérablement augmenté à laide de moteurs déchecs.
Mais il est très important que vous lutilisiez uniquement pour vous aider à décider sil trichait, ce serait injuste pour utiliser un script qui nutilise aucune intervention humaine, il peut y avoir beaucoup de faux positifs, par exemple, jaime souvent copier des positions pendant que je joue pour les analyser plus tard sans avoir besoin de chercher mon jeu ou de trouver e Le mouvement exact du PGN. Et je ne le laisse pas toujours dans mon presse-papiers par peur de lécraser alors je le déplace vers le bloc-notes (ce qui signifie que je change de fenêtre juste après lavoir copié).
Commentaires
- Cela semble adresser le » comment gérer un serveur » point de vue, plutôt que le » est-ce que mon adversaire triche? » (pas que le PO ait dit quoi que ce soit sur le cas qui comptait pour lui). car il ma fallu un peu de temps pour comprendre ce que vous vouliez dire, en y pensant depuis le POV du joueur ‘.(Bonne réponse… une fois que ceci est compris ^ _ ^ ‘)
- merci @ajax. Je nai pas pensé à enregistrer le mouvement auquel la position a été copiée et à analyser la différence entre la force avant et après.
- et bien sûr les tricheurs découvriront et désactiveront ce suivi. ou faire leur propre fonctionnalité de copie, ce ‘ nest pas si difficile: codegolf.stackexchange.com/questions/89647/chess-conversion
Réponse
FWIW, personne na mentionné le Dr Ken Regan par son nom, bien que le pointeur vers le blog de Lipton décrit un autre article dans Chess Life qui traite de son travail.
Cet article est très informatif sur le travail de Regan, létat des techniques de détection qui étaient en vigueur en 2014 et le travail de la FIDE dans la mise en place dun comité pour définir et promulguer des normes, des outils et des techniques pour aider la TD » s pour éliminer la triche.