Genetic Algorithms (GA) are based on an evolutionary approach to AI, in which methods of the evolution of a population is used to obtain an optimal solution for a given problem. They were proposed in 1975 by John Henry Holland.
Genetic Algorithms are based on the following ideas:
If you want to implement a Genetic Algorithm, you need the following:
In many cases, crossover and mutation are quite simple algorithms to manipulate genes as numeric sequences or bit vectors.
The specific implementation of a genetic algorithm can vary from case to case, but the overall structure is the following:
Tasks typically solved by Genetic Algorithms include:
Continue your learning in the following notebooks:
Go to this notebook to see two examples of using Genetic Algorithms:
Genetic Algorithms are used to solve many problems, including logistics and search problems. The field is Inspired by research that merged topics in Psychology and Computer Science.
"Genetic algorithms are simple to implement, but their behavior is difficult to understand." source Do some research to find an implementation of a genetic algorithm such as solving a Sudoku puzzle, and explain how it works as a sketch or flowchart.
Watch this great video talking about how computer can learn to play Super Mario using neural networks trained by genetic algorithms. We will learn more about computer learning to play games like that in the next section.
Your goal is to solve so-called Diophantine equation - an equation with integer roots. For example, consider the equation a+2b+3c+4d=30. You need to find the integer roots that satisfy this equation.
This assignment is inspired by this post.
Hints:
Use Diophantine.ipynb as a starting point.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。