How does Pleco SM2 calculate intervals?

CalebLA

秀才
Hello,

I'm curious about how Pleco SM2 is calculating intervals.

More specifically, how are the "Interval scale," "'Perfect' interval bonus," "Hard interval scale," and "Default easiness" related to each other in the equation?

I've been successfully using steps in Pleco to mimic Anki's behavior. Still, I've been experimenting to see if I can mimic Anki's behavior without using steps as Anki does (except for the default 60s 10m steps).

Throughout my experiments, I've realized that although Anki and Pleco have the same settings, they apply them differently. The same Pleco and Anki settings yield different results.

I created a test of some settings to see what settings yielded what. The results are interesting. In fact, some of the numbers I get are beyond my explanation.

From what I've researched, Anki calculates the next interval by multiplying (day) x (interval modifier) x (starting ease).
With these settings, I got 3d with Anki after 1d, 1.00 interval modifier, and 3.00 starting ease. 1(1.00)(3.00) = 3

Yet with Pleco, this didn’t seem to be the case.
I created several test modes to find out which values influenced what. I only changed the Interval and Easiness values to keep it simple. Perfect bonus is 1.3, and Hard interval is 1.2.
I had two tests for each pair of settings, in one of them I made every card “Good”, and in another one, I pressed “again” at least once for every card. I thought it might influence the output values.

All the cards yielded the correct value of “24hr” after being selected “Good” twice.

Here are my results the following day:

Interval of 1.00 and Easiness of 3.00 = Good 2d22h, Easy 4d
Interval of 1.00 and Easiness of 3.00, all incorrect = Good 2d22h, Easy 3d15h

Interval of 1.91 and Easiness of 1.31 = Good 2d10h, Easy 3d50min
Interval of 1.91 and Easiness of 1.31, all incorrect = Good 2d10h, Easy 3d42min

Interval of 3.00 and Easiness of 1.00 = Good 3d18h, Easy 4d18h.
Interval of 3.00 and Easiness of 1.00, all incorrect = Good 3d18h, Easy 4d18h
(I was thinking this value would be a perfect 3d like Anki, but I'm not sure why the 18h comes in.)

Control of default SM2 settings yielded 2d10hrs for Good.

How can I modify my settings to get an even 3d like Anki?

Thank you,

Caleb
 

CalebLA

秀才
Hello,

Just wanted to update:

Some interesting observations with the values:

It seems Pleco is multiplying day values roughly by 2 to get to the next interval, regardless of the settings.

I would get values like 6d2h or 5d7h, which makes sense if the day values are roughly multiplied by 2.

After that, I got values of 1w2d or 1w6d.

I'm not sure if this is a bug, but I would think the Intervals to be 1d,3d, and 1w2d, multiplied by a factor of three (with the interval or easiness settings at 3.00 or 1.00, respectively) like it is with Anki.

Please let me know if you would like any screenshots.

Thank you for your time. Everything else is working great!

Caleb
 
Last edited:

mikelove

皇帝
Staff member
My initial investigation suggests that the problem is caused by a difference in how we calculate 'actual interval' - Anki does it in whole days, so if you review a card at 11pm and then again at 6am it still counts as 1 day, but we look at the actual difference in times.

From a learning algorithm standpoint I'd actually favor our approach, but since Anki compatibility is kind of the point of SM-2 we'll change it to behave more similarly. Thanks.
 
Top