Artificial Intelligence Games In Java

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

Last updated 2022-01-10 | 4.5

- Get a good grasp of artificial intelligence
- Understand how AI algorithms work
- Understand graph search algorithms - BFS
- DFS and A* search

What you'll 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

* Requirements

* Basic Java (SE)

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 - Tabu Search

  • what is the tabu search algorithm

  • tabu tenure and aspiration criteria

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)

  • what is swarm intelligence

  • what is the Particle Swarm Optimization algorithm

- GAMES AND GAME TREES -

Section 10 - Game Trees

  • what are game trees

  • how to construct 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

  • chess problem

Section 12 - 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!

Who this course is for:

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

Course content

20 sections • 91 lectures

Breadth-first search introduction Preview 09:31

Breadth-first search implementation Preview 10:32

BFS Quiz

Depth-first search introduction Preview 10:22

Depth-first search implementation I - with stack Preview 12:01

Depth-first search implementation II - with recursion Preview 04:39

Depth-first search and stack memory visualization Preview 06:01

DFS Quiz

Maze problem introduction Preview 04:58

Course challenge #1 - maze problem Preview 00:24

Maze problem implementation Preview 15:53

Enhanced search algorithms introduction (IDDFS) Preview 04:26

Iterative deepening depth-first search (IDDFS) implementation Preview 10:10

Enhanced Search Quiz

A* search introduction Preview 09:54

A* search illustration Preview 08:51

A* search implementation I Preview 10:48

A* search implementation II Preview 11:20

A* search implementation III Preview 02:33

Path finding algorithms comparison Preview 02:24

A* Search Quiz

Brute-force method Preview 04:44

Brute-force method implementation Preview 06:26

Hill climbing method Preview 03:35

Hill climbing method implementation Preview 04:46

Optimization Quiz

Heuristics and meta-heuristics Preview 04:54

Heuristics Quiz

Tabu search introduction - basics Preview 05:24

Tabu search introduction - tabu tenure Preview 05:28

Tabu search illustration Preview 05:02

Tabu search implementation I Preview 06:33

Tabu search implementation II Preview 08:06

Tabu Search Quiz

What is simulated annealing? Preview 09:41

Simulated annealing - function extremum I Preview 03:34

Simulated annealing - function extremum II Preview 10:10

Simulated annealing - function extremum III Preview 04:01

What is the travelling salesman problem? Preview 06:14

Travelling salesman problem I - city Preview 07:57

Travelling salesman problem II - tour Preview 12:29

Travelling salesman problem III - annealing algorithm Preview 09:51

Travelling salesman problem IV - testing Preview 03:54

Simulated Annealing Quiz

Genetic algorithms introduction - basics Preview 05:30

Genetic algorithms introduction - chromosomes Preview 04:19

Genetic algorithms introduction - crossover Preview 06:37

Genetic algorithms introduction - mutation Preview 04:19

Genetic algorithms introduction - the algorithm Preview 02:31

Genetic algorithm implementation I - individual Preview 12:38

Genetic algorithm implementation II - population Preview 06:15

Genetic algorithm implementation III - the algorithm Preview 12:33

Genetic algorithm implementation IV - testing Preview 06:28

Genetic algorithm implementation V - function optimum Preview 10:50

Genetic Algorithms Quiz

Knapsack problem introduction Preview 05:36

Course challenge #2 - knapsack problem Preview 00:26

Knapsack problem with genetic algorithms Preview 12:25

What is swarm intelligence? Preview 06:52

Particle swarm optimization introduction I - basics Preview 09:33

Particle swarm optimization introduction II - the algorithm Preview 10:28

Particle swarm optimization implementation I - particle Preview 10:25

Particle swarm optimization implementation II - initialize Preview 07:13

Particle swarm optimization implementation III - the algorithm Preview 10:08

Particle swarm optimization implementation IV - testing Preview 04:05

Particle Swarm Optimization Quiz

Game trees introduction Preview 08:24

Two Player Games Quiz

Minimax algorithm introduction - basics Preview 08:19

Minimax algorithm introduction - the algorithm Preview 06:32

Minimax algorithm introduction - relation to tic-tac-toe Preview 06:47

Alpha-beta pruning introduction Preview 05:04

Alpha-beta pruning example Preview 08:27

Chess problem Preview 04:10

Game Engines Quiz

About the game Preview 03:11

Cell Preview 03:32

Constants and Player Preview 03:04

Game implementation I Preview 08:18

Game implementation II Preview 03:45

Board implementation I Preview 06:57

Board implementation II - isWinning() Preview 03:53

Board implementation III Preview 06:19

Minimax algorithm Preview 09:07

Minimax algorithm revisited Preview 11:11

Running tic-tac-toe Preview 04:37