mnemon
15 years agoPenalize an incorrect item down to a score of -2
Carl Worth [Thu, 19 Apr 2007 05:54:07 +0000 (22:54 -0700)]
Penalize an incorrect item down to a score of -2

15 years agoRename item and bin "count" to "score" which is more accurate
Carl Worth [Thu, 19 Apr 2007 05:38:28 +0000 (22:38 -0700)]
Rename item and bin "count" to "score" which is more accurate

There are several situations where the score is not really
a count of anything, (and more are to come in the future).

15 years agoPrint success count as it increments.
Carl Worth [Thu, 19 Apr 2007 05:36:10 +0000 (22:36 -0700)]
Print success count as it increments.

15 years agoAvoid unnecessary (and potentially dangerous) memmove
Carl Worth [Tue, 17 Apr 2007 22:34:27 +0000 (15:34 -0700)]
Avoid unnecessary (and potentially dangerous) memmove

15 years agoFix giant memory waste in menmon_get_bin
Carl Worth [Tue, 17 Apr 2007 22:04:46 +0000 (15:04 -0700)]
Fix giant memory waste in menmon_get_bin

We were doubling the storage every time we failed to find a bin
present, whether or not we actually needed any more storage (oops!).

15 years agoRemove the bin with count 0 once we're done introducing new items
Carl Worth [Tue, 17 Apr 2007 21:53:01 +0000 (14:53 -0700)]
Remove the bin with count 0 once we're done introducing new items

15 years agoMake the program terminate when no items are left to be learned
Carl Worth [Tue, 17 Apr 2007 21:26:20 +0000 (14:26 -0700)]
Make the program terminate when no items are left to be learned

An item is considered learned once its score goes positive.
The program now runs until no items have a negative score.
If there are fewer than 10 items with a negative score
when it starts, it will introduce some new items from the
pool of items with a score of 0, (otherwise these items
will not be presented).

But items that do have positive scores are always available
to be presented for reinforcement, (and will also go into
the pool of words to be learned before the program terminates
if they are missed).

15 years agoFix typo in error message
Carl Worth [Tue, 17 Apr 2007 20:08:23 +0000 (13:08 -0700)]
Fix typo in error message

15 years agoPrevent any item count from being 0 after being asked.
Carl Worth [Tue, 17 Apr 2007 19:45:51 +0000 (12:45 -0700)]
Prevent any item count from being 0 after being asked.

15 years agoPrint before-and-after bin numbers
Carl Worth [Tue, 17 Apr 2007 19:44:24 +0000 (12:44 -0700)]
Print before-and-after bin numbers

15 years agoEliminate the correct response bonus
Carl Worth [Tue, 17 Apr 2007 18:22:57 +0000 (11:22 -0700)]
Eliminate the correct response bonus

As questions get missed repeatedly, they get asked more frequently, to
the point where it is likely to get asked consecutively. At this point,
there really isn't any learning going on, so it's better to give it a
single increment in the count, (leaving it negative), instead of
moving it all the way to +1.

15 years agoPrint newline on EOF
Carl Worth [Tue, 17 Apr 2007 18:13:32 +0000 (11:13 -0700)]
Print newline on EOF

15 years agoRemove a bin when it becomes empty.
Carl Worth [Tue, 17 Apr 2007 18:12:27 +0000 (11:12 -0700)]
Remove a bin when it becomes empty.

Otherwise, mnemon gets stuck repeatedly asking about stale items
that aren't really in empty bins.

15 years agoAdd interactive querying of items
Carl Worth [Tue, 17 Apr 2007 17:37:40 +0000 (10:37 -0700)]
Add interactive querying of items

We select a bin with an expoentially-distributed pseudo-random number,
(so the items that have been misses the most get the most repetition),
then select an item within that bin with a uniformly distributed
random number. After querying the user, the item's count is adjusted
to the next higher/lower positive/negative number if the user's
response is correct/incorrect. And the item is moved into the new
bin based on its count.

15 years agoWait until category is complete before adding items to bins
Carl Worth [Tue, 17 Apr 2007 17:57:51 +0000 (10:57 -0700)]
Wait until category is complete before adding items to bins

Otherwise the category will keep reallocing the items array which
means the pointers to each item won't be stable so we must not
save them into bins.

15 years ago.gitignore: ignore mnemon binary
Carl Worth [Tue, 17 Apr 2007 15:21:07 +0000 (08:21 -0700)]
.gitignore: ignore mnemon binary

15 years agoFree memory leaks in mnemon_save (thanks valgrind!)
Carl Worth [Tue, 17 Apr 2007 15:20:45 +0000 (08:20 -0700)]
Free memory leaks in mnemon_save (thanks valgrind!)

15 years agoMaintain bins in sorted order
Carl Worth [Tue, 17 Apr 2007 15:19:16 +0000 (08:19 -0700)]
Maintain bins in sorted order

15 years agoAdd categories and bins to store data
Carl Worth [Tue, 17 Apr 2007 06:56:58 +0000 (23:56 -0700)]
Add categories and bins to store data

Test the whole works by reading all data and then writing it out,
(with atomic replacement of original files).

15 years agoInitial commit of mnemon
Carl Worth [Tue, 17 Apr 2007 05:33:06 +0000 (22:33 -0700)]
Initial commit of mnemon

It doesn't really do anything yet---just reads in a file of
challenge/response pairs and prints them out.