Je code une IA d'échec que je teste sur Chess.com

Sdílet
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

Komentáře • 74

  • @mrsmith__1825
    @mrsmith__1825 Před 2 lety +12

    Excellente vidéo, je trouve sa passionnant et j'aimerais bien que vous fassiez une vidéo pour nous expliquer les étapes du codes

  • @lulululu4912
    @lulululu4912 Před 3 lety +11

    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.

  • @mikaelderetour1933
    @mikaelderetour1933 Před 2 lety +2

    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. 👍👍👍.

  • @genius2604
    @genius2604 Před 3 lety +4

    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 💯💯

  • @DjSpycoZe
    @DjSpycoZe Před 2 lety +2

    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.

  • @lucr1369
    @lucr1369 Před 3 lety +2

    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...

    • @lucr1369
      @lucr1369 Před 3 lety

      Wesh t'es fou mon gars ou quoi? Le gars fait juste de l'info, calme toi

    • @lucr1369
      @lucr1369 Před 3 lety

      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?!

    • @lucr1369
      @lucr1369 Před 3 lety

      Ben parceque .... TA GUEULE

    • @lucr1369
      @lucr1369 Před 3 lety

      Tes antidépresseurs t'ont pas rendu un peu schizo par hasard?!

    • @lucr1369
      @lucr1369 Před 3 lety

      Tu parle a qui en fait?!

  • @camaileon5999
    @camaileon5999 Před rokem

    GÉNIAL

  • @maximinmaster7511
    @maximinmaster7511 Před rokem +1

    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.

  • @raphaelbz4400
    @raphaelbz4400 Před 3 lety +2

    Oh l’algorithme minmax lets goooo

  • @jeanmi8184
    @jeanmi8184 Před 3 lety

    excellent

  • @rtch7105
    @rtch7105 Před 2 lety +4

    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.

    • @arthurus8374
      @arthurus8374  Před 2 lety +1

      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.

  • @fabricejaouen378
    @fabricejaouen378 Před rokem +1

    Echecs est toujours au pluriel.
    Un pièce ne mange pas une autre pièce, elle capture ou elle prend.

  • @thomasstroebel2266
    @thomasstroebel2266 Před 2 měsíci

    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 :)

    • @arthurus8374
      @arthurus8374  Před 2 měsíci

      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 ?

  • @MrGleg
    @MrGleg Před rokem

    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 .

  • @fabricer.9426
    @fabricer.9426 Před 2 lety +5

    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 !!! 👏

    • @arthurus8374
      @arthurus8374  Před 2 lety +3

      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/

    • @fabricer.9426
      @fabricer.9426 Před 2 lety +3

      @@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"

    • @thepythoner3686
      @thepythoner3686 Před 2 lety +1

      @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

    • @fabricer.9426
      @fabricer.9426 Před 2 lety +2

      @@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...

    • @thepythoner3686
      @thepythoner3686 Před 2 lety +1

      @@fabricer.9426 vous avez la meme definition d'ia chez vous? genre toi et tes collegues/amis

  • @darhadarha9281
    @darhadarha9281 Před 3 lety

    Ouais ouais ouais !

  • @jejedev4892
    @jejedev4892 Před rokem

    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 ?

    • @arthurus8374
      @arthurus8374  Před rokem

      Salut, ça me semble très long, à moins que tu ai un ordi très vieux et lent

  • @DEVULA_
    @DEVULA_ Před 3 lety

    Salut, tu peux me donner le code source stp ?

  • @lpb8516
    @lpb8516 Před 3 lety

    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

    • @arthurus8374
      @arthurus8374  Před 3 lety

      merci, quel est ton discord ?

    • @lpb8516
      @lpb8516 Před 3 lety

      @@arthurus8374 discord.gg/bCMTdRZW

  • @valonnaria
    @valonnaria Před rokem

    Comme t tu la créer

  • @thepythoner3686
    @thepythoner3686 Před 2 lety +2

    slt, tu as fait finalement en c++?

  • @WaarDoz57
    @WaarDoz57 Před rokem +1

    Salut, je me demandais pourquoi ton arbre est binaire, à chaque fois tu ne considères que deux coups ?

    • @arthurus8374
      @arthurus8374  Před rokem +1

      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

    • @WaarDoz57
      @WaarDoz57 Před rokem

      @@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.

    • @arthurus8374
      @arthurus8374  Před rokem

      @@WaarDoz57 Oui c'est exactement ce que tu pensais, on considère que notre adversaire va jouer le meilleur coup (selon notre heuristique)

    • @WaarDoz57
      @WaarDoz57 Před rokem

      @@arthurus8374 Mais si on prend le min pour l'adversaire cela voudrait dire qu'on ne prend pas son meilleur coup pour lui non ?

    • @arthurus8374
      @arthurus8374  Před rokem +1

      @@WaarDoz57 Son meilleur coup est le min, car notre score est calculé en fonction de comment le plateau nous est favorable ou non

  • @yanispaceplays1496
    @yanispaceplays1496 Před rokem

    L'algorithme a un jeu très agressif. Peux-tu nous montrer comment complexifier l'algorithme pour en faire un grand master ?

    • @frankmarcel3220
      @frankmarcel3220 Před 7 měsíci

      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

  • @Anto57Orton
    @Anto57Orton Před 2 lety

    L'IA c'est une dinguerie. Vous avez vu ce qu'il met au gars sur e.6 avec les noirs ? Une regalada

  • @dlep9221
    @dlep9221 Před 2 lety

    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 👏👏👏

    • @arthurus8374
      @arthurus8374  Před 2 lety +2

      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/

  • @corentins.6311
    @corentins.6311 Před rokem

    C est un algorithmes pas une IA

    • @arthurus8374
      @arthurus8374  Před rokem

      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.

  • @louisalakazam738
    @louisalakazam738 Před 3 lety

    Tu jouais quand même pas contre un joueur

  • @louisalakazam738
    @louisalakazam738 Před 3 lety +1

    Je crois que les bots sont interdits sur Chessy.com