Image of Evolutionary programming - the next big wave of growth in A.I?

ADVERTISEMENT

Table of Contents

Introduction

Artificial Intelligence is not just Machine Learning. We have seen huge advancements in Machine Learning recently, including Deep Learning and Convolutional Neural Networks, training robots to learn like the human brain.

On the other side of the A.I fence, we have Evolutionary programming which is one of the four major evolutionary algorithm paradigms. It is similar to genetic programming, but the structure of the program to be optimized is fixed, while its numerical parameters are allowed to evolve. This programming paradigm has some serious use-cases in today's systems. Just recently, the famous Travelling Salesman Problem was solved optimally by an adaptation of a genetic algorithm.

Genetic algorithm Youtube Link

Evolutionary programming

This video above was posted in 2013, which is now 6 years ago. Keith Downing, professor of Computer Science at the Norwegian University of Science and Technology speaks on how to imitate nature using Evolutionary computation. These evolutionary algorithms have applications ranging from the development of the Mars Rover antenna, patented circuits, early driverless cars, to even art.

There seems to be little resource available on Evolutionary programming - the book I would suggest reading for an introduction into this concept would be Genetic Algorithms with Python. It does assume a background knowledge of Python, but it could be a good opportunity to pick up a new language. There are other resources available, but as I said before resources still seem scarce.

If you want to get your hands dirty with some code, the book above also has programming problems which can be solved. Besides that, there is the #evolutionary-computation category in Github which contains many open projects to join. By jumping in and getting involved, it will increase your problem solving abilities and you can put it down on your resume too (which is always a good benefit of open-source work).

Conclusion

Thanks for reading! I hope you enjoyed this article, and found it useful. Feel free to share this article using the icons displayed to the left. Happy coding!

Final Notes