Mercy: Difference between revisions

From SuperMemo Help
Jump to navigation Jump to search
No edit summary
m (Tools -> Toolkit)
 
(36 intermediate revisions by 3 users 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__


<div class="inset" style="background-color: #FFFFCA;">
'''[[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


'''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 [[Priority of elements in incremental reading | 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://supermemo.com/articles/20rules.htm how well your knowledge stored in SuperMemo is formulated]! To see the effect of '''Mercy''' on the [[forgetting index]] see: [http://supermemo.com/articles/theory.htm#FI%20Recovery Theoretical aspects of learning] (forgetting index recovery figure)
'''Mercy''' is also available as '''[[Subset_operations|Spread]]''' in subset operations (e.g. in the browser).


</div>
== Warning ==


To quickly reschedule outstanding repetitions do the following
'''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)


# Choose '''[[Tools menu | Tools]] : Mercy''' (e.g. by pressing [[Keyboard shortcuts | ''Ctrl+Y'']])
= Rescheduling outstanding repetitions  =
# 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'''
 
# 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)
To quickly reschedule [[Glossary:Outstanding_element|outstanding repetitions]] do the following:
# If you are satisfied, choose '''OK'''. Otherwise type in new parameters or choose '''Cancel''' to quit the dialog box
 
#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 '''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)  
#If you are satisfied, choose '''OK'''. Otherwise type in new parameters or choose '''Cancel''' to quit the dialog box


[[Image:Mercy.jpg|center|SuperMemo: You can use Mercy to make repetitions before a vacation period, randomize or reschedule outstanding repetitions, etc.]]
[[Image:Mercy.jpg|center|SuperMemo: You can use Mercy to make repetitions before a vacation period, randomize or reschedule outstanding repetitions, etc.]]


To make repetitions before a vacation period, you can shift later repetitions to an earlier period:
= Executing repetitions before holiday  =
 
To make repetitions before a vacation period, you can shift later repetitions to an earlier period:  
 
#Choose '''[[Toolkit menu|Toolkit]] : Mercy''' (e.g. by pressing ''Shift+Alt+M'')
#Click the checkbox '''Consider future repetitions'''
#In the '''Collecting period''' editing field, type in the number of days till the end of your vacation
#Press ''Enter'' and compare the date to the right of '''Collecting period'''
#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)
#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


# Choose '''[[Tools menu | Tools]] : Mercy''' (e.g. by pressing [[Keyboard shortcuts | ''Ctrl+Y'']])
= Executing repetitions before an exam  =
# Click the checkbox '''Consider future repetitions'''
# In the '''Collecting period''' editing field type in the number of days till the end of your vacation
# Press ''Enter'' and compare the date to the right of '''Collecting period'''
# 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)
# 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


To reschedule outstanding repetitions only in a selected branch of knowledge do as follows:
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.


# Select the branch in the [[contents window]] (e.g. click on ''Geography'')
= Rescheduling in a tree branch =
# Choose [[Contents menu | '''View : Branch''']] to view the branch in the [[browser]]
# Choose [[Browser menu#Child : Outstanding | '''Child : Outstanding''']] to view only the outstanding elements of the selected branch in the browser
# Choose [[Processing multiple elements (Process collection/branch/browser) | '''Process browser : Learning : Spread''']] to use the '''Mercy''' dialog to reschedule outstanding elements belonging to the selected branch
# Select appropriate rescheduling parameters and choose '''OK''' (as [[#reschedule outstanding repetitions | above]])


If you are an advanced user and you understand how '''Mercy''' works, you can choose the [[Mercy criteria | '''Criteria''']] button to set you own '''Mercy''' sorting criteria!
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|'''Contents''' window]] (e.g. click on ''Geography'')
#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 '''[[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]])


'''Short  history of material rescheduling in SuperMemo'''
If you are an advanced user and you understand how '''Mercy''' works, you can choose the [[Mercy criteria|'''Criteria''']] button to set you own '''Mercy''' sorting criteria!


In [http://supermemo.com/articles/cworld.htm 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.
= Short history of Mercy in SuperMemo =


The first '''Mercy''' algorithm was based on a solid theoretical ground. The item sorting criterion was to minimize the drop in [[Glossary#retention | 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.
In [http://super-memory.com/articles/cworld.htm 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 [[Glossary:Outstanding_element|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.  


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.
The first '''Mercy''' algorithm was based on a solid theoretical ground. The item sorting criterion was to minimize the drop in [[Glossary:Retention|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 [[Glossary:Interval|intervals]] of short-interval [[Glossary:Item|items]] is more detrimental to [[Glossary:Retention|retention]] than the same increase for long-interval items. Consequently, users abusing '''Mercy''' would pile up lots of hard-to-remember [[Glossary:Item|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.  


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.
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-[[Glossary:Interval|interval]] [[Glossary:Item|items]] with a high degree of [[Glossary:Difficulty|difficulty]] (expressed then by [[Glossary:E-Factor|E-Factors]]). However, '''Wipe''' might have done more damage to SuperMemo than ill-conceived '''Mercy'''. Users would often pile up [[Glossary:Item|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.  


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.
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.  


These problems have been partly solved in December 1996 by implementing the following features in SuperMemo:
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 [[Glossary:Interval|interval]] of newly memorized [[Glossary:Item|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, [[Glossary:Item|items]] that were dramatically postponed with '''Mercy''' and scored well in repetitions would have reached disproportionately long [[Glossary:Interval|intervals]].


# removing sensitivity to repetition delay of [http://supermemo.com/english/algsm11.htm Algorithm SM-8] by indexing optimization matrices with repetition categories rather than repetition numbers (for example, a item repeated twice would be treated as repeated 2.4 times if its interval was artificially lengthened)
These problems have been partly solved in December 1996 by implementing the following features in SuperMemo:
# 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 [[Mercy criteria | '''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 importance (as indicated by the ordinal and the forgetting index), repetition lateness, investment (in the item), easiness (of the item) and recency of introducing the item to the learning process.
#removing sensitivity to repetition delay of [http://super-memory.com/english/algsm8.htm Algorithm SM-8] by indexing optimization matrices with repetition categories rather than repetition numbers (for example, an [[Glossary:Item|item]] repeated twice would be treated as repeated 2.4 times if its [[Glossary:Interval|interval]] was artificially lengthened)
#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 [[Glossary:Item|items]] that have recently been introduced into the [[Glossary:Collection|collection]]
 
In December 1997, '''Mercy''' has been enhanced with the option [[Mercy criteria|'''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:
* [[Glossary:Item|item]]'s [[Glossary:Priority|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''':  
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''':  


# There is no predictable pattern in repetitions (e.g. from low intervals to high intervals, from easy material to difficult material, etc.). This makes repetitions vary in difficulty and makes the learning process more representative and enjoyable
#There is no predictable pattern in repetitions (e.g. from short [[Glossary:Interval|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  
# 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'''
#There are no cumulative trends in rescheduling. For example, constant rescheduling with the easy-items-first criterion may indefinitely postpone difficult [[Glossary:Item|items]]! With random rescheduling, [[Glossary:Interval|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 [[Glossary:Branch|branch]]/[[Glossary:Subset|subset]]-specific: '''[[Postpone]]'''. In SuperMemo 2002, '''Postpone''' became even more content and priority sensitive. This gradually reduced the need for using '''Mercy'''. In [[Glossary:Incremental_reading|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.


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 [[Glossary:Priority_queue|priority queue]], repetition [[Glossary:Auto-sort|auto-sort]] and [[Glossary:Auto-postpone|auto-postpone]], '''Mercy''' is no longer needed to resolve the overload of [[Glossary:Outstanding_element|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 [[Glossary:Outstanding_element|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!


Finally, SuperMemo 2006 is supposed to deal an ultimate death-blow to '''Mercy'''. With the [[Priority of elements in incremental reading | 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, anecdotal evidence seems to indicate 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 =


----
*[[Mercy criteria|'''Mercy''' criteria]]
*[[Postpone, Advance and Mercy]]
*[[Postpone]]
*[[Incremental reading]]
*[[Priority queue]]
*[http://super-memory.com/help/faq/overload.htm FAQ: Repetition overload]


See also:
= Video =


* [[Postpone]]
[https://youtu.be/tmZV9pRS2_w Mercy vs. Spread]
* [[Incremental reading]]
* [[Priority of elements in incremental reading | Priority queue]]
* [http://supermemo.com/faq/overload.htm FAQ: Repetition overload]

Latest revision as of 04: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