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

refactor optimal retention to minimize workload per memorization & fix progress goes backwards #3065

Conversation

L-M-Sherlock
Copy link
Contributor

@L-M-Sherlock L-M-Sherlock commented Mar 10, 2024

I will update the dependency after the following PR is merged:

Help wanted:

  • brief introduction of this feature.
  • notice user that desired retention < optimal retention is worse than desired retention > optimal retention because the former means less memorization & more workload and the latter means more memorization & more workload.
  • notice user that the setting of Maximum interval would affect the result.

@Expertium, could you help me?

Edit:

This PR also contains:

@Expertium
Copy link
Contributor

Expertium commented Mar 10, 2024

Perhaps just add a short text description under "Compute optimal retention (experimental)"? The problem is how to make it short and concise.

Setting desired retention lower than optimal is not recommended. Also, changing the maximum interval will impact the result.

EDIT: on second thought, max. interval should be a setting under "Compute optimal retention (experimental)", for 2 reasons:

  1. It makes it way more clear than any text that max. interval affects the result.
  2. Some users may get too carried away with playing with this new option and forget to revert max. interval to its initial value.

@L-M-Sherlock
Copy link
Contributor Author

EDIT: on second thought, max. interval should be a setting under "Compute optimal retention (experimental)", for 2 reasons:

These two settings are in the same section and their positions have been very near.

image

@Expertium
Copy link
Contributor

Expertium commented Mar 10, 2024

Ok, then just add a text message: Setting desired retention lower than optimal is not recommended. Additionally, changing the maximum interval will affect the result.

The problem is that having a setting that affects the result of "Compute optimal retention" outside of, well, "Compute optimal retention", is weird.

@dae
Copy link
Member

dae commented Mar 11, 2024

notice user that desired retention < optimal retention is worse than desired retention > optimal retention because the former means less memorization & more workload and the latter means more memorization & more workload.

To confirm I understand you correctly, do you mean:

  • If the computed optimal retention (OR) is < desired retention (DR), we should say something like "Your desired retention is below optimal. Increasing it is recommended"?
  • If OR >= DR, we show no message?

The problem is that having a setting that affects the result of "Compute optimal retention" outside of, well, "Compute optimal retention", is weird.

It's already using a bunch of other information from the collection such as pass rates and the configured parameters. Do we really need to treat max interval differently?

@L-M-Sherlock
Copy link
Contributor Author

  • If the computed optimal retention (OR) is < desired retention (DR), we should say something like "Your desired retention is below optimal. Increasing it is recommended"?

Do you mean DR < OR? If so, it's what I mean.

@L-M-Sherlock L-M-Sherlock marked this pull request as ready for review March 11, 2024 03:48
@L-M-Sherlock L-M-Sherlock changed the title Feat/optimal retention for minimal workload per memorization refactor optimal retention to minimize workload per memorization & fix progress goes backwards Mar 11, 2024
@dae
Copy link
Member

dae commented Mar 11, 2024

A question for release planning: are there many other changes you'd like to make to FSRS before 24.04 releases? Would a stable release in 2-3 weeks after one more rc work, or would you like more time?

@L-M-Sherlock
Copy link
Contributor Author

There will not be many more changes, except that currently I'm trying to optimize the performance of optimal_retention, but there has been no progress so far.

@dae
Copy link
Member

dae commented Mar 11, 2024

Thanks guys!

@dae dae merged commit 8c9d7d6 into ankitects:main Mar 11, 2024
1 check was pending
@L-M-Sherlock L-M-Sherlock deleted the Feat/optimal-retention-for-minimal-workload-per-memorization branch March 11, 2024 09:43
@Expertium
Copy link
Contributor

Too bad I thought about this so late, but still: it's not obvious at all what "optimal" means, so I think there should be a short sentence saying something like "This value of retention minimizes the amount of studying per day" or something along those lines.

@L-M-Sherlock
Copy link
Contributor Author

it's not obvious at all what "optimal" means

I'm writing a wiki page for it. Could you help me? Here is the link: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-optimal-retention

@Expertium
Copy link
Contributor

I meant that it should be clarified within Anki itself.

@Expertium
Copy link
Contributor

@user1823 here's another article that you can help us with, if you want to: https://github.com/open-spaced-repetition/fsrs4anki/wiki/The-Optimal-Retention

@user1823
Copy link
Contributor

I will take a look at it later.

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

Successfully merging this pull request may close these issues.

4 participants