[心得] 假设最理想化输入法的取码数

楼主: redlance (红~)   2013-06-04 02:46:04
引用我上一篇的数据库5020字字频,
规则定为:空白键不算码,数字键(2~9)算1码
然后将每字取码数乘上其出现机率加权
对以下4种取码方式做比较:
A. 行列30最佳化
以行列30的规则,把前30字频的字全设为1码字,
次常用900字为2码特别码(30*30),及270字一级简码(1码字+1码数字,30*9)
其他为3码。有算错请指正。
B. 26键数字法最佳化
假设只能用26键,前26字频的字全设为1码字,
次常用676字设为2码字,其他为3码
C. 行列取最少码字
D. 行列取最多码字(正常拆)
每字平均取码数之结果如下:
A B C D
字频前 30字 1.00 1.07 1.65 2.17
100字 1.47 1.50 1.78 2.50
1000字 1.78 1.87 2.10 2.91
5020字 1.88 1.99 2.23 2.97
以上是纯数据,有错请指正。
以下是我主观的结论:
1.
以5000字来说,将行列最理想化的编码,可以少打16%的码。
(我在这假设它就是快16%,实际上会略少,以下)
说多不多,说少不少
主要原因是前30字占字频19.8%,而行列的30个1码字只占字频9.7%,差了10%
所以最简单的优化行列方式就是去改那30个字,最多可得到10%的加速
2.
只使用26键的最佳化,取码数会比"A.理想行列30"略多
但仍比行列少12%
也就是一般拆字的输入法,不考虑其他因素的理论上:再快也只会比行列快12%
3.
许多新输入法(我不是专指大新,很多都是)常常以高字频字编为一码字,
若只看前30字是很威,快了60%。但前30字毕竟只占20%字频,不是全部。
但一拉长战线,5000字时再快(最理想化)也只比行列输入法快16%
实际上不可能那么理想化,能快个10%就很了不起了
4.
我这边没有其他入法的编码表,不过根据上网查的资料
大新和呒虾米若未背简码,平均码数(我不清楚是平均还是字频加权)约3.0码上下
仓颉似乎是3.45~3.75码
背简码的话呒虾米约2.2~2.4码,大新约2.0码。行列我算是2.23码,其实差异不大。
故选择输入法,只看哪种输入法打最快,其实意义不大。
一来练不到那么快,二来拆字型输入法的前几快都差异不大,三来和样本数量也有差
其他因素如:内建/易学度/拆码方式/练英打/盲打/人体工学/未来平台支援度/
符号输入/英日韩简输入...都比速度重要很多。

Links booklink

Contact Us: admin [ a t ] ucptt.com