helloworld1 / AnyMemo

Advanced Spaced Repetition flashcard learning software for Android.
http://www.anymemo.org
GNU General Public License v2.0
151 stars 53 forks source link

Learning Algorithm customization. #50

Closed helloworld1 closed 9 years ago

helloworld1 commented 9 years ago

Original issue 41 created by helloworld1 on 2012-03-31T00:45:13.000Z:

What is the feature you want? We want to customize the learning algorithm.

How important is it to you? Sometimes people think the learning period is too long or too short. After 9.0, AnyMemo support the decimal scheduling period and separate the algorithm logic in code. So it is easier to do algorithm customization.

Do you think other people also want this feature and why? There are some request about this. Star this issue if you want to get it prioritized.

helloworld1 commented 9 years ago

Comment #1 originally posted by helloworld1 on 2012-03-31T14:17:12.000Z:

Yes, it will be great.

helloworld1 commented 9 years ago

Comment #2 originally posted by helloworld1 on 2012-04-01T02:20:57.000Z:

YES, I need it~

helloworld1 commented 9 years ago

Comment #3 originally posted by helloworld1 on 2012-04-09T03:59:52.000Z:

Yes, it's exactly what I need - thanks!!

helloworld1 commented 9 years ago

Comment #4 originally posted by helloworld1 on 2012-04-09T05:56:01.000Z:

Question for you guys: Do you need the algorithm be global (like global options) or local to each database (like db settings)?

This is an important question needs to be answered and will determined how I implement it. You can't choose both for now.

helloworld1 commented 9 years ago

Comment #5 originally posted by helloworld1 on 2012-04-09T06:28:28.000Z:

都可以……

helloworld1 commented 9 years ago

Comment #6 originally posted by helloworld1 on 2012-04-11T11:04:47.000Z:

Global is enough for me. But you can make it like DB settings. (Every DB has its own settings and global default settings). You can do default algoritm, that I can change. Every new DB inherites this algoritm, but I can change it as I want for every DB.

helloworld1 commented 9 years ago

Comment #7 originally posted by helloworld1 on 2012-04-11T16:52:10.000Z:

As I have said, you can't have both just like "Settings". The main deal is that the option will lose if you uninstall AnyMemo. But it is much much easier to code for me to use global option and the transition can be done without the database format upgrading.

helloworld1 commented 9 years ago

Comment #8 originally posted by helloworld1 on 2012-04-12T14:47:27.000Z:

No needs for me to edit algorithm for every DB. So I vote 1 global algorithm. (Maybe you'd better make voting on main anymemo page.)

helloworld1 commented 9 years ago

Comment #9 originally posted by helloworld1 on 2012-04-22T18:44:14.000Z:

I would really appreciate this feature.

I think the SRS numbers are a bit off though. For example on one word, the ranges are

0 forgot(+0.0) 2 very hard (+4.7) 4 easy (+5.0) 5 very easy (+5.2)

Shouldn't it have more spread something like this for example? 0 forgot (/2) 2 very hard (+1) 4 easy (+3) 5 very easy (+7)

helloworld1 commented 9 years ago

Comment #10 originally posted by helloworld1 on 2012-05-13T20:36:53.000Z:

Did this feature get implemented? If so, how does one use it? Thanks.

helloworld1 commented 9 years ago

Comment #11 originally posted by helloworld1 on 2012-05-13T20:46:52.000Z:

It is planned in next version. It will be in Options.

helloworld1 commented 9 years ago

Comment #12 originally posted by helloworld1 on 2012-06-13T08:59:57.000Z:

This is great news!

helloworld1 commented 9 years ago

Comment #13 originally posted by helloworld1 on 2012-06-22T23:11:34.000Z:

<empty>

helloworld1 commented 9 years ago

Comment #14 originally posted by helloworld1 on 2012-06-23T17:56:06.000Z:

Maybe you need to add "restore settings by default" button only for Learning Algorithm customization ???

helloworld1 commented 9 years ago

Comment #15 originally posted by helloworld1 on 2012-06-23T20:25:52.000Z:

Nightly build with customisation algorithm. When failed to remember a card default grades: 0-0 1-0 2-1 3-1 4-1 5-1 I change: 0-0 1-0 2-1 3-1 4-1.5 5-2 I open DB french-body-parts I push forgot+0 After I restart BD, I still get 0 0 +1 +1 +1 +1 I expected to see 0 0 +1 +1 +1.5 +2 (0 +1 +1.5 +2 for Anki style)

Or I understand this in wrong way....

helloworld1 commented 9 years ago

Comment #16 originally posted by helloworld1 on 2012-06-23T20:27:59.000Z:

I just added the UI, it is not functional yet. Reset could be a good idea. I dunno if it is doable.

helloworld1 commented 9 years ago

Comment #17 originally posted by helloworld1 on 2012-06-27T04:57:53.000Z:

The initial implementation of algorithm customization is done. It should be in today's nightly build. If anyone installed the previous nightly build, you need to reset all your preference or AnyMemo will force close when opening any new db. The code is still very rough for today's nightly build though.

helloworld1 commented 9 years ago

Comment #18 originally posted by helloworld1 on 2012-06-28T09:24:52.000Z:

No reset 'Learning queue size' after 'Reset cistomized scheduling algorithm'. Not important, just notice.

helloworld1 commented 9 years ago

Comment #19 originally posted by helloworld1 on 2012-06-28T09:30:05.000Z:

Easyness factor change - impossible to enter numbers with 'minus' from number keyboard.

helloworld1 commented 9 years ago

Comment #20 originally posted by helloworld1 on 2012-06-29T02:33:28.000Z:

Some users need a button like 'constant interval'. Now we have 2 the same buttons 'forgot'. So I suggest next modification:

  1. Add a parameter 'user interval' in settings.
  2. Rename 2nd 'forgot' button -> 'user'.
  3. Change algorithm for the button to jump on constant interval which users can define in settings. What do you think about that?
helloworld1 commented 9 years ago

Comment #21 originally posted by helloworld1 on 2012-07-03T03:25:18.000Z:

Open any DB as Preview/edit. Open any card Detail.

last_learn_date - numeric keyboard (ok) next_learn_date - common keyboard (numeric keyb would be better)

helloworld1 commented 9 years ago

Comment #22 originally posted by helloworld1 on 2012-07-03T06:03:35.000Z:

Hay, I suggest you file another issue for the numerical keypad issue. This needs to be fixed but not now. And it is not related to learning algorithm customization.

BTW, regarding one of your suggestion for constant timing, I will do something to meet that need. I forgot where you mention it though.

helloworld1 commented 9 years ago

Comment #23 originally posted by helloworld1 on 2012-07-03T06:15:43.000Z:

I posted suggestion for constant timing here but I deleted it after. It wont do in the way I described. I suggested to redefine one of DELETE button, but it would ruine conception 0-1-2-3-4-5. I still dont realise beatiful way for this feature. The main idea: to be able to set number of days for scedulind and have a button or menu item for this.

helloworld1 commented 9 years ago

Comment #24 originally posted by helloworld1 on 2012-08-15T04:31:09.000Z:

This feature is released in 9.1. For any additional request that isn't done in this issue, please copy/ paste your request to a new issue.