Machine Learning powers a lot of what we do. Currently there are three main categories of machine learning, supervised learning, unsupervised learning and reinforcement learning.
Let’s talk a bit about them and what differentiates them.
Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions.
I am a professional software developer who mainly writes web apps.
When I want a computer to do something, I have to explicitly code for that. …
In my last post, we built a tic-tac-toe bot that would never lose a game! It was great, except it was really slow. It took over 30 seconds to determine the first move.
Let’s optimize that using a simple technique to prune the amount of searching we perform for each move!
Why is our bot slow? It’s slow because it’s dumb. There’s no intelligence to how it goes about searching boards.
Let’s take the following game board.
It’s X’s turn, what is X going to do? Obviously they’re going to play in the bottom right corner and win.
But our bot sees 5 potential moves X can make, and evaluates each one equally. It eventually picks the bottom right corner as the best move, but not before seeing and comparing all 5 moves against each other. Evaluating all moves equally leads us to do a lot of unnecessary work, which is the main performance problem. …
This article builds upon last week’s minimax searching article. I won’t discuss minimax in depth here, so please check out that article if you have questions about minimax.
Games are fun! Programming computers to play games is also fun!
Today I’m going to walk you through what is takes to write a tic tac toe bot.
Tic tac toe might be a simple game, but it’s useful to teach strategies for how some computers approach playing games.
Imagine you wanted to play tic tac toe. How would you go about doing that?
You’d first learn the rules. …