Friday, September 21, 2012

Speed through failure


I play freecell quite a bit; my wife has correctly said obsessively. I've been playing it since Windows NT and I've easily played 10,000+ games in that time (probably a significant under-estimate). My longest session was on a flight between London Heathrow and Dallas Fort Worth where I completed 138 games in a row, successfully (8 hours of play for anybody keeping tack). 

I've played two very different implementations of freecell. The original version I played was from Microsoft and it did not allow undo. When I switched to my first phone that could run it, I had a version that supported undo.

The difference between "with undo" and "without undo" is the difference between night and day; it's analogous to big design up front and test-driven development. 

Before I had undo, finishing 30 games successfully in a row was, at least for me, an amazing feat. My overall success rate was around 75%. More significantly, my play style was also very different. 

As a contrast, with undo I'm at 99.9%, having won about 1550 games out of 1551 on the current version I play (to be clear, I didn't lose a game, something happened during a reboot, but that's fine, one incorrect stitch and all that). It is not that I've gotten better at Freecell. In fact, by some measurements (metrics) I've gotten much worse.

Before undo, my first move would typically take 1 - 15 minutes. I'd look at the entire board, review a number of plans plans of attack, work ahead typically 10 - 15+ steps, while keeping track of the free cells using my fingers. The only time I could safely make a move was if I could get back to 4 free cells. Any less and it was risky, often quite necessary, but risk. It was easy to make one small mistake and that was it, game over. My average game time was probably 15-30 minutes, sometimes upwards of hours across days.

Contrast that with a version that supports undo. My current average time across 1500+ games is around 5 minutes and 20 seconds. My first move is typically 1 - 5 seconds rather than 1 - 15 minutes. Seemingly ironically, my longest game is when I have had the undo feature. I had one game that easily took 15+ hours to finish across something like 9 days.

Where does this difference come from? Again, I'm certain it is not that I've gotten better. I have recently tried playing a version without undo and I'm not any better at such a version. I think the difference comes from the option to keep trying without ending up stuck and failing; I just assume I can and will finish it and I stick to it. Without undo, the cost of failure is so great, I have trouble moving; mistakes are not OK. With undo, I can try things out.

My logest ever game resulted from this unbridled optimism. Since I "knew" I would finish it, I stuk to it. In fact, I was able to finish it with what I considered a rather exotic and certainly counterintuitive start that left me with no free cells for a number of turns. The start was one I would have never tried without undo for a few reasons: First, I would have given up long before I even gave it a try. Second, because of undo, the cost of such an experiment was minimal, wile the payback was a possible (and likely) success.

Most of the time things take much less time. I'm able to try out ideas quicker, keep less in my head since I can always back things out and even try more wild ideas that ultimately leave me at what I would consider too risky without the undo option, which seems to be required for some layouts.

What can I take away from this?
  • Being able to experiment and fail without it being too costly generally speeds up my final results.
  • Being able to experiment has opened me up to more, different kinds of starts and moves than I would have come across playing without that option.
  • Even so, because of the optimism, I need to make sure I'm not giving up at all or after too much sunk cost.

The big question is this: Does this observation reflect an innate nature of the game, or do I play the game as I live my life?

No comments:

Post a Comment