![Pezzza's Work](/img/default-banner.jpg)
- 98
- 15 268 093
Pezzza's Work
France
Приєднався 25 лют 2019
Welcome to my channel where I share my personal projects.
You will find various experiments about many subjects like Physics Simulations, Raytracing and Machine Learning among others.
Almost everything is made from scratch since I think it's the best way to learn.
You will find various experiments about many subjects like Physics Simulations, Raytracing and Machine Learning among others.
Almost everything is made from scratch since I think it's the best way to learn.
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
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
Budget 2D teardown - Objects Destruction
Переглядів 37 тис.3 роки тому
Budget 2D teardown - Objects Destruction
200K Objects simulation, Testing Explosions
Переглядів 82 тис.3 роки тому
200K Objects simulation, Testing Explosions
C++ Ants Simulation 2, Path optimization
Переглядів 296 тис.3 роки тому
C Ants Simulation 2, Path optimization
Procedural Forest Generation with Physics
Переглядів 14 тис.3 роки тому
Procedural Forest Generation with Physics
Procedural Trees Generation with Physics
Переглядів 20 тис.3 роки тому
Procedural Trees Generation with Physics
This is extremely cool, yes... but who designed your UI??
Hey, can you open source it?
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 :|
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!
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
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.
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.
how to download??
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.
Albert the G is back
essentially: Nah, I'd Adapt
bro why there so much nerds here i just like to see a war simulation lol
Now do a triple pendulum
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).
Theyre moving in herds. They _do_ move in herds...
This would be cool to put in a graph for the populations also really cool outro
The Family Guy chicken!
Would be cool to add plants that the prey can eat too.
You talk about directed graph but you have showed simple (undirected) graph. Directed graph must have arrows on eges.
I'd love to run this on my own PC for a few days and just watch it.
Watching this on 2x speed, and theres still too much zooming and slowdown. The time lapses are the best bits.
At least the timelapse was at the end.
4:40 i hate that you end it right after it got interesting
This problem was first solved in the 1960s with adaptive filters - the real father of neural networks! 50+ years later...
pretty cool!
how big do you make the grid? 10x10, 100x100, 500x500...
It was 300x300
the visualizations are epic
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
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
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?
My cat was very interested in the chain!
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.
nice!
I love the interface, great video!!
Build it in real life
j'adore l'accent fr XD : )
why are u using evolutionary neurel networks? why dont u make a proper one with backpropagation?
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.
are anyone know what makes this amazing ui?Is it web or some lib or framework? It just amazing
wouldn't be an ai without it breaking the physics engine. Which is something ai seems to be quite reliably good at.
Thanks!
Thank you very much for your support!
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.
Next you gotta do a triple pendulum.
Have you considered having a go at solving the three body problem?
Will there be a third part?
boooring
excuse me what
beautiful vid! keep up the good work. subbed
3h version of the thing you developp for your thumbnail please hahaha
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
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.
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.
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!