Closed GoogleCodeExporter closed 9 years ago
AnyMemo 10.x didn't change the interval calculation method from 9.x. If you
think the result if unexpected. Could you upload a small sample XML and give me
more detail about what you expect?
Original comment by mrlhwlib...@gmail.com
on 1 Apr 2013 at 2:15
I imported a XML exported from SuperMemo CE 4.50 about three month ago.
Actually it was AnyMemo 9.x which does the import. Since then i test it
daily and upgraded to AnyMemo 10.x when it arrived.
Here more details on the issue: On 20013/04/01 I was asked to answer one
item which had the following details (only non zero values) before the
answer was given:
last_learn_date 2011/07/08
next_learn_date 2013/04/01
grade 1
easyness 1.3
acq_reps 18
lapses 5
It was a well learned item thus SuperMemo assigned a long interval. This
item never came up in AnyMemo yet.
After answering the question in AnyMemo the following details are assigned:
last_learn_date 2013/04/01
next_learn_date 2013/04/03
grade 4
easyness 1.3
acq_reps 19
acq_reps_since_last_lapse 1
The question was asked showing 1 day in the answering grade buttons.
Irrespective of the answer "easy" or 4 and it's long history as known item
it is now dealt as a new item.
I would expect being asked with more then 600 days in the grade buttons and
with grade 4 as answer being assigned a next_learn_date anywhere in 2016.
Maybe the grade 1 from SuperMemo causes confusion.
Original comment by thiel...@googlemail.com
on 2 Apr 2013 at 9:54
Ok, the grade 1 did confuse AnyMemo. AnyMemo thinks the card failed last time.
In AnyMemo's algorithm, if the last time you failed, you need to review nearly
immediately.
Original comment by mrlhwlib...@gmail.com
on 4 Apr 2013 at 6:22
I skimmed through the source code of AnyMemo meanwhile. Grade 1 during
import from SuperMemo is assigned because of the AFactor is less than 1.5.
Looking at SuperMemo's CE 4.5 XML export shows that an AFactor of 1.2 is
very common if there was only a single lapse. Learning means that lapses
are very frequent (that's why you learn it), thus nearly every item in
SuperMemo has an AFactor of less than 1.5 what lets AnyMemo's import decide
of giving it a grade 1 and effectively make it a new entry. That way the
whole learning status of the collection is almost lost.
I'd prefer if you assign a grade 2 even for low AFactors if you see an
interval of, say, 20 in the imported item. For grade 2 AnyMemo uses the old
interval as basis for the new one (if I saw it correctly).
Original comment by thiel...@googlemail.com
on 5 Apr 2013 at 8:59
Thank you for the investigation. This part of code was written nearly 2 years
ago. I will need to find out why I did that way.
Original comment by mrlhwlib...@gmail.com
on 6 Apr 2013 at 6:28
Some investigation shows that AFactor 1.2 means the card is very difficult.
Originally I don't know how to determine if a card that failed without review.
I think Interval might tell more story. 0 interval may mean you graded 0 or 1
last time but you did not review it.
I don't have SuperMemoCE to do my own experiment any more.
Could you export an XML with a card marked failure (Grade lower than "Pass")
and attach here (Or email me liberty [at] anymemo.org)?
Reference: http://help.supermemo.org/wiki/Glossary:A-Factor
Original comment by mrlhwlib...@gmail.com
on 7 Apr 2013 at 12:50
Thank you for your email about the PPC XML file. I don't think I got enough
data, especially a failed card in your XML.
But I do manage to release a change for the logic of grade determination.
http://code.google.com/p/anymemo/source/detail?r=a5f9f71fcc42e5fa8c2ce44e33e6f79
0c5a9f40e
It will be released in tomorrow's nightly build
http://anymemo.info:8080/autobuild/
(You can uninstall current free version and install the nightly build). If you
can, please try it out and let me know if it works.
Original comment by mrlhwlib...@gmail.com
on 11 Apr 2013 at 5:33
Actually, you can also try 10.1 beta 2 in the download section here.
Original comment by mrlhwlib...@gmail.com
on 11 Apr 2013 at 5:39
I looked at the code change and tested with 10.1 beta 2.
It now works as expected! Thanks for your fast problem solving.
You wanted to see a failed card in the XML (though I never had a problem
importing that type).
Here it is:
<SuperMemoElement>
<Type>Item</Type>
<Content>
<Question>sticks and stones</Question>
<Answer>lifeless things</Answer>
</Content>
<LearningData>
<Interval>3</Interval>
<Repetitions>1</Repetitions>
<Lapses>4</Lapses>
<LastRepetition>11.04.2013</LastRepetition>
<AFactor>1.200</AFactor>
<UFactor>1.000</UFactor>
</LearningData>
</SuperMemoElement>
It had an interval of 400 days before and I graded it "fail" resulting in:
<Interval>3</Interval> and a reduction of AFactor to 1.2.
SuperMemo CE has to grades even worse: "bad" or "null" giving an interval of 2
resp. 1 day.
This card was imported by AnyMemo's new logic with a next_learn_date of
2013/04/14 and a grade 2 with an easyness of 1.0.
That is exactly what I would have expected.
Longer intervals are preserved now with you new import logic.
Thanks, Andreas
Original comment by thiel...@googlemail.com
on 11 Apr 2013 at 10:46
Great. Thank you for providing the info. I'd like to see the failed card
learning data because I want to verify my change didn't break the logic to
determinleanringe failure cards.
Original comment by mrlhwlib...@gmail.com
on 11 Apr 2013 at 5:32
I think this problem is modified now. Call it done unless you still find it a
issue.
Original comment by mrlhwlib...@gmail.com
on 17 Jul 2013 at 9:42
Original issue reported on code.google.com by
thiel...@googlemail.com
on 30 Mar 2013 at 1:32