Friday, 19 March 2010

Monopoly is a perfect example of embodied cognition

I teach a Matlab programming class. The main project I get people to work on is programming up a version of the game Monopoly. It’s a great project, I think, because it makes you use all the things Matlab is good at (loops, matrices, data in and output, etc). It’s a surprisingly entertaining programming project, if you’re into that sort of thing.

But I realised yesterday that Monopoly contains a perfect example of embodied cognition, and this contrast becomes abundantly clear when attempting to implement it in a computational way.

In Matlab, the board is most easily stored in a cell array:
>>ukBoard = {‘Go’, ‘Old Kent Road’, ...’Mayfair’};

This is a 1x40 row vector, and each cell is a location on the board. ‘Moving around the board’ in Matlab means simulating rolling 2D6 and setting the record of the player’s position to be the previous position plus this dice roll. Eventually, you run out of cell array: the computed player position is computed to be (for example) 42. Matlab returns an error, because 42 is not a legitimate index of ukBoard. You must implement a check on every update; whenever the player position exceeds 40, you reset it by subtracting 40 out. It’s a straight forward algorithm, with a series of discrete steps and checks, and it works fine.

In real Monopoly, coping with this potential error is done by simply arranging the cells in a loop. The solution is embodied in the physical layout of the board.

The moral of the story is simple: just because you can describe a step-by-discrete-step algorithm to solve a problem doesn’t mean you have to, and worse, sometimes that algorithm is solving a problem (falling off the end of a linear array) that simply doesn’t exist in the real world (because the array is actually a loop). If your solution solves the problem, but fails to account for the way the actual task space is arranged, then you have failed to identify how an organism might actually solve the problem.

Cognitive psychology misrepresents (no pun intended) the task space (by assuming poverty of stimulus and an information processing organism). Their solutions to problems, while often elegant, don’t necessarily reflect the way an embodied organism solves the problem. Step 1 for a scientific psychology, therefore is correctly characterise the problem at hand, and this brings us back to Gibson. To beat my analogy to death, he was surrounded by people studying Monopoly finding elegant solutions to stop people falling off the end of the array, and he was the only person who noticed the board was actually arranged in a loop. His notion of information, and its potential for specification, is rooted in his analysis of what the world is made of (surfaces) and the consequences for perception (e.g. structure in light).


  1. My Matlab-fu is weak. I need a course like that urgently.
    How long is it?

  2. I'm making it up as I go along - its been about 6 weeks so far

  3. Well, if you ever do a quick one (~1 week), for external people, please let me know.

  4. Work your way through this, and you'll have the basics down:

  5. Ah, many thanks. Will do.
    If you have more books, bring them on.