AI and Meta-Heuristics (Combinatorial Optimization) Python
Ditulis pada: November 20, 2023
Preview this Course
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
Description
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.
Thanks for joining the course, let's get started!
Who this course is for:
- Beginner Python programmers curious about artificial intelligence and combinatorial optimization