Convergence - Writing your own Genetic Algorithm Part 5

  Рет қаралды 7,187

Tutorials with Gary

Tutorials with Gary

Күн бұрын

Пікірлер: 16
@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.
@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
@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!
@xySkyline
@xySkyline 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 !
@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.
@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.
@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
Genetic Algorithms
14:19
Adam Gaweda
Рет қаралды 2,4 М.
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Mutation - Writing your own Genetic Algorithm Part 4
17:36
Tutorials with Gary
Рет қаралды 9 М.
Premature Optimization
12:39
CodeAesthetic
Рет қаралды 852 М.
Reinforcement Learning - My Algorithm vs State of the Art
19:32
Pezzza's Work
Рет қаралды 153 М.
Multi-Objective Optimisation - Writing your own Genetic Algorithm Part 6
14:31
Simon Sinek's Advice Will Leave You SPEECHLESS 2.0 (MUST WATCH)
20:43
Alpha Leaders
Рет қаралды 2,8 МЛН
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,4 МЛН
Multi-Objective Convergence - Writing your own Genetic Algorithm Part 8
19:51
Tutorials with Gary
Рет қаралды 3,7 М.
9.8: Weighted Selection (for Genetic Algorithms) - The Nature of Code
18:58
Multiobjective optimization
5:49
OpenMDAO
Рет қаралды 11 М.
Fast Inverse Square Root - A Quake III Algorithm
20:08
Nemean
Рет қаралды 5 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН