Pezzza's Work
Pezzza's Work
  • 98
  • 15 268 093
How to train simple AIs to balance a double pendulum
Previous video: ua-cam.com/video/EvV5Qtp_fYg/v-deo.html
XPBD article: matthias-research.github.io/pages/publications/XPBD.pdf
Github github.com/johnBuffer/Pendulum-NEAT
Music used (in order of appearance):
- Winterbeams by Diffie Bosman
- Empyrean by Dear Gravity (4000 pendulums part)
- Poison Message by Man with Roses
- The Endurance by C.K. Martin
Переглядів: 136 049

Відео

How to train simple AIs
Переглядів 60 тис.Місяць тому
This video is about a simple algorithm to experiment with basic AIs. Thanks to Alexislouis for the music! @alexislouis2320 You can find the music here: on.soundcloud.com/18Zvih9nrh8gTKJY9 Github github.com/johnBuffer/Pendulum-NEAT
AIs learn to WALK
Переглядів 54 тис.10 місяців тому
00:00 Introduction 07:20 Training 12:45 Other solutions 16:02 Race Neural Networks learn to control a simple body to walk to targets. The project has been made using C and SFML. I will post the Github later This is a reupload to fix sound issues
Simple Fractal rendering
Переглядів 130 тис.Рік тому
Github of the project github.com/johnBuffer/JuliaRendering Made using C and SFML
Writing a Physics Engine from scratch - collision detection optimization
Переглядів 741 тис.Рік тому
Github repository github.com/johnBuffer/VerletSFML-Multithread
Much bigger simulation, AIs learn Phalanx
Переглядів 2,7 млнРік тому
This video is the next part of my evolution project where predators and prey are fighting. In this part I added the capacity for prey and predators to see their peers. 00:00 Introduction 00:22 Working Principle 05:11 Bigger Simulation - First try 09:10 The missing piece 26:10 Timelapse 27:43 Ending
Prey vs Predators - preparing bigger simulation
Переглядів 83 тис.Рік тому
Optimizing my prey vs predators project for future bigger simulations. 00:00 Introduction 02:00 Data optimization 04:00 Neural Network optimization 05:40 Space partitioning 06:30 Multithreading
A Talking Chicken
Переглядів 37 тис.Рік тому
00:00 Intro 00:14 Image split 00:28 First test 00:58 Sound data sampling 01:58 Add some physics 02:56 Final result
Real time Fire Simulation
Переглядів 155 тис.2 роки тому
00:00 Introduction 01:21 Rendering 03:20 Shapes 05:16 Colors 06:16 Ending A big thanks to AlexIsLouis for the music :D His channel ua-cam.com/channels/UWRUMnMP50v4x0CI2WMVHw.html
Evolving AIs - Predator vs Prey, who will win?
Переглядів 2,9 млн2 роки тому
00:00 Introduction 03:16 Simulation 10:19 Timelaps 11:22 Ending Music used (same order as in the video) freepd.com/music/Finally See The Light.mp3 freepd.com/music/Cold Journey.mp3 freepd.com/music/Beginning of Conflict.mp3 freepd.com/music/From Page to Practice.mp3
Writing a Physics Engine from scratch
Переглядів 195 тис.2 роки тому
Github github.com/johnBuffer/VerletSFML Music used pixabay.com/music/ambient-mindfulness-relaxation-amp-meditation-music-22174/
Creating a Space Invaders clone using my C++ engine and SFML
Переглядів 37 тис.2 роки тому
Step by step process of the creation of my Space Invaders clone using raw C and SFML. Steam link store.steampowered.com/app/1885460/Invasion_From_Space/ A big thanks to AlexIsLouis for the sprites, musics and sounds :D His channel ua-cam.com/channels/UWRUMnMP50v4x0CI2WMVHw.html The music ua-cam.com/video/YD0r-H19h4k/v-deo.html
[DEMO] Space Invaders clone made with C++ and SFML
Переглядів 15 тис.2 роки тому
This project has been made from scratch using SFML and C A big thanks to AlexIsLouis for the sprites, musics and sounds :D His channel ua-cam.com/channels/UWRUMnMP50v4x0CI2WMVHw.html The music ua-cam.com/video/YD0r-H19h4k/v-deo.html
Creating a Brick Breaker with my PHYSICS ENGINE
Переглядів 110 тис.2 роки тому
In this video I present the process of creating a little physics based brick breaker. Executable demo soon. 00:00 Intro 01:25 Base version 01:37 Add Physics 02:26 Add Sounds 02:56 Add Special Blocks 04:28 A First Level 05:12 Removing Gravity 06:05 Add Upward Gravity
C++ Ants Simulation 6, Editor
Переглядів 206 тис.2 роки тому
C Ants Simulation 6, Editor
How I like to program Smoke
Переглядів 40 тис.2 роки тому
How I like to program Smoke
Unstable Star experimentation
Переглядів 47 тис.2 роки тому
Unstable Star experimentation
Turning bugs into Art
Переглядів 194 тис.2 роки тому
Turning bugs into Art
C++ Ants Simulation 5, Ants Fight
Переглядів 1,1 млн2 роки тому
C Ants Simulation 5, Ants Fight
Budget 2D teardown - Objects Destruction
Переглядів 37 тис.3 роки тому
Budget 2D teardown - Objects Destruction
C++ Ants Simulation 4, Colony
Переглядів 288 тис.3 роки тому
C Ants Simulation 4, Colony
200K Objects simulation, Testing Explosions
Переглядів 82 тис.3 роки тому
200K Objects simulation, Testing Explosions
C++ Ants Simulation 3, Maze
Переглядів 559 тис.3 роки тому
C Ants Simulation 3, Maze
Nice bug
Переглядів 991 тис.3 роки тому
Nice bug
C++ Ants Simulation 2, Path optimization
Переглядів 296 тис.3 роки тому
C Ants Simulation 2, Path optimization
Virtual Walk 2 - 1 Hour
Переглядів 15 тис.3 роки тому
Virtual Walk 2 - 1 Hour
Center Of Mass
Переглядів 25 тис.3 роки тому
Center Of Mass
Procedural Forest Generation with Physics
Переглядів 14 тис.3 роки тому
Procedural Forest Generation with Physics
Tree Simulation Profiling
Переглядів 34 тис.3 роки тому
Tree Simulation Profiling
Procedural Trees Generation with Physics
Переглядів 20 тис.3 роки тому
Procedural Trees Generation with Physics

