Abstract Search

ISEF | Projects Database | Finalist Abstract

Back to Search Results | Print PDF

Optimizing the Keyboard Layout Using Genetic Algorithms and a Heuristic Approach

Booth Id:

Systems Software


Finalist Names:
Fogel, Matthew (School: Yucaipa High School)

The purpose of this project was to create a more ergonomic keyboard layout using genetic algorithms. This could help to prevent repetitive strain injuries and improve typing speed in users. The design constraints were for the program to require no human intervention aside from starting the task and for the resulting layout to be more efficient than the current QWERTY layout. First, a command-line interface was created to depict each part of the task, along with a timestamp. Next, a method was developed to generate random keyboard layouts and store them in matrices, which would be crucial for analyzing and modifying the layouts. A formula was created to evaluate the keyboard, taking into account a variety of parameters including finger rolling, same-finger typing, and key distance. Finally, the program was modified to merge keyboard layouts and create offspring layouts, the best of which would become parents for the next generation. The results showed that the program could successfully create a keyboard layout that is more ergonomic than both the current QWERTY layout and the alternative Dvorak layout. For each trial, as the number of iterations was increased, the score of the final layout tended to increase as well. Variations in this pattern were likely due to the random nature of the offspring layouts. The optimized layout included many of the most common letters on the home row and many common two-letter combinations located close together but in different columns. The program met all of the design constraints.