Sunday, January 31, 2010

The Cut & Vary Method

In the previous post I outlined the variation principle. This principle states that it is easiest to learn a skill when it is similar to one that you can already perform fluently. The more similar it is, the easier it is to learn. At the moment I am not going to go into detail about formulation for SuperMemo - only the basics of procedural learning.

A good example of the variation principle is the following memory game, often played on old 80's game consoles. The computer displays a number, say '5', then that number disappears. You have to type in the number, and if you get it correct, you move on to the next level. On the next level the computer displays the first number, and then a second number - e.g. '5, 3'. You then have to type this short sequence. Then the computer adds a third number, and a fourth, something like this:Publish Post

5
5, 3
5, 3, 7
5, 3, 7, 6
5, 3, 7, 6, 6
5, 3, 7, 6, 6, 3
5, 3, 7, 6, 6, 3, 9
5, 3, 7, 6, 6, 3, 9, 4
5, 3, 7, 6, 6, 3, 9, 4, 7
...

and so on. Such an exercise may seem declarative at first, but is in fact almost entirely procedural. You can think of it as a poem, or some other enumeration, which you can regurgitate without much thought. Of course, this exercise gets tricky after the first 7-9 numbers, but if you practiced the same sequence every day, you would soon get used to it, just like you are used to typing in certain phone numbers without thinking, or reciting the alphabet. Furthermore, there is nothing to really "understand" here - it is just something to be done. In any case, it's not a particularly useful exercise, although it is a very nice neat example of the variation principle in practice.

The cut & vary method is a methodical way to learn complex procedures, and it is based on the variation principle. It works essentially like the previous example - the only difference is that what you begin with is the last line, and your task is to learn the long sequence procedurally. That is, you start with the sequence '5, 3, 7, 6, 6, 3, 9, 4, 7' and you wonder how on earth you will learn it! Now, there are various mnemonic techniques which can be effectively applied for memorising such long random numbers. However, we are just using these number as an illustration of procedural learning, so please put aside your mnemonics for now!

The first thing you should do is simply try to do it. That is, hide the sequence and try and type it in from memory. If you get it wrong, try again. And again. If you keep improving slightly between each attempt, keep practicing. But if you hit a strong roadblock, such as not being able to remember past the 7th number, you can apply the cut & vary method. The point of this method is to use the variation principle to your advantage, and process new skills in such a way as to artificially create a gentle learning "slope" joining your current skill level to your desired one with a set of exercises. That is, rather than trying to learn the whole sequence in one go, you can learn some of it today, then more of it next time, and so on. So, if you can currently type in the first five numbers easily from memory, then your first task would be to try and type the first six numbers. What you are trying to do is to build ever so slightly on your current skill in such a way that you progress towards your desired skill level. Once you become fluent at six numbers, try seven. And eight. And nine, and so on. Remember, I am not currently giving any advice on how to formulate SuperMemo elements for this purpose. I am only illustrating the raw method that you would use to learn such a procedural sequence.

A more interesting example involves a drumming sequence. Unfortunately I can't remember where I played this game, but the concept was exactly the same as with the numbers. The computer would first play a short drumming sequence through the speakers or on the screen, and then the player was required to play it back. When it was played back correctly the sequence would get longer. Using this method, a fairly complicated sequence could be learned in a single session. Of course, SuperMemo users can learn much longer sequences by taking advantage of incremental learning. I will explain how to do this in more detail later on.

As you may guess, the meat of this technique is to process complex procedures into simpler ones by either: 1) cutting them into smaller sequences, or 2) creating variations on the complex procedure, which are easier to perform, but still an improvement from you current level. Like the number exercise, you start off knowing nothing, but by incrementally adding complications to a relatively simple exercise you soon master the whole skill that you are trying to learn.

As a musician, the applications of the cut & vary method are endless. For example:

Cut: If I find that most of a piece is easy, except for the last four bars, then I extract those bars separately and learn them in isolation. Only once I am comfortable playing those bars on their own do I incorporate them back into the original piece.

Vary: If I find that a piece is difficult to play at a fast tempo, say 140, then I begin by learning to play the whole thing at a slower tempo, say 90. Then, I practice it at 100, 110, 120, 130 and 140 respectively. Only once I master one level do I move onto the next one.

Sportspeople often use Cuts to train individual parts of their skill in isolation. For example, tennis players might practice their serves, over and over again, without playing against anyone. Maths and physics teachers often give their students endless variations on the same basic equations in order to drill them so deep that they become automatic; that is, procedural. Of course, the better students will also have a strong declarative grasp of the concepts, but this is only useful in a redundant way.

