Listen

Description

The last editorial we did was 10 Philosophies for Engineers. Listeners enjoyed that episode, so we decided to do another.
10 Philosophies was a collection of beliefs I have about the software engineering industry, and how we can find fulfillment in our work as engineers. The philosophies that I discussed were rooted in my experiences working as a computer science student and as an engineer at several different companies.
Before writing any lines of code, I played poker competitively for five years, from the age of 15-20. This was a formative experience. Playing poker changed my perspective on money, risk, and statistics.
It has been 7 years since I stopped playing poker full time, but the lessons of the game are still with me.
In this editorial, I will discuss some beliefs I have that relate to both poker and software engineering.
As with the 10 Philosophies episode, these beliefs my own opinions. If you disagree with them, I would love to know why. At Software Engineering Daily we actually want to know any thoughts you have on our content.
We make content for our listeners and our readers. Please tell us how we can improve by emailing us, or by filling out the listener survey.
As a poker player becomes a software engineer, certain trends about human-computer interaction become apparent:
This post explores each of these trends, explaining why these trends are important to poker players, software engineers, and everyone else.
Automated Games
In 2008, poker was the perfect sport for human-computer symbiosis. What Tyler Cowen said about freestyle chess also applied to poker:
In poker, a human with a statistical “heads-up” display can make decisions that are more mathematically justified than a human without such a tool.
Heads-up displays create the poker version of “human-plus-machine teams”.
One thesis of Average is Over is that a human will only be employable in the future by finding a career where human reasoning provides defensible value to the problem solving process of a computer.
If the human’s responsibilities are not defensible, the human will beobviated.
In a subsequent blog post, Cowen addresses the “flip” that can occur when a computational problem no longer requires human assistance:
Poker players have been increasingly defeated by machines for the past 10 years. It is no surprise that Google’s AlphaGo has defeated human champion Lee Sedol.
If Google decided to beat humans at poker, it would be a trivial exercise for the researchers.
Poker seems different than Go or Chess, since there is nondeterminism. You start with two cards, but you don’t know how the board will develop. It would seem that fate is in control, unlike Go and Chess, which have no random elements.
With just 4 suits and 13 ranks, a poker game has a trivial branching factor. The nondeterminism is so minimal for a computer to plan around that it is effectively deterministic.
Imagine if AlphaGo had to learn to play a version of Go with the following rule: at the beginning of each turn, flip a coin. If you lose the flip, you don’t get to move. Adjusting to this rule would be trivial. That is the magnitude of nondeterminism within poker.
Poker, Chess, and Go have small decision spaces. The rules never change, the game pieces never change, there is minimal nondeterminism.
A computer can assess a hand of poker as it would a hidden Markov model, but it will take work on par with the AlphaGo team for a computer to be trained to build a model accurately.
The job of a professional poker player has been a bad long-term choice for a human to pursue for more than a decade, because it is vulnerable to automation.
Games like Go, Poker, and Chess can be automated with machine learning techniques we understand today. The rules, game piece schema, and objectives are easy to define, so these games are ripe for supervised learningand reinforcement learning.
Yann LeCun protested against the hype around the AlphaGo victory:
Poker is vulnerable t...