Decision Trees as a Teaching Tool

Posted on December 19, 2019

Recently I encountered the idea of fast-and-frugal trees through an Econtalk conversation with Gerd Gigerenzer. I have long been interested in graphical representations of information and I want to explore applications of this idea. I would usually draw trees by hand, or with illustration software, but Justus Wilhelm already implemented a pandoc filter to interpret graphviz in a Hakyll site, so this post will use that. I discovered this capability through Justus Wilhelm’s great post Hakyll on Netlify. I did a little poking around in the repo for that blog, which is open-source, to figure out the details. I copied things over to my site’s repo, but had some trouble getting diagram generation to work. I made a few edits, and now things are running successfully for me locally.

Diagrams with Pandoc

I wanted to put together an example of a fast-and-frugal tree to explore both the idea and the tooling. I recently learned Matt Eklund’s board game Pax Transhumanity, and thought it might be a good candidate for such a tree: it’s got lots of interacting parts that aren’t very familiar to new players, and I’ve been teaching it to lots of friends recently.

Here’s a first take on a fast-and-frugal tree to teach a new player very basic strategy: A player needs to choose what idea cards are most desirable for them, and I could make another tree just to track this. For the time being, I’ll probably give them this early-game ranking of idea impacts: a company in the first-world > a company in your hidden sphere > a bonus agent

It’s left things very abstract, and communicating to a new player the idea of what cards are “desirable,” even if they know that the next step for them is probably to pursue such a card. I will try introducing this to someone unfamiliar with the game, and see how it goes.

While we’re at it, I should kick the tires on another diagramming tool: mscgen I’m not sure how well these map to domains outside of software (this is where I’ve encountered these before), but here’s a Message Sequence Chart for a couple options from the research action:

I like MSCs a lot for diagramming the interactions between a user, their browser, and a server or some other architecture, though I’m not sure if it works as well here. Compared to a tree, it really emphasizes the interactions you can have with different parts of a system over time, and I think this is well suited to questions like “how do I add cards to the splay, again?” or “how do I refresh cards in the market?”

This sort of diagram might be able to track, using arrows of different colors or shapes, deposits/withdrawals from different stores of value over time. Assigning time to the Y-axis gives the potential for a little more order than some other diagram types At the risk of repeating myself, MSCs emphasize the flow of time, compared to other diagrams. FrAnkX0r88 on Boardgamegeek created another type of UML diagram to document some of the interactions between systems in this game. , but any of these representations might be too abstract for many players. I imagine tools like this are best suited to designers of complex systems, but I’d like to explore the application of these types of diagrams further.

Pax Transhumanity is a good test case for some of this sort of exploration, because it’s got lots of interacting parts that aren’t very familiar to new players. I pared the interactions down to those that happen in a single action to make it easier to parse, but you’ve always got to consider whether you’re giving someone enough information to be useful without overwhelming them.