Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Fine but what to use in practice. Tried Anki and found its algorithm bit infuriating. SuperMemo is better but thoroughly proprietary.


When building a spaced repetition toy, the most satisfying algorithm I found was:

* Model the forgetting curve as p = 2 ^ (−∆/h) (p = probability of recall, ∆ = time since last review, h = forgetting half-life for a particular card and user) (see https://research.duolingo.com/papers/settles.acl16.pdf)

* Numerically fit this curve to the last ~10 recent reviews of the card by the user to give an estimate for h (the half-life but effectively the intrinsic "difficulty" of the card for that user)

* Schedule the next review of the card at the time when a particular recall probability is reached. This probability should be configurable by the user: >90% for an "easy" session, <70% for a "hard" session.

* Use the "due date" to queue up cards for review. If a user reviews a card _before_ the due date, ensure that the half-life is never reduced after a succesful review. Provide some feedback to the user to suggest they stop the session when there are no pending cards left ("10 more cards due today, 100 cards due tomorrow, 1000 cards due next week")

* Don't schedule the same card twice in a row as this is annoying for the user. If it has just been reviewed and is due next, move it back to second place in the queue.

I found this works well once there are 2 or more reviews of a particular card for a particular user. For scheduling the _second_ review of the card I had to invent a heuristic like: if first review failed, schedule again in 1 minute, if first review passed schedule again tomorrow. However in apps where many users are reviewing the same cards, you could probably build a good model of the difficulty of a card for a user before 2 reviews by considering the performance of other users on that card.


Whats wrong with Anki? Works like a charm for me


I never got try the algorithm - I simply don’t get the UI in spite of all my best efforts. I’m looking for a wanikani like tool, with the same srs , and same excellent and simple ui. I’ll have a look at supermemo ( I don’t mind paying ).


That is surprising, I don't even remember having to look up that much to use the Anki UI.

I make cards on a linux desktop and sync to ankidroid.

Really one of my all time favorite pieces of software. I would have given anything to have had this 30 years ago in school.


If you’re looking for a vocabulary tool, I just released an app for this: https://deft.so. It uses FSRS, which I’ve found to be perfect for me.


You might like Mochi for macOS and iOS.

www.mochi.cards


This looks exactly like what I’m looking for. Thanks.


Have you tried Anki since FSRS was introduced? If not, may be worth giving it another shot.


I did. It gave me absurdly long intervals. It kind of assumed that since I can remember some things easily (usually because I learned them outside of Anki), it totally makes sense to assume that about everything.

I tried anki multiple times, ended up disliking it each time. FSRF did not made it better.


In my experience, the long intervals can freak you out at the beginning. You might think that it's just stupid and not possible to have that long intervals ("I will remember that in 3 years!?").

But in practice long intervals are shortened when you answer wrong once or more, or when you mark the answer as "hard" when it actually takes time for you to recall a card.

For me FSRF really work well, sometimes I see cards that I feel are really showing quite often and when I check the card history it usually shows that I had some "again"/"hard" answers in some recent past, and because of that these intervals and not increasing that much.

Plus you can also always increase "desired retention" from default 90%. You will have shorter intervals, but it will of course increase number of the reviews too.


The big interval was something like 3-6 months. Mostly 3 months, but some had 6.

I just concluded I am better off without algorithm that assumes once I have seen a word on flashcard once, it is reasonable to see it next time in months.


Did not know they added it, thanks for the info.


Sorry what is FSRS? And when was it released?


It's a new algorithm that was integrated into the Anki codebase from a very popular add-on, maybe around 2023 or so. I switched over to it basically immediately, and it works like a charm.

https://news.ycombinator.com/item?id=39002138


To add to what hiAndrewQuinn said:

It basically works by optimizing parameters of the "memory model" against your review history, thus fitting against your particular memory instead of using a one-size-fits-all approach.

It is described in (much) more detail here: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: