Convergence - Writing your own Genetic Algorithm Part 5

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

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 !
@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.
@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
Multi-Objective Convergence - Writing your own Genetic Algorithm Part 8
19:51
Tutorials with Gary
Рет қаралды 3,7 М.
$1 vs $500,000 Plane Ticket!
12:20
MrBeast
Рет қаралды 122 МЛН
GIANT Gummy Worm #shorts
0:42
Mr DegrEE
Рет қаралды 152 МЛН
Reinforcement Learning - My Algorithm vs State of the Art
19:32
Pezzza's Work
Рет қаралды 155 М.
Spawning - Writing your own Genetic Algorithm Part 1
11:40
Tutorials with Gary
Рет қаралды 18 М.
The Knapsack Problem & Genetic Algorithms - Computerphile
12:13
Computerphile
Рет қаралды 240 М.
Multi-Objective Optimisation - Writing your own Genetic Algorithm Part 6
14:31
Premature Optimization
12:39
CodeAesthetic
Рет қаралды 855 М.
What are Genetic Algorithms?
12:13
argonaut
Рет қаралды 65 М.
Visualizing transformers and attention | Talk for TNG Big Tech Day '24
57:45
9.8: Weighted Selection (for Genetic Algorithms) - The Nature of Code
18:58
SHA: Secure Hashing Algorithm - Computerphile
10:21
Computerphile
Рет қаралды 1,2 МЛН
Mutation - Writing your own Genetic Algorithm Part 4
17:36
Tutorials with Gary
Рет қаралды 9 М.