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

Monday, January 11, 2010

The Basics of Procedural Items

Now that you can distinguish between procedural and declarative knowledge, let's try and apply this knowledge to the following example: Suppose you want to learn the keyboard shortcuts for copying and pasting text (in Windows):

Q: Keyboard Shortcut: Copy (text or image)
A: Ctrl+C

Q: Keyboard Shortcut: Paste (text or image)
A: Ctrl+V

Would this be procedural or declarative knowledge? As I tried to show in the previous post, it depends on how you answer the question. If you answer in your head, then it's declarative (I'm assuming this is non-deductive knowledge). If, however, you want to learn this knowledge procedurally, so that it becomes "second-nature", you should instead answer this question by physically placing your fingers on the correct keys in front of you. Amazing! You've just turned a declarative item into a procedural one - possibly your first true procedural item! If you think back to the definitions you will see that when you place your fingers on the keyboard you are performing the task; when you only think of the answer in your head, you are only recognising the correct action to take.

The reason why it is possible to change a declarative item into a procedural one without changing the text is because of the principle of representation in declarative knowledge. Since the words only represent knowledge, we can change the underlying meaning and/or interpretation without needing to change the formulation at all.

As practice, you may wish to go through your collection and re-memorise your keyboard shortcuts as procedural items. I certainly have. The result is that when I want to copy something, I just let my fingers find their place on the keys, rather than thinking the words "Ctrl+C". Naturally, this is also the preferable way to learn a musical instrument, and it IS how I learn the violin. However, more on that later.

For those of you that have pronunciation items in your collection (i.e. items that ask for you to actually say a particular word out loud) you may be surprised to know that such items are already procedural. Answering such an item is of course different to just saying the answer to any old item out loud - it requires a performance of the answer.

Finally, some maths (apologies to those who don't like the subject, but this is just basic arithmetic). Before we get to the procedural part, let's just look at some basics. Firstly, your 12 x 12 times tables are most likely all declarative. That is, you don't "work out" the answer, you just recall it. Also, lots of simple 1-digit sums such as "1 + 1", "6 + 3", "4 + 9" would all also be declarative. In answering such questions you wouldn't need to work them out on your fingers or an abacus, you could simply recognise the answer from the question.

So far I have tried to use examples that: a) you may already have in your collection, b) you can easily transform into procedural items, simply by answering the questions through performance, and c) are easy to formulate.

Since these simple examples demonstrate the meat of the method, if you have any queries, you should best ask them here before you move on to more advanced topics.

Saturday, January 9, 2010

Procedural Knowledge

Today we come to the topic of this blog: Procedural Knowledge!

This means learning how to DO things. This type of knowledge includes skills, techniques and methodology. Many procedures require physical coordination, such as sport, music, driving, typing, using specialised mechanical equipment, etc. Others are more knowledge-based procedures, such as finding the solution to mathematical problems, using grammatical rules in practice and playing computer games. In this second category it is important to include all deductive uses of knowledge. As I said in the last post Declarative Knowledge includes only non-deductive knowledge. NB: Examples of deductive and non-deductive knowledge are given below.

Whatever type of skill is to be learned, few people have managed to figure out how to methodically use SuperMemo to learn and retain them for the long term. A primary purpose of this blog is to outline the method I have been using for the last couple of years to learn primarily violin, but also guitar, maths, engineering concepts and computer games.

Firstly though, I will continue to outline the nature of Procedural Knowledge in order to clearly distinguish it from declarative knowledge (see previous post). Most often, the distinction between declarative and procedural is described as "knowing what" versus "knowing how", respectively. However, I don't find such descriptions at all useful for understanding the underlying nature of these knowledge-types and consequently how to formulate them in SuperMemo.

Therefore, here is my version:

DEFINITION 2: Knowledge that can only be tested through performance is procedural

I find this definition to be infinitely more useful, at least in a SuperMemo context. In order to test if you still have the ability to play a major scale on the violin since your last repetition, there is nothing for it but to take out the instrument and play the scale! Several online users have discussed other methods for learning procedures, such as recounting an enumerated version of the steps in a process. However, this clearly does not satisfy the definition above since it a mental visualisation rather than an actual performance. Importantly, there is little reason to think that such a method could reinforce anything other than the ability to visualise. If you want to reinforce a skill at repetition time, you must perform the skill. Naturally, this brings about huge constraints. You can't use SuperMemo to practice driving unless you have it with you in the car. You can't use SuperMemo to practice Karate unless the software is with you in the training hall. And so on. However, these are necessary constraints, for the reasons given above. I repeat, at every repetition you must DO what the skill demands - you cannot just imagine it.

