Genetic Algorithms in Python - Evolution For Optimization
HTML-код
- Опубликовано: 1 апр 2024
- Today we learn about genetic algorithms and evolution in Python.
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books & Merch 📚
🐍 The Python Bible Book: www.neuralnine.com/books/
💻 The Algorithm Bible Book: www.neuralnine.com/books/
👕 Programming Merch: www.neuralnine.com/shop
💼 Services 💼
💻 Freelancing & Tutoring: www.neuralnine.com/services
🌐 Social Media & Contact 🌐
📱 Website: www.neuralnine.com/
📷 Instagram: / neuralnine
🐦 Twitter: / neuralnine
🤵 LinkedIn: / neuralnine
📁 GitHub: github.com/NeuralNine
🎙 Discord: / discord - Наука
I am one of the faithful visitors of your great contents and really appreciate your rewarding efforts and time.
I'll be grateful if you address the statistical analysis with Python as a cornerstone of datascience, if applicable.
[17:08]: it's a binary state, you can keep it as simple as `genome[i] = not(genome[i])`
Great video! I'm working more and more to optimize my work processes. And Never actually thought about using this. Thanks!
Thanks for sharing the concept
Again taking over Awesome town! THX
Great video, thanks!
10:42 that's a slick generator. ty vid
another interesting video. Thanks a lot :)
In mutate(), using arithmetic to do logic manipulatiosn is the kind of thing we used to do in the 1970s with primitive BASIC. I would suggest using the exclusive OR operator (XOR) - "^" .. or in this case, the XOR-assignment operator, "^=" ... """a OR b, but not both"""
0^0 -> 0
0 ^1 -> 1
1^0 -> 1
1^1 -> 0
Csn you tell machine learning algorithms like candidate algorithm and decision tree algorithm
Thanks you
I'm not sure about the select_parent() function. You are going through the pool of candidates, cumulating their respective fitness, until you hit the first candidate who's cumulated fitness is bigger than some random threshold. How does that guarantee that a candidate with a bigger fitness is statistically more often chosen over a candidate with less fitness? Shouldn't be some type of sorting? I get the impression, the candidate pool is randomly sorted; we're randomly choosing a threshold point; and therefore randomly returning any candidate that just happens to be the first to cross the (cumulated!) threshold. WDYT?
A better implementation would be to first perform elitism, where say 10% of the solutions with the highest fitness are automatically entered into the new population. Then you could select the parents through tournament selection which would compare n amounts of solutions, with the best one (Highest Fitness) being chosen as a parent. After performing tournament selection to get 2 parents you could then proceed to crossover as described in the video. I believe this would achieve what you wanted, with more fit solutions being chosen over weaker candidates.
I think the reason why the fitness wasn't increasing was in the function select_parent(). While higher fitness individuals may have a better chance at reproducing, it isn't likely enough for them to reproduce
Wow❤❤❤
do you think using PYGAD could make genetic algorithm easier ?
The fitness values in the one max problem were off
how if the population is not binary state
I think game theory is interesting too
moar of those!
Please share the code.
Hi
You show interesting code, but you haven't tested it before, and are learning how it performs on-camera. How about spending an hour beforehand figuring out exactly what to show?