摘 要:首先,本文對記憶量予以定義。在此基礎(chǔ)上,本文通過初步的計算說明,與任意碼相比,矢量碼能夠有效改善自身的學習性能。
關(guān)鍵詞:任意碼 記憶量 矢量碼
中圖分類號:G434 文獻標識碼:A 文章編號:1003-9082(2018)02-0-02
學習性能是漢字及其編碼一項極其重要的性能。在漢字輸入方面,有的編碼看似簡單,僅僅是因為學習難而無法推廣。
例如,我們曾經(jīng)用過的漢字電報碼,是中國最早的漢字編碼,每個電報碼只有四位數(shù),信息量卻是充足的,能夠一一對應(yīng)出所需的漢字。
假如有人能夠把電報碼記熟,用于計算機,無需動用26個字母鍵,每個手指只需分管一個數(shù)字鍵,不看鍵盤,不看屏幕,雙手盲打,就可順利地輸入漢字。實際上,由于輸在學習性能上,漢字電報碼根本無法推廣。
經(jīng)驗告訴人們,在制定漢字編碼的過程中,編碼的學習性能是重于片面的簡短性的,必須顧及到,只有記得熟,才能打得快。
本文主要分兩部分,第一部分,任意碼與記憶量的定義。第二部分,矢量碼改善學習性能的原理。
一、任意碼
任意碼是一種部件沒含義的編碼,優(yōu)點是組成簡短,缺點是學習難。
本文之所以把這種編碼稱之為任意碼,原因是,由于部件沒含義,因而一個標的物對應(yīng)哪個編碼,就不受標的物特性的約束,是可以任意規(guī)定的,如抓鬮式的任意規(guī)定。
——這里所說的標的物,既可以是漢字,也可以是事物。如電報碼的標的物就是漢字,如果把形聲字作為編碼,其標的物就是事物。
1.記憶量的定義
記憶量有兩種性質(zhì)。(1)記憶量是某標的物對應(yīng)某編碼概率的單調(diào)遞減函數(shù)。換言之:某標的物對應(yīng)某編碼的概率小,則該編碼的記憶量大。反之,某標的物對應(yīng)某編碼的概率大,則該編碼的記憶量小。(2)記憶量有可加性。
本文根據(jù)記憶量的兩種性質(zhì),參照《基礎(chǔ)信息論》[1] 一書所用的方法,把記憶量定義為
記憶量 = -log2p
式中,p是某標的物對應(yīng)某編碼的概率。
這里的記憶量只是某個標的物對應(yīng)某個編碼的記憶量,需要兩個前提:即不考察對應(yīng)關(guān)系,標的物是學習者已知的,也能寫出所有的編碼。
例如,不考察對應(yīng)關(guān)系,學習者既能寫出所需的漢字,也能寫出所有四位數(shù)的電報碼。
一點說明
在《基礎(chǔ)信息論》一書中,作者根據(jù)信息量的兩種性質(zhì),把信息量定義為
信息量 = -log2p
式中,p是消息所示事件出現(xiàn)的概率。
信息量的兩種性質(zhì)是,(1)信息量是事件出現(xiàn)概率的單調(diào)遞減函數(shù)。(2)信息量有可加性。 [1] (日 藤田広一,1982年 ,頁6—11)
2.任意碼記憶量的算例
設(shè)某花店有一批盆花,分四種花色,又分四種盆型,共16種互不相同的盆花。此時可以有兩種編碼可供選擇,一種是任意碼,一種是矢量碼。以下是這批盆花任意碼記憶量的計算。
16種互不相同的盆花,需要16個互不相同的任意碼。若用二進制,每個編碼需要四位數(shù),即0000 0001 …… 直至1111,共16個編碼。
當學習者學習第一種盆花編碼的時候,編碼表內(nèi)共有16個編碼可供選擇。由于盆花與編碼的對應(yīng)是任意規(guī)定的,所以16個編碼中的任一編碼都有相同的概率,即1/16的概率,是第一種盆花對應(yīng)的編碼。
設(shè)第一種盆花編碼的記憶量為m1,根據(jù)記憶量的定義,于是有
m1 =- log2 ( 1/16) = log2 16(比特)
當學會了第一種盆花編碼之后,該編碼應(yīng)該從選擇范圍內(nèi)剔除。因此,在學習第二種盆花編碼的時候,編碼表內(nèi)只剩下15個編碼可供選擇。設(shè)第二種盆花編碼的記憶量為m2、于是m2減為
m2 = log2 15(比特)
依此類推。
設(shè)16種盆花任意碼的平均記憶量為m,根據(jù)對數(shù)運算法則,有
m=( m1+m2+……+m16 )/16
=( log2 16+log2 15+……+log2 1 )/16
= log2( 16×15×……×1 ) /16
= log2( 16﹗) /16
= 2.77(比特)
能夠看出,當記憶第一種盆花編碼的時候,選擇范圍最大,記憶量也最大。當記憶最后一種盆花編碼的時候,選擇范圍為一,記憶量為零。這一規(guī)律與人們記憶過程中先難后易的經(jīng)驗是吻合的。
我們把這種在一個編碼表的范圍內(nèi),既認識標的物,又能寫出所有的編碼,僅僅是記憶一個標的物對應(yīng)哪個編碼的記憶量,稱之為編碼表內(nèi)的記憶量。
值得強調(diào)的是,記住一個編碼所需時間,不僅與該編碼的記憶量有關(guān),而且還與其它因素有關(guān)。至少,改善記憶技巧,調(diào)動大腦的更多部位參與記憶,也會明顯地加快記憶速度。
記憶量的意義在于,在可比因素相同的條件下(例如,同為十進制的編碼,或同為二進制的編碼,而且記憶者利用同樣的記憶技巧),記住一個編碼所需的時間,與該編碼的記憶量大致是成正比的。
二、矢量碼
英國學者W.R.艾什比寫過一本書,中文譯名為《控制論導(dǎo)論》[2](英 W.Ross.Asbby,中文版1965年出版),是一本利用初等數(shù)學講解控制論的書,給了筆者許多寶貴的啟迪。書中介紹了一種矢量,至少由兩個分量的值組成,分別記錄了同一事物至少兩個方面的特性。各個分量的取值可以是數(shù)字(或數(shù)字加量詞),更多的是文字。
簡單的矢量,如燈泡的規(guī)格,由兩個分量的值組成,如220V,60W。
復(fù)雜的矢量可以有多個分量,以班組的員工登記表為例,姓名分量,取值范圍為成千上萬個可能的姓名。年齡分量,取值范圍為數(shù)十個兩位數(shù)的數(shù)字。性別分量,取值范圍只有男、女兩個值。根據(jù)需要,還可以有籍貫,學歷,工種,特長等多個分量。
本文所說的矢量碼也是一種矢量,這種矢量至少由兩個分量的值組成,分別記錄了同一標的物至少兩個方面的特性。
矢量碼中每個分量的取值范圍至少有兩個值,本文把這些值稱之為部件。每個部件都有含義,這些含義就是標的物的特性(包括標的物的名稱)。因而本文所說的矢量碼,還可以說成是部件有含義的編碼。
1.矢量碼的組成
仍以二進制的盆花編碼為例,這批盆花的矢量碼可由兩個分量組成。
其中,花色分量的取值范圍為四個花色部件 00 01 10 11 ,并規(guī)定, 00 的含義是紅色花,01 的含義是黃色花等。盆型分量的取值范圍為四個盆型部件 00 01 10 11 ,并規(guī)定,00 的含義是圓口盆,01 的含義是方口盆等。
然后規(guī)定兩個分量的排序,如花色部件在先,盆型部件在后,二者并在一起,就可以形成0000 0001 …… 直至1111,共16個四位數(shù)的矢量碼。
2.矢量碼改善學習性能的原理
由于矢量碼是一種利用有含義的部件,記錄了標的物特性的編碼,因而每個標的物對應(yīng)哪個編碼,都是由標的物的特性確定的。在已知部件含義的基礎(chǔ)上,如果把標的物的特性作為知識 A,把該標的物對應(yīng)哪個編碼作為知識 B,那么 A 與 B 之間有著一舉二得的記憶關(guān)系。
換一種簡單的說法就是,學習者借助已有的,關(guān)于標的物的特性知識,能夠把大量的,復(fù)雜編碼的記憶,變成少量的,簡單部件的記憶。
——為了使問題得以簡化,這里還假設(shè)盆花矢量碼所用的八個部件都是任意碼,即八個部件各自對應(yīng)的含義都是任意規(guī)定的。
參照16種盆花任意碼記憶量的計算方法,四個花色部件的記憶量之和為
log2 ( 4﹗) = 4.58(比特)
同理,四個盆型部件的記憶量之和也為4.58比特。由于四個花色部件與四個盆型部件能夠組成16個矢量碼,平均每個矢量碼的記憶量為
(4.58+4.58)/ 16 = 0.57(比特)
矢量碼的記憶量少,比任意碼容易學習,所用的學習時間也少,這是可以用試驗進行驗證的。
利用“和與積”做比喻
我們知道,當兩個數(shù)足夠大的時候(例如,各為數(shù)十,或數(shù)百的時候),兩個數(shù)的和與積之間,數(shù)量可以有十幾倍,上百倍的差別。
兩個分量部件數(shù)的和,數(shù)量少,而且部件都是小編碼,因而是容易學習的。兩個分量部件數(shù)的積,數(shù)量多——預(yù)示著矢量碼的數(shù)量多,因而有能力區(qū)分更多的標的物。
3.文字中的矢量碼
矢量碼是人類為了適應(yīng)自己的記憶特性而發(fā)明的編碼,矢量碼是本文賦予的新稱謂,但其應(yīng)用歷史卻非常古老,早已在各種文字中層層疊疊地大量使用了。而且,文字系統(tǒng)中有些矢量碼,及其分量還擁有自己的專用名稱。
例如,較小的矢量碼有形聲字,其分量是形旁和聲旁。大些的矢量碼有偏正式合成詞,偏正式詞組,偏正式會意字(如“塵”),其分量是偏和正。更大的矢量碼是句子,其分量是主語、謂語、賓語等。
另外,漢語拼音或注音字母的音節(jié)也是矢量碼,其分量既可以分為聲母,韻母,也可以分為聲母、介母、韻母。
三、矢量碼的缺點
在一種文字,或一種編碼自身的各項性能之間,往往有此消彼長的置換關(guān)系。矢量碼有容易學習的優(yōu)點,但是矢量碼又有一個很大的缺點,那就是矢量碼會變得冗長,經(jīng)濟性能會變得很差。
1.矢量碼的冗長效應(yīng)
矢量碼之所以變得冗長,其主要原因是,矢量碼專顧了標的物的特性,卻不能兼顧高頻簡化的原則。
在實際編碼的過程中,極端的情況是,往往有大量的矢量碼會因為沒有相應(yīng)特性的標的物而被浪費了,而其余的編碼為了避免同碼不得不變得更冗長,我們把這一現(xiàn)象稱之為矢量碼的冗長效應(yīng)。
矢量碼冗長效應(yīng)的后果是,用于計算機,必然降低輸入速度。如果矢量碼是文字,用于書寫,必然降低書寫速度,用于印刷,則必然占用更多篇幅和紙張,這些都可歸結(jié)為經(jīng)濟性能變差了。
2.四角號碼與電報碼的對比
矢量碼的冗長效應(yīng)可以在字典用的四角號碼,和漢字電報碼的對比中反映出來。四角號碼與電報碼一樣,都是由阿拉伯數(shù)字構(gòu)成的編碼,它們的標的物都是漢字。不同的是,四角號碼是矢量碼,而電報碼是任意碼。
四角號碼中的數(shù)字是有含義的,所以每個編碼都是由漢字四個角的筆形所確定的。盡管四角號碼字典已經(jīng)用了五位碼(加了一位小注碼),仍然有大量的漢字重碼。
而電報碼中的數(shù)字是沒有含義的,每個漢字對應(yīng)哪個編碼,可以不受漢字筆畫的限制,是可以任意規(guī)定的,可以不浪費任何一個四位碼。因而在通用漢字范圍內(nèi),僅需四位碼,就能一一對應(yīng)出所需的漢字。
結(jié)語
任意碼是一種部件沒含義的編碼,優(yōu)點是組成簡短,缺點是學習難。
矢量碼是人類為了適應(yīng)自己的記憶特性而發(fā)明的編碼,在借用已有知識的基礎(chǔ)上,矢量碼能夠顯著地減少記憶量,是一種非常容易學習的編碼。
參考文獻
[1](日)藤田広一 .基礎(chǔ)信息論[M].魏鴻駿等譯.北京:國防工業(yè)出版社,1982.
[2](英)W.Ross.Asbby.控制論導(dǎo)論[M].張理京譯.北京:科學出版社,1965.
作者簡介:高其海(1946-),男,山東青島人,所學專業(yè):工業(yè)企業(yè)電氣化自動化專業(yè)。