However, it is interesting to take on those types of knowledge at the boundary and decide how to classify them. Take, for example, the knowledge of the enumerated steps of a procedure, such as the ability to open a can using a can opener:
  1. Take the can-opener out of the draw
  2. Hook it onto a can
  3. Twist the handle until the lid is off
Any experienced user of SuperMemo would have no problem formulating such information into items. However, think about how such knowledge would be tested. Obviously, the student would think of the answer in her head and click Show Answer... she wouldn't go downstairs to the kitchen and physically pull the can-opener out of the draw. There is a recognition of what correct action should be taken. But there isn't any actual performance of the action. Therefore, from the definitions I have presented for declarative and procedural knowledge (see post) we can see that this is declarative knowledge. Suppose that instead of taking the above action, the student visualised taking the correct steps. Now, I would not say that this is totally inneffective. However, I would say it is not sufficient. The only reference for grading would be the student's own memory, or a photo or video. However, suppose that the can opener needs to be held at a specific angle, or is easier to open with several large turns rather than many half turns... such things can only be realised and rectified during an actual performance. Naturally, there is not much room for error in opening cans, but in the types of valuable knowledge that we would input to SuperMemo, there generally would be a higher degree of complexity, which cannot properly be imagined. There is no substitute for actually doing it! Having said that, there are some procedures that are so basic they do not have to be learned or practiced - memorising the steps is enough. However, do not trick yourself into thinking that you are learning procedural knowledge.

For the next example, I will also contrast deductive and non-deductive knowledge. Consider the following items:

Q: 3 x 2
A: 6

Q: 6 x 10
A: 60

Q: 3 x 7
A: 21

Q: 6 + 2
A: 8

Q: 8 x 10
A: 80

Such knowledge is generally declarative (after reading on, come back here to figure out why I say only "generally"). On the other hand, knowledge of the following item is procedural, although based on the preceding declarative items.

Q: 3 x 27
A: 81

Anyone with basic arithmetic skills can work out the last example. However, this skill is based on their knowledge of the first five items, without working them out. There are, of course, more complex cases where one thing needs to be worked out, then fed into the next equation, and so on. However, in any case where the final answer is not simply known, but needs to be worked out using other non-deductive knowledge, the problem can be considered a procedural one. To actually get the final answer, you don't recognise that "3 x 27 = 81"... instead, you perform the calculation to determine it. From this explanation we can see that to some people the following item would be declarative, and to others it would be procedural:

Q: 3 x 17
A: 51

For those that know the answer by heart such knowledge is declarative. For those that need to work out the answer, the knowledge is procedural. Consider a detective trying to find the culprit of a crime. To the criminal such knowledge is declarative - the criminal knows who he is - while to the detective such knowledge is procedural - it must be worked out from known data.

Just as a declarative item can be characterised by the semantic links between question and answer, a procedural item can also be characterised. In particular,


To put it simply, if you know two ways of achieving exactly the same thing then one of those ways is redundant (once again, redundancy is not necessarily bad).
Suppose you work out "3 x 17" as follows:
  1. 3 x 10 = 30
  2. 3 x 7 = 21
  3. 30 + 21 = 51
Now, you can also work out the answer like this:
  1. 20 x 3 = 60
  2. 3 x 3 = 9
  3. 60 - 9 = 51
Both methods are equally long and come to the same result. Thus, one of these is redundant. Redundancy can be important for preserving the integrity of important memories, but can be a waste of time for simple cases such as the above. Also note that some of the steps may declarative for some people, and procedural for others. A young child may need to work "30 + 21" on paper, while others may spit the answer out instantly.

Declarative and Procedural knowledge are often closely intertwined in practice, often making them difficult to separate for formulation in SuperMemo as separate items. The ability to play classical violin pieces requires knowledge of music theory (declarative) as well as practical skill (procedural). The solution to a mathematical problem can only be found by first recognising the problem formulated within the specialised notation (declarative) and then applying specific methods for its solution (procedural). However, inasmuch as each type of knowledge needs different forms of reinforcement (recognition vs performance), you do need to learn how to distinguish between the two and treat them separately.

Hopefully you now have a somewhat deeper understanding of the practical differences between procedural and declarative knowledge. Now that the groundwork is laid down we can move on to the fun stuff - real examples of SuperMemo items that give one the ability to retain procedural knowledge just as easily as the declarative sort!

All comments and questions are welcomed.

Friday, January 8, 2010

Declarative Knowledge

For the purposes of clearly differentiating between the categories of procedural and declarative knowledge, I shall begin by outlining an abstract view of what declarative knowledge is in the practical context of SuperMemo. I choose declarative knowledge first because it is the one we are all familiar with studying through SuperMemo.

The following question-answer pairs are typical declarative items:

Q: What is the capital city of the US?
A: Washington DC

