Тёмный

Convergence - Writing your own Genetic Algorithm Part 5 

Tutorials with Gary
Подписаться 3,9 тыс.
Просмотров 7 тыс.
50% 1

Genetic Algorithms are incredibly powerful problem-solving tools. In this video, we will be covering convergence. We will go through what it is, why we need it in a genetic/evolutionary algorithm, and how we can implement it!
Links to all the good stuff:
0:00 Introduction
0:24 Why do we need Convergence?
1:12 Dijkstra's Algorithm Explained
2:54 GA Convergence Approaches Explained
5:35 Max Generation Count Code Implementation
8:21 Adding Visual Feedback
9:58 Copying Results to Clipboard
12:05 Visualizing Results
14:35 No Improvement Counter Code Implementation
17:22 Visualizing Results pt 2
18:03 Overview & Potential Issues
18:55 Challenge Question & Outro
Get the code here!
github.com/Gary-The-Cat/Conve...
Join us on Discord:
/ discord
Previous Video:
Mutation - • Mutation - Writing you...
Link to Visual Studio Community (It's Free!)
visualstudio.microsoft.com/do...

Опубликовано:

 

12 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 16   
@200midgets6
@200midgets6 4 года назад
Can't believe how few subscribers you have, this series has been amazing, keep up the good work!
@TutorialsWithGary
@TutorialsWithGary 4 года назад
Thank you! That means a lot. I’m glad you’re liking the content :)
@Bencurlis
@Bencurlis 4 года назад
Hello, Firstly I wanted to say that this is a nice and very clear video, I especially like that you blend theory and programming tutorial. I am personally not a fan of checking the improvement on the objective function as a way to create a stop condition as, in my experience, GAs tend to make huge improvements by doing rare jumps, in addition to the gradual stream of small improvements you illustrated, at least on some problems. I did some research on GAs for uni and I found that most GAs (the ones that allow fitness to decrease) can be seen as Monte Carlo Markov Chains, that are processes that don't converge but are very useful nonetheless, especially in statistics. I like to think that we should stop GAs the same ways we stop a MCMC process, by checking that the stationary distribution is reached (convergence in probabilities). In simpler terms, this notion corresponds to a sufficiently explored search space, unfortunately, methods to automatically check that the stationary distribution is reached in a general case is still a problem in computer science research. For now, it seems to me that we have to use properties of the problem at hand to create good stop conditions. Then, a local search method like gradient descent with a traditional convergence stop condition like the one you taught can be used to improve a bit the best solution(s) found. In Mouret and Clune 2015, they showed that MAP-Elite, a kind of GA that focus on diversity of solutions instead of on fitness optimization tend to produce even better solutions that traditional GA search, a finding that seemed to be confirmed by my own experiments. This suggests that we should not focus on fitness improvements alone, indeed...
@TutorialsWithGary
@TutorialsWithGary 4 года назад
Thanks for the feedback! I couldn’t agree more, The idea behind the series is a gentle introduction of sorts to most of the concepts around GA’s with the intent to complete this series and move onto more advanced techniques. So for now there is a simplistic approach taken but it’s mostly a means to an ends to explain core concepts. Thanks for the informed comment, I really hope that my videos can spark more conversations like this and drum up interest in GAs.
@imukai
@imukai 4 года назад
Started watching the series tonight, and while I am anxiously awaiting more... I think you should now change the colour of GA in your name.
@TutorialsWithGary
@TutorialsWithGary 4 года назад
Hah that’s amazing!
@sky4eternity
@sky4eternity 4 года назад
Very cool series. Just wanted to add that you should probably not compare floating points by equality, but check if the absolute difference is less than some threshold. Thank you for the clear explanations !
@SolvingOptimizationProblems
@SolvingOptimizationProblems 4 года назад
I usually use the number of generations or computing time to stop GA. Sometimes I use the convergence to restart search process of my GA, which I called adaptive restart GA. By the way, very good tutorial, clear and informative. Many thanks
@TutorialsWithGary
@TutorialsWithGary 4 года назад
That’s cool! When you restart, do you re-spawn the entire population?
@SolvingOptimizationProblems
@SolvingOptimizationProblems 4 года назад
@@TutorialsWithGary no, not entire the population, about 99 %. we keep some top chromosomes
@mukanyandwihilary5935
@mukanyandwihilary5935 Год назад
Thank you for this wonderful video. However, I am having issue with references. I try to add them by clicking project, add references but nothing happens. even System one is not found. Is it caused by visual studio version you have used to create the project? I was able to run all previous examples by setting project path to lib folder of the project with no issue but this one is blocking me.
@erikkokalj
@erikkokalj 4 года назад
Awesome video! I was curious, which extension for VS do you use for the code formatting (eg. arrow instead of =>)?
@TutorialsWithGary
@TutorialsWithGary 4 года назад
It’s a font called FiraCode, You can find the github for it here: github.com/tonsky/FiraCode
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
Thanks for wonderful video. Can we display the sequence of town may be in console? I want to see different sequences.
@TutorialsWithGary
@TutorialsWithGary Год назад
Of course :) you can use a Console.WriteLine any in the app to log to console
@jeanbaptisteminani9546
@jeanbaptisteminani9546 Год назад
@@TutorialsWithGary Yes... I tried this before but just wanted to know exactly where to put it. I mean, where to write this statement. I am just learning it.
Далее
ВОДЯНОЙ ПИСТОЛЕТ ЗА 1$ VS 10$ VS 100$!
19:09
Для кого жиза?
00:13
Просмотров 1,4 млн
Premature Optimization
12:39
Просмотров 784 тыс.
Screw It, iPhone Air
8:49
Просмотров 234 тыс.
Mutation - Writing your own Genetic Algorithm Part 4
17:36
Spawning - Writing your own Genetic Algorithm Part 1
11:40
Google DeepMind's New AI Robot & AGI by 2027!
8:19
Просмотров 6 тыс.