Published in

Evolutionary Computation — Part 1 (Introduction and Benefits and weaknesses)

In my view, Artificial Intelligence is one of the most practical fields of computer science. It is and will continue to be used across various applications such as data mining, IoT, and autonomous driving. It is fascinating how a computer can think and decide intelligently based on some algorithms that are not that complicated.

Artificial Intelligence can be used by numerous programming languages such as Swift, C++, Java, Prolog, Lisp, Pascal, Python, and almost every other programming language. I tried each of these programming languages and studied their structure and the way they work and compile or interpret. I find Python more suitable for AI because of the variety of its libraries; otherwise, I think scripting programming languages are not that safe for programming because making a mistake and not noticing it is much easier in this kind of programming language than a programming language like Pascal. Of course, this essay is about AI, so we move on to the main topic.

Computational Intelligence is of particular interest to me as one of the branches of AI. Computational Intelligence has three branches, namely Evolutionary Computation, Fuzzy Systems, and Neural Networks. Amongst these, I find Evolutionary Computation to be the most fascinating.

Evolutionary Computation is a family of algorithms for finding the global optimum. These algorithms are inspired by biological evolution. They are based on a random population, and they work with trial and error. The general idea of these algorithms is that when there is a population available, each population member has some qualities, and these qualities can be good or bad. If one of the population members has more bad qualities than others, the chance for survival becomes less than others for that member, and the possibility of making the next generation will be less than the others for that member. With this concept, the population will become better and better each generation because a better part of the generation will make the next generation.

Of course, Evolutionary Computation algorithms have both advantages and disadvantages. Their most important benefit is that they do not need much time to find the goal. The time complexity in this algorithm is not exponential, and it can be beneficial for solving many problems. For instance, solving the classic “knapsack problem,” an exponential time complexity problem, is much faster with these kinds of algorithms that do not have exponential time complexity.

Another critical advantage of Evolutionary Computation algorithms is that they have a reasonable space complexity. They only store a small amount of data at the beginning of the algorithm, and they do not add any other data after that. They only change the data in the following stages of the algorithm.

On the other hand, their main disadvantage is that they do not always give us the best answer, and they can be stuck in the local optimum. Of course, this can be reduced by changing some factors in the algorithm. In my opinion, this is a manageable disadvantage. Consequently, I think Evolutionary Computation algorithms are superb.

To be countinue…




Data Scientists must think like an artist when finding a solution when creating a piece of code. ⚪️ Artists enjoy working on interesting problems, even if there is no obvious answer ⚪️ 🔵 Follow to join our 18K+ Unique DAILY Readers 🟠

Recommended from Medium

Rename ASP .Net MVC Project

How To Setup Both Local and Cluster GPU Environments With AWS and Coiled

“P2E” Maintenance Notice on April 22

New in Slack Project Management: nTask for Slack is here!

60 Days of Flutter :Building a Messenger : Day 18–19 : Unit Testing in Flutter using ‘ mockito’

5 unknown innovative websites which you must visit it !

WhatPulse 3.2 released

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ardavan Khalij

Ardavan Khalij

I am a graduate student in Computer Science, AI at VUB. I am a writer in and NerdForTech

More from Medium

Machine Learning Algorithms (Part1)

Addition and Subtraction using Recurrent Neural Networks.

How to generate music using Deep Learning

Artificial Intelligence and Machine Learning to Prevent Injury and Enhance Performance in Sports