Pour commencer, je précise mon objectif initial et je précise les termes employés.
Mon premier objectif était de détecter les "trolls", nom que j'avais décidé d'employer parce que c'est la norme sur Internet de nommer ainsi les gens qui détournent ou polluent les systèmes de participation en réseau.
Cette dénomination ayant choqué certains, je la laisse de côté, comme ça on s'épargnera cette pollution-là, inutile au projet, par les âmes sensibles. Je parle désormais, faute de mieux de "Prises de contrats déviantes"...
On peut ergoter tant qu'on veut sur la subjectivité de la définition de ce qui est "déviant", comme sur le sexe des anges, et c'est intéressant, mais moi ce que j'ai en tête, c'est d'OBJECTIVER la déviance, à l'aide d'une IA, qui permettrait, grâce à sa puissance d'analyse statistique, de MESURER précisément les chances de remporter un contrat donné, en fonction d'une main donnée et de la position du preneur par rapport au donneur (qui joue un rôle important dans la prise dans l'élaboration d'une stratégie) et de vérifier si le gain a été maximisé.
Alors comment réaliser un tel système ?
Tout d'abord, je voudrais préciser que je trouve le terme d'"Intelligence Artificielle" un peu dévoyé et sensationnaliste, s'agissant des différents projets actuellement en cours et publiés sur Internet, dont certains sont déjà en accès libre, comme GPT.
En effet plusieurs géants du Web sont en pleine course pour développer la meilleure "IA" possible : Google, Microsoft, Elon Musk, Jeff Bezos, IBM et beaucoup d'autres.
La plupart de ces IAs sont fondées sur le principe de l'"Apprentissage Profond" (en anglais : "Deep-learning")
Kézako ?
Il s'agit de fournir à l'IA de grandes quantités de données et de lui les faire analyser afin qu'elle détecte des régles ou des comportements (en anglais "Patterns")
Donc pour le Tarot, on fournirait à l'IA considérée des quantités de mains de preneurs, de contrats associés, de place du preneur, et de nombre de points obtenus, et puis on la laisserait réfléchir toute seule aux corrélations existant entre ces données.
La merveille de ces systèmes, c'est qu'on a plus besoin de leur "apprendre les règles". Ils les DÉCOUVRENT TOUT SEUL !
l'IA va "comprendre" TOUTE SEULE que lorsque la main contient le 1, l'Excuse et le 21, le contrat a plus de chances d'être remporté que sans ces cartes.
Donc elle apprendra tout : l'importance des atouts, des rois, des couleurs, des coupes,...TOUT. TOUTE SEULE.
Mais donc il faut des données pour alimenter l'apprentissage de l'IA. Et plus on en mettra, plus les inférences qu'elle en fera seront pertinentes et profondes. Il est même possible qu'elle détecte des corrélations auxquelles encore aucun joueur de Tarot n'a jamais songé...Parce qu'un être humain, fut-il très intelligent, n'a pas la capacité de calcul d'une IA.
La quantité de distribution possibles au Tarot est quasi infinie. C'est un nombre astronomique.
Donc il n'y a pas 2 mains identiques dans une vie. C'est donc très difficile pour un humain d'y appliquer une logique profonde. Tout au plus y appliquons-nous un "instinct" basé sur notre expérience personnelle, limitée. L'IA va beaucoup plus loin.
Donc beaucoup de données. Je pense à minima de l'ordre de 100.000 et probablement plus proche du million, pour démarrer un tel système.
Où trouver ces données ? C'est une question qui me taraude.
Peut-être quelqu'un, quelque part, en dispose. Mais c'est vrai que le Tarot n'intéresse, à l'échelle mondiale, qu'une petite communauté. Alors que peut-être que personne n'a donc encore pensé à constituer une telle base de données.
Vous allez me dire : les sites de Tarot, dont celui-ci, en disposent. Oui mais ils ne veulent pas les divulguer, car ils y attribuent de la valeur économique.
Donc il faut leur prendre ces données puisqu'elles sont consultables à l'écran sur leurs sites. Oui mais ça pose à la fois des problèmes techniques et juridiques.
On peut effectivement concevoir un "extracteur de données de site" (en anglais : "web-scraping") mais le propriétaire du site peut tenter de s'y opposer par des mesures techniques et légales.
vous pouvez le vérifier ici : Consulter le lien externe
On peut contourner les mesures légales prises par le propriétaire du site (je ferai un autre post sur les mesures techniques) en "dissimulant" l'extraction.
L'idée est de faire tourner l'extracteur discrètement, depuis plusieurs points, à différents moments, pour ne pas se faire repérer. Oui, mais c'est plus compliqué à mettre en oeuvre techniquement et logistiquement. Mais c'est possible.
Et pour éviter les poursuites légales éventuelles, on peut aussi mettre les données extraites à la disposition du public, ce qui ruine toute accusation d'"appropriation" illicite de données.
Je ne suis pas légaliste. Peut-être un expert de ces questions voudra-t-il participer à ce projet. Ça serait bien utile.
Maintenant, je n'ai pas dit que je vais extraire les données du site. Peut-être d'un autre site ou peut-être vais-je les trouver déjà prêtes à consommer ailleurs.
Quant à "corriger" l'IA, oui c'est possible, mais je ne pense pas que ce soit SOUHAITABLE. À mon avis, quand une IA aura digéré un million de mains, de contrats et de scores, elle sera bien meilleure juge que n'importe quel être humain. Elle "comprendra" bien plus sur le Tarot que l'ensemble des joueurs humains réunis. Après, c'est sûr que ça sera mieux avec 10 millions, 100 millions, mais rien n'empêche de continuer à la faire apprendre par la suite.
là tu poses plein d'autres défis que je n'englobe pas, à date, dans mes objectifs.
Encore une fois, je me limite aux souscriptions de contrats déviantes. Donc seulement l'appréciation de son risque par le preneur, au vu de sa main et de sa position. C'est tout.
Bien sûr, la main ne fait pas tout, surtout à 5, mais c'est déjà un pas.
Le fait est que la jouerie bonne ou mauvaise sera quand même évaluée, globalement, parce que si un joueur se plante systématiquement avec de bonnes mains, c'est qu'il est mauvais et ça, on pourra le voir par comparaison avec d'autres joueurs avec des mains "équivalentes" (en définissant l'"équivalence", sachant que 2 mains identiques ne peuvent se représenter dans une vie...)
Le choix du roi appelé, c'est intéressant aussi. On pourrait en effet essayer d'évaluer la bonne intuition des joueurs. Mais c'est une autre problématique. Un bonus pour plus tard ;-)
Mais les joueurs qui souscrivent à n'importe quoi, indépendamment de leur main, se fichent en général de la couleur qu'ils appellent, leur but étant le sabotage de la partie, donc dans leur cas, au moins, ça n'apporterait rien...
Quant à la tactique, comme je l'ai déjà indiqué, je ne veux pas m'y atteler pour l'instant. C'est plus compliqué, il faut plus de données, il y a beaucoup plus de paramètres en jeu.
Peut-être qu'une fois réussi le système d'appréciation de la main, je m'y attaquerai. Ou peut-être quelqu'un d'autre.
À chaque jour suffit sa peine.
En effet, comme chaque distribution est unique, la main de chaque joueur est unique et donc la partie qu'ils jouent est leur création exclusive. Les données de leur partie appartient donc aux joueurs et à personne d'autre et ils peuvent en disposer selon leur bon plaisir.
Donc si un joueur veut récupérer ses données de parties, il en a parfaitement le droit, car c'est la copie d'une création collective qu'il n'a cédée à personne.
-des prises de contrat raisonnables par lui
-des prises de contrat raisonnables par les autres joueurs de sa table
-des prises de contrat « distraites » ou trop audacieuses par l'un des joueurs ( sans doute minoritaires)
-des prises de contrat déviantes par des saboteurs (en minorité)
Au final, on aura de tout, et si c'est en grande quantité, ça suffira pour que l'IA tire ses conclusions. L'important c'est la quantité, qui permettra à l'IA d'inférer plein de règles, peut-être même des « règles inattendues », je l'espère.
Donc je vais essayer de résumer les étapes nécessaires à l'aboutissement de ce projet :
1) Trouver une base de données suffisantes ou construire un extracteur
2) si on opte pour un extracteur, faute, de données, il faut choisir un outil d'extraction. Il y en a plusieurs disponibles sur le web. Je viens d'essayer avec Browserflow, et, pour l'instant, ce n'est pas concluant avec ce site. Il y a des obstacles techniques que, à date, je ne sais pas résoudre...
3) Il faut définir en détail toutes les données qui doivent être extraites :
Composition de la main, position du preneur, contrat souscrit, points obtenus, poignée déclarée (?), date de la partie (?), identifiant - bien sûr, ANONYME- du joueur (pour recouper son comportement dans le temps et par rapport aux autres ?), autres données (??)
4) lorsque l'outil d'extraction est défini, il faut bâtir le scénario d'extraction des données
5) définir le scénario d'extraction des données : quand ? depuis quels points ? à quelles heures ? dépôt des données extraites dans quel réceptacle ?
Merci de m'aider à compléter et détailler cette liste de tâches !
7) Injecter les données récoltées dans le moteur d'IA choisi, ce qui constitue sa phase d'apprentissage initiale.
8) le laisser constituer son réseau de "neurones" (c'est comme ça que ça s'appelle) en fonction des inférences qu'il a tirées des données fournies.
9) lui apprendre à répondre aux questions relatives à ce modèle de données.
Exemples :
Avec cette main, quelles sont mes chances de gagner si je souscrit une Garde Sans ?
ou
Combien de joueurs souscrivent des contrats avec moins de 30% de chance de les remporter ?
ou encore
Combien de joueurs ont changé leur appréciation du risque au fil du temps ?
ou encore
Classe-moi les joueurs en 5 groupes selon leurs probabilités de gagner/de perdre : inconscients/très audacieux/audacieux/raisonnables/timorés et dénombre les dans chaque groupe.
Intermède ludique :
Ce matin, j'ai pris une Garde avec la main suivante :
Excuse,21, Roi de Coeur, Dame de coeur, 10,6, 4 de coeur, 1,3,6 de Trèfle, Valet, Cavale et Dame de Carreau, 4 et 5 de Pique.
Auriez-vous osé prendre à ma place ? Trouvez-vous cela trop osé ?
J'ai appelé le Roi de Carreau.
Merci pour vos réponses
Entame roi de coeur (long) s'il est coupé contrat fichu
2 bouts imprenables et 1 roi = garde.
bonjour
intéressant ton sujet , mais à ce jour l'I.A. ne fait pas mieux que l'humain .pose une question précise sur le jeu de tarot à CHAT GPT elle consulte sa base de données et te dis de consulter la FFT.
bonne journée
En plus, le thème du jeu de Tarot sur Internet est très limité et pollué par des milliers de contenus qui parlent de Tarot divinatoire. Donc ChatGPT n'apprendra jamais à jouer au tarot ni à en parler de manière pertinente.
Mais moi je parle de GPT, le moteur qui est derrière, sans les contenus internet. Ce moteur fonctionne PARFAITEMENT si on lui fournit les BONNES DONNÉES. Et c'est bien mon intention. Ici, on le limitera à des inférences concernant uniquement les données de parties de Tarot réelles et RIEN d'autre. Et alors il fera sa cuisine « magique « à partir de ce bon miel, pour produire ce qu'aucun humain n'aura encore jamais produit sur le jeu de Tarot.
Il ne s'agit donc pas d'apprendre à l'IA à jouer au Tarot. Juste de lui apprendre à évaluer une main pour pouvoir juger ensuite si une souscription de contrat est « raisonnable » ou « déviante ».
On pourrait ambitionner d'apprendre à l'IA à jouer, comme le font déjà des IAs avec d'autres jeux : les échecs, les dames, le go et certains jeux de cartes, et où elles sont devenues d'ailleurs imbattables, mais c'est plus compliqué. Le jeu de la carte a encore plus de possibilités que la distribution et donc il faudrait injecter tous les plis de toutes les parties en plus des mains, et il faudrait encore plus de données pour que l'IA en tire des enseignements pertinents. Je ne doute pas qu'elles en seraient capables, mais ce n'est pas mon objectif pour l'instant.
Je vais essayer un autre extracteur : Consulter le lien externe
j'essaie de comprendre un paramètre qui me chagrine :
Pour moi un contrat déviant s'analyse avec la main de départ
exemple : je fais une GC avec 3 atouts en main : c est un contrat déviant.
MAIS...si j appelle un partenaire qui a un jeu béton, ou si dans le cas d'une garde ou d'une GS je touche 2 bouts dans le chien...mon contrat est réussi même si il reste déviant.
Comment l'IA va analyser ce contrat réussi ?
Ca m'énerve quand je tombe sur un preneur qui fait n'importe quoi
je fulmine quand en plus j ai la malchance d'être appelé
et j enrage complètement quand il réussi son contrat parcequ'il a une chance de...(bip!) et que je suis en def !
Mais pour l'IA se sera du ON / OFF : la partie est gagnée ou perdue
Oui mais les probabilités sont différentes. On ne peut pas avoir du bol tout le temps. En plus, à 5, il faut considérer que la main du partenaire est un hasard irréductible.
L'IA basera ses probabilités, car c'est bien de ça qu'il s'agit, sur toute la masse des données, et pas sûr certains cas particuliers. Et c'est là que c'est intéressant, parce qu'elle peut-être que les probabilités réelles vont à l'encontre de nos intuitions de pauvres humains au cerveau limité à notre expérience plus ou moins bien digérée.
Et puis il y a les partenaires qui auraient dû prendre et qu'ils ne l'ont pas fait, soit parce qu'ils sont trop timorés (j'en connais), soit parce qu'ils sont mal-intentionnés (j'en connais aussi, dont je me méfie comme de la peste).
Il est vrai qu'on pourrait également faire digérer à l'IA les mains des autres joueurs, pour qu'elle évalue également cette probabilité et les conséquences sur le score du preneur.
Peut-être le fera-t-on dans un second temps, pour affiner.
Pour l'instant, je trouve l'objectif d'évaluer la main du preneur suffisamment ambitieux et donc je reste focalisé sur ce premier pas.
Ce serait déjà pas mal que l'IA puisse se mettre à la place du preneur, qui ne voit que sa main propre.
Hello, je lis et relis avec enthousiasme.
J'ai une question concernant ce paragraphe :
" MESURER précisément les chances de remporter un contrat donné, en fonction d'une main donnée et de la position du preneur par rapport au donneur (qui joue un rôle important dans la prise dans l'élaboration d'une stratégie) et de vérifier si le gain a été maximisé. "
En quoi la position du preneur est importante ? s'il prend en 1ère, 2nd ou 3ème ou 4ème intention, puisque ton outil consiste à analyser la pertinence de l'annonce du contrat ? N'y a t il pas autant de probabilités (cad 1 sur 5) qu'un preneur annonce sachant que les donnes sont aléatoires ?
Je ne suis pas sûr que ce soit en rapport. Je constate tout de même une corrélation forte : entre le nombre de parties jouées et le score mensuel. Par exemple on peut facilement voir actuellement en CP5, en regardant les scores des joueurs du top 10, que certains joueurs jouent 2 à 3 x plus de parties que d'autres.
Donc ça prouve une chose: c'est que si on n'est pas mauvais et qu'on joue beaucoup, on peut terminer avec un score supérieur ou égal à celui d'un excellent joueur qui joue peu.
Evidemment, il faut quand même être pas trop mauvais, autrement on s'enfonce inexorablement.
Oui Sacred, le prémium à cinq (sauf rares exception) favorise ceux qui jouent le plus. C'est pour cette raison que j'avais proposé un calcul des scores basé sur des séries moyennisées ET comparées.
Cette proposition a été à l'origine des pires dérives du forum, même si l'Admin l'avait trouvé pertinente. Mais la consultation des joueur a généré les pires dérives que l'on ait pu connaitre sur le forum, de grâce restons en là. Bon Dimanche.
Oui, c'est n'est effectivement pas le sujet ici. Je renvoie ceux qui voudraient s'exprimer là-dessus à le faire sur les fils de discussion pertinents et pas sur celui-ci.
Bonsoir à ceux qui s'intéressent à ce sujet passionnant.
Une mise à jour, parce qu'il y a du nouveau :
J'ai merdouillé longuement au début, en cherchant la bonne source de données et le bon outil pour les extraire. J'ai enfin trouvé les 2 !
Je sais désormais extraire les données de parties de Tarot à 5 d'une source intéressante et volumineuse. Mes tests technique sont concluants.
Il me reste donc à beaucoup travailler encore pour structurer les données pour qu'elles soient interprétables, puis pour les injecter dans un moteur d'inférences "IA" afin qu'il apprenne à évaluer des mains et des contrats annoncés, en fonction de leurs scores obtenus.
Pour l'instant, je conserve mon double objectif limité de:
1) faire choisir à l'IA si elle prend un contrat en fonction d'une main donnée, et quel type de contrat.
2) de dire si un contrat annoncé est déviant ou pas, selon la main disponible.
En fait les 2 reviennent au même, car si l'IA ne "prend" pas, c'est qu'elle trouve le contrat présenté déviant.
J'utiliserai peut-être le résultat avec un robot, sur ce site, pour cliquer automatiquement sur le bon bouton, après lui avoir communiqué la composition de ma main, via un robot. Ça sera certainement rigolo.
Je pense arriver à ce 1er résultat sous 3 mois.
Je vous tiens au courant.
Bonnes questions.
1) oui, ce sera basé sur le score obtenu, positif ou négatif et l'IA sera instruite pour optimiser ce résultat.
2) Non, dans un 1er temps, j'exclue la jouerie. Donc l'IA n"apprendra" que le score en fonction de la main, pas du jeu. Mais comme elle sera instruite sur des milliers de parties, son évaluation des mains sera donc statistiques, sans considération de la qualité des joueurs..
Maintenant, si j'atteins ce 1er résultat de faire en sorte que mon IA soit plus clairvoyante que moi-même sur les chances de remporter un score optimisé en fonction d'un contrat donné, et donc de lui faire, in fine, "choisir" le contrat en fonction de la main, à ma place, j'irai évidemment plus loin et je tenterai sans doute d'intégrer les données de "jeu" proprement dites, mais c'est beaucoup plus compliqué parce que ça fait beaucoup plus de données à collecter, à structurer et à injecter dans son "cerveau"..
Mais, c'est également possible. Maintenant que je sais où et comment collecter les données, je peux les collecter toutes, y compris le détail des plis.
