Might I interest you in a rousing game of Connect Four?
You and the computer take turns dropping discs into one of the seven colums below.
Games are as old as civilization itself, and some people think they have huge social value regardless of whether you win or lose. That’s why he consulted an army of preposterously overqualified experts to find the secret to winning any game. And I raised over $100,000 on Kickstarter for The Networks. And Hova is not the only game designer crowd-funding his work.
Below is a transcript of the episode, modified for your reading pleasure. Kickstarter has an entire division dedicated to games.
These techniques might not create the best Connect Four AI possible (in fact, Victor Allis' thesis shows how to create a provably-unbeatable AI), but it can still do pretty well!
Connect Four Thesis Avoir Beau Essayer
The code (in C, Python, and Java Script) is available on Git Hub. Think of all the possible games of Connect Four represented as a tree. The second tier of the tree represents all the possible moves that can be made by the first player.So, while the the perfect tree formula would tell us that there are boards, some smart mathematicians have figured out that there are "only" around 4 trillion different boards. Thankfully, we can use a technique called alpha-beta pruning.The idea is pretty simple: do not bother searching branches that would either: Now, this is a hand wavey oversimplification of how the process actually works.For more information on the people and ideas in the episode, see the links at the bottom of this post. For a long time, I was afraid to admit how much I like playing games because it seems a bit childish. Because playing games means that you’re taking part in the glorious progression of civilization. According to Luke Crane, who runs that division, last year nearly a million backers pledged more than 0 million to games.And you’ll find credits for the music in the episode noted within the transcript. And as adults, we are encouraged to do away with childish things. A lot of these, however, are video games, not old-fashioned board games. So for every dollar we spend on board games and puzzles, we spend nearly on video games.The hope is that the heuristic function can guide the AI to a winnable position.It seems to work pretty well -- if you can beat it, try increasing the number of moves to think ahead.The third tier of the tree represents all the possible moves that can be made by the second player.A small subset of the tree (for a small game board) might look like this: Imagine expanding the tree all the way down to the bottom, where the leaf nodes are "terminal" states -- states where one player has won the game, or there is a draw.Now, the computer will exhaustively evaluate the tree to a certain depth (the number of moves to "think ahead") and then use a heuristic to evaluate that board.Eventually, as the end of the game draws near, the computer finds winning or losing states within the prescribed depth, and plays perfectly.