This course is about the fundamental concepts of artificial intelligence. 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)
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 - Iterative Deepening Depth-First Search (IDDFS)
Section 4 - 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
- OPTIMIZATION -
Section 5 - Optimization Approaches
- META-HEURISTICS -
Section 6 - Tabu Search
Section 7 - Simulated Annealing
what is simulated annealing
how to find the extremum of functions
how to solve combinatorial optimization problems
travelling salesman problem (TSP)
Section 8 - Genetic Algorithms
what are genetic algorithms
artificial evolution and natural selection
crossover and mutation
solving the knapsack problem
Section 9 - Particle Swarm Optimization (PSO)
- GAMES AND GAME TREES -
Section 10 - Game Trees
Section 11 - Minimax Algorithm and Game Engines
what is the minimax algorithm
what is the problem with game trees?
using the alpha-beta pruning approach
Section 12 - Tic Tac Toe with Minimax
In the first chapter we are going to talk about the basic graph algorithms. Several advanced algorithms can be solved with the help of graphs, so as far as I am concerned these algorithms are the first steps.
Second chapter is about local search: finding minimum and maximum or global optimum in the main. These searches are used frequently when we use regression for example and want to find the parameters for the fit. We will consider basic concepts as well as the more advanced algorithms: heuristics and meta-heuristics.
The last topic will be about minimax algorithm and how to use this technique in games such as chess or tic-tac-toe, how to build and construct a game tree, how to analyze these kinds of tree like structures and so on. We will implement the tic-tac-toe game together in the end.
Thanks for joining the course, let's get started!