Package: mnemosyne
Version: 2.2.1-2
Severity: normal
Tags: upstream patch

Dear Maintainer,

According to its documentation, mnemosyne follows the SM2 algorithm for
determining how to schedule cards
(http://www.supermemo.com/english/ol/sm2.htm).  When revising a card one
scores the answer from 0 to 5, with 0 being a complete blackout and 5
easy and correct answer.  According to the SM2 algorithm the easyness
score of a card should then be updated depending on the grade of the
answer.  The interval for revision is adjusted according to this
easyness score.  I forget some cards repeatedly after one or two
revisions, because I find them difficult, so I give them 0 and 1 grades,
yet the easyness remains constant.  If I give them 2 or 3 grades, which
should correspond to better, more correct, answers, the easyness of the
cards is decreased.

For grades 3, 4, and 5, mnemosyne handles the change in easyness
correctly, but for 0, 1, and 2 it does not.  For 2 the easyness is
updated, but changed too little (increment of -0.16 instead of -0.32
according to the SM2 algorithm).  For 0, and 1, where the easyness
should be reduced by 0.54 and 0.8 respectively, nothing is done.

I am attaching a patch which should be applied to
/usr/lib/python2.7/dist-packages/mnemosyne/libmnemosyne/schedulers/SM2_mnemosyne.py


-- System Information:
Debian Release: 8.0
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages mnemosyne depends on:
ii  libicu52           52.1-7.1
ii  libqt4-sql-sqlite  4:4.8.6+git64-g5dc8b2b+dfsg-3
ii  python             2.7.8-4
ii  python-cherrypy3   3.5.0-1
ii  python-matplotlib  1.4.2-3.1
ii  python-qt4         4.11.2+dfsg-1
ii  python-qt4-sql     4.11.2+dfsg-1

mnemosyne recommends no packages.

mnemosyne suggests no packages.

-- no debconf information

489a490,493
>              if new_grade == 1:
>                  card.easiness -= 0.54
>              if new_grade == 0:
>                  card.easiness -= 0.8
497c501
<                     card.easiness -= 0.16
---
>                     card.easiness -= 0.32

Reply via email to