Artificial Intelligence I: Meta-Heuristics and Games in Java

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

Ratings: 4.30 / 5.00




Description

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)

  • 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 - Iterative Deepening Depth-First Search (IDDFS)

  • what is iterative deepening depth-first search algorithm

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

  • basic optimization algorithms

  • brute-force search

  • hill climbing algorithm

- META-HEURISTICS -

Section 6 - Simulated Annealing

  • what is simulated annealing

  • how to find the extremum of functions

  • how to solve combinatorial optimization problems

  • travelling salesman problem (TSP)

Section 7 - Genetic Algorithms

  • what are genetic algorithms

  • artificial evolution and natural selection

  • crossover and mutation

  • solving the knapsack problem

Section 8 - Particle Swarm Optimization (PSO)

  • what is swarm intelligence

  • what is the Particle Swarm Optimization algorithm

- GAMES AND GAME TREES -

Section 9 - Game Trees

  • what are game trees

  • how to construct game trees

Section 10 - 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 11 - Tic Tac Toe with Minimax

  • Tic Tac Toe game and its implementation

  • using minimax algorithm

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!

What You Will Learn!

  • Get a good grasp of artificial intelligence
  • Understand how AI algorithms work
  • Understand graph search algorithms - BFS, DFS and A* search
  • Understand meta-heuristics
  • Understand genetic algorithms
  • Understand simulated annealing
  • Understand swarm intelligence and particle swarm optimization
  • Understand game trees
  • Understand minimax algorithm and alpha-beta pruning
  • Tic Tac Toe game from scratch with minimax algorithm

Who Should Attend!

  • This course is meant for students or anyone who interested in algorithms and optimization approaches and have some background in basic Java