Je code une IA d'échec que je teste sur Chess.com
Vložit
- čas přidán 27. 07. 2024
- Sommaire :
00:00 : Introduction
00:27 : Plateau
01:02 : Déplacement des pièces
01:20 : IA : Algorithme MiniMax Introduction
01:37 : Fonction d'évaluation
02:15 : IA : Explication de l'Algorithme MinMax
03:38 : Coup Légal
03:58 : Premier Test de l'IA en python
04:24 : Première partie de l'IA sur Chess.com
04:57 : Deuxième partie de l'IA sur Chess.com
06:15 : Elo de mon programme
06:22 : Amélioration possible
06:59 : Outro
Si vous avez aimé la vidéo, n'hésitez pas à mettre un like.
Pour aller plus loin :
Échecs : fr.wikipedia.org/wiki/%C3%89c...
Déplacement des pièces : fr.wikipedia.org/wiki/Pi%C3%A...)
Histoire des IA d'Échecs : fr.wikipedia.org/wiki/Program...
Histoire du jeu d'Échecs : fr.wikipedia.org/wiki/Histoir...
MinMax : fr.wikipedia.org/wiki/Algorit...
alpha-bêta : fr.wikipedia.org/wiki/%C3%89l... - Věda a technologie
Excellente vidéo, je trouve sa passionnant et j'aimerais bien que vous fassiez une vidéo pour nous expliquer les étapes du codes
Très impressionné par un tel etalage de compétences!
Vous avez l'air d'un jeune passionné et irez très loin dans votre carrière (déja très bien entamée)!
Un "vieux" con qui a codé les premiers ordinateurs, dans les '80s.
Super vidéo, merci pour le partage. On comprends la démarche , les valeurs attribuées aux pièces et aux mouvements… Évidemment de là à savoir le faire c’est une autre affaire. 👍👍👍.
Merci pour ton retour !
Je sens que cette vidéo va beaucoup servir, j'avais creer un plateau d'échec mais je l'avais laisser de côté dans mon ordi par flemme certainement ça me poussera à continuer 💯💯
content que ça te motive
Intéressant j'aurai bien voulu en apprendre plus. Serait-il possible dans tes prochaines vidéo de nous faire un tuto et nous expliquer l'étape qui consiste a reproduire ce code car je suis novice et ton aide serait vraiment génial. Je découvre ta chaine et c'est avec un plaisir que je m'abonne.
Tout simplement incroyable, j'en reviens pas! J'avais justement pensé à coder ca hier et je me demandais si t'allais faire une vidéo sur le sujet !!!
En plus d'être bon, il lit dans mes pensées!
Merci
Merci à toi d'exister
tu m'a sorti de périodes très compliquées dans la vie...
Wesh t'es fou mon gars ou quoi? Le gars fait juste de l'info, calme toi
En quoi ce type peut te sortir de "periodes compliquées" en sortant des vidéos ou il s'adresse meme pas a toi et qu'il fait pas d'humour?!
Ben parceque .... TA GUEULE
Tes antidépresseurs t'ont pas rendu un peu schizo par hasard?!
Tu parle a qui en fait?!
GÉNIAL
merci !
Bonjour, bravo pour votre programme. De prime abord je me suis dit que ce n'est pas de l'IA, c'est juste un algo. Dans un second temps je me suis rappelé mes heures passées sur les algo de recherche opérationnelle, qui au fond tentent d'optimiser une fonction. La recherche opérationnelle faisant partie de l'IA et comme ce programme simule une fonction de la réflexion humaine, donc votre programme pour moi fait partie de l'IA.
Merci pour votre retour
Oh l’algorithme minmax lets goooo
excellent
merci
Hello très impressionné par ton bot. Parmi les points d'amélioration, sur le jeu et non l'algorithme, la fonction d'heuristique basée sur la mobilité donne un résultat intéressant mais pas forcément représentatif : on a l'impression que ça favorise énormément les coups de la dame au détriment du développement d'autres pièces, et je pense que dans de nombreuses parties même à elo 1200 ce devrait être sanctionné par l'adversaire. Je ne sais pas quelles étaient les heuristiques utilisées par Stockfish.
merci pour ton retour, oui exactement l'heuristique favorise les déplacements de la dame, j'en ai tester plusieurs mais il est difficile de savoir laquelle est meilleure vu qu'il faut faire beaucoup de partie.
Echecs est toujours au pluriel.
Un pièce ne mange pas une autre pièce, elle capture ou elle prend.
Excellente vidéo, très claire qui permet de bien comprendre le MinMax en pratique. Toutefois me vient une question : pourquoi on met une valeur négative qui est -2 sur le nombre de déplacements possibles du pion au lieu de 2 ? Merci d'avance pour l'explication :)
Merci beaucoup ! On met -2 car on note le jeu du côté des noirs, pareil pour la valeur de la pièce qui est négative, est-ce que c’est plus clair ?
Merci pour cette video j'ai moi même crée un programme en pascal qui utilse 54 critéres d'évaluation mais ne fait aucune analyse en profondeur ni mini max ni alpha bêta. Avez vous un fichier exécutable pour windows ? Je peux vous envoyer le mien en ficher exe fonctionnant sous windows 10 écrit en pascal. Je pense que le niveau de mon programme est situé entre 900 et 1200 elo .
L'algorithme min max (et alpha bêta) ne sont pas de l'IA 😉
Fonction d'évaluation à perfectionner mais FÉLICITATIONS pour ce super projet !!! 👏
Merci pour votre retour,
min max, alpha beta même si ce n'est pas du machine learning ou du deep learning (qui sont des sous domaine de l'ia qui font appelle aux statistiques) font parti de l'IA, ces algos sont même des pionners de l'IA.
Deep Blue utilisait alpha beta.
www.geekmaispasque.com/2019/10/intelligence-artificielle-machine-learning-deep-learning-liens-differences/
@@arthurus8374 Deep Blue utilisait bien évidemment alpha bêta et n'avait rien à voir avec l'IA.
Stockfish est diabolique mais n'a rien à voir avec l'IA.
AlphaZero, Lc0 (Leela) etc, sont les premiers programmes d'échecs à base d'IA.
J'ai développé le jeu d'Awele avec le min max, plus personne n'arrivait à le battre, mais sur le principe le programme était "con comme la lune"
@Fabrice R. ok mais dcp ca reste de l'ia non? étant donné qu'elle a une forme d'intelligence (même si c pas très complexe) et que c artificiel
@@thepythoner3686 Débat très intéressant mais pour moi : clairement pas ! C'est de la PURE algorithmie.
J'associe l'IA aux réseaux de neurones, au machine learning, au Deep learning, etc.
Ici, par le min max et la fonction d'évaluation, tu décris de manière très claire (algorithmique) la façon d'arriver au "bon" résultat.
Si tu as fais de la programmation dans des langages similaires à Prolog par exemple, tu verras sûrement ce que je veux dire : ces langages commencent pour moi à se rapprocher de l'IA car tu ne décris pas COMMENT arriver à la bonne solution, mais juste des faits et des règles. Les langages de ce type étaient pour moi très clairement les prémices de l'IA, qui a pu ensuite se développer par l'explosion de la puissance de calcul et des donnés disponibles et stockables.
Une autre différence notable est qu'en IA, on fait généralement tourner le programme des milliers ou millions de fois pour que chaque génération s'améliore un peu, parce qu'il est apprenant.
Le jeu de Go a résisté pendant des décennies à une approche min max, et quand Deep Mind s'y est attaqué en IA, le champion du monde de la discipline a déclaré qu'il avait eu le sentiment de jouer contre Dieu...
Des coups hors d'atteinte de tout calcul et incompréhensibles aux meilleurs joueurs mondiaux qui commentaient ont montré toute leur utilité bien plus tard dans la partie.
Ça, c'est de l'IA...
@@fabricer.9426 vous avez la meme definition d'ia chez vous? genre toi et tes collegues/amis
Ouais ouais ouais !
Salut, j'ai codé un jeu d'echecs avec l'étalage alpha-beta dans l'algo minimax, et mon ordi prend 1min30 rien que pour une profondeur de 2, c'est normal ou tu avais la même chose ?
Salut, ça me semble très long, à moins que tu ai un ordi très vieux et lent
Salut, tu peux me donner le code source stp ?
Salut, super vidéo. je débute sur pygame et galère pour placer mes pièces sur l'échiquier, aurais-tu un code pour voir comment tu as fait (simplement l'interface graphique). Merci infiniment
merci, quel est ton discord ?
@@arthurus8374 discord.gg/bCMTdRZW
Comme t tu la créer
slt, tu as fait finalement en c++?
non
Salut, je me demandais pourquoi ton arbre est binaire, à chaque fois tu ne considères que deux coups ?
Salut, pour simplifier la visualisation de l'arbre, j'ai pris un exemple à 2mins30 où les blancs peuvent jouer que 2 coups possibles, mais sinon l'algo prend tous les coups possible
@@arthurus8374 D'accord merci. Tu peux m'éclairer sur le min. On considère que notre adversaire va jouer le pire coup. C'est un peu contre intuitif, j'aurais pensé qu'on devrait s'attendre à son meilleur coup.
@@WaarDoz57 Oui c'est exactement ce que tu pensais, on considère que notre adversaire va jouer le meilleur coup (selon notre heuristique)
@@arthurus8374 Mais si on prend le min pour l'adversaire cela voudrait dire qu'on ne prend pas son meilleur coup pour lui non ?
@@WaarDoz57 Son meilleur coup est le min, car notre score est calculé en fonction de comment le plateau nous est favorable ou non
L'algorithme a un jeu très agressif. Peux-tu nous montrer comment complexifier l'algorithme pour en faire un grand master ?
Tu pourras jamais reproduire des coups humains de grand maître puisqu'on fait bcp d'erreur qu'on ordi, tu serais cramé direct en utilisant une ia
L'IA c'est une dinguerie. Vous avez vu ce qu'il met au gars sur e.6 avec les noirs ? Une regalada
merci mec !!
Qui dit IA dit réseau de neurones, on est plus présentement sur de la fonction d'évaluation mais c'est un super travail. Bravo 👏👏👏
Merci beaucoup pour votre retour, on peut utiliser le terme d'IA pour ce genre d'algo mais on ne peut pas dire que c'est du machine learning (ou deep learning).
Les réseaux de neurones sont une branche de l'IA.
www.geekmaispasque.com/2019/10/intelligence-artificielle-machine-learning-deep-learning-liens-differences/
C est un algorithmes pas une IA
min max, alpha beta même si ce n'est pas du machine learning ou du deep learning (qui sont des sous domaine de l'ia qui font appelle aux statistiques) font parti de l'IA, ces algos sont même des pionners de l'IA.
Tu jouais quand même pas contre un joueur
bah si
il donne le pseudo à un moment
@@noenottaris1891 aie
Je crois que les bots sont interdits sur Chessy.com
Chess.com
oui, je pense qu'il a du faire contre l'ordi de chesscom