Closed L-M-Sherlock closed 1 month ago
However, it would break load balance & easy days.
What if we create a new option for this feature? Well, the add-on's menu is getting complicated but I think that this feature deserves it own entry.
A new option also makes sense because I want this option to handle cards with siblings differently (https://github.com/open-spaced-repetition/fsrs4anki-helper/issues/419#issuecomment-2358462153).
A clearer restatement of my suggestion there: When "Disperse siblings after rescheduling" is enabled, reschedule ONLY the sibling whose current interval deviates the most from the ideal one. The disperse function that runs automatically will handle the rest.
I'll copy what I said in the related issue
If you want me to test different values, you can make reduced_odds = (1-x)*odds
and increased_odds = (1+x)*odds
, where x can be configured in add-on config.
@user1823
I think that this feature deserves it own entry.
I disagree. First of all, if there are two rescheduling features, the user will be like "So this is rescheduling and this is also rescheduling...what's the difference? Which one should I use?". Second of all, ideally, this new change should make rescheduling better (in the sense that the backlog will be smaller), and if it's better, it should supercede the current method.
Alright, I tested the backlog that I get with different thresholds on one of my decks 0% - 1024 due cards 5% - 1030 10% - 1035 15% - 1018 20% - 960 25% - 1017 30% - 889 35% - 834
I don't know what's going on. For some reason not only is the backlog not decreasing much, but for some values it actually increases compared to when the threshold is 0%.
@user1823 give it a try
I don't know what's going on.
Did you disable Load Balance
and Disperse Siblings after rescheduling
? Even though the user might want to use these options, we need to disable these during testing so that we can see the trend.
Before rescheduling: 101 cards due
After: 0% - 2184 10% - 2074 15% - 1751 20% - 1340 25% - 950 30% - 606 40% - 222
Some suggestions:
if card.ivl >= adjusted_ivl_lower and card.ivl <= adjusted_ivl_upper:
, add fsrs.desired_retention = dr
. Currently, this will be a non-functional change. But, it can prevent many bugs in the future.reduced_odds
and increased_odds
to odds_lower
and odds_upper
respectively.Did you disable
Load Balance
andDisperse Siblings after rescheduling
? Even though the user might want to use these options, we need to disable these during testing so that we can see the trend.
Nope, my bad. Based on your results, 25% seems good. It reduces the backlog in half.
I also tried with Disperse Siblings after rescheduling
enabled. Here are the results:
Before rescheduling: 101 cards due
After: 0% - 2075 10% - 1987 15% - 1689 20% - 1313 25% - 963 30% - 653 40% - 292
The results show the same trend as above.
Based on your results, 25% seems good. It reduces the backlog in half.
Yes. It will reduce further after the first suggestion in https://github.com/open-spaced-repetition/fsrs4anki-helper/pull/462#issuecomment-2365239994 is implemented.
Alright, I turned off Load Balancing. 0% 1320 due cards 5% 1318 10% 1314 15% 1300 20% 1264 25% 1175 30% 1094 35% 1044 40% 958
While the change isn't as big as in your case, it's clear that it does help at least somewhat.
By the way, as L-M-Sherlock said, in the current form, this feature breaks load Balancing and Easy Days because the add-on won't reschedule the cards whose intervals had to change by a small amount.
We can easily fix Easy Days by adding and not self.apply_easy_days
to if card.ivl >= adjusted_ivl_lower and card.ivl <= adjusted_ivl_upper:
.
However, fixing load balancing requires either
IMO, the second choice is better because it will also allow the user to completely reschedule their cards even if they don't want to use load balancing.
close #419
patch: fsrs4anki-helper.ankiaddon.zip
However, it would break load balance & easy days.