Bug?: New FSRS 6 parameters not appearing after reoptimizing

A few days ago, I updated to Anki 25.07 to try out the new FSRS 6. So after updating, I went to my decks settings and clicked optimize. However, I noticed that after optimizing, there where still only 19 parameters even though FSRS 6 now has 21. Also, restarting Anki did not make the parameters appear. What I needed to do is to first reset the parameters and then optimize for the additional parameters to be computed. I am unsure whether the other 19 parameters where proper FSRS 6 parameters. I had this issue with both of my decks.

Is this intended behaviour? If so, where is it comunicated that this is a step that needs to be taken?

Disable the health check tick box and do you get the text ā€œYour FSRS parameters are already optimalā€œ?

I made a pr in case it is this.

1 Like

Yes I do. When I do tick the box, this text does not appear.

However, this changes nothing about the missing parameters, so I think this is unrelated to the issue?

This means that FSRS 5 is outperforming FSRS 6 for that preset. If you want to use FSRS 6 anyway, clear your existing parameters before hitting optimize.

Oh, I didn’t know that Anki only updates the FSRS version when it actually performs better. So, if I already updated to FSRS 6, can I just copy the old FSRS 5 parameters into the field and then Anki will revert to FSRS 5?

Yep .

Awesome. Well then, thanks for helping!

1 Like

@L.M.Sherlock could you confirm that’s actually the case? My assumption was that if a lower param count is detected (= older fsrs), the missing params and just filled in prior to feeding it into fsrs6?

Here are some cases that the old parameters are used:

My understanding is as follows: ā€œNo, Anki doesn’t revert to FSRS5. It fills in the missing parameters, and uses those with the FSRS6 algorithm.ā€

@L.M.Sherlock can you confirm that’s correct?

Yes. Anki will use FSRS6 with the FSRS5’s parameters in this case.

The missing parameters are replaced by the values that were hardcoded in FSRS-5. So, it is equivalent to using FSRS-5.

That keeps me wondering, if FSRS-6 is a true generalization of FSRS-5, I’d expect the optimal parameters for FSRS-6 to perform no worse than FSRS-5. Why does it perform worse? Does the optimization fail to find the optimal solution?

Also, now three weeks later, I have again tried to reoptimize the parameters of the same deck (after switching to FSRS-6) and again, the parameters don’t change. I just get the message ā€œFSRS can adapt to your memory wellā€ and nothing else. It also does not cause a reschedule when I tick that option.

If you want new FSRS-6 parameters regardless, you need to blank out your FSRS-5 parameters first.

If there’s no change, there won’t be a reschedule ā€œon change.ā€

But if you want to reschedule your cards even though you don’t have new parameters (or even if you eventually get new parameters), you should use the FSRS Helper add-on instead.

Yes, the optimizer is not always able to find the most optimal parameters. This is something that can’t be fixed, but Anki prevents new parameters from being used if they turn out to be worse than the previous ones.

There is no reason to do that, though.

1 Like