КОМЕНТАРІ

  • @looksintolasers
    @looksintolasers 4 години тому

    This is extremely cool, yes... but who designed your UI??

  • @arsakn
    @arsakn 9 годин тому

    Hey, can you open source it?

  • @kevineina6454
    @kevineina6454 10 годин тому

    maybe it is a stupid question, but how can some learn such stuff, I mean I am doing my master in mathematics and computational engineering, and I have absolutely no idea of how to do this stuff. Like yeah OK , I might now have mayor problems with the maths and stuff but still, everything is so cool, beautiful and fun, I would love to learn to do such things on my free time instead solving differential equations :|

  • @furbyfubar
    @furbyfubar 16 годин тому

    I feel like you now should write the scientific paper on this. Going from "This problem is yet to be solved" to "I solved it with about 2 hours of training for my model" is huge progress!

  • @srijanraghavula
    @srijanraghavula 20 годин тому

    Loved the video, the visualizations, the breakdown and the thought of using not python for everything is whats impressive, immediate sub, hope ill learn how to do this stuff

  • @Quantum-yz9fc
    @Quantum-yz9fc 21 годину тому

    It'd be interesting to see each predator/prey have a distinct color coded by a gene that could randomly change slightly per reproduction. That would offer more insight into the different genetic lineages.

  • @brownspottedcat
    @brownspottedcat День тому

    I think if you wanted your prey to behave more dynamically, you shouldn't assume that they have an ambient food source. just creating patches of regenerating plant life that they have to migrate to would probably help.

  • @richardbulva
    @richardbulva День тому

    how to download??

  • @kaylor87
    @kaylor87 День тому

    I've been obsessed with double pendulums for a long time now, I absolutely loved this video. I honestly started the video thinking it would be impossible to balance.

  • @user-ml2su2pz2h
    @user-ml2su2pz2h День тому

    Albert the G is back

  • @cryingemoji4400
    @cryingemoji4400 День тому

    essentially: Nah, I'd Adapt

  • @user-tv4zf2hi6s
    @user-tv4zf2hi6s 2 дні тому

    bro why there so much nerds here i just like to see a war simulation lol

  • @mambe4349
    @mambe4349 2 дні тому

    Now do a triple pendulum

  • @Jojogrec
    @Jojogrec 2 дні тому

    It would be interesting to see what other types of behaviors would emerge if the entities could destinguish how similar/different they are from each other. (Perhaps also each others age/hunger level.) Would the prey prefer to protect their closer relatives while abandoning others? Would the preditors form packs of similar kinds or would they team up with others, having different 'roles'? And/or they could have a value that they could freely turn on/off (0 or 1) or set, being able to function as a form of signal to others (and then perhaps being understood by some of the other force).

  • @CruelestChris
    @CruelestChris 2 дні тому

    Theyre moving in herds. They _do_ move in herds...

  • @steel_tiger_8852
    @steel_tiger_8852 2 дні тому

    This would be cool to put in a graph for the populations also really cool outro

  • @decreasing_entropy3003
    @decreasing_entropy3003 2 дні тому

    The Family Guy chicken!

  • @buhuhuh7757
    @buhuhuh7757 2 дні тому

    Would be cool to add plants that the prey can eat too.

  • @user-rg3ml5ef9t
    @user-rg3ml5ef9t 2 дні тому

    You talk about directed graph but you have showed simple (undirected) graph. Directed graph must have arrows on eges.

  • @dr4gonstear
    @dr4gonstear 3 дні тому

    I'd love to run this on my own PC for a few days and just watch it.

    • @dr4gonstear
      @dr4gonstear 3 дні тому

      Watching this on 2x speed, and theres still too much zooming and slowdown. The time lapses are the best bits.

    • @dr4gonstear
      @dr4gonstear 3 дні тому

      At least the timelapse was at the end.

  • @reged2070
    @reged2070 3 дні тому

    4:40 i hate that you end it right after it got interesting

  • @arf9759
    @arf9759 3 дні тому

    This problem was first solved in the 1960s with adaptive filters - the real father of neural networks! 50+ years later...

  • @mj2068
    @mj2068 3 дні тому

    pretty cool!

  • @woff5
    @woff5 3 дні тому

    how big do you make the grid? 10x10, 100x100, 500x500...

  • @mnajjar85
    @mnajjar85 3 дні тому

    the visualizations are epic

  • @Trick-eyelids
    @Trick-eyelids 4 дні тому

    Seems like predator birthrate is too quick. Needs to be like 1/4 or lower of the prey's rate. Some obstacles, like psuedo-topography would help the prey as well

    • @Trick-eyelids
      @Trick-eyelids 4 дні тому

      I'd also interject that chaos theory may play out in reverse in an artificial strict ruled system, with entropy not being static but the program's foundational principles in gradually less chaotic manifestations, which is why the balanced system with these rules is just essentially a relatively straight predator front

  • @cliffchan6966
    @cliffchan6966 4 дні тому

    I am thinking about instead of increasing gravity and reducing friction, how about gradually increase the length of the second pendulum linkage to gradually increase the difficulty level of the training system?

  • @PatrickHoodDaniel
    @PatrickHoodDaniel 4 дні тому

    My cat was very interested in the chain!

  • @sageofsixpathskakashi3742
    @sageofsixpathskakashi3742 4 дні тому

    A cool idea would be to add terrain so we could see if the AI can develop guerilla/ambush tactics. Like rivers, which are slow to cross so you can wait on the other side for the prey, bolders that must be avoided, Tall grass to hide in so that the predators must really hunt for them, berry fields in which the prey multiplies twice as fast so eventually the predator can spawn camp, high ground from which you can see hiding bots and the entire map etc.

  • @raveltammeleht6278
    @raveltammeleht6278 4 дні тому

    nice!

  • @Maxime2bleau
    @Maxime2bleau 4 дні тому

    I love the interface, great video!!

  • @firsfnamelastname8490
    @firsfnamelastname8490 4 дні тому

    Build it in real life

  • @antoninbernard4527
    @antoninbernard4527 4 дні тому

    j'adore l'accent fr XD : )

  • @mrstick1647
    @mrstick1647 4 дні тому

    why are u using evolutionary neurel networks? why dont u make a proper one with backpropagation?

  • @timopenshaw1015
    @timopenshaw1015 5 днів тому

    I'm curious to know what adding a blocking mechanic might do especially if it has a specific quark like blocks all damage but only directly in front of the defender.

  • @blacksungrass
    @blacksungrass 5 днів тому

    are anyone know what makes this amazing ui?Is it web or some lib or framework? It just amazing

  • @dip_n_swag8445
    @dip_n_swag8445 5 днів тому

    wouldn't be an ai without it breaking the physics engine. Which is something ai seems to be quite reliably good at.

  • @simplyD11
    @simplyD11 5 днів тому

    Thanks!

    • @PezzzasWork
      @PezzzasWork 5 днів тому

      Thank you very much for your support!

  • @aleksszukovskis2074
    @aleksszukovskis2074 5 днів тому

    you should add an input that tells AI how much its oscillating given a time-frame. also during training you should give random "wind" inputs to the pandelum, that will teach it to perform when you "touch" it. also also, you should disable the ai for a few seconds and let it pull itself together another time, that will eliminate flukes.

  • @chffguy
    @chffguy 6 днів тому

    Next you gotta do a triple pendulum.

  • @mr_b_hhc
    @mr_b_hhc 6 днів тому

    Have you considered having a go at solving the three body problem?

  • @khachaturdallakyan6005
    @khachaturdallakyan6005 6 днів тому

    Will there be a third part?

  • @CodeSaurus_Official
    @CodeSaurus_Official 6 днів тому

    boooring

  • @jimmypatatoeyt4800
    @jimmypatatoeyt4800 6 днів тому

    excuse me what

  • @Konami9999
    @Konami9999 6 днів тому

    beautiful vid! keep up the good work. subbed

  • @playtrollcommunity
    @playtrollcommunity 6 днів тому

    3h version of the thing you developp for your thumbnail please hahaha

  • @user-lg2hl7hr3j
    @user-lg2hl7hr3j 6 днів тому

    taming double pendulam is like predicting the output of sha hashing algorithm slight variation in input data can lead to very different results each time

  • @micknamens8659
    @micknamens8659 6 днів тому

    I'm impatiently waiting for your sequel about triple pendulum. Or maybe first you teach the double pendulum to reach a stable downward position from where it can restart.

  • @hummesse
    @hummesse 6 днів тому

    It is adorable to see someone riding the AI wave backtrack half way into discovering model based control. But this is a lot of work though, and done really well. Here is a little input though. You basically have a physical system that can be represented in state space. For example as the angles, angular velocities, cart speed and so on. Lets say it is 5 dimensional state space. And because this is a simulation you have direct access to all the state space variables. So this is more or less what you have as inputs to your controller already. What you then want to do is to find the equilibrium you are looking for in this state space. I.e. all angles are zero, all angular velocities are zero, the cart is centered, the cart speed is zero. You then construct your objective function to be something like \sum_{t = 0}^T w_1*angle_1[t]^2 + w_2*angle_2[t]^2 + w_3*cartSpeed[t]^2 where w_x is the how much weight you put on each state variable. Now train the network. It will find something good. Now if you linearize you neural network at the equilibrium point you have a linear controller that will work as well as the network, but only when the pendulum is already stabilized. And voila, you have rediscovered Linear Quadratic Regualtors (LQRs). Linear in that it is a linear controller, quadratic in that it is a quadratic cost function you are optimizing. This is the normal way of stabilizing a double pendulum and quite straight forward (once you know the theory i guess). Now, your network is not linear, and that makes it more powerful for swinging the penduli up, which a linear controller can't do. When doing this with a linear controller, normally you have some swing up routine that brings it withing controlability of the of the linear controller, and then the linear controller takes over. I am not saying use LQR. It has already been done. I am saying take inspiration from how the objective function in LQR control is specified. It should be reusable. And then know that once stabilized, your controller will be equivalent to LQR control. Oh, one more thing. Make sure that your activation functions in your neural network are smooth. Otherwise you may never get rid of the jittery behavior.

  • @ForTheEraOfLove
    @ForTheEraOfLove 6 днів тому

    Maybe with a Liquid Neural Network, like the Spiking Neural Network, would allow it to adapt to autocorrecting after the double pendulum is imbalanced. P.S. This would be a new tutorial of how to do a liquid neural network for UA-cam I can't find any. I appreciate you!