This device is not compatible.
You will learn to:
Learn about the basics of Genetic Algorithms in Elixir.
Explore the processes of crossover and mutation.
Solve search-based problems using Genetic Algorithms.
Learn how to design the framework for using Genetic Algorithms.
Skills
Functional Programming
Genetic Algorithms
Prerequisites
Good knowledge of Elixir
Basic knowledge of Genetic Algorithms
Technology
Elixir
Project Description
A genetic algorithm is a process of natural selection of the fittest individuals from a population to search for the best results.
The 8 Queens problem consists of placing eight queens on an 8x8 chessboard such that none of the queens attack each other.
We will solve the eight queen problem using a very simple form of genetic algorithm. We will use a modified technique that requires an aggressive mutation to decrease the time needed to find the optimal solution. We will focus less on the initial population and more on mutating the parents based on their fitness value. The position of the queens will change as much as possible to reach maximum fitness. In case the maximum fitness is not achieved in one generation, the algorithm will generate the next generation.
Project Tasks
1
Set Up
Task 0: Get Started
2
Fitness Module
Task 1: Check Vertical Clashes
Task 2: Check Diagonal Clashes
Task 3: Test the Fitness Module
3
Crossover Module
Task 4: Create New Children
Task 5: Test the Crossover Module
4
Mutation Module
Task 6: Create Heuristic Function
Task 7: Test the Heuristic Function
Task 8: Create the Index Function
Task 9: Test the Index Function
Task 10: Improve the Fitness of Child
Task 11: Mutate the Child Chromosome
Task 12: Test the Mutation Module
5
Algorithm
Task 13: Make Function Calls
Task 14: Display the Result
6
Run the Algorithm
Task 15: Write a Script
Congratulations
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.