GithubHelp home page GithubHelp logo

Comments (7)

Arthur-Milchior avatar Arthur-Milchior commented on July 23, 2024 3

I already did read your Free-spaced-repetition-scheduler. Thank you by the way, to document so much.
That’s in this page that I saw that each w_i was used only once, and so that I had the desire to find a better name.
I’ll plainly admit that I’m not certain what would be a perfect name. I’d even state that I believe that it would be acceptable to find a name that only makes sense to someone who read your wiki. The goal is not to have the name being perfectly clear to an user lambda that tries your software. The goal would be to have the name making some sense for an advanced user that cares about this topic and took the time to read your work. And for such an advanced user, I believe that, for example, "initial_difficulty_again" would be clearer than w_0, and "initial_difficulty_delta" would be clearer than w_1.
The equation initial_difficulty_again + initial_difficulty_delta (G-1) is more intuitive to me.

Admittedly, in this case, instead of the Delta, I’d consider using initial_difficulty_hard as an extra value. It’s easier to think about the value for "again" and for "hard", than to think about the value for "again" and the value for the difference between two buttons. I admit however that it would make the equation less clear, since it would become initial_difficulty_again + (initial_difficulty_hard - initial_difficulty_again) * (G-1).

Thanks for letting me know for the parser. I plainly admit I missed this line.
But if we go with the idea that the user manipulate the w as a dictionary (python) or object( js) and that Python encodes it as this array to work internally, it would not be an issue.
other options would be simply to keep the object/dict everywhere, and to use a json parser instead. At least, it’s clear that the json library is already available in anki’s python.

from fsrs4anki.

MNastri avatar MNastri commented on July 23, 2024 3

I agree with Arthur on this because when I was reading the scheduler I had to rename the weights to something in order to understand what each was doing.

As an example, I used this for the items w[0] trough w[12]:
initial_stability_for_good_answer initial_stability_for_again_answer (e:sorry for the confusion)
initial_stability_step
initial_difficulty_for_good_answer
initial_difficulty_step
new_difficulty_for_good_answer
new_difficulty_reversion_to_mean_speed
new_stability_difficulty_factor_after_success
new_stability_stability_factor_after_success
new_stability_recall_factor_after_success
new_stability_adjustment_factor_after_failure
new_stability_difficulty_factor_after_failure
new_stability_stability_factor_after_failure
new_stability_recall_factor_after_failure

I'm not proposing to change any of the weights names to this but you could maybe add another representation for users understand what the weights relate to.

from fsrs4anki.

L-M-Sherlock avatar L-M-Sherlock commented on July 23, 2024

It is hard to name these values. The function of each value is described here: https://github.com/open-spaced-repetition/fsrs4anki/wiki/Free-Spaced-Repetition-Scheduler

from fsrs4anki.

L-M-Sherlock avatar L-M-Sherlock commented on July 23, 2024

I have updated the Usage screenshot just now.

from fsrs4anki.

L-M-Sherlock avatar L-M-Sherlock commented on July 23, 2024

By the way, FSRS4Anki helper used Regex to extract the weights of FSRS4Anki scheduler:

https://github.com/open-spaced-repetition/fsrs4anki-helper/blob/cffb814ca5829fcb4449ab8420eed23e1273e8d6/reschedule.py#L48

from fsrs4anki.

L-M-Sherlock avatar L-M-Sherlock commented on July 23, 2024

Maybe I could add these names of parameters to the comments of the code.

I'm not proposing to change any of the weights names to this but you could maybe add another representation for users understand what the weights relate to.

Do you mean that it is better to add these names of parameters as comments to the scheduler's code?

from fsrs4anki.

MNastri avatar MNastri commented on July 23, 2024

That would be a good solution.

The first time I tried the scheduler, it was just blind faith without knowing what any of these weights meant at all.

from fsrs4anki.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.