src | ||
test | ||
text | ||
.gitignore | ||
LICENSE.txt | ||
package.json | ||
README.md | ||
yarn.lock |
Keyboard Genetics RU
Попытка создать самую эффективную кириллическую раскладку при помощи эволюционного алгоритма.
На данный момент сгенерированно более 40 раскладок, среди которых есть достойные кандидаты.
Инструкция
-
Склонировать репозиторий.
-
Наполнить папку
text
файлами*.txt
. Я использовал классические произведения русской литературы, которые являются общественным достоянием. -
Обработать каждый файл с помощью
convert.sh
. Файлы должны быть в кодировке UTF-8. Удобно пройтись по каждому файлу с помощью цикла в оболочке командной строки. -
Сконфигурировать генератор. Настройки распологаются в файле
src/config.js
. Можно сделать выбор не самого лучшего родителя для генерации нового поколения, редактировать кривую уровня мутации, чтобы в начале не получить тупиковую ветку, а в конце делать точечные правки, изменить размер популяции. В файлеsrc/genome.js
возможно зафиксировать расположение некоторых букв. -
Запустить генерацию командой
npm start
. -
Добавить получившуюся раскладку в файл
src/compare.js
и сравнить с другимиnpm test
.