Q: What is the general form of Pythagoras' Theorem?
A: c2 = a2 + b2


Q: Thermodynamics: What does the shaded area of the following diagram represent?

A: The boundary work

You could even play a short melody and ask what the name of it is. All such items are declarative, and I shall shortly explain why. But first, here is the definition:

DEFINITION: Knowledge that can be tested through representation alone is declarative

Representation:
The key to understanding what declarative knowledge is lies in realising that the words we use in the question and answer are not the "knowledge" itself, but merely representations of it. The easiest way to see this is to realise that every one of the questions written above could have been written in another language, say Spanish, and they would still be perfectly valid. The words themselves are only a stand-in for the hidden, underlying concepts that we can never really see directly. Rather than turning this into a philosophical issue, this definition is meant to clearly contrast with the definition that I will provide for procedural knowledge in the next post.

For those who are familiar with Dr Wozniak's article on the "20 Rules of Formulating Knowledge," it will be clear that this principle of representation is the reason why formulation is possible at all! Inasmuch as the words themselves are only representations of the knowledge (and not the concept laid bare) we have a large degree of freedom in choosing how to represent the information. We can use multimedia such as images, sounds and videos, or more often we can just change the wording. We use words that are more familiar or evocative, and style the punctuation in a clearer, punchier way. We regularly transform articles into question-answer items without damaging the information in any way. In fact, this transformation often helps to reveal the underlying concepts more clearly.

Recognition:
Apart from the use of representation, the second key characteristic of declarative knowledge is the use of recognition in working with it. Look back at the questions above and you will see they all involve the need to "recognise" the answer. This recognition is more or less intuitive as it is (or should be!) a 1-step process; see the "minimum information principle" at supermemo.com for more information. No "reasoning" is involved... just an "effort" to bring back the answer.

Take the first question:

Q: What is the capital city of America?
A: Washington DC

You may find it strange to call the process of coming up with this answer as "recognition". Are we really "recognising" that the capital city of America is Washington? In order to skim over any potential problems I choose to make this description correct by definition! That is, that "recognition" is the process to finding the answer to a declarative question. In fact, this definition is not all that different from the normal one, when applied. For example, in order to correctly find the answer we must already be familiar with the material. If you are able to answer a question without having come across something similar in the past, then you are deducing the answer from your knowledge, and such a question is worthless in supermemo. Instead, you should be inputting non-deductive material (see http://www.supermemo.eu/supermemo_method).

Secondly, you find the answer to a declarative item by seeking out associated knowledge. In any normal context, this is a regular aspect of the recognition process - you become aware of associations to the given material. For example, you can understand what someone is saying in your mother tongue because you can associate everything they say with your previous knowledge of that language. You can recognise someone's face because you associate it with previous encounters with that person.

While we are on the topic of associations, it is important to bring up the following point:

An item of declarative knowledge is characterised (i.e. made unique) by the semantic links between the question and the answer.


Thus, if any two (or more) items reinforce identical semantic links, all but one of these items are redundant (although redundancy is not necessarily bad!). For example, suppose we are fluent in Spanish, so we go back and rewrite the first question in Spanish and then input both the English and Spanish versions to SuperMemo. Since both items reinforce the same underlying semantic links, the items are identical and one of them is redundant. If knowledge of the capital of the US is critical to your life, you may wish to memorise both versions.


Using our definition of declarative knowledge and an understanding of its general nature we are now in a position to move forward to the discussion of our main interest... Procedural Knowledge!


All feedback or questions are appreciated.

Thursday, January 7, 2010

Introduction

Welcome to Procedural SuperMemo!

This is not the sort of page one strays onto... it's a topic so specialised that you really have to be searching for it. Supposing, that you have searched for it, and that you are interested in finding out what this blog is all about - whether it can help you, whether it can give you any insight on SuperMemo, etc. - here is a short review of my intentions:
  1. Outline and define the basics of "procedural learning", at least in the context of SuperMemo,
  2. Distinguish and contrast between procedural and declarative learning to the point where it becomes intuitive to classify knowledge as one or the other,
  3. Present sufficiently detailed methods for intrepid learners to experiment with procedural learning themselves, and
  4. Present my own experiences this area
If you are already a SuperMemo user, and have heard about or tried to learn procedural knowledge with SuperMemo, then this is for you. For example, if you want to know how to accelerate your study of guitar or basketball using SuperMemo, or if you want to solve maths problems more easily, then this is for you. Perhaps most importantly, if you are an avid SuperMemo user, but still find yourself not quite at the top of the class in your field because of a deficiency in the skills of your field, then this is for you.

Thanks for reading this short introduction, and please keep up with the developments to come!

All feedback is welcomed.