Making progress, or, the nature of challenges

This post is part of ChurrPurr.ai, a challenge to design an online strategy game and the AI to master it. Play the latest version of the game here.

Steven Adler
3 min readNov 4, 2017

The past few days I’ve been catching up on work upon returning from the MIT conference, so I haven’t gotten to log as many hours on Churr-Purr as I would like.

That said, I’ve been kicking around a few design ideas for the AI, and I’m starting to better conceptualize a few properties it needs to have:

  • It needs to be adaptable to game-states it hasn’t seen before; Churr-Purr is too complex for a ‘lookup table’ approach to work (e.g., brute-force all game-states), and also, truthfully, this just wouldn’t feel AI-y to me
  • It needs to be stored online in a ‘ready on-demand’ form without learning from scratch with each pageload; this is a challenge for me, as I’ve never before built a web program that had to call upon a stored back-end, or perhaps from another server/program located elsewhere
  • For the aforementioned reasons, I’m starting to think a neural network that hones in on certain parameters and weights over time (further explanation will come if I go this route …) makes more sense than the reinforcement learning approaches I’ve conceived of, and this change is a bit out of my programming comfort zone [Note: I’m oversimplifying a bit here, as there are approaches that combine neural networks and reinforcement learning; it isn’t strictly one or the other.]

I feel a bit of discomfort at my current path forward, but I’m also realizing that’s in large part why I’m doing this challenge.

One must imagine Sisyphus … learning AWS?

I earnestly believe that having a growth mindset, grit, a willingness to confront the ego, or however else you’d like to refer to it is critical to fostering growth.

And frankly, I wouldn’t be doing this challenge if it weren’t from a place of wanting to grow.

Suppose for a minute that completing this challenge were as simple as the following code (as it perhaps one day will be):

import AI;

optimalMove = AI.findBestAction(game);

AI.act(optimalMove);

Would the challenge still be interesting or something worth pursuing? Probably not.

Really fantastic book — I’d highly recommend it. Bonus points for 1) being a student of Martin Seligman (his book Flourish is great), and 2) having compelling professional perspective that informs her research

So that’s where I’m at currently: I’ve accomplished most parts of the challenge that were somewhat in my wheelhouse from the beginning (building the game program; configuring the game for computer input; thinking through the AI design), and now we’re at the junction where I’m developing new skills.

I’m excited to see where that junction takes me, and I’m okay with some uncertainty or ‘risk’ about it not quite working in the short-term. Being honest with myself, getting it right in the short-term was never really my motivation for this challenge.

Read the previous post. Read the next post.

Steven Adler is a former strategy consultant focused across AI, technology, and ethics.

If you want to follow along with Steven’s projects and writings, make sure to follow this Medium account. Learn more on LinkedIn.

--

--

Steven Adler

I work at the intersection of AI, ethics, and business strategy; thoughts are my own. www.linkedin.com/in/sjgadler