fasiha / ebisu

Public-domain Python library for flashcard quiz scheduling using Bayesian statistics. (JavaScript, Java, Dart, and other ports available!)
https://fasiha.github.io/ebisu
The Unlicense
312 stars 32 forks source link

is the java version of ebisu same as the python one ? or is there Rust version one? #53

Open conanchen opened 3 years ago

fasiha commented 3 years ago

Good questions!

No, the Java version is using the 2.0 version of the Ebisu API while the Python version is to 2.1, which just added some new features: see changelog.

As far as I know there isn't a Rust version but I would be very happy to help write one. @ttencate's Dart port cites the Java version as the main reference. You'll need a Rust implementation of gammaln and a 1D optimization function (for mathematical optimization, i.e., function minimization, like golden search).

I'd like to share that a major overhaul of Ebisu is coming in the next few weeks—I've been working on it every day 😅 (in this repo).

It addresses #43 and I'm hoping to write a request for comment (RFC) issue in a few days describing the new API, but in a nutshell,

If you're writing a new quiz app, Ebisu 2.0 and 2.1 are totally fine to use: we've detailed their flaws in #43 but if your quiz app doesn't need numerically-precise predictRecall, and just needs cards ranked from lowest to highest recall, then Ebisu 2.x will be fine. If you want to wait for v3, again, I'm hoping to publish it in a few weeks.

Happy to answer further questions!