Artificial Intelligence I: Meta-Heuristics and Games in Java

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

4.37 (796 reviews)
Udemy
platform
English
language
Data Science
category
instructor
8,248
students
9 hours
content
Mar 2022
last update
$109.99
regular price

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

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!

Content

Introduction

Introduction
What is AI good for?

Graph-Search Algorithms (Path Finding Algorithms)

Why to consider graph algorithms?
Breadth-first search introduction
Breadt-first search implementation
Depth-first search introduction
Depth-first search implementation I - with stack
Depth-first search implementation II - with recursion
Enhanced search algorithms introduction
Iterative deepening depth-first search (IDDFS)
A* search introduction
A* search illustration
A* search implementation I
A* search implementation II
Path finding algorithms comparison

Basic Search / Optimization Algorithms

Brute-force search introduction
Brute-force search example
Stochastic search introduction
Stochastic search example
Hill climbing introduction
Hill climbing example

Meta-Heuristic Optimization Methods

Heuristics VS meta-heuristics

Tabu Search

Tabu search introduction - basics
Tabu search introduction - tabu tenure
Tabu search illustration
Tabu search implementation I
Tabu search implementation II

Simulated Annealing

Simulated annealing introduction
Simulated annealing - function extremum I
Simulated annealing - function extremum II
Simulated annealing - function extremum III
Travelling salesman problem I - city
Travelling salesman problem II - tour
Travelling salesman problem III - annealing algorithm
Travelling salesman problem IV - testing

Genetic Algorithms

Genetic algorithms introduction - basics
Genetic algorithms introduction - chromosomes
Genetic algorithms introduction - crossover
Genetic algorithms introduction - mutation
Genetic algorithms introduction - the algorithm
Genetic algorithm implementation I - individual
Genetic algorithm implementation II - population
Genetic algorithm implementation III - the algorithm
Genetic algorithm implementation IV - testing
Genetic algorithm implementation V - function optimum

Particle Swarm Optimization

Swarm intelligence intoduction
Particle swarm optimization introduction I - basics
Particle swarm optimization introduction II - the algorithm
Particle swarm optimization implementation I - particle
Particle swarm optimization implementation II - initialize
Particle swarm optimization implementation III - the algorithm
Particle swarm optimization implementation IV - testing

Minimax Algorithm - Game Engines

Game trees introduction
Minimax algorithm introduction - basics
Minimax algorithm introduction - the algorithm
Minimax algorithm introduction - relation with tic-tac-toe
Alpha-beta pruning introduction
Alpha-beta pruning example
Chess problem

Tic-Tac-Toe Game

About the game
Cell
Constants and Player
Game implementation I
Game implementation II
Board implementation I
Board implementationj II - isWinning()
Board implementation III
Minimax algorithm
Running tic-tac-toe

Course Materials (DOWNLOADS)

Course materials

DISCOUNT FOR OTHER COURSES!

90% OFF For Other Courses

Screenshots

Artificial Intelligence I: Meta-Heuristics and Games in Java - Screenshot_01Artificial Intelligence I: Meta-Heuristics and Games in Java - Screenshot_02Artificial Intelligence I: Meta-Heuristics and Games in Java - Screenshot_03Artificial Intelligence I: Meta-Heuristics and Games in Java - Screenshot_04

Reviews

Jürgen
September 6, 2023
The algorithm explanation and visualization was good (5 stars), but the coding part was weak (old style Java, explaining what the trainer does and not why etc.)
Thomas
November 26, 2022
Excellent course as usual with Holczer. Very detailed and pedagogical with deep implementation. Greetings from France. Thomas
Jack
June 18, 2022
The instructor is really knowledgeable, and you can tell he knows his stuff. He makes the algorithms really simple to understand by covering the theory in depth then implementing them in code referencing back to the theory so you can relate the theorical to the concrete. The algos learned can help in many problem-solving tasks involving code, not just ML/AI, and I recommend any coders looking to up their math-related coding skills take this course.
Lee
November 24, 2021
The instructor is one of the best on Udemy for algorithms and he is very knowledgeable. I recommend to anyone wanting to learn graph algos.
Adam
September 1, 2021
This instructor was great. Good examples. Great pacing. Walked you thru everything. Highly recommend this class.
Roman
April 26, 2021
It was a really interesting course for start to understanding algorithms, which bases on the recursion. With interesting examples.
HWANG
January 20, 2021
The course is really helpful to understand from theory to implementation. I would recommend this course to anyone who wants to learn optimization and a bit of gaming algorithms.
Leonardo
December 10, 2020
The course was great on the algorithms part. It really explained you both theoretically and visually with great tools and examples what is happening when you run a given algo. The only problem I found, there aren't really a lot of language conventions used. Some pieces of code may have been refractored differently. But again, if you already know Java and can do it by your self this is really good course
Pattama
May 6, 2017
There are many interested algorithms. However, it just like an overview, and the lecuture do not show reasons why an algorithm has the function like that.
Qamar
April 6, 2017
It's very knowledgeable course and the method of teaching is very efficient, unique and easy to unerstand. I really like it.
Alfred
March 14, 2017
I must say this is a very great course. Easy for me as a fresh man in AI. It is a basic course and open the door to some basic algorithm of AI. I love the implementation portion, which I can hands on for what was described in the theory.
Joel
February 2, 2017
Much material presented to justify the practical value of the algorithms. Pseudo code presented will allow translation into any computer language. The algorithm presented so far was Breath-First-Search and there was a stepping through the stages of running the algorithm example.
John
January 3, 2017
Content is good, however, references are made to content that is not available (e.g. Dijkstra's Algorithm in the Graph Search section).
Shrobon
November 21, 2016
slides used , are very informative and easy to understand. The course is very well structured . However i feel that the delivery of the instructor could improve. Overall its a good course and worth the money spent .
Murali
October 22, 2016
course is good.But in the source code i see difference between what author explains in video and attachment.Being from no computer science background it's difficult sometimes to understand the logic in source code.

Coupons

DateDiscountStatus
11/16/201995% OFF
expired
7/14/202388% OFF
expired

Charts

Price

Artificial Intelligence I: Meta-Heuristics and Games in Java - Price chart

Rating

Artificial Intelligence I: Meta-Heuristics and Games in Java - Ratings chart

Enrollment distribution

Artificial Intelligence I: Meta-Heuristics and Games in Java - Distribution chart
528460
udemy ID
6/15/2015
course created date
8/5/2019
course indexed date
Bot
course submited by