Skip to content Skip to sidebar Skip to footer

AI and Meta-Heuristics (Combinatorial Optimization) Python

AI and Meta-Heuristics (Combinatorial Optimization) Python

This course is about the fundamental concepts of artificial intelligence and meta-heuristics with Python. This topic is getting very hot nowadays 

Redeem ML On Udemy

Learn in AI and Meta-Heuristics (Combinatorial Optimization) Python

  • understand why artificial intelligence is important
  • understand pathfinding algorithms (BFS, DFS and A* search)
  • understand heuristics and meta-heuristics
  • understand genetic algorithms
  • understand particle swarm optimization
  • understand simulated annealing

This course is about the fundamental concepts of artificial intelligence and meta-heuristics with Python.

 This topic is getting very hot nowadays because these learning algorithms can be used in several fields from software engineering to investment banking. Learning algorithms can recognize patterns which can help detecting cancer for example. We may construct algorithms that can have a very  good guess about stock price movement in the market.


Section 1 - Breadth-First Search (BFS)

  • what is breadth-first search algorithm
  • why to use graph algorithms in AI

Section 2 - Depth-First Search (DFS)

  • what is depth-first search algorithm
  • implementation with iteration and with recursion
  • depth-first search stack memory visualization
  • maze escape application

Section 3 - A* Search Algorithm

  • what is A* search algorithm
  • what is the difference between Dijkstra's algorithm and A* search
  • what is a heuristic
  • Manhattan distance and Euclidean distance


Section 4 - Simulated Annealing

  • what is simulated annealing
  • how to find the extremum of functions
  • how to solve combinatorial optimization problems
  • travelling salesman problem (TSP)
  • solving the Sudoku problem with simulated annealing

Section 5 - Genetic Algorithms

  • what are genetic algorithms
  • artificial evolution and natural selection
  • crossover and mutation
  • solving the knapsack problem and N queens problem

Section 6 - Particle Swarm Optimization (PSO)

  • what is swarm intelligence
  • what is the Particle Swarm Optimization algorithm


Section 7 - Game Trees

  • what are game trees
  • how to construct game trees

Section 8 - Minimax Algorithm and Game Engines

  • what is the minimax algorithm
  • what is the problem with game trees?
  • using the alpha-beta pruning approach
  • chess problem

Section 9 - Tic Tac Toe with Minimax

  • Tic Tac Toe game and its implementation
  • using minimax algorithm
  • using alpha-beta pruning algorithm


  • Markov Decision Processes (MDPs)
  • reinforcement learning fundamentals
  • value iteration and policy iteration
  • exploration vs exploitation problem
  • multi-armed bandits problem
  • Q learning algorithm
  • learning tic tac toe with Q learning


  • Python programming fundamentals
  • basic data structures
  • fundamentals of memory management
  • object oriented programming (OOP)
  • NumPy

In the first chapters we are going to talk about the fundamental graph algorithms - breadth-first search (BFS), depth-first search (DFS) and A* search algorithms. Several advanced algorithms can be solved with the help of graphs, so in my opinion these algorithms are crucial.

The next chapters are about heuristics and meta-heuristics. We will consider the theory as well as the implementation of simulated annealing, genetic algorithms and particle swarm optimization - with several problems such as the famous N queens problem, travelling salesman problem (TSP) etc.