- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 6 J, n4 g$ @# \: z
8 T! l7 _6 `* S9 ~
非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下
7 i& O4 X8 I2 E: L * \0 ?( Y5 h6 y- p1 M3 O9 o1 U
這是一個BugFix版本, 修正了以下Bug:
* b0 Q- {; e+ H0 W3 T 1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了) ( P0 |* b' G4 E( q8 v# Q. z
2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了 : [$ y) e( @& O: t. p4 D: `
3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫
8 ~7 n# Q7 a; R6 P9 D 4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了
$ m+ D( Q6 A0 s' Y1 V/ d* ^0 a 5. 改進了複習算法, 現將新的複習算法公佈如下 7 j$ |% ^& H3 C- l% U
; |% Y7 ^$ D8 k! C& D
忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字
& X# K& I4 ~1 y% k, G 典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中
8 q9 f3 z# y" G8 {6 \
; M5 f/ H3 t) g6 y 本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了
- z# h( a! I0 g- b3 L: n 用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在 ; v6 W) M' m, B* A2 ]
所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別 $ r0 z1 k% D$ h% h' n/ c
4 h/ l2 h! _' I3 v9 `+ K
我們的實現原理是這樣的
+ F; I4 z. M2 s2 m w5 o 設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程
+ E1 p+ o% L6 e6 {+ o3 y r的取值範圍為NoRating,FailRating,PassRating,BingoRating % r8 a8 ]9 ?) o
當一個單詞進入複習的時候的狀態, r1=r2=NoRating
0 u, l) p2 L" b, a r1 - 記錄第一次的選擇
2 }. e' _1 f5 Z+ D8 \& h( _ r2 - 記錄後面的最有利的一次記憶狀態 % x N" x8 h' o( z& [) f2 ^1 N
tFail - 本次複習循環中的Fail總次數 * d ]6 @$ A9 k+ Y& V: ~/ [$ n0 T- e/ s
maxFail - 允許最大的Fail總次數,目前定義為8次
' ` t) h- V- _' Z$ ?
7 I" i" R6 V; R 只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習
0 Y' Q# J) P2 }8 x) S 多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習
+ }5 ^$ c; M- Z% ]+ W/ P 對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式 + r9 D" g/ a. r2 N$ F! P6 {
F的時候將單詞送回學習序列,重新進行學習
7 t8 [ U# L9 E4 ~% Z$ _# ` ' v" T6 Q( r# ]; V7 c0 @1 }
A - (r1 = BingoRating 並且 r2 = BingoRating)
0 P9 B' a2 }; N" o; C2 g 或者 (r1 = BingoRating 並且 r2 = NoRating)
2 ?3 p4 O+ M- B5 g3 a! J; q B - (r1 = BingoRating 並且 r2 = PassRating) / e) f) L/ ~" f* f, Y0 Q
或者 (r1 = PassRating 並且 r2 = BingoRating)
$ \; ]# y8 d- R. h$ [" P8 w 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1) : V5 {7 f3 p3 o; }- S1 x: ~0 J6 I
或者 (r1 = PassRating 並且 r2 = NoRating)
" [7 ?% h# |, V6 n6 i C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1) 6 V% x M) t; b* s! @3 F- E" d* P
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2)
5 l7 c B2 o1 B" {4 m# ~ 或者 (r1 = PassRating 並且 r2 = PassRating) 8 I/ a% N$ l& Q! q* l# g* g% E" o
D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2)
6 H4 r; p9 O( z1 B# L 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail)
* `7 A% e( \* S w8 M2 b$ N E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail) 5 U" W5 `6 s5 D0 `* ~
F - (tFail >= maxFail) 9 w1 p q1 q- U5 u% k# P0 Z
( a6 C' D+ p- r4 V3 j8 V
上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝 8 a0 M* H/ n0 B4 d _# C
$ o" `3 M& j! t) B9 ?3 I4 @ 由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記 0 F# |$ P5 Z9 V
' T& }+ G) ?- W0 ?
運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|