e-typingであるスコアを出すための試行回数(1)

今週は梅雨ワードです。
インターネットでタイピング練習 イータイピング | e-typing ローマ字タイピング


ノートパソコンでは30分ほどやっても出なかった600点が、デスクトップのキーボードでやったら一発で出てしまいました。打ちやすさではノートパソコンの方が上だと思うのですが、やはり打っているときの心地よさと速く打てるかどうかはあまり関係がないらしいです。


ところで、何回か練習して思ったこと。

はじめに

前提
e-typingのように複数のワードを用意して、1プレイごとにそのワード群からいくつか抽出したワードを1つずつ出題するタイプのタイピングソフトをプレイするときの話
疑問点
あるスコアを出すためにプレイしなければいけない回数はどれくらい?
メリット
特定のスコアを追い越すために必要な試行回数、すなわちどれくらい時間がかかるかを予想することができる

前段

複数の文字列からいくつかのキーワードをランダムに選んできて出題するタイピングソフトでは、基本的に長い文字列の組み合わせが出てきた方が高スコアになりやすい。例えば以下のように6つのワードから3つのワードを選んで出題する際に、例1と例2のワードがそれぞれ別に出てきたら、例2の方がスコアが高くなることは経験的にわかると思う。

全ワード:{a, at, can, afternoon, breakfast, cooperate}
出題例1:{a, at, can}
出題例2:{afternoon, breakfast, cooperate}

これは画面に文字列が出力されてから入力開始するまでの「空白の時間」によって引き起こされる。一般に初速と言われるものである。そして、この空白の時間は出題される文字列の長さにあまり関係ないと考えられる。これからの例では平均で秒間10打鍵できる人を考えるが、この人があるワードを打ち始めるまでに0.5秒要するとすれば、例1でも例2でも必ず空白の時間0.5秒×3=1.5秒の時間がかかる。


一方、例1と例2で「入力に必要な時間」と打鍵数は以下のようになる。

出題例1:0.1 + 0.2 + 0.3 = 0.6[秒], 打鍵数:6
出題例2:0.9 + 0.9 + 0.9 = 2.7[秒], 打鍵数:27

e-typingのスコアは「平均打鍵速度=打鍵数÷全体でかかった時間(空白時間+入力時間)」を基本にして計算される。このため、出現する文字列が短い場合は以下のように入力できた打鍵数と入力時間に比べて空白時間の占める割合が多くなるので、平均打鍵速度に大きな違いが現れる。

平均打鍵速度=打鍵数÷(空白の時間+入力に必要な時間)
出題例1:6 / (1.5 + 0.6) = 2.85[打/秒]
出題例2:27 / (1.5 + 2.7) = 6.42[打/秒]


以上の結果から長い文字列が出てきた方が高得点につながることがわかる。
さて、本題の「長い文字列」はどれくらいの確率で出てくるのかについて少し計算してみたが、まだあまり面白い結果が出せていない。ワード群に関する情報を受け取ったときに出題される「文字列を足し合わせたときの長さ」の頻度分布がどうなるかを知りたい。合計の文字数はこの場合そのままスコアに直結するので、その分布が求められればスコア計算もできる。


ワード群をすべて知ってしまえば頻度分布は簡単に求められるが、他人が作った中身のわからないソフトの全部のワードを調べるなんてやってられないので、もっと少ない情報、例えば最長文字列の長さと最短文字列の長さなどから近似解が出せると良いかもしれない。


統計学の本を引っ張り出してお勉強。


打鍵トレーナーの場合は入力速度によって出題されるワード数が変わるので、ちょっと計算方法が変わる。これはあとで。