На самом деле предсказание скорости набора заданного текста сводится к определению времени этого набора. Затем мы можем разделить время на количество символов и таким способом определить эффективную скорость.
Если мы имеем таблицу (матрицу времён), устанавливающую связь между временем набора и сочетанием пары клавиш (которые можно расположить на строчках и столбцах матрицы), то задача определения времени (ожидаемого времени) набора данного текста сводится к разбиению текста на последовательность пар букв и суммированию времён, соответствующих этим парам.
Рассмотрим работу этого алгоритма в простейшем случае. Например, если известно, что сочетание па набирается за 0,1 секунды, а сочетание ап - за 0,13 секунды. Тогда текст папа разбивается на пары па, ап, па, а ожидаемое время набора равно (0,1+0,13+0,1) секунды.
Почему этим алгоритмом можно пользоваться? Мы считаем принцип суперпозиции здесь применимым, поскольку полагаем, что пользователь набирает текст стандартным слепым методом, то есть его действия одинаковы для одинаковых сочетаний клавиш. А раз его действия одинаковы, то и времена набора одинаковых сочетаний клавиш совпадают.
Ясно, что для надёжного предсказания ожидаемых времён набора текста потребуется накопить статистику времён нажатий сочетаний клавиш. Таких сочетаний довольно много. Проще всего осуществить накопление статистики, написав программу, анализирующую вводимую информацию и записывающую соответствующую информацию в файл, содержащий матрицу времён.
Здесь мы не рассмотрели влияние эффектов усталости и тренировки на скорость ввода текста, описав статическую ситуацию. Динамические эффекты нуждаются в дальнейшем исследовании.
|