Played against humans, Poker is a game as much about reading your opponent as it is about the cards you’re dealt. That doesn’t mean there aren’t certain mathematical ways to aid your decision making based on probabilities. In this vein, a group of students from Cornell’s ECE 5760 class built a pokerbot on an FPGA.
The bot uses the principle of Monte Carlo simulation to calculate the probabilities of an individual winning a hand of Limit Texas Hold’em. Calculating the entire set of possible hands is impractical, so in a Monte Carlo simulation a sample is calculated instead. By accelerating these calculations on an FPGA, the pokerbot is able to calculate 300,000 possible hands in just 150 ms, and present a probability of winning to the human player. This same calculation method is then used to make decisions for the computer players in the game, too.
The team report that the FPGA’s processing power brought a 10x speed up compared to their C++ program running on an Intel i7-6700HQ. The strong statistical calculations help to make the computer players engaging and realistic to play against.
It’s another great example of a project from Bruce Land’s classes, which are somewhat of a hotbed of development each year. Video after the break.
Continue reading “PokerBot Uses FPGA For Card Calculating Horsepower”
There have been a few “firsts” in AI-versus-human gaming lately, and the computers are now beating us at trivia, chess and Go. But in some sense, none of these are really interesting; they’re all games of fact. Poker is different. Aside from computing the odds of holding the winning hand, where a computer would obviously have an advantage, the key to winning in poker is bluffing, and figuring out when your opponent is bluffing. Until recently, this has helped man beat the machine. Those days are over.
Chess and Go are what a game theorist would call games of perfect information: everyone knows everything about the state of the game just from looking at the board, and this means that there is, in principle, a best strategy (series of moves) for every possible position. Granted, it’s hard to figure these out because it’s a big brute-force problem, but it’s still a brute-force problem where computers have an innate advantage. Chess and Go are games where the machines should be winning. Continue reading “AI Beats Poker Pros: Skynet Looms”
Don’t mind me, I’m just listening to some tunes during our poker game. Well, that and getting some electronic coaching about poker odds. This board lets you wiggle your toes to input the upcards, and those in your hand. After each entry the gadget will tell you your odds of winning the hand. Take it easy with this kind of stuff, if Rounders was at all realistic, getting caught cheating is a painful mistake.
The thing we find interesting about the system is that it doesn’t use a stored odds database. Instead, the Propeller chip runs a simulation of 1000 hands of poker based on the cards you have entered and uses the results to calculate the odds. [Nick] says that this runs quickly because he’s using multiple cores for the calculations, and it cuts down on the data that the device needs to have on board. Right now the feedback uses a text-to-speech generated voice, but you can customize the audio clips if you’d like. Check out a demo of the device in the clip after the break.
Not looking to get the beat down for cheating? Here’s a poker tournament timer that we assure you is on the up-and-up. Continue reading “Board Lets You Know When To Hold ’em; Know When To Fold ’em”
This interesting box of buttons is a talking poker tournament timer. Full of useful tools like a binary time display, words of wisdom, countdowns to the end of the game, and even good old “bicycle built for two” mode (around 1:20). While we find it fairly difficult to understand, we applaud the feature list, especially the song. He used an Arduino with a voice shield, so there’s not much to the electronics side, but you can download his source code from his site.