Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the spaced repetition algorithm to generate the day intervals?

I am implementing a flashcard game and I want to implement spaced repetition. I don't need something complex like in SuperMemo, but simply space the learning based on the score for each card.

What I am looking for at the moment is how to calculate the number of days until a card is shown again, based on its score. I found that ZDT uses the list in the screenshot below (1, 2, 3, 5, etc.). Does anybody know how to dynamically generate this list (so that I can calculate beyond a score of 12)?

Or perhaps could someone guess what math function I could use to generate the numbers on the ZDT list? They increase exponentially.

enter image description here

like image 755
laurent Avatar asked Oct 25 '22 03:10

laurent


1 Answers

It looks very similar to a logistic curve. I'll run a logistic regression on it and see what comes out.

Here is the data (plotted using WolframAlpha)

Data

Here is the equation I got:

f(x) = 115/(1+2192*EXP(-0.79*x))

Here is the plot with the curve:

Data with curve

Unfortunately the curve isn't very accurate for small numbers.

like image 136
tskuzzy Avatar answered Oct 27 '22 10:10

tskuzzy