Difference between revisions of "Mercy"

From SuperMemo Help
Jump to navigation Jump to search
(Further reading)
m (Tools -> Toolkit)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''[[Tools menu|Tools]] : Mercy''' can be used to reschedule outstanding repetitions to a later time, e.g. after a longer break in learning. It can also help you make your repetitions at an earlier date, e.g. before a vacation.  
+
__TOC__
 +
 
 +
'''[[Toolkit menu|Toolkit]] : Mercy''' can be used for the following purposes:
 +
* reschedule [[Glossary:Outstanding_element|outstanding repetitions]] to a later time, e.g. after a longer break in learning
 +
* make repetitions ahead of time, e.g. before a vacation
 +
* spread repetitions in equal portions, e.g. before an exam
 +
 
 +
'''Mercy''' is also available as '''[[Subset_operations|Spread]]''' in subset operations (e.g. in the browser).
  
 
== Warning ==
 
== Warning ==
  
<div class="bs-callout bs-callout-warning">
+
'''Warning!''' Each time you use '''Mercy''' to unload a backlog of repetitions, you add extra hours of work to mastering the same amount of material! You should use it either rarely or only on [[Glossary:Priority_queue|low priority material]]. If you use '''Mercy''' more than a few times per year, please have a closer look at how much work you put on yourself, and [http://super-memory.com/articles/20rules.htm how well your knowledge stored in SuperMemo is formulated]! To see the effect of '''Mercy''' on the [[Glossary:Forgetting_index|forgetting index]] see: [http://super-memory.com/articles/theory.htm#FI_Recovery Theoretical aspects of learning] (forgetting index recovery figure)
'''Warning!''' Each time you use '''Mercy''', you add extra hours of work to mastering the same amount of material! You should use it either rarely or only on [[Glossary:Priority_queue|low priority material]]. In extreme cases, you can ruin your enthusiasm for SuperMemo. If you use '''Mercy''' more than a few times per year, please have a closer look at how much work you put on yourself, and [http://super-memory.com/articles/20rules.htm how well your knowledge stored in SuperMemo is formulated]! To see the effect of '''Mercy''' on the [[Glossary:Forgetting_index|forgetting index]] see: [http://super-memory.com/articles/theory.htm#FI_Recovery Theoretical aspects of learning] (forgetting index recovery figure)
 
</div>
 
  
 
= Rescheduling outstanding repetitions  =
 
= Rescheduling outstanding repetitions  =
Line 11: Line 16:
 
To quickly reschedule [[Glossary:Outstanding_element|outstanding repetitions]] do the following:
 
To quickly reschedule [[Glossary:Outstanding_element|outstanding repetitions]] do the following:
  
#Choose '''[[Tools menu|Tools]] : Mercy''' (e.g. by pressing ''Shift+Alt+M'')
+
#Choose '''[[Toolkit menu|Toolkit]] : Mercy''' (e.g. by pressing ''Shift+Alt+M'')
 
#Choose the maximum acceptable number of repetitions per day and type it in at '''Number of elements per day'''. Alternatively, choose the period in which all [[Glossary:Outstanding_element|outstanding repetitions]] should be done and type it in at '''Rescheduling period'''  
 
#Choose the maximum acceptable number of repetitions per day and type it in at '''Number of elements per day'''. Alternatively, choose the period in which all [[Glossary:Outstanding_element|outstanding repetitions]] should be done and type it in at '''Rescheduling period'''  
 
#Choose '''Update''', e.g. by pressing ''Enter''. This will display the rescheduling parameters: number of [[Glossary:Element|elements]] per day, length of the rescheduling period, the date on which last [[Glossary:Outstanding_element|outstanding repetitions]] will be made, etc. (use hints to find out more about particular parameters)  
 
#Choose '''Update''', e.g. by pressing ''Enter''. This will display the rescheduling parameters: number of [[Glossary:Element|elements]] per day, length of the rescheduling period, the date on which last [[Glossary:Outstanding_element|outstanding repetitions]] will be made, etc. (use hints to find out more about particular parameters)  
Line 22: Line 27:
 
To make repetitions before a vacation period, you can shift later repetitions to an earlier period:  
 
To make repetitions before a vacation period, you can shift later repetitions to an earlier period:  
  
#Choose '''[[Tools menu|Tools]] : Mercy''' (e.g. by pressing ''Shift+Alt+M'')  
+
#Choose '''[[Toolkit menu|Toolkit]] : Mercy''' (e.g. by pressing ''Shift+Alt+M'')  
 
#Click the checkbox '''Consider future repetitions'''  
 
#Click the checkbox '''Consider future repetitions'''  
 
#In the '''Collecting period''' editing field, type in the number of days till the end of your vacation  
 
#In the '''Collecting period''' editing field, type in the number of days till the end of your vacation  
Line 29: Line 34:
 
#Press ''Enter'' and compare the date to the right of '''Rescheduling period'''  
 
#Press ''Enter'' and compare the date to the right of '''Rescheduling period'''  
 
#If '''Number of elements per day''' does not exceed a realistic value (in your own estimation), choose '''OK'''. Otherwise type in new parameters or choose '''Cancel''' to quit the dialog box
 
#If '''Number of elements per day''' does not exceed a realistic value (in your own estimation), choose '''OK'''. Otherwise type in new parameters or choose '''Cancel''' to quit the dialog box
 +
 +
= Executing repetitions before an exam  =
 +
 +
If you have a collection to master before a set deadline, you can use '''Mercy''' to spread repetitions in equal portions. If the material is stored in the pending queue, '''Mercy''' or '''Spread''' will introduce it into the learning process. For example, if you want to master ''Basic English'' collection from SuperMemo World in one month, you can use '''Mercy''' to spread all its 3000 items in equal portions of 100 items per day.
  
 
= Rescheduling in a tree branch  =
 
= Rescheduling in a tree branch  =
Line 34: Line 43:
 
To reschedule [[Glossary:Outstanding_element|outstanding repetitions]] only in a selected [[Glossary:Branch|branch]] of knowledge do as follows:  
 
To reschedule [[Glossary:Outstanding_element|outstanding repetitions]] only in a selected [[Glossary:Branch|branch]] of knowledge do as follows:  
  
#Select the [[Glossary:Branch|branch]] in the [[Contents window|'''Contents''' window]] (e.g. click on ''Geography'')  
+
#Select the [[Glossary:Branch|branch]] in the [[Contents|'''Contents''' window]] (e.g. click on ''Geography'')  
 
#Choose '''[[Contents menu#View|View]] : Branch''' to view the [[Glossary:Branch|branch]] in the [[browser]]  
 
#Choose '''[[Contents menu#View|View]] : Branch''' to view the [[Glossary:Branch|branch]] in the [[browser]]  
 
#Choose '''[[Browser menu#Child|Child]] : Outstanding''' to view only the [[Glossary:Outstanding_element|outstanding elements]] of the selected [[Glossary:Branch|branch]] in the [[browser]]
 
#Choose '''[[Browser menu#Child|Child]] : Outstanding''' to view only the [[Glossary:Outstanding_element|outstanding elements]] of the selected [[Glossary:Branch|branch]] in the [[browser]]
#Choose '''[[Processing multiple elements (Process collection/branch/browser)|Process browser>]] : [[Processing multiple elements (Process collection/branch/browser)#Learning|Learning]] : Spread''' to use the '''Mercy''' dialog to reschedule [[Glossary:Outstanding_element|outstanding elements]] belonging to the selected [[Glossary:Branch|branch]]
+
#Choose '''[[Subset operations|Process browser>]] : [[Subset operations#Learning|Learning]] : Spread''' to use the '''Mercy''' dialog to reschedule [[Glossary:Outstanding_element|outstanding elements]] belonging to the selected [[Glossary:Branch|branch]]
 
#Select appropriate rescheduling parameters and choose '''OK''' (as [[#Rescheduling_outstanding_repetitions|above]])
 
#Select appropriate rescheduling parameters and choose '''OK''' (as [[#Rescheduling_outstanding_repetitions|above]])
  
Line 83: Line 92:
 
*[[Priority queue]]  
 
*[[Priority queue]]  
 
*[http://super-memory.com/help/faq/overload.htm FAQ: Repetition overload]
 
*[http://super-memory.com/help/faq/overload.htm FAQ: Repetition overload]
 +
 +
= Video =
 +
 +
[https://youtu.be/tmZV9pRS2_w Mercy vs. Spread]

Latest revision as of 08:49, 3 March 2019

Toolkit : Mercy can be used for the following purposes:

  • reschedule outstanding repetitions to a later time, e.g. after a longer break in learning
  • make repetitions ahead of time, e.g. before a vacation
  • spread repetitions in equal portions, e.g. before an exam

Mercy is also available as Spread in subset operations (e.g. in the browser).

Warning

Warning! Each time you use Mercy to unload a backlog of repetitions, you add extra hours of work to mastering the same amount of material! You should use it either rarely or only on low priority material. If you use Mercy more than a few times per year, please have a closer look at how much work you put on yourself, and how well your knowledge stored in SuperMemo is formulated! To see the effect of Mercy on the forgetting index see: Theoretical aspects of learning (forgetting index recovery figure)

Rescheduling outstanding repetitions

To quickly reschedule outstanding repetitions do the following:

  1. Choose Toolkit : Mercy (e.g. by pressing Shift+Alt+M)
  2. Choose the maximum acceptable number of repetitions per day and type it in at Number of elements per day. Alternatively, choose the period in which all outstanding repetitions should be done and type it in at Rescheduling period
  3. Choose Update, e.g. by pressing Enter. This will display the rescheduling parameters: number of elements per day, length of the rescheduling period, the date on which last outstanding repetitions will be made, etc. (use hints to find out more about particular parameters)
  4. If you are satisfied, choose OK. Otherwise type in new parameters or choose Cancel to quit the dialog box
SuperMemo: You can use Mercy to make repetitions before a vacation period, randomize or reschedule outstanding repetitions, etc.

Executing repetitions before holiday

To make repetitions before a vacation period, you can shift later repetitions to an earlier period:

  1. Choose Toolkit : Mercy (e.g. by pressing Shift+Alt+M)
  2. Click the checkbox Consider future repetitions
  3. In the Collecting period editing field, type in the number of days till the end of your vacation
  4. Press Enter and compare the date to the right of Collecting period
  5. In the Rescheduling period editing field type in the number of days till the end of your repetition period before the vacation (compare the date to the right of the edit field)
  6. Press Enter and compare the date to the right of Rescheduling period
  7. If Number of elements per day does not exceed a realistic value (in your own estimation), choose OK. Otherwise type in new parameters or choose Cancel to quit the dialog box

Executing repetitions before an exam

If you have a collection to master before a set deadline, you can use Mercy to spread repetitions in equal portions. If the material is stored in the pending queue, Mercy or Spread will introduce it into the learning process. For example, if you want to master Basic English collection from SuperMemo World in one month, you can use Mercy to spread all its 3000 items in equal portions of 100 items per day.

Rescheduling in a tree branch

To reschedule outstanding repetitions only in a selected branch of knowledge do as follows:

  1. Select the branch in the Contents window (e.g. click on Geography)
  2. Choose View : Branch to view the branch in the browser
  3. Choose Child : Outstanding to view only the outstanding elements of the selected branch in the browser
  4. Choose Process browser> : Learning : Spread to use the Mercy dialog to reschedule outstanding elements belonging to the selected branch
  5. Select appropriate rescheduling parameters and choose OK (as above)

If you are an advanced user and you understand how Mercy works, you can choose the Criteria button to set you own Mercy sorting criteria!

Short history of Mercy in SuperMemo

In June 1992, a journalist of Computer World, Andrzej Horodenski, noticed that for lazy or busy users of SuperMemo, an option called Mercy would be extremely useful. It would allow users to reschedule outstanding repetitions after a vacation period. One month later, SuperMemo World released a new version of SuperMemo 6 for DOS that included the suggested option.

The first Mercy algorithm was based on a solid theoretical ground. The item sorting criterion was to minimize the drop in retention as a result of using Mercy. However, the choice of the sorting criterion was not very fortunate. It is easy to notice that an increase in intervals of short-interval items is more detrimental to retention than the same increase for long-interval items. Consequently, users abusing Mercy would pile up lots of hard-to-remember items that would recur again and again contributing to overall discouragement of the overwhelmed mind. It is difficult to estimate how many people got hooked on Mercy and dropped from among the users of SuperMemo.

A second option was then added to SuperMemo 6. It was called Wipe and it was supposed to remove from the learning process all short-interval items with a high degree of difficulty (expressed then by E-Factors). However, Wipe might have done more damage to SuperMemo than ill-conceived Mercy. Users would often pile up items with Mercy and then get them out of the learning process with Wipe. Soon they could see that no real progress in learning was taking place. As a result, they would drop out again with detriment to overall popularity of SuperMemo.

In 1994, a new Mercy algorithm was designed. The new sorting criterion: minimize the damage to the long-term learning process. The algorithm appeared extremely intricate but has changed Mercy beyond recognition. Indeed, it could be seen very soon that the option Wipe became entirely superfluous. New Mercy would be as abused by the users as the old one, but it would result in less damage and less discouragement. Mercy survived and was not removed from subsequent versions of SuperMemo. Users would have a choice to use a tool that could potentially hurt their learning process.

It became clear only much later that the second Mercy implementation had a hidden snag. If abused frequently, it was able to repeatedly lengthen the first interval of newly memorized items (after all, they are supposed to be less important for the long-term learning process). This problem was compounded by the fact that all older SuperMemo algorithms (1989-1996) were highly sensitive to delaying repetitions, esp. at the early stages of learning. Consequently, items that were dramatically postponed with Mercy and scored well in repetitions would have reached disproportionately long intervals.

These problems have been partly solved in December 1996 by implementing the following features in SuperMemo:

  1. removing sensitivity to repetition delay of Algorithm SM-8 by indexing optimization matrices with repetition categories rather than repetition numbers (for example, an item repeated twice would be treated as repeated 2.4 times if its interval was artificially lengthened)
  2. implementing new multi-criterial heuristic Mercy algorithm that combines its earlier emphasis on minimizing the damage to the long-term learning process with adding extra attention to items that have recently been introduced into the collection

In December 1997, Mercy has been enhanced with the option Criteria. This option makes it possible for the user to choose his or her own Mercy criteria. This was to be the end of the 5-year-long process of coming to understand of what really people expect from Mercy. The following sorting criteria can be balanced by the user:

  • item's priority,
  • repetition lateness,
  • investment (in the item),
  • easiness (of the item) and
  • recency of introducing the item into the learning process.

SuperMemo 99 added a possibility of random rescheduling and rescheduling that preserves the original order of repetitions. All in all, random rescheduling is a very powerful and useful option. These are two main reasons for using random Mercy:

  1. There is no predictable pattern in repetitions (e.g. from short intervals to long intervals, from easy material to difficult material, etc.). This makes repetitions vary in difficulty and makes the learning process more representative and enjoyable
  2. There are no cumulative trends in rescheduling. For example, constant rescheduling with the easy-items-first criterion may indefinitely postpone difficult items! With random rescheduling, intervals on average will also grow indefinitely; however, there will be no cumulative pattern and the user will sooner or later notice dramatic deterioration in the quality of recall which, hopefully, should make him or her reconsider the abuse of Mercy

SuperMemo 2000 added a powerful rescheduling tool that can be branch/subset-specific: Postpone. In SuperMemo 2002, Postpone became even more content and priority sensitive. This gradually reduced the need for using Mercy. In incremental reading, Postpone is the tool of choice for resolving material overload. Mercy would only be used occasionally, e.g. to spread the load of repetitions, randomize repetitions, advance future repetitions, etc. It no longer played a central role in learning.

Finally, SuperMemo 2006 dealt an ultimate death-blow to Mercy. With the priority queue, repetition auto-sort and auto-postpone, Mercy is no longer needed to resolve the overload of outstanding material. A substantial overload becomes a norm, and the user is supposed to only do his or her best to pass as much of the top-priority material as possible. It might seem that this could reduce one of the famous "advantages" of SuperMemo, being a ruthless executor of the demand to reduce the outstanding material to zero. However, evidence suggests that the elimination of obligatory learning greatly enhances user's enthusiasm for learning. Paradoxically, without a specific demand on the number of daily repetitions, users seem eager to actually spend more time on learning than in the past!

Further reading

Video

Mercy vs. Spread