- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 1 o' E. w6 O3 I* h
% U& ~- i. i& e4 d4 w% c9 S7 ?% c
非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下
, `# P; C$ F) u( b3 ^7 L( U( A1 a . N8 Z! Y. m2 z+ z }; ~) S/ j6 A
這是一個BugFix版本, 修正了以下Bug:
* m4 x8 s* e, [ 1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了) ) E2 T3 Y8 B: K0 W' H6 n( S
2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了
2 i0 X+ o" U. P8 Z& p+ S6 `$ r 3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫
; A# e$ ~& {1 k. Y$ R* k 4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了
- z$ s) G' J' B z# K# J 5. 改進了複習算法, 現將新的複習算法公佈如下
: j4 P1 E! h7 U* P% Q
* z1 ?$ G2 E3 d, e 忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字
7 G- K: {: {$ U) y7 x 典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中 4 U% ^2 @5 B8 p7 ^0 K
) z! g# m3 v3 Z+ @
本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了
# C7 h% [6 v! E7 j8 d( o6 B1 | 用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在 2 n1 q) z5 t( A5 k" K) a) }
所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別 % ~2 h# D0 x' w: y
6 e \/ e/ m' I
我們的實現原理是這樣的
7 z2 ]9 z5 D: W7 l% C* J6 S3 c' s 設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程 1 E' K5 Q3 Y& Z/ r* i5 T
r的取值範圍為NoRating,FailRating,PassRating,BingoRating
6 h+ [/ W" g$ ^+ D; | 當一個單詞進入複習的時候的狀態, r1=r2=NoRating - ^; @$ ]! H' R7 W3 t4 ~2 W- r) H. N
r1 - 記錄第一次的選擇
/ w3 ]/ E7 N8 d r2 - 記錄後面的最有利的一次記憶狀態
8 Z# O; E A* O( \& M tFail - 本次複習循環中的Fail總次數 ) M- h o! S( H% ]: l/ |
maxFail - 允許最大的Fail總次數,目前定義為8次
: W i) `, ^& u" `+ |0 t7 x 7 w7 Y5 Y8 Z1 m1 l8 ?
只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習 % H- w7 K% U) v; P o
多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習
; I) M; N! c( G 對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式
- d4 l, e& W, b) {" E F的時候將單詞送回學習序列,重新進行學習 9 O$ W c/ L1 W( E8 b( r# S& k/ D
. a0 r L) L, Q6 X/ l% R A - (r1 = BingoRating 並且 r2 = BingoRating) % Y+ H% }, X0 W6 ~9 V5 W
或者 (r1 = BingoRating 並且 r2 = NoRating)
0 `( Q. a3 i5 ^) y B - (r1 = BingoRating 並且 r2 = PassRating) - F0 e& W* L% [# q/ b
或者 (r1 = PassRating 並且 r2 = BingoRating) ) g) ~* E7 J6 y$ Q
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1)
% V* K' j* D4 q0 m$ g* E- ]1 ] 或者 (r1 = PassRating 並且 r2 = NoRating) - M9 i" u7 r4 q; \4 q
C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1)
5 r1 Q$ s+ B/ J* O7 Q7 A# K" [ 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2) / ^3 x) L G/ z* \3 v: C
或者 (r1 = PassRating 並且 r2 = PassRating) 3 { h% {8 e/ D- E2 l2 e
D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2)
( C1 g3 e( u" i. a/ _' }1 H& U d 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail)
3 w( x8 _6 i8 u2 Q E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail)
7 H! J9 t5 Q% ?3 y" n F - (tFail >= maxFail)
6 o5 n4 g; Q3 u) ~ + ?' B' R2 {; z7 M, h
上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝
+ q# Q4 E5 ~& l% h 3 X0 P# P3 { ?4 i8 m
由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記
0 o: Y) c X, B6 S6 S: H' x
5 ?8 e6 n; L. J' h& F G* s7 i 運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|