In summary, if you want to start learning some complex skill - like fencing, solving a Rubik's cube, drawing, playing an instrument, etc - then start off with the end goal in mind and work backwards. Create cuts and variations to slowly close up the gap between your current ability and your desired level of ability. The smaller the variations from your current ability, the easier you will find it to progress, and the more stable your memory of the skills will be due to the redundancy of mastering many intermediate exercises.

Thursday, January 28, 2010

The Variation Principle

Although I have not yet developed a neat and comprehensive list of "20 Rules of Procedural Learning" (cf. supermemo.com) I have derived a couple of important principles. The first and most important one is the topic of this blog.

Simply put, the variation principle states that it is always easiest to learn a new skill when it is but a slight variation on an old skill. Here, an "old skill" is one that you can already perform, while a "new skill" is the one that you are trying to learn. In other words, if you can already perform something very similar to the new skill, it is a piece of cake to progress to the next level. Like the minimum information principle it may seem obvious at first but it must it be used every time, and every case where it is forgotten will only bring trouble. In fact, the variation principle is the minimum information principle in the context of procedural learning. This will become more clear when I illustrate how to incrementally learn a procedure, later on.

The use of the variation principle as a fundamental rule in procedural learning is already widespread. For example, for the teaching of the violin several prolific composers have written an exhuastive list of studies and exercises that slowly and methodically progress from the most basic techniques to the most complex. Once you can perform one of these exercises you move on to the next one, which is almost the same but with a slight complication added in. In this way, almost every professional classical violinist has learned the basic technique of the instrument (excluding special schools such as Suzuki's, although they also use the variation principle).

Other examples are:

  • Video games (esp. RPG) often require the player to master a few simple skills, before adding other skills to the mix
  • In any sport, coaches well know that training of skills is not as simple as just playing the game (e.g. a basketball match) enough times. The difficult skills need to be extracted and trained in isolation, in various different circumstances and positions, before they can be integrated into the game
  • Learner drivers frequently have little to no sense of direction, because their minds are so busily engaged on the technical skills of driving (esp. in manual cars!). Only once they have learned basic skills, can they add the extra layer of complexity by also navigating.

If you think about every skill you are master of, you will clearly see that during your training (even if it was informal) you progressed through a series of stages, starting from very basic technique and then adding complications to the mix. The smaller the complications at each stage, the easier it was to move on to the next level.

In a practical sense, the variation principle provides a lot of guidance as to how we should structure our training. It tells us that we should design a gentle "slope" of exercises that connect our current skill level with our desired skill level, and only move on to higher levels when we can successfully execute lower levels.

In the following post I will outline my main method of procedural learning, which is based on the variation principle.

Sunday, January 24, 2010

How to Set Up a Procedural Collection

When you first start experimenting with procedural items of the type shown in the previous post you will not have much trouble executing these alongside your normal repetitions in your declarative collection. The reason for this is that they need few or no props. In the context of procedural learning with SuperMemo, a "prop" is anything - generally a tool, but even a place (e.g. basketball court) - that you require in order to perform a repetition. For example, for a guitar repetition, your props might be your instrument, your sheet music and your music stand, or even a chair too if you like! For a basketball repetition, you would generally require both a ball and a suitable playing field - most likely not in the study where you normally use SuperMemo. For practicing your Rubik's cube skills, all you need is the cube. And so, as you can see, almost every procedural item will need some sort of prop that you will have to get out of your seat to find. This is indeed an annoying aspect of SuperMemo's randomised repetitions of outstanding items, although it can be overcome with subset learning, which I will go into further detail on later.

For now, the first thing to do, to help manage the prop problem is to set up a separate collection dedicated to all your procedural learning. You could even go so far as to set up a separate collection for each skill you want to learn, although I don't recommend this - SuperMemo learns from you, so the more diverse items you have in your procedural collection, the better its algorithm will be able to serve you efficiently. However, if you want to experiment with learning several skills in tandem, the best way to start is by setting up a separate category for each, within your Procedural SuperMemo collection. Take note that these categories should not be defined by the skill, but by the props. So, if you want to learn a computer game as well as how to touch-type, put all these items in the same category under the simple prop title of "computer" (depending on the ease of switching back-and-forth between the game and a word-document program, you may after all still wish to have separate categories for these). Or, say you want to practice solving maths problems as well as practice sketching people - in that case a single category devoted to "pen&paper" elements would be sufficient.

The main reason for separating different skills into different categories is to avoid neutralising SuperMemo's efficient algorithm by innefficiently running around between every repetition to get the props for the next item. Instead, by studying category by category (or subset by subset) you can bring the props to the computer (or vice-versa) and run all your reps off, then move on to the next skill.

All comments are welcome