Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Improve the S increase formula for same-day reviews #708

Open
Expertium opened this issue Nov 24, 2024 · 12 comments · Fixed by open-spaced-repetition/fsrs-optimizer#150
Labels
enhancement New feature or request

Comments

@Expertium
Copy link
Collaborator

Expertium commented Nov 24, 2024

Conversation on Discord

this won't be much help, but can u start an issue in the repo so that at least there's a place tracking this? someone might help in the future

#707 (comment)

Yes, this is one of the three edge cases where this formula doesn't work well. image

  1. If the user had one or two learning steps, but then switched to something like 30s 2m 5m 15m 30m 1h 2h 4h 6h 8h, then his stability will be overestimated.
  2. If the user uses a filtered deck to do an unlimited number of same-day reviews (your case).
  3. If the user is in a Good - Again - Good - Again loop (during the same day), stability will either explode or fall to near 0. This is possible if his learning steps are, for example, 10m 30m.

There is no solution as of today, so all 3 of these will remain troublesome for the foreseeable future.

@brishtibheja

@Expertium Expertium added the enhancement New feature or request label Nov 24, 2024
@brishtibheja
Copy link

I'll explain my problem which I think has some solution.

Screenshot_2024-11-25-15-55-33-88_a9eef3a2a561b80d5c76daebd0f9a14c

For this one particular card, it graduates from learn state with an interval of 4d. Then after 4 days, it's failed which decreases the S but after going through the 1m 10m steps, the S ends up higher than what it was previously.

Now, that card gets a 9d interval and I fail it again. This card then graduates with a 14d interval, and I think I'll fail it again and it'll still keep increasing.


What about capping the stability such that same-day reviews cannot make S higher than what it was before entering learn state?

@L-M-Sherlock
Copy link
Member

@brishtibheja what's your FSRS params?

@brishtibheja
Copy link

0.5449, 0.9534, 2.2070, 3.8619, 7.3596, 0.5176, 1.7702, 0.0131, 1.3728, 0.4685, 0.8708, 2.0235, 0.0497, 0.3956, 2.2553, 0.9520, 2.5297, 0.5325, 0.7536

@L-M-Sherlock
Copy link
Member

According to the previewer, the PLS is not greater than the stability before entering relearning state:

image

@brishtibheja
Copy link

Not completely sure how will I get increased ivls then.

Here's the file:
選択中のノート.zip

(rename to .apkg)

@L-M-Sherlock
Copy link
Member

Emmm. This problem is caused by two factors:

  1. The PLS seems too large (1.22⁩ -> 1.19, 3.15⁩ -> 1.92⁩⁩, 4.27⁩ -> 2.55⁩).
  2. The stability increases too fast during the same-day reviews.
image

Solution:

I haven't figured it out.

@L-M-Sherlock
Copy link
Member

@brishtibheja, could you send your collection file to me? I can make some analyses about the PLS based on that.

@brishtibheja
Copy link

FYI I have tried Sherlock's recommendation and changed relearning step to 8m from 1m 10m but I still observe cards getting higher stability than they entered learn state with. Though it's less aggressive than before with this.

I want to ask if some sort of capping the stability wouldn't work in this case?

@L-M-Sherlock
Copy link
Member

but I still observe cards getting higher stability than they entered learn state with.

What about setting the last parameter to zero?

@Expertium
Copy link
Collaborator Author

I have a good idea, but it requires adding another thingy to the memory state - the number of same-day reviews - and more parameters. I haven't benchmarked it yet.
Also, if Jarrett is unwilling to release FSRS-5.X, then it's moot anyway.

@L-M-Sherlock
Copy link
Member

Another case:

  • A had no relearning steps: again interval was 6 days, and the subsequent interval 13 days (rated easy)

  • B had a 15 minute relearning step: subsequent interval was 23 days when adjusted to the same parameters (rated good)

This seems to follow a larger pattern and I'm confused as to why it is happening. Intuition would suggest that recalling a card after the more aggressive interval FSRS provides would result in a larger subsequent interval but this has not been my observation.

In summary: Rating Good in the same day has a higher SInc than rating Good in the next day. It violates the spacing effect.

source: https://www.reddit.com/r/Anki/comments/1h9g1n7/comment/m10vqz0/

@Expertium
Copy link
Collaborator Author

Expertium commented Dec 16, 2024

I actually think that this is plausible. What I mean is that if someone from 2100 handed us the code for the world's most advanced spaced repetition algorithm that models short-term and long-term memory differently, it would behave this way.
If we use the same R-dependent model for all reviews, then yes, this shouldn't happen. But I think short-term SInc doesn't depend on R.
Again, I haven't benchmark it yet. First, I'll work on FSRS-5-secs, and then, if my new formula for short-term SInc works in FSRS-5-secs, I'll adapt it to FSRS-5 and benchmark it.
Note that it will require new parameters, so if we decide to use it, you will have to release a new version of FSRS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants