# AI and Meta-Heuristics (Combinatorial Optimization) Python

## AI and Meta-Heuristics (Combinatorial Optimization) Python

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

**Go Link **

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

### About The Course 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 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

### ### GAMES AND GAME TREES ###

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

### ### REINFORCEMENT LEARNING ###

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