Document related concepts
Evolving a Faster Keyboard Christopher P Walker Overview Motivation Algorithm Considerations Design of the EA The nonexistent preliminary results Future Work Motivation More efficient work authors, secretaries, and other people who depend on typing would be able to work faster This project would be done faster. Algorithm Considerations Brute force methods will have to check at least 88! possible key combinations Evolutionary Algorithms seem natural for this problem Inner Workings of the EA Two populations pools Rank based reproductive selection Deterministic proportional generational selection Individual Characteristics Each individual is represented by an array of keyboard locations. Indexes into the array correspond to the key in question. Allows for efficient key lookup and quicker evaluation. Individuals (cont.) The keyboard is divided into the following sections: ALPHA, NUMERIC, SYMBOLIC, and MODIFIER Crossover and mutation will not be allowed to move key locations outside of their sections. Keyboard Layout Individual Evaluation The layout will be “tested” by typing out different words from the English Language. Individuals will be rewarded for forcing the user to alternate fingers and hands, while being penalized for repetitive characters on the same finger and hand. Individual Evaluation (cont.) A word is randomly selected from a list, and is “typed” using the keyboard. The keyboard is then scored based on how the word is typed, and the score is normalized over the length of the word. The score is then averaged into the total score for the individual. Individual Evaluation (Phase I) For Phase I, the scores are computed according to the following criteria Three points are given each time two consecutive letters require a different hand, one point for different fingers, and two points for home row. Two points are deducted if the same finger is used for a different row, one point is deducted for the same hand Individual Evaluation (P II) Phase II will use values determined experimentally for the fitness function. Word Sources Words will be randomly selected from various sources Initially they will be selected from the 1000 most used words in the English language. Later the system will be asked to virtually type sentences from various sources Sentence Sources Sentence Sources Include The Bible, King James Version Moby Dick, by Herman Melville The Dark Tower V, by Stephen King Dope, by Sax Rohmer Reproduction - Crossover Crossover will be based on the categories/divisions in the keyboard structure, not on individual key locations Will probably be removed in later iterations. Reproduction - Mutation Mutation is accomplished by swapping the location of keys. Currently only allowed to swap within their categorical restrictions. Will become the only reproductive operator in future iterations, when the categories are removed. Preliminary Results No. Future Work Remove the categorical groupings of the keys. Optimize the entire keyboard, not just the part that’s most commonly used. Attempt to optimize the keyboard for other languages as well. Questions/Comments?