Graph Algorithms, Genetic Algorithms, Simulated Annealing, Swarm Intelligence, Heuristics and Meta-Heuristics

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.

What you’ll learn

- 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.

Course Content

- Introduction –> 2 lectures • 2min.
- ### GRAPH ALGORITHMS ### –> 1 lecture • 4min.
- Breadth-First Search (DFS) Algorithm –> 3 lectures • 19min.
- Challange #1 – WebCrawler –> 3 lectures • 16min.
- Depth-First Search (DFS) Algorithm –> 6 lectures • 31min.
- Challange #2 – Maze Solver –> 4 lectures • 25min.
- A* Search Algorithm –> 6 lectures • 40min.
- ### META-HEURISTICS ### –> 1 lecture • 9min.
- Simulated Annealing –> 1 lecture • 10min.
- Simulated Annealing Implementation – Continuous Functions –> 3 lectures • 19min.
- Simulated Annealing Implementation – Combinatorial Optimization –> 5 lectures • 34min.
- Simulated Annealing Implementation – Sudoku –> 5 lectures • 44min.
- Genetic Algorithms –> 8 lectures • 39min.
- Genetic Algorithms Implementation – Simple Example –> 5 lectures • 34min.
- Genetic Algorithms Implementation – Constraint Satisfaction Problems –> 3 lectures • 23min.
- Challenge #3 – Knapsack Problem –> 3 lectures • 19min.
- Particle Swarm Optimization –> 4 lectures • 33min.
- Particle Swarm Optimization – Simple Example –> 3 lectures • 28min.
- ### APPENDIX – PYTHON PROGRAMMING CRASH COURSE ### –> 1 lecture • 1min.
- Appendix #1 – Python Basics –> 22 lectures • 1hr 20min.
- Appendix #2 – Functions –> 15 lectures • 55min.
- Appendix #3 – Data Structures in Python –> 21 lectures • 1hr 50min.
- Appendix #4 – Object Oriented Programming (OOP) –> 17 lectures • 1hr.
- Appendix #5 – NumPy –> 11 lectures • 53min.
- COURSE MATERIALS –> 1 lecture • 1min.

Requirements

- No programming experience needed. You will learn everything you need to know..

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.

** ### PATHFINDING ALGORITHMS ###**

**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

**### META-HEURISTICS ###**

**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

**### PYTHON PROGRAMMING CRASH COURSE ###**

- 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.

Thanks for joining the course, let’s get started!