The attached file, when loaded, provides two new commands:

  M-x org-smart-reschedule
  M-x org-agenda-smart-reschedule

The latter being only for the *Org Agenda* buffer.

You should use these commands on a scheduled entry, with state logging enabled for the DONE state. It then reschedules the item to a future date based on the "SM-5" algorithm and a quality factor you are prompted for.

To summarize the SM-5 algorithm:

1. After you read an item on the scheduled day, you hit M-x org- smart-reschedule.

2. You are then asked how well you remember what you just read, from 0-5:

     5 - perfect response
     4 - correct response after a hesitation
     3 - correct response recalled with serious difficulty
2 - incorrect response; where the correct one seemed easy to recall
     1 - incorrect response; the correct one remembered
     0 - complete blackout.

3. If your answer is 4 or 5, the item will not be repeated. If it is anything
     else, the item is rescheduled, to be read again on a future date.

4. Based on the quality of your response, AND the number of times you've read the item so far, the amount of time being reschedulings will vary. If your retention is good, the gaps grow wider; if it is poor, they grow shorter.

5. Your "learning data" is kept in a special property called :LEARN_DATA:. Do not modify this, as it controls how the algorithm reschedules after future
     repetitions, and based on past quality responses.

More about this algorithm can be read here: http://www.supermemo.com/english/ol/sm2.htm .

This contribution is made in honor of Russell Adams, who drove all the way to New Jersey from Kennedy airport to visit me today, and who brought up the idea of implementing it, based on an earlier proposal by Pere Quintana SeguĂ­ (http://article.gmane.org/gmane.emacs.orgmode/17781 ).

John

Attachment: org-learn.el
Description: Binary data

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to