Tuesday, 1 February 2011

Scheduling Expanding Repetitions

In the Reinfeld Experiment, I started out with schedule written on a piece of paper, but this method soon became too cumbersome.  What I needed was a more flexible method that enabled me to see potential schedule clashes well in advance.  I decided to use a spreadsheet.

For the purpose of illustration, let us assume that we can study chess tactics every day, and that we wish to take on a new batch of problems every five days.  Assume also that we will be repeatedly solving problems on days 1, 2, 4, 8, 16.…  We open a new spreadsheet, and write r1, r2, r3, r4, r5.… into column A in rows 1, 2, 4, 8, 16.… to indicate the days on which the repetitions of batch A are to take place.  We then copy and paste this column into column B with r1 on the day for the first repetition of batch B (day 5 in this case).  Similarly, we copy and paste this column into the appropriate places for the other batches:

(I have also labelled the first day of each week in a column down the right hand side.  We can move this column further to the right later on, if we want to add more batches of problems to the schedule.)  In principle, the repetitions for each batch continue forever, with the repetition intervals doubling each time - but spreadsheets are finite, so we have to impose a cut off somewhere, but additional repetitions can be pasted in later.

The spreadsheet enables us to see the schedule very clearly, and we can very easily change it.  In this case, the repetitions mesh together very well.  The only problem is that we keep getting r5 for one batch and r1 for another on the same day.  However, in all these cases, the previous day is free.  Moving r5 to the previous day solves this problem, at the cost of reducing the interval from r4 to r5 from 8 days to 7, and increasing the interval from r5 to r6 from 16 days to 17.  This change will make r5 a little easier and subsequent repetitions a little harder, but the difference probably will not be significant.  It would have been better to move r5 forward a day, which would make r5 a little harder and perhaps r6 a little easier, but that does not fit.  (I move the repetition itself, but not the repetition on the spreadsheet, because that would be confusing if I had to move it again.  Note that moving a repetition does not change the dates of the future repetitions for that batch.)  If we have a choice between moving two repetitions for different batches by the same number of days, it is better to move the later one.  The later repetition will have larger intervals before and after it, so the percentage change in these intervals as a result of the move will be smaller.  We should try to keep the percentage change in the repetition intervals as small as we can.

When we have completed a repetition, we can indicate this by emboldening the corresponding entry in the spreadsheet.  I also change the background colour of the current week, so that I can easily see where I am in the schedule.

The schedule above does not have any free days, and r6 for batch A collides with batch G, off the bottom of the diagram.  We could solve this problem by moving r6 forward 4 days, but we then run out of space.  If we can do only one repetition per day, we would have to delay the take on of batch H.  An alternative approach is to make the batches small enough to allow two repetition slots per day.  We can then continue to take on a new batch every five days for a very long time indeed.