Genetic Algorithms ( GA )

Genetic algorithms is a specific type of search technique which is a separate evolutionary algorithms branch within our tree search techniques.

These algorithms uses genes where each gene contains chromosomes, just like our own biology. These genes can evolve to our benefit to find the best possible solution to our problem.

In the concept of natural selection the resources are limited and our genes/agents will be struggling to survive. The fitness of each individual gene/agent will determine their success.
If the gene is successful and it has a good fitness, then the fittest gene is more likely to reproduce and pass on their genes to the next generation.

These algorithms is based on our understanding of evolution and the term “survival of the fittest” is basically how our genetic algorithms work. We are trying to find the best possible solution but in order to find it, there must be some variance within our population. Just as we do with our DFO, we have to randomly allocate flies across our search space in order to potentially find an even better solution. If there is no variance we could easily get stuck in a local minima and our population might not be able to survive if our surrounding changes.

The two core methods for modifying our chromosomes are mutation and crossover/recombination. Both methods vary and they show different aspects of our genetic algorithms.

Mutation happens on an individual gene/agent and the mutation can happen to any particular position within our genes chromosomes. The data inside each chromosome can be shifted, swapped or moved at any point.
You can apply a few different rules to our mutation, on example could be in what order mutations are allowed to happen, if any other rules are applied, the outcome will be slightly different.
Mutation can be seen as the adaptation of a particular gene.

Crossover is essentially how our genes/agents breed with each other. This will allow two genes/agents to share their chromosomes and create new genes/agents. The most optimal usage of this method is when the most fittest genes/agents are sharing their chromosomes so the best solution can be found.

Crossover is just like mutation, if you apply different rules and variations you will also experience a different outcome.

This is a very interesting topic and it is very interesting to be discussing and talking about it from a computer scientist point of view.
Maybe this our way of solving complex problems?

Will this technology together with machine learning, perhaps create a unique and smart system that will evolve a kind of life on its own?

Comments

Popular posts from this blog

Physical Computing, Final Project

Dispersive Flies Optimisation ( DFO )

No Free Lunch Theorem