J'ai codé un robot invincible à Snake

Поделиться
HTML-код
  • Опубликовано: 7 май 2024
  • ✨ Si jamais vous avez un projet un peu plus chargé et que vous avez besoin d'un cloud, voici le cloud d'Infomaniak 👩🏻‍💻 : clcr.me/9pNGc3
    Aujourd'hui les gars on va tenter de créer un robot invincible à Snake 🤓. Et pour ça, on va utiliser un algorithme génétique. (J'avais grave envie de tester ce type d'algos hihihi). L'idée de ce type d'algo, inspiré de la biologie, c'est de créer des réseaux de neurones initialisés aléatoirement au début, les faire jouer au jeu et sélectionner les meilleurs agents pour les faire se reproduire (+ on ajoute quelques mutations et d'autres réseaux initialisés aléatoirement) afin de peu à peu, obtenir les réseaux de neurones les plus performants pour jouer à snake. Ces types d'algos appartiennent au champ du reinforcement learning. J'ai pas expliqué en détail pour garder le tout digeste sur la partie réseaux de neurones, mais vous pouvez trouver des ressources juste en dessous pour en savoir plus 😁
    Bref, au final vidéo un peu + tournée coding / technique que d'habitude, j'espère que ça va vous plaire les gars 😁. C'est un format plus court, en attendant d'autres grosses vidéos tech. Comme d'habitude si vous avez des choses à ajouter ou des précisions à faire n'hésitez pas en commentaire je lis tous les coms 🙏🏼🥰
    Merci d’avoir regardé la vidéo, 💗
    D’autres grosses vidéos tech arrivent, j'ai hâte !!!
    🌍 Sources :
    Explication de ce que sont les algorithmes génétiques : datascientest.com/algorithme-...
    Teaching AI to play Snake with Genetic Algorithm : techs0uls.wordpress.com/2020/...
    Evolutionary Algorithm to Teach a NeuralNetwork to Play a Snake Game : www.codeproject.com/Tips/1016...
    L'exemple de fin du snake 10*10 avec algorithme génétique : • A.I Learns Snake And W...
    Vidéo super bien expliquée sur le sujet : • Snake learns with NEUR...
    🌍 Mes réseaux :
    Instagram : iciamyplant
    Twitter : iciamyplant/
    Tiktok : www.tiktok.com/@iciamyplant
    🌍 Sons :
    Rebuke - Along Came Polly
    Irène Drésel - Vestale
    Boris Brejcha - Purple Noise
    Trame - El Diablo
    Laurent Garnier - The Man with the red face
    Bushi - Batman
    🌍 Crédits :
    Tout par Amy Plant
    🌍 Pour me soutenir en faisant un don :
    Bientôt l’arrivée d’un Tipee, merci aux personnes qui font des dons, vous êtes les bests 💗
    🌍 Infos :
    Je filme avec un Canon EOS 250D
    Je suis diplômée d'un bac +5
    J'ai fait 42 en parallèle d'un master à l'Université Dauphine
    Je suis originaire de région parisienne
    J’habite à Marseille
    Dis moi en commentaire quel sujet tech je devrais aborder dans la prochaine vidéo :D
  • ХоббиХобби

Комментарии • 280

  • @TheNelsonsearch
    @TheNelsonsearch 24 дня назад +283

    Merci, comme je l'avais dit sur une précédente vidéo, il y a une base solide de gens qui te suivent pour la tech et non pas pour le lifestyle, c'est très important à mon sens de rester sur ce segment là. Je pense que ce qui plaît aux gens c'est de leur faire prendre conscience qu'il est possible de faire des trucs cool depuis son PC et que n'importe qui peut y arriver en explorant le monde d'internet, avec un peu de jugeotte. On montre souvent le résultat d'un projet, mais pas la façon d'y arriver, et ça c'est très important.

    • @alarm4007
      @alarm4007 24 дня назад +3

      D'accord avec vous en partie, car ses vidéos ne sont pas faites pour vous apprendre. C'est beaucoup trop condensé !

    • @draoww
      @draoww 24 дня назад +22

      sauf que c'est sa chaine et qu'elle fait ce qu'elle veut :)

    • @user-fg7dd8sx7r
      @user-fg7dd8sx7r 24 дня назад +4

      Effectivement comment créer le fameux robot ? Avec quels éléments on le fait ?

    • @boyemarc-antoine7027
      @boyemarc-antoine7027 24 дня назад

      la tech de zinziiiin c'est le niveau cp du code elle a suivie le premier tuto trouvee GG

    • @debomonlou9861
      @debomonlou9861 24 дня назад

      200% d'accord!!!

  • @arcadevillage
    @arcadevillage 24 дня назад +154

    Quel plaisir de revoir des vidéos techniques. J'ai adoré. Comme d'habitude mon petit cœur a tressailli quand j'ai entendu "Le petit serpent doit manger des pommes". Au début des années 2000, j'ai été contacté par Nokia pour faire un jeu de serpent pour le Nokia Communicateur. J'ai créé Hebi, un serpent dans un labyrinthe. Pour montrer les capacités VGA du téléphone, il fallait des couleurs et Il fallait aller vite. Pour faire des pastilles plus jolies, j'ai récupéré une pomme que j'avais créée pour un jeu de Pacman. Mon jeu n'a pas marché. Le Communicateur de Nokia valait dans les 4000 francs, 600 euros. Personne n'aurait mis un demi-smic de 2010 dans un téléphone ! Mais quand j'entends "le serpent mange des pommes", je repense à mon Hebi.

  • @LaBatcavePodcast
    @LaBatcavePodcast 24 дня назад +50

    On adore voir ce genre de contenu sur ta chaine ! Partir de 0, apprendre tout le process et réussir le projet malgré les difficultés ! Et petit plus pour la pédagogie, qui permet même à ceux qui comprennent pas le code de rentrer dans la vidéo ! Super contenu comme d'hab ! 😉

    • @Bastien_B
      @Bastien_B 24 дня назад +2

      Totalement d'accord !

  • @geoffroyevane3348
    @geoffroyevane3348 24 дня назад +43

    C'est pour ce genre de vidéo qu'on te suit !!

  • @senseiotaku755
    @senseiotaku755 24 дня назад +15

    ça fait plaisir de revoir des vidéos dans ce genre là sur la chaîne

  • @tartiflettefontaine2473
    @tartiflettefontaine2473 6 дней назад +1

    C'est probablement la sponso la plus niche que j'ai vu dans ma vie de spectateur youtube, congrats

  • @FabriceFrattini
    @FabriceFrattini 15 дней назад +2

    A priori dans les algorithmes génétiques on ne garde pas que les meilleurs individus d'une génération, mais quelques-un aussi (très peu certes) qui sont mal adaptés. Cela permet d'éviter la convergence vers une solution localement optimale mais non globalement optimale. Je ne sais pas si dans ce cas précis cet ajout permettrait de converger vers le bon bot mais lorsqu'il y a plus de paramètres c'est à prendre en compte

  • @leiloz
    @leiloz 24 дня назад +4

    Encore un vidéo technique très très sympa qui part d'un thème simple que tout le monde connais, pour en faire une étude de concept sur l'IA très intéressante à suivre, ce que j'adore dans tes vidéos c'est que à chaque fois tu pars de 0 pour en comprendre les concepts et techniques et là on sent vraiment la maîtrise du sujet, le montage donne lui aussi très envie de suivre tes vidéos, encore bravo et c'est à chaque fois un régal de les visionner et revisionner 🤩

  • @watari34
    @watari34 24 дня назад +9

    Tu es excellente
    La mise en scène le narratif les explications, le montage, le chois des sujet et un placement de produit propre bref..
    Continue

  • @fredray21
    @fredray21 24 дня назад +1

    Simple, rapide, efficace
    On apprécie 👏🏻 bravo 👑

  • @UnSimpleViewer
    @UnSimpleViewer 24 дня назад +4

    6:40 LeWanski en musique de fond quel plaisir 👌👌

    • @meolol
      @meolol 24 дня назад +1

      big fan here 👍

  • @aqw_7770
    @aqw_7770 24 дня назад +1

    Ha la première partie de la vidéo me rappelle des souvenirs à ma modeste échelle : coder un snake c'étais fun, je suis pas développeur mais j'avais beaucoup de temps a perdre durant mon apprentissage et seulement Excel pour exprimer ma créativité. J'ai appris ce bon vieux VBA comme ca, ainsi qu'en codant un démineur a forme personnalisé.

  • @petervladyevich8535
    @petervladyevich8535 24 дня назад +3

    Excellente vidéo super intéressante.
    Telle la muse inspirant l'artiste, vous donnez envie de faire nos versions de snake.
    Un peu comme les simulations de combats de robots avec des instructions simples.

  • @idtgr-jt5md
    @idtgr-jt5md 21 день назад +1

    Astuce : Pour avoir des meilleures agent plus rapidement tu peux essayer de rajouter des règles simples.
    Par example :
    - Si le snake se trouve juste à côté d'un mur alors il doit pas se diriger dessus
    - Si le snake a sa queue à côté de sa tête alors il doit pas se la manger
    Normalement avec ça t'obtiendrais des agents qui font plus d'erreurs basique comme ça et qui serait plus performants en moins de générations

  • @antoinefremaux3388
    @antoinefremaux3388 24 дня назад +1

    Continue sur ce genre de sujet c’est sympa, mais surtout prend du plaisir ! 👍🏼

  • @liquite
    @liquite 23 дня назад +2

    Tellement bien les vidéos dev, ça manquait

  • @graysander
    @graysander 18 дней назад

    Très bonne vidéos ! Félicitations !

  • @Largoat
    @Largoat 24 дня назад

    Cool - joli écran final rempli à 100%

  • @blablavionwu4289
    @blablavionwu4289 24 дня назад

    cest trop cool de revoir des video qui parlent des codes

  • @gregoireleger907
    @gregoireleger907 17 дней назад

    Le Wanski - Ārya Tārā dès 6:16 c'est exceptionnel
    merci pour cette super vidéo

  • @wilonweb
    @wilonweb 19 дней назад +1

    UUUUUU belle la découverte d'infomaniak !!!! Je savais pas qu'il était top comme ça

  • @MaxLaMenace
    @MaxLaMenace 12 дней назад

    La petite touche techno et edm que prends la bande son de cette chaine est bien cool !!

  • @elronn58
    @elronn58 24 дня назад +2

    Excellente vidéo !

  • @icecrimes7942
    @icecrimes7942 23 дня назад +1

    Dinguerie ! Plus d'algorithmes génétique !!!

  • @YannGREDT-nh8et
    @YannGREDT-nh8et 23 дня назад

    Voici une vidéo comme je les aime 😄
    J'ai découvert ta chaîne avec le concours robot sur fouloscopie, j'aimerais beaucoup beaucoup d'autres vidéos dans ce style, voir plus poussées en technique

  • @HereIsANewGuest
    @HereIsANewGuest 16 дней назад

    La vidéo est intéressante, ceci dit, à vrai dire, à part si on a un objectif comme par exemple devoir minimiser les efforts pour atteindre les pommes, ou bien si on considère qu’on est dans des environnements de taille et d’embuches variables inconnues qui évoluent, l’intérêt ici est vraiment uniquement pédagogique. Car comme expliqué dans la vidéo, on sait très bien dès le départ qu’une très bonne façon de faire, très simple à coder, serait de toujours passer par le même chemin. Chose qui deviendra inévitable pour les dernières pommes d’ailleurs. Même si tout l’intérêt ici justement serait de comparer à quel point on peut faire mieux.

  • @vishiousvish2832
    @vishiousvish2832 23 дня назад

    Super vidéo comme d habitude et super sponsor qui m a permis de le découvrir et avec qui je vais certainement contractualiser pour ma future société. Merci !!!

  • @dana-cj4iz
    @dana-cj4iz 19 дней назад

    Superbe comme d’habitude !!!

  • @chvrogoldo8973
    @chvrogoldo8973 24 дня назад

    Excellente la vidéo ! Ça m'a donné envie de m'y lancer.

  • @TheDjarEl
    @TheDjarEl 5 дней назад

    Merci pour la vidéo.
    Vraiment des fois il faut réfléchir un peu avant de lancer la calcul bourrin d'entraînement. Forcément il faut que la boule soit dans le champ de vision sinon ça ne peut pas marcher, vu que la boule est ensuite placée aléatoirement (c'est impossible de prévoir où seront les boules, donc si elles ne sont pas dans le champ de vision l'algorithme ne pourra pas les voir, sauf coup de chance, peu importe le niveau d'entraînement)

  • @jfdewoluwe
    @jfdewoluwe 24 дня назад

    J'adore tes vidéos techniques. Fait nous un truc sur les ordinateurs quantiques c'est totatlement fou ce qui ce passe dans ce domaine.

  • @Victor_Lixys
    @Victor_Lixys 24 дня назад +6

    Pourquoi ne pas simplement augmenter le champs de vision du snake sur tt le jeu car nous humain voyons tout l'écran donc tt le jeu ?

    • @maxencedelebarre
      @maxencedelebarre 15 дней назад

      Cela augmente vite la demande nécessaire de calcul de matrice.

  • @OlivierPons
    @OlivierPons 23 дня назад

    Bravooo ! Et rien que le fait d'être sous Linux (Ubuntu j'ai l'impression) je peux que liker et sub :) Là y'a du lourd !

  • @wilonweb
    @wilonweb 19 дней назад +1

    Finalement t'aime bien la techno lol.
    C'est toi qui a pondu l'algorithme en solo, ou tu l'a appris quelque part ?
    Top l'ambiance de la video comme d'hab !!!!

  • @fytubevw
    @fytubevw 3 дня назад

    Interesting tutorial. One of those epic exercises that are a must-have.

  • @djalleb833
    @djalleb833 21 день назад

    Ça fait plaisir de voir du contenu comme ça sur RUclips, merci pour ton travail ! Juste une petite question sur l'IA, pourquoi avoir fait le choix de ne pas donner la vision complète du plateau à l'IA (contrairement au joueurs humain qui connaissent toujours la position de la pomme ) ?

  • @jhonnydve
    @jhonnydve 23 дня назад

    Magnifique !!

  • @sciencetrash
    @sciencetrash 24 дня назад +12

    Super vidéo ! Merci du partage 🔥

  • @anightmares1609
    @anightmares1609 24 дня назад

    Vraiment incroyable

  • @gregouz1995
    @gregouz1995 24 дня назад +1

    Trop stylé! gg Amy

  • @Vic_Tutorial
    @Vic_Tutorial 23 дня назад +1

    En vrai j'aimerai bien voir des vidéos où tu explique le code que tu écris pour comprendre un peu mieux comment marche la globalité de la chose, pas des vidéos tuto non plus mais qu'on voit un peu plus en profondeur le code que tu fait pour expliquer comment ça marche, peut être que c'est pas l'essence de cette chaine et que tu veuille rester sur des vidéos pas centré sur le code mais ce qui va autour mais personnellement ça m'intéresserai

  • @vergy60
    @vergy60 23 дня назад

    Hyper cool la vidéo comme d'habitude ✌

  • @mathislambert1726
    @mathislambert1726 24 дня назад

    J’ai kiffé la vidéo c’était top

  • @nicolasripoll7974
    @nicolasripoll7974 24 дня назад

    T'est trop forte !

  • @Prod.3z
    @Prod.3z 23 дня назад

    une jaime e genre de video amy !

  • @jordancoquelle3925
    @jordancoquelle3925 18 дней назад

    Tellement passionnant 😍

  • @_gyom_
    @_gyom_ 9 дней назад

    Comme des idées de Code BH sur cette video, merci incroyable

  • @kwkwkkwkwkwkww611
    @kwkwkkwkwkwkww611 24 дня назад

    stylé le sang

  • @VidalPaverTSAFACKNANA
    @VidalPaverTSAFACKNANA 18 дней назад

    Très intéressant
    j'aimerais bien faire de pareil projets mais je n'est pas encore le niveau.
    Si tu pouvais nous laisser parfois le programme en description ça nous aiderait beaucoup.
    Tes projets seront encore plus réel car pour moi c'est " presque un film de science-fiction " ramener dans la réalité 😅

  • @antoninplanel7757
    @antoninplanel7757 24 дня назад

    super video ❤

  • @vicaster4226
    @vicaster4226 24 дня назад

    J’ai bien aimé merci

  • @cleam2614
    @cleam2614 23 дня назад

    J'ai beaucoup aimé merci

  • @blutch112
    @blutch112 15 дней назад

    Perso, je serais preneur d'une vidéo plus longue avec des explications détaillées sur le code et la réflexion autour du problème même si elle dure 5h ^^

  • @melvilsoumache599
    @melvilsoumache599 24 дня назад

    Trop cool

  • @alxgzn5839
    @alxgzn5839 23 дня назад

    top la video!

  • @jeancharleslayoun5471
    @jeancharleslayoun5471 23 дня назад

    Stylé/10

  • @Yiezyiezyo
    @Yiezyiezyo 24 дня назад

    Homme simple, chouette musique, je like

  • @Orange_Wowee
    @Orange_Wowee 18 дней назад

    Ok j’connaissais pas la chaîne, je clique sur la vidéo en voyant ta tête sur la miniature pour au final être instantanément hook par la techno derrière xdd

  • @martingudim8866
    @martingudim8866 23 дня назад

    Top, comme d’hab 😊

  • @NenessQ
    @NenessQ 19 дней назад

    Super vidéo 👍

  • @Jean-Phil-D-perles
    @Jean-Phil-D-perles 22 дня назад

    Super vidéo, merci pour le partage. Plusieurs choses néanmoins, déjà je crois que les serpents ne mangent pas de pommes 😅, ensuite il me semble que la pomme devrait être vue tout le temps, quelque soit la position du serpent et de la pomme, c'est la base du jeu. D'ailleurs, je crois pas l'avoir vu dans la vidéo, mais lui as-tu assigné l'objectif de la manger justement, ou ça rendrait la tache trop facile ?

  • @antoineverlyck614
    @antoineverlyck614 24 дня назад +4

    Pour ceux qui se demandent le son à 8:22 c'est BUSHI - Batman. J'ai découvert un bon son du coup, merci ! Et super la vidéo !

  • @schottixtv6917
    @schottixtv6917 24 дня назад

    Super vidéo !! Penses tu qu’il serait possible de voir tout le code que tu as toi même fait pour en apprendre plus (genre un fichier en description ou qq chose comme ça) ??? Je trouverais ça grave intéressant pour ce que ça intéresse !

  • @AlPacinoPIC
    @AlPacinoPIC 22 дня назад

    Génial !

  • @yveshennequin1616
    @yveshennequin1616 24 дня назад

    Top !

  • @timoraw7224
    @timoraw7224 24 дня назад

    Cool la vidéo c'est bien pour s'entraîner à coder, tu pourrais faire le jeu de la vie aussi ?

  • @maxwebstudio
    @maxwebstudio 18 дней назад

    Très cool ce projet

  • @JusteTRY
    @JusteTRY 24 дня назад

    C'est génial ce genre de vidéo !

  • @Marceau-kn6ov
    @Marceau-kn6ov 22 дня назад

    On voit que tu kiff bushi avec les musiques de son derniere album dans tes videos sinon une maniere simple de creer un snake invisible c'est de lui faire faire une boucle de toute le cases a l'infini sinon incroyable la video

  • @tienou2268
    @tienou2268 22 дня назад

    je fais un message long random pour pousser l'algo, merci amy comme d'hab c'est banger

  • @retakefan
    @retakefan 24 дня назад

    Alors j'ai regardé le début et vu que j'aime le code je pars tout de suite essayer de développer le jeu déjà puis l'IA merci pour l'idée je finis de regarder plus tard je t'adore

  • @reelsergealain
    @reelsergealain 20 дней назад

    Faut nous apprendre les base de python et ce qu'on peut faire avec 😢 tu es très forte 😊

  • @mykullclips8143
    @mykullclips8143 24 дня назад

    La position crevette sur la chaise de bureau 😎

  • @lionelkusch6460
    @lionelkusch6460 7 дней назад

    Bonjour,
    Sympa la vidéo. Sans être un expert des algorithme génétique, j'ai l'impression que tu ne l'as pas pas totalement implémenter, il te manque la fonction de croisement, i.e. le mélange des deux matrices dans ton cas.
    Il y a plusieurs façon de faire pour la fonction de croisement. La plus simple serait de combiner la partie supérieur de la matrice d'un cerveaux sélectionner avec la partie inférieur d'un autre.
    Après, si tu souhaites améliorer ton algorithme, je pense qu'il faut changer ta fonction de score pour sélectionner les meilleur car ton score est trop discret. Pour ma part, j'aurais pris en compte la distance parcourue par ton snake avec une diminution dans le temps pour éviter qu'un snake qui tourne en rond et un meilleur score qu'un qui attrape des pommes. Ce qui te permet d'avoir une précision une peu meilleur précision pour ta sélection de snake.

  • @thibaut6006
    @thibaut6006 24 дня назад

    Super vidéo, j'ai tout de même une question, pourquoi avoir limiter la visiok du snake a une zone autour de sa tête et non pas au terrain entier?

  • @AdimiHassanIssa
    @AdimiHassanIssa 14 дней назад

    Tres cool bby courage

  • @TooperGO
    @TooperGO 3 дня назад

    Deux questions : tu utilise quoi comme librairie pour l'algorithme générique et comment tu fais pour voir certaines générations ou "familles"

  • @julien3578
    @julien3578 24 дня назад

    Essayes peut être l’apprentissage par renforcement, chercher directement dans l’espace des politiques est coûteux, utiliser un curriculum en plaçant la cible proche de l’agent comme tu l’as fait est une très bonne idée aussi ;)

  • @jbnadal
    @jbnadal 18 дней назад

    Carrément mieux commme type de vidéo !!!

  • @psycholoic
    @psycholoic 21 день назад

    Coucou ! J'ai adoré ! Je bidouille aussi sur de l'algorithmie génétique et je me demande juste pourquoi tu n'utilises pas la reproduction entre 2 individus. Pour ce faire je prend deux individus, je coup les génomes en deux de manière aléatoire et j'associe les deux bouts de génome en un individu, par contre sur base d'un réseau neuronal je ne sais pas dans quelle mesure ça peut se faire et/ou être efficace. En tous cas, superbe vidéo.

  • @trucmachin2840
    @trucmachin2840 24 дня назад +1

    Je ne comprend pas trop pourquoi tu décide dès le début de brider la vision du snake ? (ce qui fait que t'es toi même obligé de patch le truc en plaçant la pomme plus proche de la tête pour l'entrainement). Me semblerait logique que l''IA ait les mêmes contraintes que le joueur, et le joueur voit l'ensemble de la grille à chaque instant. Pourquoi ce choix ?
    Vidéo top sinon, merci pour le taf :)

  • @20V100
    @20V100 21 день назад

    Moi aussi j'ai kiffé !

  • @MatheoBesson
    @MatheoBesson 23 дня назад

    Incroyable tu as réussi a me faire regarder une sponso

  • @josueclementsagna2407
    @josueclementsagna2407 18 дней назад

    Bonjour, c'était pour que j'adore tes vidéos. Peut tu faire une vidéo sur l'imagerie médicale

  • @Zonryy_
    @Zonryy_ 9 дней назад

    franchement video superbe interesante , + 1 abonne

  • @frozentoad6453
    @frozentoad6453 18 дней назад

    Salut, J'ai pas compris pourquoi tu as limité le champ de vision du snake ? Et pas un accès complet au plateau ?

  • @UndeadKnightsStudio
    @UndeadKnightsStudio 23 дня назад

    "Agent 18 de la Gen 566" on dirait un dialogue de SF 😂😂😂 sinon bonne vidéo comme dab

  • @DemonBlock
    @DemonBlock 24 дня назад

    Simple question, pourquoi utilise tu une machine virtuelle pour faire tourner le script ?

  • @azecece1
    @azecece1 24 дня назад

    trop bien !!! merciiii

  • @user-oq8vm4sc2y
    @user-oq8vm4sc2y 24 дня назад

    Pour l'améliorer, ne faudrait-il pas désigner un autre caractère pour la tête, pour qu'il comprenne où est-ce qu'il va aller, là toutes les parties du corps sont représentée de la même manière (-1)? Sinon, superbe vidéo

  • @dassault7509
    @dassault7509 23 дня назад

    Wow incroyable, il y a moyen d'avoir les source du code pour en apprendre plus ?

  • @elliott_fait_des_video6044
    @elliott_fait_des_video6044 24 дня назад

    t la best

  • @4th3Uman
    @4th3Uman 22 дня назад

    @ici Amy Plant: Tu es vraiment une malade mental. Je kiffe!!!!!

  • @Robin-mn4yb
    @Robin-mn4yb 10 дней назад

    Est-ce que ton code est disponible en open access ?

  • @TooperGO
    @TooperGO 3 дня назад

    3:30, rectification : c'est les algorithmes génériques et non pas génétiques

  • @wanadoops
    @wanadoops 24 дня назад +1

    super cool, ça revient aux origines. Encore trop trop bien comme vidéo, c'est passé bcp trop vite...
    il y a juste un ptit truc que j'ai pas compris, comment la machine arrive à comprendre avec les meilleurs sélections qu'il faut faire telle action en plus pour pouvoir s'améliorer ? tout ça sans autre code. De ce que j'ai compris, tu dis juste à la machine de garder les meilleurs scores, mais comment il comprend après 😅😅

    • @rizaucurry0208
      @rizaucurry0208 24 дня назад +4

      Normal elle explique jamais rien (et ça vaut peut être mieux lol), si tu jetes un oeil à 8:20 (c'est pas le sien, c'est celui de quelqu'un d'autre) tu vois une représentation d'un cerveau d'un snake. A chaque génération (au sens généalogique) de serpents t'en as des centaines de différents qui tournent en même temps.
      La colonne de gauche c'est les données que tu donnes à ton cerveau et elles vont 3 par 3, 1 chiffre qui représente la distance dans une direction (par exemple gauche), 1 chiffre pour dire s'il y a une pomme dans cette direction, 1 chiffre pour dire s'il y a un bout de serpent dans cette direction, ainsi de suite pour chaque direction.
      Ensuite t'as les 2 colonnes du milieu, c'est les couches cachées du réseau de neurones et c'est là que la "magie" intervient. Au départ c'est initialisé aléatoirement, et ça calcule des décisions (décisions qui sont données dans la dernière colonne : aller à gauche/droite/haut/bas).
      Pendant la simulation tu calcules un score appelé "fitness function" suivant les résultats du serpent, un serpent qui ramasse 3 pommes est meilleur qu'un serpent qui en ramasse 1 qui lui est meilleur qu'un serpent qui en ramasse 0. Au début c'est hasardeux mais par miracle t'as un serpent qui va aller à gauche quand il voit une pomme à gauche et donc se retrouver avec un meilleur score de fitness que d'autres. Du coup tu prends tes meilleurs serpents, tu les fais se "reproduire" entre eux (c'est le "croisement" en algo génétique) c'est à dire que tu prends certaines données (au pif) de l'un et certaines données de l'autre pour faire un nouveau serpent. T'as aussi la "mutation" qui consiste à changer au pif certaines données d'un cerveau.
      Petit à petit les serpents nuls sont pas gardés et les bons serpents se reproduisent entre eux pour en créer des meilleurs (ou des pires) et tu finis par te retrouver avec un anaconda.
      Voilà en gros en simplifié comment ça marche.

    • @wanadoops
      @wanadoops 24 дня назад

      @@rizaucurry0208 rah ouais c'est bien plus compliqué que ce que je pensais. Merci bcp pour ton com ça m'aide un peu plus à comprendre et c'est super intéressant. Mais elle, elle s'est basée sur ce shéma à 8:20 ?

    • @wanadoops
      @wanadoops 24 дня назад

      (quand je dis shéma je parle de la génération généalogique)

    • @rizaucurry0208
      @rizaucurry0208 24 дня назад

      @@wanadoops C'est une façon courante de représenter un réseau de neurones ouais. De ce qu'on voit de sa vidéo à 3:14 et 6:47 ses entrées sont différentes, plutôt que d'avoir une liste de distances comme dans l'exemple à 8:20 elle a une liste de ce qu'il y a dans les cases alentour. Ce qu'il y a dans la case 2 à gauche 2 en haut, puis ce qu'il y a dans la case 1 à gauche 2 en haut, puis 2 en haut, etc. avec dedans un 0 pour vide, -1 pour morceau de serpent ou mur, et surement 1 pour une pomme. Mais en gros c'est les mêmes techniques oui : utiliser des algo génétiques pour modifier des réseaux de neurones. (on voit à 3:09 qu'elle représente ça sous forme de tableau, mais elle aurait pu aussi le représenter avec des petits ronds comme à 8:20, où le tableau de gauche c'est la 1ere colonne, et le tableau du milieu les (ou la) colonnes du milieu. La représentation en graphe (les petits ronds reliés) ça permet en plus de montrer les liens entre les différentes données)
      Très peu probable qu'elle ait développé elle-même les réseaux de neurones, il y a plein de bibliothèques qui font ça facilement. Même si en soi pour quelque chose de simple comme ça, ça se fait assez facilement à la main

    • @wanadoops
      @wanadoops 24 дня назад +1

      @@rizaucurry0208 ok, bah écoute super pour les réponses, merci beaucoup mec !

  • @ProfesseurRackette
    @ProfesseurRackette 22 дня назад

    N'y a t'il pas de croisements entre les meilleurs éléments dans la population ? Seulement survie et mutation ?

  • @boulivier
    @boulivier 24 дня назад +6

    Simplifié mais pas trop, très compréhensible : vulgarisation tech réussie :)

  • @jblf1327
    @jblf1327 24 дня назад

    Quelle explication pour écarter la première solution exposée : Parcourir toutes les cases en boucle (solution "longue et chiante") ? Merci et bravo.

  • @chatmaigre
    @chatmaigre 24 дня назад +1

    +1 like X3 000 😍