Using Deep Learning to Train a World-Class Candyland Player

A child playing Candyland
Photo by Amboo Who?

I’ve been spending the last year working on machine learning methods to train an algorithm that could be competitive with professional-level Candyland players. I’m happy to report that as of today, I attained my goal.

For the first pass of my automated Candyland player, I built a very simple rules-based engine. The engine ran efficiently on a Mac Book Pro. The rules-based engine did ok in lab tests with strong amateur players. I knew it couldn’t stand up to the rigor of professional Candyland tournament play, however.

For the second pass of my player, I created a more sophisticated look-ahead engine. Before taking its next card on its turn, it would simulate every possible permutation of the rest of the deck. While this was very processor intensive, by moving it into AWS and distributing it across 100 xLarge instances, it ran near real-time, although at some expense. The results of this player weren’t significantly better than the first engine.

In my third pass, I trained a shallow Convolutional Neural Network with 100,000 Candyland games. The results of this were disappointing. Playing against my look-ahead engine, over 500,000 games, it did no better than winning 50.05% of the time. Adding more layers didn’t improve the score significantly.

The fourth permutation of my Candyland player was a fully recurrent neural network running across a few dozen AWS GPU instances. This player played itself for several weeks improving the weights in its network using a genetic algorithm. The results from this were fascinating. It was able to win against itself 100% of the time.

This morning, April 1st, 2018, I played three games against the RNN player. While I am not a professional level Candyland player, I am rated 1200 on the amateur circuit, and it was my favorite game in 1st grade. This last version of my player beat me all three times! I think it is finally ready.

I’m going to be setting up some exhibition games with my Candyland player as soon as I can track down someone on the professional Candyland circuit. Not only will this gain some positive publicity for machine learning, but I’m hoping that it will help me recoup the $350,000 in AWS bills that I racked up building, testing, and training my players.



It is difficult to quantify just how much I hate the phrase “low hanging fruit”, but it is a lot.


let’s double click on that… I’m just spitballing here… but we could replace that with “enable success vectors by utilizing agile prioritization processes.” Let’s run that up the flagpole and see who salutes, ok?


Kevin, while we’re at it, let’s talk about actionable takeaways on our synergies for monitizing that deliverable.


I think the flow of this workstream is taking us right to a new center of excellence in strategic innovation!

Development is more fun with kittens – three fun placeholder tools

Place Kitten gives you place holder images that make you wonder if you should bother ever replacing them, like:

Cupcake Ipsum generates much better Lorem Ipsum text that your run-of-the-mill tools, like:
Cupcake ipsum dolor sit amet. Toffee I love cake I love gummi bears cotton candy I love cookie. Wafer dragée lemon drops jelly-o jelly I love lollipop.
Fruitcake lollipop sweet roll muffin caramels. Cake I love macaroon biscuit candy canes dessert pie. Sweet apple pie lollipop jelly beans cheesecake gummies biscuit. Wypas I love croissant macaroon halvah.
Sweet roll tart toffee lemon drops candy canes soufflé bonbon. Ice cream tart cupcake I love icing tootsie roll jelly. Soufflé biscuit topping topping caramels pudding sugar plum cheesecake.
Halvah ice cream macaroon lollipop donut. Dessert gingerbread toffee gummies I love gingerbread applicake. Icing marshmallow cupcake.
Topping jelly beans fruitcake tootsie roll. Faworki soufflé chocolate cake. Dessert sesame snaps biscuit tiramisu cookie I love sesame snaps. is where got their idea, it is also useful, but not quite as fun

(via Chuck Rose)

[Update 2/29/12]
Adding also PLACESHEEN.COM, yow!

(via Bob Archer)


today on twitter

kevingoldsmith: I am unreasonably proud of the fact that I just spelled “schadenfreude” correctly without looking it up.

jimhong: @KevinGoldsmith It makes me happy that you were concerned enough that you thought you might have to look it up….. ;-D

kevingoldsmith: @jimhong My style of spelling is to spell it however and let outlook tell me what I messed up, I was expecting squiggles

jimhong: @KevinGoldsmith I guess my attempt @ schadenfreude fell a bit short just now… 😉

kevingoldsmith: @jimhong and I take great pleasure in that! PWN3D!

In retrospect, I think the PWN3D was unncessary. A simple FTW might have surficed.