C++ Machine Learning Algorithms Inspired by Nature

Study the Genetic Algorithm, Simulated Annealing, Ant Colony Optimization, Differential Evolution by Coding from Scratch

Ratings: 4.38 / 5.00




Description

This online course is for students and software developers who want to level up their skills by learning interesting optimization algorithms in C++.

You will learn some of the most famous AI algorithms by writing it in C++ from scratch, so we will not use any libraries. We will start with the Genetic Algorithm (GA), continue with Simulated Annealing (SA) and then touch on a less known one: Differential Evolution. Finally, we will look at Ant Colony Optimization (ACO).

The Genetic Algorithm is the most famous one in a class called metaheuristics or optimization algorithms. You will learn what optimization algorithms are, when to use them, and then you will solve two problems with the Genetic Algorithm(GA). The second most famous one is Simulated Annealing.

However, nature gives us fascinating sources of inspiration, such as the behaviour of ants, so that Ant Colony Optimization is an interesting algorithm as well.

We will solve continuous problems(find the maximum/minimum of a continuous function) and discrete problems, such as the Travelling Salesperson Problem (TSP), where you have to find the shortest path in a network of cities, or the Knapsack Problem.

Prerequisites:

  • understand basic C++

  • any C++ IDE (I am using Visual Studio)

  • understanding of algorithms

  • understand mathematics

I recommend that you do the examples yourself, instead of passively watching the videos.

Here's a brief outline of what you will learn:

  • What optimization algorithms are

  • Genetic Algorithm theory:

    • General structure

    • How crossover is done

    • How mutation is done

  • Genetic Algorithm on a continuous problem:

    • Challenges particular to continuous problems: decoding the bits ("chromosomes") into a float value

    • Crossover: tournament selection and single point crossover

    • Mutation

  • Genetic Algorithm on the TSP (Travelling Salesperson Problem):

    • Creating a fitness function for the TSP

    • Challenge particular to this problem: how to do crossover?

    • Mutation

  • Simulated Annealing:

    • Basic Theory

    • Optimizing Himmelblau's function

    • The knapsack problem

  • Differential Evolution:

    • Theory and different strategies

    • Code example on one strategy, the standard one (DE/rand/1/bin)

  • Ant Colony Optimization:

    • Theory and Inspiration

    • Example on the Travelling Salesperson Problem

Sign up now and let's get started!

What You Will Learn!

  • Genetic Algorithm in C++
  • Simulated Annealing
  • Differential Evolution
  • Ant Colony Optimization

Who Should Attend!

  • Students and software developers who want to learn interesting algorithms
  • Anyone interested in metaheuristic algorithms