Difference between revisions of "Priority queue"

From SuperMemo Help
Jump to navigation Jump to search
(Initial import)
 
(Can we learn the entire Encyclopedia Britannica?)
 
(62 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Volume vs. Retention Battle ==
+
__TOC__
  
[[Incremental reading]] makes it easy to import large volumes of learning material from the Internet. By default, all imported material enters the learning process. As a result, large volumes of unprocessed information begin to compete for your attention with most important pieces of knowledge that you decided to remember. It is a clash of priorities. On one hand you want to ensure high [[Glossary#retention | retention]] of your mission critical knowledge (as in classical SuperMemo), on the other you want to devour more and more new knowledge.
+
== Priority queue: Introduction ==
  
Before SuperMemo, your learning would largely be based on reading and reviewing books or your own notes. With older SuperMemos, you would divide your time between reading (on paper) and repetitions (on the computer). With incremental reading, those competing processes were blended into one. You can read and review concurrently in SuperMemo. However, for the most avid incremental readers, the balance of priority will always dangerously shift in favor of new reading at the cost of the previously acquired knowledge. This comes from human nature. New reading provides instant gratification: ''Today, I learned something new. I am wiser now''. Reviewing the material you already know will always feel like a burden. We are always unhappy with our forgetful memory. It always feels that the nature should have given us a natural choice of what to forget and what to remember without the painful effort of reviewing what we already know.
+
Human knowledge resources are vast. Our appetite to acquire knowledge is usually exceeding our learning capacity. Incremental learning makes it easy to import huge volumes of knowledge. However, if you cannot effectively process all that imported knowledge, you risk neglecting high priority material by being overwhelmed by subjects that might be relegated to later study. This state of affair was the main reason for introducing [[Glossary:Priority|priorities]] in SuperMemo.
  
To settle the Volume-vs-Retention battle and to resolve the perpetual clash of priorities, you need better weapons than those made available by older SuperMemos. Before the arrival of SuperMemo 2006, you would need to use a complex set of tools to employ massive learning and still protect the retention of your most important knowledge. You would use complex concepts such as [[Glossary#A-Factor | A-Factors]], [[forgetting index]], [[Subset learning (Learn vs. Review) | subset learning]], [[Postpone | selective postpones]], [[Browser menu | repetition sorting]], etc. These tools were poorly automated and required a substantial effort and knowledge on your part. In practice, most of incremental readers would have to opt for the simplest prioritization tool: ''moderation''. You could best protect your previous investment in learning by limiting your hunger for knowledge.
+
In incremental learning, all [[Glossary:Element|elements]] are organized into a sequence determined by their [[Glossary:Priority|priority]]. That sequence is called the '''priority queue'''. The [[Glossary:Priority|priority]] is determined by the importance of the [[Glossary:Element|element]] for a particular student. [[Glossary:Element|Elements]] with lower [[Glossary:Priority|priorities]] will be sacrificed first when the student runs out of learning time on a given day. As a result, only high-[[Glossary:Priority|priority]] [[Glossary:Element|elements]] will receive the desired level of recall/[[Glossary:Retention|retention]]. At any point in time, [[Glossary:Element|elements]] with lower [[Glossary:Priority|priorities]] will be more likely to be discovered as forgotten.
  
SuperMemo 2006 introduces a simple and fully automated mechanism that will help you combine high volumes of reading with high retention of the most important material. This mechanism is based on the concept of the '''priority queue'''.
+
During learning, on a given day, [[Glossary:Element|elements]] with highest [[Glossary:Priority|priorities]] are processed first.
  
== Priority Bias in Incremental Reading ==
+
If you do not finish your learning for a day, do not despair. With the [[Glossary:Priority_queue|priority queue]], you know you did your best and only lower priority material was left behind. Remember to use [[Glossary:Auto-sort|auto-sort]] and [[Glossary:Auto-postpone|auto-postpone]] to make the most of the [[Glossary:Priority_queue|priority queue]].
  
In SuperMemo 2006, each element receives a priority from 0% to 100%. Elements sorted by their priority form the '''priority queue'''. Element's priority can also be expressed as the position of the element in the priority queue. The most important element in your collections will sit at Position=1 of your priority queue. The queue is a relative queue. This means that if you, for example, insert an important article at Position=3, all items and articles at higher positions will be shifted by one position up in the queue (i.e. towards lower priority). Thus the element at Position=999 will be pushed to Position=1000, while the element previously sitting at Position=3 will now occupy Position=4. The first two elements in the queue, i.e. Position=1 and Position=2, will not move. The relative nature of the priority queue will help you instantly inspect the current priority of each element in your collection. In earlier versions of SuperMemo, you could observe crowding of elements at high-priority ranks. For example, you could amass a large number of topics with A-Factor=1.01 and be practically unable to prioritize within that group (A-Factor=1.01 is the lowest possible and would correspond with the highest priority).
+
== Can we learn the entire Encyclopedia Britannica? ==
  
The fundamental rationale for using a relative priority queue is the existence of a form of cognitive bias, which we will call the ''priority bias''. This bias makes us always think that the newly found article is extremely important to read. The new article feels so important, because we underestimate the value of all the previously imported articles. Our memory is unable to produce an effective estimate of the importance of the current mass of remembered knowledge. Even less so is it capable of producing a remotely accurate estimate of the importance of the mass of knowledge stored in your incremental reading process (of which, usually, only a tiny fraction is part of your long-term memories). The net effect is that we always underestimate the volume of what we know, the volume of what we keep in incremental reading, and the importance distribution of those volumes of knowledge. This psychological mechanism is also the primary force that works against the universal adoption of SuperMemo. Humans are, by biological design, very weak at estimating the size of their knowledge, the cost of learning, and the power of forgetting. As a result, without an intimate knowledge of what SuperMemo is, individuals rarely ever pause to sense the need to use [[Glossary#spaced repetition | spaced repetition]]. This underestimation effect is by far more damaging in the case of [[Incremental reading | incremental reading]], which is far more complex and has still not been explained in sufficiently simple and catchy terms.
+
Early in the learning process, many students do not bother to prioritize their learning material. This attitude is caused by two factors:
  
By employing the ''priority queue'', SuperMemo will help you visualize the ''priority bias'' and the process in which large volumes of new material quickly displace the old material from your learning focus. Moreover, SuperMemo highly automates the process in which you can handle material overflow and reconcile high-retention with high-volumes of learning. Incremental reading has always boasted of its capacity to bring the volume of learning to unprecedented levels. With the'' priority queue'', you can nearly take away the ''moderation'' factor and increase the volume of learning even further without undue worry about your hard-earned knowledge.
+
* smaller volume of memorized material early in the process (and lesser cost of review)
 +
* false conviction that human memory is vast enough to hold all that dream knowledge
  
== Priority Queue in SuperMemo ==
+
Do you think you are able to memorize the entire [https://en.wikipedia.org/wiki/Encyclop%C3%A6dia_Britannica Encyclopedia Britannica] line by line, fact for fact?
  
You can define element's priority by pressing ''Alt+P'' (or choosing '''Learning : Priority : Modify''' on the [[element menu]]).
+
Chances are your answer might be: ''"I might be too lazy, I might be too busy, but if I had all the time of my day for the job, I would"''. Or perhaps ''"I might not, but I have heard of geniuses able to do it! How about [https://en.wikipedia.org/wiki/Kim_Peek Kim Peek]?"''. If you believe the encyclopedia is within the realm of possible, you will soon realize that you desperately need the [[Glossary:Priority_queue|priority queue]] to help you overcome a big surprise: our memory is far more limited than you think!
  
[[Image:element_priority.jpg|center|Priority of elements in SuperMemo]]
+
Assuming we do not deal with humans affected with a mutation to their memory system, memorizing [https://britannica.com Britannica] would falsify the [http://super-memory.com/articles/theory.htm theory of SuperMemo] which should apply to all healthy adults. In the light of SuperMemo, memorizing [https://britannica.com Britannica] verges on impossible. There are 44 million words in Britannica's 32 volumes. This translates to 6 million SuperMemo [[Glossary:Item|items]] ("human memory bits") assuming the average keyword extraction on information dense texts as 1:7. Assuming a 50-year learning span, we get to 18,250 days and 330 [[Glossary:Item|items]] per day. Assuming optimum representation of knowledge (say [https://britannica.com Britannica] is already "[https://supermemo.guru/wiki/20_rules_of_knowledge_formulation perfectly formulated]") you cannot learn faster for a given level of [[Glossary:Retention|knowledge retention]] than with SuperMemo (it simply finds the mathematical optimum). Practice shows it is very difficult to sustain more than 100 [[Glossary:Item|items]] per day in the long run with [[Glossary:Retention|retention]] around 95%. In other words, for an intelligent man, for perfectly formulated Britannica knowledge, with SuperMemo, you are hardly able to accomplish the goal with your whole life devoted to the task!
  
To set the element's priority, you can either choose the position of the element in the priority queue (from 1 to [[Statistics windows | '''Total''']]), or you can choose the percent value (from 0% to 100%). '''Position'''=1 corresponds with '''Percent'''=0%. '''Position'''=[[Statistics windows | '''Total''']] corresponds with '''Percent'''=100%.<br />'''Important! Low position and low percent mean high priority!''' This counterintuitive choice was made due to the fact that you are more likely to choose a high priority of 0% or 1% than the low priority of 99% or 100%. Typing the number ''2'' takes much less time than typing the number ''98'' (roughly 3-4 times less). As you are likely to set priority manually many times in the course of a single learning session, this choice will save you a lot of typing time over years of learning.
+
== Volume vs. retention battle in learning ==
  
You can use '''Learning : Priority : Increase''' on the [[element menu]] (''Shift+Ctrl+Up'') to increase the priority of an element, or '''Learning : Priority : Decrease''' (''Shift+Ctrl+Down'') to decrease it. Those operations affect the forgetting index as well as the A-Factor of items and topics respectively.
+
[[Glossary:Incremental_reading|Incremental reading]] makes it easy to import large volumes of learning material from the Internet. By default, all imported material enters the learning process. As a result, large volumes of unprocessed information begin to compete for your attention with most important pieces of knowledge that you decided to remember. It is a clash of priorities. On one hand you want to ensure high [[Glossary:Retention|retention]] of your mission-critical knowledge (as in classical SuperMemo), on the other, you want to devour more and more new knowledge.
  
You can view your entire priority queue with '''[[View menu | View]] : Priority queue''' from the [[main menu]].  
+
Before SuperMemo, your learning would largely be based on reading and reviewing books or your own notes. With older SuperMemos, you would divide your time between reading (on paper) and repetitions (on the computer). With [[Glossary:Incremental_reading|incremental reading]], those competing processes were blended into one. You can read and review concurrently in SuperMemo. However, for the most avid incremental readers, the balance of priority will always dangerously shift in favor of new reading at the cost of the previously acquired knowledge. This comes from human nature. New reading provides instant gratification: ''&quot;Today, I have learned something new. I am wiser now&quot;''. Reviewing the material you already know will always feel like a burden. We are always unhappy with our forgetful memory. It always feels that the nature should have given us a natural choice of what to forget and what to remember without the painful effort of reviewing what we already know.
  
== Sorting repetitions ==
+
To settle the Volume-vs-Retention battle and to resolve the perpetual clash of priorities, you need better weapons than those made available by older SuperMemos. Before the arrival of the [[Glossary:Priority_queue|priority queue]] (2006), you would need to use a complex set of tools to employ massive learning and still protect the [[Glossary:Retention|retention]] of your most important knowledge. You would use complex concepts such as [[Glossary:A-Factor|A-Factors]], [[Glossary:Forgetting_index|forgetting index]], [[subset learning]], [[Postpone|selective postpones]], [[Browser menu|repetition sorting]], etc. These tools were poorly automated and required substantial effort and knowledge on your part. In practice, most incremental readers would have to opt for the simplest prioritization tool: ''moderation''. You could best protect your previous investment in learning by limiting your hunger for knowledge.
 +
 
 +
Newer SuperMemos use a simple and fully automated mechanism that will help you combine high volumes of reading with high [[Glossary:Retention|retention]] of the most important material. This mechanism is based on the concept of the '''[[Glossary:Priority_queue|priority queue]]'''.
 +
 
 +
== Priority bias in incremental reading ==
 +
 
 +
In SuperMemo, each [[Glossary:Element|element]] receives a [[Glossary:Priority|priority]] from <code>0%</code> to <code>100%</code>. [[Glossary:Element|Elements]] sorted by their [[Glossary:Priority|priority]] form the ''[[Glossary:Priority_queue|priority queue]]''. An [[Glossary:Element|element]]'s [[Glossary:Priority|priority]] can also be expressed as its position in the [[Glossary:Priority_queue|priority queue]]. The most important [[Glossary:Element|element]] in your [[Glossary:Collection|collection]] will sit at <code>Position=1</code> of the [[Glossary:Priority_queue|priority queue]]. The queue is a relative queue. This means that if you, for example, insert an important article at <code>Position=3</code>, all [[Glossary:Item|items]] and articles at higher positions will be shifted by one position up in the queue (i.e. towards lower [[Glossary:Priority|priority]]). Thus the [[Glossary:Element|element]] at <code>Position=999</code> will be pushed to <code>Position=1000</code>, while the [[Glossary:Element|element]] previously sitting at <code>Position=3</code> will now occupy <code>Position=4</code>. The first two [[Glossary:Element|elements]] in the queue, i.e. <code>Position=1</code> and <code>Position=2</code>, will not move. The relative nature of the [[Glossary:Priority_queue|priority queue]] will help you instantly inspect the current [[Glossary:Priority|priority]] of each [[Glossary:Element|element]] in your [[Glossary:Collection|collection]]. In earlier versions of SuperMemo, you could observe crowding of [[Glossary:Element|elements]] at high-priority ranks. For example, you could amass a large number of [[Glossary:Topic|topics]] with <code>[[Glossary:A-Factor|A-Factor]]=1.01</code> and be practically unable to prioritize within that group. (<code>[[Glossary:A-Factor|A-Factor]]=1.01</code> is the lowest possible and would correspond to the highest [[Glossary:Priority|priority]]).
 +
 
 +
The fundamental rationale for using a relative [[Glossary:Priority_queue|priority queue]] is the existence of a form of cognitive bias, which we will call the ''priority bias''. This bias makes us always think that the newly found article is extremely important to read. The new article feels so important, because we underestimate the value of all the previously imported articles. Our memory is unable to produce an effective estimate of the importance of the current mass of remembered knowledge. Even less so is it capable of producing a remotely accurate estimate of the importance of the mass of knowledge stored in your [[Glossary:Incremental_reading|incremental reading]] process (of which, usually, only a tiny fraction is part of your long-term memories). The net effect is that we always underestimate the volume of what we know, the volume of what we keep in [[Glossary:Incremental_reading|incremental reading]], and the importance distribution of those volumes of knowledge. This psychological mechanism is also the primary force that works against the universal adoption of SuperMemo. Humans are, by biological design, very weak at estimating the size of their knowledge, the cost of learning, and the power of forgetting. As a result, without an intimate knowledge of what SuperMemo is, individuals rarely ever pause to sense the need to use [[Glossary:Spaced_repetition|spaced repetition]]. This underestimation effect is by far more damaging in the case of [[Glossary:Incremental_learning|incremental learning]], which is far more complex and has still not been explained in sufficiently simple and catchy terms.
 +
 
 +
By employing the [[Glossary:Priority_queue|priority queue]], SuperMemo will help you visualize the ''priority bias'' and the process in which large volumes of new material quickly displace the old material from your learning focus. Moreover, SuperMemo highly automates the process in which you can handle material overflow and reconcile high [[Glossary:Retention|retention]] with high volumes of learning. [[Glossary:Incremental_reading|Incremental reading]] has always boasted of its capacity to bring the volume of learning to unprecedented levels. With the [[Glossary:Priority_queue|priority queue]], you can nearly take away the ''moderation'' factor and increase the volume of learning even further without undue worry about your hard-earned knowledge.
 +
 
 +
== Priority queue in SuperMemo ==
 +
 
 +
You can define the [[Glossary:Element|element]]'s [[Glossary:Priority|priority]] by:
 +
* pressing ''Alt+P'',
 +
* by clicking the '''Priority''' button ([[Image:Modify priority button.png|SuperMemo: Modify priority lets you set the priority of the current element]]) on the [[learnbar]], or
 +
* by choosing '''[[Element menu#Learning|Learning]] : Priority : Modify''' on the [[element menu]].
 +
 
 +
[[Image:Element priority.jpg|center|800px|SuperMemo: "Element priority" dialog box which you can use to modify the priority of an element]]
 +
 
 +
To set the [[Glossary:Element|element]]'s [[Glossary:Priority|priority]], you can either choose the position of the [[Glossary:Element|element]] in the [[Glossary:Priority_queue|priority queue]] (from <code>1</code> to '''[[Statistics#Total|Total]]'''), or you can choose the percent value (from <code>0%</code> to <code>100%</code>). <code>'''Position'''=1</code> corresponds to <code>'''Percent'''=0%</code>. Similarly, <code>'''Position'''='''[[Statistics#Total|Total]]'''</code> corresponds to <code>'''Percent'''=100%</code>.
  
In a high-volume incremental reading process, you will be served more elements in a single day than you could possibly manage to process in a week (or worse). It is therefore vital that you begin your review process from elements of the highest priority. Low priority elements might linger in the queue for months or years. High priority items should be reviewed at the exact time that SuperMemo finds optimum. Only this way will you be able to meet your [[Forgetting index | ''requested forgetting index'']] criteria for high-priority material while still being under no pressure to limit your hunger for knowledge. In simpler terms, in an overloaded learning process, the SuperMemo promise of "excellent memory" will only apply to your top-priority material. The lower the priority, the lower the retention (see: '''[[Tools menu | Tools]] : Statistics : [[Learning statistics dialog | Analysis]] : Graphs : Forgetting index vs. Priority''').
+
<div class="bs-callout bs-callout-warning">
 +
'''Low position and low percent mean high priority!''' This counterintuitive choice was made due to the fact that you are more likely to choose a high [[Glossary:Priority|priority]] of <code>0%</code> or <code>1%</code> than the low [[Glossary:Priority|priority]] of <code>99%</code> or <code>100%</code>. Typing the number ''2'' takes much less time than typing the number ''98'' (roughly 3-4 times less). As you are likely to set [[Glossary:Priority|priority]] manually many times in the course of a single learning session, this counterintuitive choice will save you a lot of typing time over years of learning. In the long run, you will probably be grateful for things set upside down in SuperMemo!
 +
</div>
  
By default, your repetitions will be '''auto-sorted''' at the beginning of each learning day (unless you uncheck '''[[Learn menu | Learn]] : Sorting : Auto-sort repetitions'''). This means that the elements reviewed on a given day will be ordered by priority. In addition to auto-sorting, you can also sort the learning queue manually at any time with '''[[Learn menu | Learn]] : Sorting : Sort now'''.
+
You can use '''[[Element menu#Learning|Learning]] : Priority : Increase''' on the [[element menu]] (''Shift+Ctrl+Up arrow'') to increase the [[Glossary:Priority|priority]] of an [[Glossary:Element|element]], or '''[[Element menu#Learning|Learning]] : Priority : Decrease''' (''Shift+Ctrl+Down arrow'') to decrease it. Those operations also affect the [[Glossary:A-Factor|A-Factor]] of [[Glossary:Topic|topics]].
  
You will quickly discover that a precise sort executed strictly along the priority criteria has serious flaws. On one hand, due to the ''priority bias'', you will quickly displace older high-quality material with whatever dominates your current interests. That would be a throwback to your pre-SuperMemo times when you kept reading new material, while forgetting your previous investment in learning. New material always feels as very important and will always show a tendency to shift all your previous learning towards lower priority. In addition, you can overwhelm your classical SuperMemo repetitions (i.e. question-and-answer review) with the inflow of new articles to read. Again, instead of making sure your previous investment becomes durable, you keep rushing through new material and forgetting the old.
+
You can view your entire [[Glossary:Priority_queue|priority queue]] with '''[[View menu|View]] : [[View menu#Priority queue|Priority queue]]''' on the [[main menu]].
  
SuperMemo solves the problems of the ''priority bias'' and the problem of the massive inflow of topics by letting you define (1) the proportion of topics in learning, and (2) a degree to which the learning queue is randomized.
+
== Prioritization is difficult before it becomes easy ==
  
[[Image:repetition_sorting_criteria.jpg|center|Sorting items and topics taking part in the learning process in SuperMemo]]
+
Everyone struggles with [[Glossary:Priority|priorities]] as it is very hard to admit things are not as important as they seem. Of good things, there is a correlation between the hunger for knowledge and creativity. If you struggle with [[Glossary:Priority|priorities]] and overflow then it might be a good indicator, as long as you win the battle and learn to prioritize honestly.
  
<blockquote>
+
To prioritize well, you only need to know that the most important material has [[Glossary:Priority|priority]] <code>0%</code>, while your least important material is <code>100%</code>. You need to develop a sense for where, in the queue, a piece of information belongs. If you think that everything is &quot;top priority&quot; then you are clearly at the beginning of the road. Pick two [[Glossary:Item|items]] and ask yourself a question: ''&quot;If I was to forget/delete one, which one would that be?&quot;'' This exercise will help you see different applications of different [[Glossary:Item|items]] and different value behind the applications. Another exercise is: try to give [[Glossary:Item|items]] as low [[Glossary:Priority|priority]] as you can stomach. Can you make it ''10%''? Would you be hurt if it was ''20%''? Would the world collapse if it was ''66%''? With some conscious effort you will realize that you can live without some portions of your knowledge (after all, most people do not use SuperMemo at all and survive ok). Over months of training, you will get better at this.
  
''Sorting criteria in SuperMemo. Only a small proportion of time-consuming topics is allowed in the learning queue. This proportion is chosen so that to maximize the fun and efficiency of learning: sufficient inflow of new material combined with the necessary review of your previous investment. Some degree of randomization in the learning sequence is permitted. This way you can re-discover precious articles that were displaced in priority by a massive inflow of new material.''
+
If you keep peeking at the [[Statistics#Protection|'''Protection''' statistic]], you may also realize that sending [[Glossary:Item|items]] beyond your average priority protection will help you clear them from view for a while. This way, if you have created too many [[Glossary:Cloze_deletion|cloze deletions]] that crowd your process, you might actually enjoy sending most of them out of the protected zone, and focus on just one or two that capture the essence of knowledge you are trying to learn.
  
</blockquote>
+
SuperMemo will not help you much in the prioritization work unless you manually play with [[Glossary:Interval|intervals]] (e.g. by saying &quot;''this cannot wait 30 days, I must see it in 11''&quot;). This tell SuperMemo that the [[Glossary:Priority|priority]] must increase slightly.
  
You can determine the sorting criteria by using '''[[Learn menu | Learn]] : Sorting : Sorting criteria'''.
+
== Sorting repetitions ==
  
You need to adjust the proportion of topics and the degree of randomization by trial and error. This will all depend on your goals and preferences. If you admit too few topics in the process, you will not gain much new knowledge. If you admit too many topics, you will start forgetting previously learned material. If you randomize the learning queue too much, the whole prioritization mechanism will unravel, and your retention of high-priority material will drop. If you sort repetitions strictly by priority, the new material will keep displacing the old material due to the ''priority bias''. Even for item repetitions, where the ''priority bias'' is less prominent, a degree of randomization will help you increase the priority of less appreciated items, disperse clozes generated from the same extract, and compensate some loss in retention by improving the overall speed of learning (through [[Glossary#spacing effect | ''spacing effect'']]).
+
In a high-volume [[Glossary:Incremental_reading|incremental reading]] process, you will be served more [[Glossary:Element|elements]] in a single day than you could possibly manage to process in a week (or worse). It is therefore vital that you begin your review process from [[Glossary:Element|elements]] of the highest priority. Low-priority [[Glossary:Element|elements]] might linger in the queue for months or years. High-priority [[Glossary:Item|items]] should be reviewed at the exact time that SuperMemo finds optimum. Only this way will you be able to meet your ''[https://supermemo.guru/wiki/Forgetting_index_in_SuperMemo#requested_forgetting_index requested forgetting index]'' criteria for high-priority material while still being under no pressure to limit your hunger for knowledge. In simpler terms, in an overloaded learning process, the SuperMemo promise of &quot;excellent memory&quot; will only apply to your top-priority material. The lower the [[Glossary:Priority|priority]], the lower the [[Glossary:Retention|retention]] (see: '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Analysis]] : [[Analysis#Graphs|Graphs]] : Forgetting index vs. Priority''' for empirical evidence).
  
== Auto-sorting and auto-postpone ==
+
By default, your repetitions will be '''auto-sorted''' at the beginning of each learning day (unless you uncheck '''[[Learn menu|Learn]] : [[Learn menu#Sorting|Sorting]] : Auto-sort repetitions'''). This means that the [[Glossary:Element|elements]] reviewed on a given day will be ordered by [[Glossary:Priority|priority]]. In addition to [[Glossary:Auto-sort|auto-sorting]], you can also sort the learning queue manually at any time with '''[[Learn menu|Learn]] : [[Learn menu#Sorting|Sorting]] : Sort now'''.
  
It is recommended that you leave two default options checked:
+
You will quickly discover that a precise sort executed strictly along the [[Glossary:Priority|priority]] criteria has serious flaws. On one hand, due to the [[Glossary:Priority_bias|priority bias]], you will quickly displace older high-quality material with whatever dominates your current interests. That would be a throwback to your pre-SuperMemo times when you kept reading new material, while forgetting your previous investment in learning. New material always feels very important and will always show a tendency to shift all your previous learning towards lower [[Glossary:Priority|priority]]. In addition, you might overwhelm your classical SuperMemo repetitions (i.e. question-and-answer review) with the inflow of new articles to read. Again, instead of making sure your previous investment becomes durable, you keep rushing through new material and forgetting the old.
  
* '''[[Learn menu | Learn]] : Sorting : Auto-sort repetitions''' and
+
SuperMemo solves the problems of the [[Glossary:Priority_bias|priority bias]] and the problem of the massive inflow of [[Glossary:Topic|topics]] by letting you define:
* '''[[Learn menu | Learn]] : Postpone : Auto-postpone'''.<br />
+
# the proportion of [[Glossary:Topic|topics]] in learning, and
 +
# a degree to which the learning queue is randomized.
  
This way you will nearly never have to worry about material overload. Each time you start SuperMemo for the first time on a given day, it will first postpone repetitions you failed to execute on previous days. It will use default postpone criteria which you can always modify (e.g. with '''[[Learn menu | Learn]] : [[Postpone | Postpone]] : All elements'''). After postponing the backlog of repetitions, SuperMemo will sort today's repetitions and those that were left outstanding by auto-postpone. Auto-sort will use sorting criteria specified earlier with '''[[Learn menu | Learn]] : Sorting : Sorting criteria'''.
+
<div class="center">
 +
[[Image:repetition_sorting_criteria.jpg|544px|SuperMemo: Sorting items and topics taking part in the learning process using various criteria (priority, randomization, proportion of topics, etc.)]]
 +
<blockquote>
 +
'''''Figure''': Sorting criteria in SuperMemo. Only a small proportion of time-consuming [[Glossary:Topic|topics]] is allowed in the learning queue. This proportion is chosen to maximize the fun and efficiency of learning: sufficient inflow of new material combined with the necessary review of your previous investment. Some degree of randomization in the learning sequence is permitted. This way you can re-discover precious articles that were displaced in [[Glossary:Priority|priority]] by a massive inflow of new material. In the presented example, [[Glossary:Topic|topics]] show a higher degree of randomization than [[Glossary:Item|items]].''
 +
</blockquote>
 +
</div>
 +
 
 +
You can determine the sorting criteria by using '''[[Learn menu|Learn]] : [[Learn menu#Sorting|Sorting]] : Sorting criteria'''. You need to adjust the proportion of [[Glossary:Topic|topics]] and the degree of randomization by trial and error. This will all depend on your goals and preferences. If you admit too few [[Glossary:Topic|topics]] in the process, you will not gain much new knowledge. If you allow too many [[Glossary:Topic|topics]], you will start forgetting previously learned material. If you randomize the learning queue too much, the whole prioritization mechanism will unravel, and your [[Glossary:Retention|retention]] of high-priority material will drop. If you sort repetitions strictly by [[Glossary:Priority|priority]], the new material will keep displacing the old material due to the [[Glossary:Priority_bias|priority bias]]. Even for [[Glossary:Item|item]] repetitions, where the [[Glossary:Priority_bias|priority bias]] is less prominent, a degree of randomization will help you increase the [[Glossary:Priority|priority]] of less appreciated [[Glossary:Item|items]], disperse [[Glossary:Cloze_deletion|clozes]] generated from the same [[Glossary:Extract|extract]], and compensate some loss in [[Glossary:Retention|retention]] by improving the overall speed of learning (through [[Glossary:Spacing_effect|spacing effect]]).
  
With auto-postpone and auto-sort, you can always begin your day with a manageable portion of material sorted by priority. Your learning sequence will be optimized with no options to choose, and no keys to press.
+
Proportion of [[Glossary:Topic|topics]] tells you how many [[Glossary:Topic|topics]] you will be served during your repetitions as compared with [[Glossary:Item|items]]. If you want to ensure that you keep a high [[Glossary:Retention|retention]] of previously added material (as per SuperMemo definition), you cannot overload the learning process with new material (new [[Glossary:Topic|topics]]) because you will not have enough time left to do your daily [[Glossary:Item|item]] review. In a healthy learning process, you should limit the inflow of [[Glossary:Topic|topics]] to 1:4 or less (i.e. allow of repeating at least 4 [[Glossary:Item|items]] per each [[Glossary:Topic|topic]] served).
  
 
== Random repetitions ==
 
== Random repetitions ==
  
To make sure you have a good understanding of the contents and distribution of material in your collection, you should make thoroughly randomized repetitions from time to time. You can randomize repetitions with '''[[Learn menu | Learn]] : Random : Randomize repetitions''' (''Shift+Ctrl+F11''), or with '''[[Tools menu | Tools]] : [[Mercy]]''' with '''[[Mercy criteria | Criteria]] : Sorting options''' set to '''Randomize'''.
+
To make sure you have a good understanding of the contents and distribution of the learning material in your [[Glossary:Collection|collection]], you should make randomized repetitions from time to time. This is to prevent tunnel vision and [[Glossary:Priority_bias|priority bias]]. You can randomize repetitions with '''[[Learn menu|Learn]] : [[Learn menu#Random|Random]] : Randomize repetitions''', or with '''[[Toolkit menu|Toolkit]] : [[Mercy]]''' with '''[[Mercy criteria|Criteria]] : Sorting options''' set to '''Randomize'''.
 +
 
 +
Occasional random repetitions may be quite revealing as they will not favor any portions of your material. Your learning will not be biased by an increased proportion of [[Glossary:Element|elements]] such as: short-[[Glossary:Interval|interval]] [[Glossary:Element|elements]], long-[[Glossary:Interval|interval]] [[Glossary:Element|elements]], specific [[Glossary:Element|element]] types (e.g. articles, [[Glossary:Extract|extracts]], [[Glossary:Cloze_deletion|cloze deletions]], etc.), [[Glossary:Element|element]] content (e.g. a specific [[Glossary:Branch|branch]] of the [[Glossary:Knowledge_tree|knowledge tree]]), the degree of [[Glossary:Element|element]] processing, nor (most importantly) the [[Glossary:Element|element]]'s [[Glossary:Priority|priority]]. Random repetitions will help you understand the possible negative trends such as an excessive inflow of new material, low [[Glossary:Retention|retention]] due to frequent rescheduling, poor formulation of newly created [[Glossary:Cloze_deletion|cloze deletions]], low quality or applicability of the acquired knowledge, excessive emphasis on certain subject at the cost of other subjects, etc. Most importantly though, random repetitions should help you sense the power of the [[Glossary:Priority_bias|priority bias]]. You will notice that you will instantly be tempted to up-prioritize large sections of the material that has slipped your attention while focusing on new imports.
 +
 
 +
== Prioritization rulebook ==
  
Occasional random repetitions may be quite revealing as they will not favor any portions of your material. Accurate processing will not be increased for elements with: short intervals, specific element type (e.g. articles, extracts, question-and-answer items, etc.), contents (i.e. branch of the knowledge tree), the degree of processing nor, perhaps most importantly, the priority. Random repetitions will help you better understand possible negative trends such as excessive inflow of new material, lower retention (mostly as a result of frequent rescheduling), poor formulation of newly created cloze deletions, low quality or applicability of the acquired knowledge, excessive emphasis on certain subject at the cost of other subjects, etc. Most importantly though, random repetitions should help you sense the power of the ''priority bias''.
+
<ul>
 +
<li>Learn to work on [[Glossary:Priority|priorities]] of new [[Glossary:Element|elements]]. Try to visualize the entire [[Glossary:Collection|collection]] and learn to '''position [[Glossary:Element|elements]] in the spectrum of your entire knowledge'''. Try to ignore urgency, and to focus on the lifetime priority of knowledge (unless under a pressure of a deadline or an exam). If all your new [[Glossary:Element|elements]] get priorities of 1-10%, you know you are not being honest. Some of the new material must be down to 80-90%. There are things that you want to know, but you do not really need to know. Add them to your [[Glossary:Collection|collection]], but give them an honestly low [[Glossary:Priority|priority]]. Do you learn about movie stars? That's ok. However, unless you want to be an actor yourself (or similar), you should rather give the stars the deserved 95-99%.</li>
 +
<li>Early in the process, you may find it hard to sense the difference between 30% and 60% [[Glossary:Priority|priority]]. Or you may keep setting the [[Glossary:Priority|priority]] always to 1%. The fact that SuperMemo displays the [[Glossary:Priority|priority]] at four decimal places may make you feel your prioritizations are not adequate. Ignore those feelings. You can start from a 3 point scale: 1%, 33%, and 88%. The more you prioritize, the more natural and automatic it feels. Be patient.
 +
<li>'''Deprioritization is very hard and very painful''', however, it might be a key to your success in a heavily overloaded [[Glossary:Collection|collection]]. It is very easy to wish to up-prioritize nearly anything. You need to train your brain to permit low [[Glossary:Priority|priorities]]! You need to let some knowledge go (at least to lower [[Glossary:Priority|priority]] areas)! '''You cannot know everything that you want to know!''' (unless you want to know little)</li>
 +
<li>Regularly inspect '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Analysis]] : [[Analysis#Use|Use]] : Priority protection : Items''' (''Shift+Alt+A'' opens this tab as you left it last time). '''Priority protection''' is the most honest indicator of what proportion of your [[Glossary:Collection|collection]] can actually meet your [https://supermemo.guru/wiki/Forgetting_index_in_SuperMemo#requested_forgetting_index requested forgetting index] criteria. For example, if your '''Priority protection''' stand at 3%, you know that no knowledge in the 3%-100% [[Glossary:Priority|priority]] bracket is safe! If you keep overrating [[Glossary:Priority|priorities]], [[Glossary:Item|items]] will crowd at high priority positions and the '''Priority protection''' parameter will be very low. If you are honest, you will increase that value and make it easier to protect top priority [[Glossary:Item|items]] from being delayed and possibly forgotten. You will be amazed how fast you can increase '''Priority protection''' with a focused effort and deprioritization in just a few days (let alone over a longer period)! See the example in the picture below. Such efforts will do miracles to the quality of your knowledge. Importance should always overrule urgency and emotion.
 +
<div class="center">
 +
[[File:Item priority protection.jpg|800px|Toolkit : Statistics : Analysis : Use : Priority protection : Items shows your actual processing capacity for high-priority items on individual days]]
 +
</div>
 +
</li>
 +
<li>Regulary inspect '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Statistics]] : [[Statistics#Protection|Protection]]'''. This parameters tells you how far you managed to cut into your top priority material in a given session (this is an equivalent of '''Priority protection''' for a single day). If those numbers get very low, you need to start deprioritizing your [[Glossary:Item|items]] (or [[Glossary:Topic|topics]]). You do not need to cut your import appetites as long as you keep [[Glossary:Priority|priorities]] reasonable.</li>
 +
<li>The most important moments to prioritize [[Glossary:Element|elements]] or element sets:
 +
* at item failure, you need to rethink the [[Glossary:Priority|priority]]. [[Glossary:Item|Items]] that fail often are the biggest contributor to slowed progress. Reducing their [[Glossary:Priority|priority]] is one way of remedying this (and possibly helping your memory by inducing the [[Glossary:Spacing_effect|spacing effect]] or reducing interference)
 +
* at article import, high [[Glossary:Priority|priority]] will ensure early reading, however, once you get to reading, you may want to deprioritize and only give high [[Glossary:Priority|priority]] to important [[Glossary:Extract|extracts]]! You can set the [[Glossary:Priority|priority]] for the entire article and split it all in one go (while reading or by an auto-split). It is however much easier to split the article incrementally as you progress with reading, and only then spread the priorities of all [[Glossary:Child|children elements]] with '''[[Subset operations#Priority|Priority]] : Spread''' on the [[Subset operations|browser processing menu]]. Once you finish reading the article, some of the generated [[Glossary:Extract|extracts]] and [[Glossary:Cloze_deletion|clozes]] will be given higher [[Glossary:Priority|priority]] (as per your decision), while most [[Glossary:Element|elements]] will get their [[Glossary:Priority|priority]] set automatically on the basis of article's [[Glossary:Priority|priority]]. This will usually be a [[Glossary:Priority|priority]] that is higher than deserved. Hence '''[[Subset operations#Priority|Priority]] : Spread''' is recommended each time you complete reading an article
 +
* it makes sense to give new [[Glossary:Cloze_deletion|clozes]] a very high [[Glossary:Priority|priority]] to make sure they are reviewed at least once to &quot;hatch&quot; in your memory. However, once the first repetition ends with success and your future recall at longer [[Glossary:Interval|intervals]] is a bit more likely, you can provide a more honest [[Glossary:Priority|priority]], which is usually lower than when first prioritizing [[Glossary:Extract|extracts]] for the sake of generating [[Glossary:Cloze_deletion|cloze deletions]]. If you are still worried about possible forgetting, you can wait with establishing the honest [[Glossary:Priority|priority]] until the 3rd or 4th review. The longer you wait, the greater the chance you will forget something truly important in the meantime.
 +
</li>
 +
<li>If you hesitate between a lower [[Glossary:Priority|priority]] and a higher [[Glossary:Priority|priority]], '''a lower priority is nearly always better!''' (due to the [[Glossary:Priority_bias|priority bias]] that is likely to crowd your learning process)</li>
 +
<li>If you skip some of your daily repetition sessions, item protection will drop (as indicated by '''Priority protection''' in '''[[Analysis]] : Use'''). If you do not prioritize well, item protection will drop as well. The best way to keep item protection high is to learn regularly, learn a lot, and provide honest priority evaluations</li>
 +
<li>Your [https://supermemo.guru/wiki/Forgetting_index_in_SuperMemo#measured_forgetting_index measured forgetting index] will increase if you are honest with [[Glossary:Priority|priorities]] in an overloaded [[Glossary:Collection|collection]]. However, it will more honestly reflect your actual knowledge of the material in the [[Glossary:Collection|collection]]. To see how [[Glossary:Forgetting_index|forgetting index]] changes with [[Glossary:Priority|priority]], see '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Analysis]] : [[Analysis#Graphs|Graphs]] : Forgetting index vs. Priority'''</li>
 +
<li>If you manually change the [[Glossary:Interval|interval]], element [[Glossary:Priority|priorities]] will change. If you shorten the [[Glossary:Interval|interval]], the [[Glossary:Priority|priority]] will automatically increase. If you delay the next repetition, the [[Glossary:Priority|priority]] will drop.</li>
 +
<li>'''Priority protection''' can at times drop by a huge margin in a single day. This is not a reason to worry, as long as this does not become a trend. For example, if you discover a set of [[Glossary:Cloze_deletion|clozes]] whose [[Glossary:Priority|priority]] is too low, and you increase that [[Glossary:Priority|priority]] in the entire set, all [[Glossary:Item|items]] that have been [[Glossary:Outstanding_element|outstanding]], but not at the front of the [[Glossary:Outstanding_queue|outstanding queue]], will affect the item protection measurement on the next day. This is a one-day phenomenon. However, you will also notice a destructive impact of massive up-prioritizations. It is easy to say &quot;that [[Glossary:Branch|branch]] is very important&quot;, and very difficult to undo the damage by indiscriminate change of [[Glossary:Priority|priorities]].</li>
 +
<li>If you are curious which postponed [[Glossary:Item|item]] reduced your item protection ('''Priority protection'''), choose '''[[View menu|View]] : [[View menu#Recent|Recent]] : Postponed''', choose '''[[Browser menu#Child|Child]] : Items''' on the [[browser menu]], and sort by [[Glossary:Priority|priority]] (e.g. by clicking the '''Prior''' column heading). The offending [[Glossary:Item|item]] should land on top. It will tell how your item protection dropped. This is the highest priority [[Glossary:Item|item]] missed on the previous day of learning.</li>
 +
<li>A simple way to get the feel of the relative importance of an article is to look at the '''After''' and '''Before''' fields in the '''Element priority''' dialog box (''Alt+P'').
 +
<div class="center">
 +
[[Image:Element relative priority.jpg|800px|SuperMemo: A simple way to get the feel of the relative importance of a given element is to look at the After and Before fields in the Element priority dialog (Alt+P)]]
 +
{{:File:Element relative priority.jpg}}
 +
</div>
 +
</li>
 +
<li>The main difference between lifelong learning and school learning is that schools artificially distort the priority of the learning material. Before an exam, a section of material must receive high priority and high processing, while after the exam, the same material must be realistically re-assessed (which usually means a manifold decrease in priority and heavy dilution of the overload).</li>
 +
</ul>
  
== Summary ==
+
== Priority queue: Summary ==
  
* SuperMemo 2006 introduces the priority queue in which each element has a specific priority from 0% to 100%
+
* SuperMemo uses a [[Glossary:Priority_queue|priority queue]] in which all [[Glossary:Element|elements]] are arranged by their [[Glossary:Priority|priority]] in the learning process
* The highest priority is 0%. The lowest priority is 100%
+
* The highest [[Glossary:Priority|priority]] is <code>0%</code>. The lowest [[Glossary:Priority|priority]] is <code>100%</code>
* SuperMemo 2006 can auto-postpone the excess of the outstanding material
+
* SuperMemo can [[Glossary:Auto-postpone|auto-postpone]] the excess of the [[Glossary:Outstanding_material|outstanding material]]
* SuperMemo 2006 uses the priority queue to auto-sort the learning queue. This means that each day, you will first be served high-priority elements
+
* SuperMemo uses the [[Glossary:Priority_queue|priority queue]] to [[Glossary:Auto-sort|auto-sort]] the learning queue. This means that each day, you will first be served high-priority [[Glossary:Element|elements]]
* Priority queue softens the need for ''moderation'' in learning; however, it does not entirely solve the ''priority bias'' (i.e. your tendency to attach excessive priority to new material)
+
* [[Glossary:Priority_queue|Priority queue]] softens the need for ''moderation'' in learning; however, it does not entirely solve the [[Glossary:Priority_bias|priority bias]]
* SuperMemo 2006 automates ''moderation'' by strictly limiting the inflow of topics into the learning process
+
* SuperMemo automates ''moderation'' by strictly limiting the inflow of [[Glossary:Topic|topics]] into the learning process
* SuperMemo 2006 helps you combat the ''priority bias'' by a degree of randomization in sorting the learning queue
+
* SuperMemo helps you combat the [[Glossary:Priority_bias|priority bias]] by a user-defined degree of randomization in [[#Sorting repetitions|sorting the learning queue]]
* In a heavily overloaded learning process, the retention of low-priority material will drop substantially
+
* In a heavily overloaded learning process, the [[Glossary:Retention|retention]] of low-priority material will drop substantially
* New tools introduced in SuperMemo 2006 will help you '''increase the volume of learning''', and yet '''increase the retention of top-priority material'''
+
* Deprioritization of [[Glossary:Element|elements]] is painful, but it is a key to your long-term success. Due to the [[Glossary:Priority_bias|priority bias]], lower [[Glossary:Priority|priority]] is nearly always better than a higher [[Glossary:Priority|priority]]!
 +
* '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Analysis]] : [[Analysis#Use|Use]] : Priority protection : Items''' can be used to inspect the degree of item protection in an overloaded learning process
 +
* '''[[Toolkit menu|Toolkit]] : [[Toolkit menu#Statistics|Statistics]] : [[Statistics]] : [[Statistics#Protection|Protection]]''' can be used to inspect one's progress in processing top priority material on a given day
 +
* [[Glossary:Priority_queue|Priority queue]] will help you '''increase the volume of learning''', and still '''increase the [[Glossary:Retention|retention]] of top-priority material'''

Latest revision as of 21:56, 16 April 2019

Priority queue: Introduction

Human knowledge resources are vast. Our appetite to acquire knowledge is usually exceeding our learning capacity. Incremental learning makes it easy to import huge volumes of knowledge. However, if you cannot effectively process all that imported knowledge, you risk neglecting high priority material by being overwhelmed by subjects that might be relegated to later study. This state of affair was the main reason for introducing priorities in SuperMemo.

In incremental learning, all elements are organized into a sequence determined by their priority. That sequence is called the priority queue. The priority is determined by the importance of the element for a particular student. Elements with lower priorities will be sacrificed first when the student runs out of learning time on a given day. As a result, only high-priority elements will receive the desired level of recall/retention. At any point in time, elements with lower priorities will be more likely to be discovered as forgotten.

During learning, on a given day, elements with highest priorities are processed first.

If you do not finish your learning for a day, do not despair. With the priority queue, you know you did your best and only lower priority material was left behind. Remember to use auto-sort and auto-postpone to make the most of the priority queue.

Can we learn the entire Encyclopedia Britannica?

Early in the learning process, many students do not bother to prioritize their learning material. This attitude is caused by two factors:

  • smaller volume of memorized material early in the process (and lesser cost of review)
  • false conviction that human memory is vast enough to hold all that dream knowledge

Do you think you are able to memorize the entire Encyclopedia Britannica line by line, fact for fact?

Chances are your answer might be: "I might be too lazy, I might be too busy, but if I had all the time of my day for the job, I would". Or perhaps "I might not, but I have heard of geniuses able to do it! How about Kim Peek?". If you believe the encyclopedia is within the realm of possible, you will soon realize that you desperately need the priority queue to help you overcome a big surprise: our memory is far more limited than you think!

Assuming we do not deal with humans affected with a mutation to their memory system, memorizing Britannica would falsify the theory of SuperMemo which should apply to all healthy adults. In the light of SuperMemo, memorizing Britannica verges on impossible. There are 44 million words in Britannica's 32 volumes. This translates to 6 million SuperMemo items ("human memory bits") assuming the average keyword extraction on information dense texts as 1:7. Assuming a 50-year learning span, we get to 18,250 days and 330 items per day. Assuming optimum representation of knowledge (say Britannica is already "perfectly formulated") you cannot learn faster for a given level of knowledge retention than with SuperMemo (it simply finds the mathematical optimum). Practice shows it is very difficult to sustain more than 100 items per day in the long run with retention around 95%. In other words, for an intelligent man, for perfectly formulated Britannica knowledge, with SuperMemo, you are hardly able to accomplish the goal with your whole life devoted to the task!

Volume vs. retention battle in learning

Incremental reading makes it easy to import large volumes of learning material from the Internet. By default, all imported material enters the learning process. As a result, large volumes of unprocessed information begin to compete for your attention with most important pieces of knowledge that you decided to remember. It is a clash of priorities. On one hand you want to ensure high retention of your mission-critical knowledge (as in classical SuperMemo), on the other, you want to devour more and more new knowledge.

Before SuperMemo, your learning would largely be based on reading and reviewing books or your own notes. With older SuperMemos, you would divide your time between reading (on paper) and repetitions (on the computer). With incremental reading, those competing processes were blended into one. You can read and review concurrently in SuperMemo. However, for the most avid incremental readers, the balance of priority will always dangerously shift in favor of new reading at the cost of the previously acquired knowledge. This comes from human nature. New reading provides instant gratification: "Today, I have learned something new. I am wiser now". Reviewing the material you already know will always feel like a burden. We are always unhappy with our forgetful memory. It always feels that the nature should have given us a natural choice of what to forget and what to remember without the painful effort of reviewing what we already know.

To settle the Volume-vs-Retention battle and to resolve the perpetual clash of priorities, you need better weapons than those made available by older SuperMemos. Before the arrival of the priority queue (2006), you would need to use a complex set of tools to employ massive learning and still protect the retention of your most important knowledge. You would use complex concepts such as A-Factors, forgetting index, subset learning, selective postpones, repetition sorting, etc. These tools were poorly automated and required substantial effort and knowledge on your part. In practice, most incremental readers would have to opt for the simplest prioritization tool: moderation. You could best protect your previous investment in learning by limiting your hunger for knowledge.

Newer SuperMemos use a simple and fully automated mechanism that will help you combine high volumes of reading with high retention of the most important material. This mechanism is based on the concept of the priority queue.

Priority bias in incremental reading

In SuperMemo, each element receives a priority from 0% to 100%. Elements sorted by their priority form the priority queue. An element's priority can also be expressed as its position in the priority queue. The most important element in your collection will sit at Position=1 of the priority queue. The queue is a relative queue. This means that if you, for example, insert an important article at Position=3, all items and articles at higher positions will be shifted by one position up in the queue (i.e. towards lower priority). Thus the element at Position=999 will be pushed to Position=1000, while the element previously sitting at Position=3 will now occupy Position=4. The first two elements in the queue, i.e. Position=1 and Position=2, will not move. The relative nature of the priority queue will help you instantly inspect the current priority of each element in your collection. In earlier versions of SuperMemo, you could observe crowding of elements at high-priority ranks. For example, you could amass a large number of topics with A-Factor=1.01 and be practically unable to prioritize within that group. (A-Factor=1.01 is the lowest possible and would correspond to the highest priority).

The fundamental rationale for using a relative priority queue is the existence of a form of cognitive bias, which we will call the priority bias. This bias makes us always think that the newly found article is extremely important to read. The new article feels so important, because we underestimate the value of all the previously imported articles. Our memory is unable to produce an effective estimate of the importance of the current mass of remembered knowledge. Even less so is it capable of producing a remotely accurate estimate of the importance of the mass of knowledge stored in your incremental reading process (of which, usually, only a tiny fraction is part of your long-term memories). The net effect is that we always underestimate the volume of what we know, the volume of what we keep in incremental reading, and the importance distribution of those volumes of knowledge. This psychological mechanism is also the primary force that works against the universal adoption of SuperMemo. Humans are, by biological design, very weak at estimating the size of their knowledge, the cost of learning, and the power of forgetting. As a result, without an intimate knowledge of what SuperMemo is, individuals rarely ever pause to sense the need to use spaced repetition. This underestimation effect is by far more damaging in the case of incremental learning, which is far more complex and has still not been explained in sufficiently simple and catchy terms.

By employing the priority queue, SuperMemo will help you visualize the priority bias and the process in which large volumes of new material quickly displace the old material from your learning focus. Moreover, SuperMemo highly automates the process in which you can handle material overflow and reconcile high retention with high volumes of learning. Incremental reading has always boasted of its capacity to bring the volume of learning to unprecedented levels. With the priority queue, you can nearly take away the moderation factor and increase the volume of learning even further without undue worry about your hard-earned knowledge.

Priority queue in SuperMemo

You can define the element's priority by:

SuperMemo: "Element priority" dialog box which you can use to modify the priority of an element

To set the element's priority, you can either choose the position of the element in the priority queue (from 1 to Total), or you can choose the percent value (from 0% to 100%). Position=1 corresponds to Percent=0%. Similarly, Position=Total corresponds to Percent=100%.

Low position and low percent mean high priority! This counterintuitive choice was made due to the fact that you are more likely to choose a high priority of 0% or 1% than the low priority of 99% or 100%. Typing the number 2 takes much less time than typing the number 98 (roughly 3-4 times less). As you are likely to set priority manually many times in the course of a single learning session, this counterintuitive choice will save you a lot of typing time over years of learning. In the long run, you will probably be grateful for things set upside down in SuperMemo!

You can use Learning : Priority : Increase on the element menu (Shift+Ctrl+Up arrow) to increase the priority of an element, or Learning : Priority : Decrease (Shift+Ctrl+Down arrow) to decrease it. Those operations also affect the A-Factor of topics.

You can view your entire priority queue with View : Priority queue on the main menu.

Prioritization is difficult before it becomes easy

Everyone struggles with priorities as it is very hard to admit things are not as important as they seem. Of good things, there is a correlation between the hunger for knowledge and creativity. If you struggle with priorities and overflow then it might be a good indicator, as long as you win the battle and learn to prioritize honestly.

To prioritize well, you only need to know that the most important material has priority 0%, while your least important material is 100%. You need to develop a sense for where, in the queue, a piece of information belongs. If you think that everything is "top priority" then you are clearly at the beginning of the road. Pick two items and ask yourself a question: "If I was to forget/delete one, which one would that be?" This exercise will help you see different applications of different items and different value behind the applications. Another exercise is: try to give items as low priority as you can stomach. Can you make it 10%? Would you be hurt if it was 20%? Would the world collapse if it was 66%? With some conscious effort you will realize that you can live without some portions of your knowledge (after all, most people do not use SuperMemo at all and survive ok). Over months of training, you will get better at this.

If you keep peeking at the Protection statistic, you may also realize that sending items beyond your average priority protection will help you clear them from view for a while. This way, if you have created too many cloze deletions that crowd your process, you might actually enjoy sending most of them out of the protected zone, and focus on just one or two that capture the essence of knowledge you are trying to learn.

SuperMemo will not help you much in the prioritization work unless you manually play with intervals (e.g. by saying "this cannot wait 30 days, I must see it in 11"). This tell SuperMemo that the priority must increase slightly.

Sorting repetitions

In a high-volume incremental reading process, you will be served more elements in a single day than you could possibly manage to process in a week (or worse). It is therefore vital that you begin your review process from elements of the highest priority. Low-priority elements might linger in the queue for months or years. High-priority items should be reviewed at the exact time that SuperMemo finds optimum. Only this way will you be able to meet your requested forgetting index criteria for high-priority material while still being under no pressure to limit your hunger for knowledge. In simpler terms, in an overloaded learning process, the SuperMemo promise of "excellent memory" will only apply to your top-priority material. The lower the priority, the lower the retention (see: Toolkit : Statistics : Analysis : Graphs : Forgetting index vs. Priority for empirical evidence).

By default, your repetitions will be auto-sorted at the beginning of each learning day (unless you uncheck Learn : Sorting : Auto-sort repetitions). This means that the elements reviewed on a given day will be ordered by priority. In addition to auto-sorting, you can also sort the learning queue manually at any time with Learn : Sorting : Sort now.

You will quickly discover that a precise sort executed strictly along the priority criteria has serious flaws. On one hand, due to the priority bias, you will quickly displace older high-quality material with whatever dominates your current interests. That would be a throwback to your pre-SuperMemo times when you kept reading new material, while forgetting your previous investment in learning. New material always feels very important and will always show a tendency to shift all your previous learning towards lower priority. In addition, you might overwhelm your classical SuperMemo repetitions (i.e. question-and-answer review) with the inflow of new articles to read. Again, instead of making sure your previous investment becomes durable, you keep rushing through new material and forgetting the old.

SuperMemo solves the problems of the priority bias and the problem of the massive inflow of topics by letting you define:

  1. the proportion of topics in learning, and
  2. a degree to which the learning queue is randomized.

SuperMemo: Sorting items and topics taking part in the learning process using various criteria (priority, randomization, proportion of topics, etc.)

Figure: Sorting criteria in SuperMemo. Only a small proportion of time-consuming topics is allowed in the learning queue. This proportion is chosen to maximize the fun and efficiency of learning: sufficient inflow of new material combined with the necessary review of your previous investment. Some degree of randomization in the learning sequence is permitted. This way you can re-discover precious articles that were displaced in priority by a massive inflow of new material. In the presented example, topics show a higher degree of randomization than items.

You can determine the sorting criteria by using Learn : Sorting : Sorting criteria. You need to adjust the proportion of topics and the degree of randomization by trial and error. This will all depend on your goals and preferences. If you admit too few topics in the process, you will not gain much new knowledge. If you allow too many topics, you will start forgetting previously learned material. If you randomize the learning queue too much, the whole prioritization mechanism will unravel, and your retention of high-priority material will drop. If you sort repetitions strictly by priority, the new material will keep displacing the old material due to the priority bias. Even for item repetitions, where the priority bias is less prominent, a degree of randomization will help you increase the priority of less appreciated items, disperse clozes generated from the same extract, and compensate some loss in retention by improving the overall speed of learning (through spacing effect).

Proportion of topics tells you how many topics you will be served during your repetitions as compared with items. If you want to ensure that you keep a high retention of previously added material (as per SuperMemo definition), you cannot overload the learning process with new material (new topics) because you will not have enough time left to do your daily item review. In a healthy learning process, you should limit the inflow of topics to 1:4 or less (i.e. allow of repeating at least 4 items per each topic served).

Random repetitions

To make sure you have a good understanding of the contents and distribution of the learning material in your collection, you should make randomized repetitions from time to time. This is to prevent tunnel vision and priority bias. You can randomize repetitions with Learn : Random : Randomize repetitions, or with Toolkit : Mercy with Criteria : Sorting options set to Randomize.

Occasional random repetitions may be quite revealing as they will not favor any portions of your material. Your learning will not be biased by an increased proportion of elements such as: short-interval elements, long-interval elements, specific element types (e.g. articles, extracts, cloze deletions, etc.), element content (e.g. a specific branch of the knowledge tree), the degree of element processing, nor (most importantly) the element's priority. Random repetitions will help you understand the possible negative trends such as an excessive inflow of new material, low retention due to frequent rescheduling, poor formulation of newly created cloze deletions, low quality or applicability of the acquired knowledge, excessive emphasis on certain subject at the cost of other subjects, etc. Most importantly though, random repetitions should help you sense the power of the priority bias. You will notice that you will instantly be tempted to up-prioritize large sections of the material that has slipped your attention while focusing on new imports.

Prioritization rulebook

  • Learn to work on priorities of new elements. Try to visualize the entire collection and learn to position elements in the spectrum of your entire knowledge. Try to ignore urgency, and to focus on the lifetime priority of knowledge (unless under a pressure of a deadline or an exam). If all your new elements get priorities of 1-10%, you know you are not being honest. Some of the new material must be down to 80-90%. There are things that you want to know, but you do not really need to know. Add them to your collection, but give them an honestly low priority. Do you learn about movie stars? That's ok. However, unless you want to be an actor yourself (or similar), you should rather give the stars the deserved 95-99%.
  • Early in the process, you may find it hard to sense the difference between 30% and 60% priority. Or you may keep setting the priority always to 1%. The fact that SuperMemo displays the priority at four decimal places may make you feel your prioritizations are not adequate. Ignore those feelings. You can start from a 3 point scale: 1%, 33%, and 88%. The more you prioritize, the more natural and automatic it feels. Be patient.
  • Deprioritization is very hard and very painful, however, it might be a key to your success in a heavily overloaded collection. It is very easy to wish to up-prioritize nearly anything. You need to train your brain to permit low priorities! You need to let some knowledge go (at least to lower priority areas)! You cannot know everything that you want to know! (unless you want to know little)
  • Regularly inspect Toolkit : Statistics : Analysis : Use : Priority protection : Items (Shift+Alt+A opens this tab as you left it last time). Priority protection is the most honest indicator of what proportion of your collection can actually meet your requested forgetting index criteria. For example, if your Priority protection stand at 3%, you know that no knowledge in the 3%-100% priority bracket is safe! If you keep overrating priorities, items will crowd at high priority positions and the Priority protection parameter will be very low. If you are honest, you will increase that value and make it easier to protect top priority items from being delayed and possibly forgotten. You will be amazed how fast you can increase Priority protection with a focused effort and deprioritization in just a few days (let alone over a longer period)! See the example in the picture below. Such efforts will do miracles to the quality of your knowledge. Importance should always overrule urgency and emotion.

    Toolkit : Statistics : Analysis : Use : Priority protection : Items shows your actual processing capacity for high-priority items on individual days

  • Regulary inspect Toolkit : Statistics : Statistics : Protection. This parameters tells you how far you managed to cut into your top priority material in a given session (this is an equivalent of Priority protection for a single day). If those numbers get very low, you need to start deprioritizing your items (or topics). You do not need to cut your import appetites as long as you keep priorities reasonable.
  • The most important moments to prioritize elements or element sets:
    • at item failure, you need to rethink the priority. Items that fail often are the biggest contributor to slowed progress. Reducing their priority is one way of remedying this (and possibly helping your memory by inducing the spacing effect or reducing interference)
    • at article import, high priority will ensure early reading, however, once you get to reading, you may want to deprioritize and only give high priority to important extracts! You can set the priority for the entire article and split it all in one go (while reading or by an auto-split). It is however much easier to split the article incrementally as you progress with reading, and only then spread the priorities of all children elements with Priority : Spread on the browser processing menu. Once you finish reading the article, some of the generated extracts and clozes will be given higher priority (as per your decision), while most elements will get their priority set automatically on the basis of article's priority. This will usually be a priority that is higher than deserved. Hence Priority : Spread is recommended each time you complete reading an article
    • it makes sense to give new clozes a very high priority to make sure they are reviewed at least once to "hatch" in your memory. However, once the first repetition ends with success and your future recall at longer intervals is a bit more likely, you can provide a more honest priority, which is usually lower than when first prioritizing extracts for the sake of generating cloze deletions. If you are still worried about possible forgetting, you can wait with establishing the honest priority until the 3rd or 4th review. The longer you wait, the greater the chance you will forget something truly important in the meantime.
  • If you hesitate between a lower priority and a higher priority, a lower priority is nearly always better! (due to the priority bias that is likely to crowd your learning process)
  • If you skip some of your daily repetition sessions, item protection will drop (as indicated by Priority protection in Analysis : Use). If you do not prioritize well, item protection will drop as well. The best way to keep item protection high is to learn regularly, learn a lot, and provide honest priority evaluations
  • Your measured forgetting index will increase if you are honest with priorities in an overloaded collection. However, it will more honestly reflect your actual knowledge of the material in the collection. To see how forgetting index changes with priority, see Toolkit : Statistics : Analysis : Graphs : Forgetting index vs. Priority
  • If you manually change the interval, element priorities will change. If you shorten the interval, the priority will automatically increase. If you delay the next repetition, the priority will drop.
  • Priority protection can at times drop by a huge margin in a single day. This is not a reason to worry, as long as this does not become a trend. For example, if you discover a set of clozes whose priority is too low, and you increase that priority in the entire set, all items that have been outstanding, but not at the front of the outstanding queue, will affect the item protection measurement on the next day. This is a one-day phenomenon. However, you will also notice a destructive impact of massive up-prioritizations. It is easy to say "that branch is very important", and very difficult to undo the damage by indiscriminate change of priorities.
  • If you are curious which postponed item reduced your item protection (Priority protection), choose View : Recent : Postponed, choose Child : Items on the browser menu, and sort by priority (e.g. by clicking the Prior column heading). The offending item should land on top. It will tell how your item protection dropped. This is the highest priority item missed on the previous day of learning.
  • A simple way to get the feel of the relative importance of an article is to look at the After and Before fields in the Element priority dialog box (Alt+P).

    SuperMemo: A simple way to get the feel of the relative importance of a given element is to look at the After and Before fields in the Element priority dialog (Alt+P)

    Figure: A simple way to get the feel of the relative importance of a given element is to look at the After and Before fields in the Element priority dialog box (Alt+P). In the picture, an extract from a Wikipedia article about the glymphatic system receives priority 42%. This priority is comparable with topics about morpheeins and about the autapse term.

  • The main difference between lifelong learning and school learning is that schools artificially distort the priority of the learning material. Before an exam, a section of material must receive high priority and high processing, while after the exam, the same material must be realistically re-assessed (which usually means a manifold decrease in priority and heavy dilution of the overload).

Priority queue: Summary