Evolving a Faster Keyboard Christopher P Walker. Overview Motivation Algorithm Considerations Design of the EA The nonexistent preliminary results Future.

Slides:



Advertisements
Similar presentations
Local Search Algorithms
Advertisements

Genetic Programming Dan Kiely Ran Shoham Brent Heigold
Genetic Algorithms (Evolutionary Computing) Genetic Algorithms are used to try to “evolve” the solution to a problem Generate prototype solutions called.
Exact and heuristics algorithms
CYK Parser Von Carla und Cornelia Kempa. Overview Top-downBottom-up Non-directional methods Unger ParserCYK Parser.
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
On the Genetic Evolution of a Perfect Tic-Tac-Toe Strategy
Non-Linear Problems General approach. Non-linear Optimization Many objective functions, tend to be non-linear. Design problems for which the objective.
Cooperative Behavior & Path Planning for Autonomous Robots Lakshmanan Meyyappan (Laks)
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Data Mining CS 341, Spring 2007 Genetic Algorithm.
Applications of Evolutionary Computation in the Analysis of Factors Influencing the Evolution of Human Language Alex Decker.
Evolutionary Design By: Dianna Fox and Dan Morris.
Genetic Algorithms GAs are one of the most powerful and applicable search methods available GA originally developed by John Holland (1975) Inspired by.
Iterative Improvement Algorithms
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
The Enigma Encryption System Andrew Regan CSC 290.
COMP305. Part II. Genetic Algorithms. Genetic Algorithms.
Artificial Intelligence Genetic Algorithms and Applications of Genetic Algorithms in Compilers Prasad A. Kulkarni.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
Chapter 6: Transform and Conquer Genetic Algorithms The Design and Analysis of Algorithms.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Genetic Programming.
EVOLVING ANTS Enrique Areyan School of Informatics and Computing Indiana University January 24, 2012.
Ranga Rodrigo April 6, 2014 Most of the sides are from the Matlab tutorial. 1.
Genetic Algorithm.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Intro. ANN & Fuzzy Systems Lecture 36 GENETIC ALGORITHM (1)
When Experts Agree: Using Non-Affiliated Experts To Rank Popular Topics Meital Aizen.
Two Categories of Responders  Type 1 - Combinations of A and B treated as a fourth category (strategy evident in complete rejection of proposed categories.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Genetic Algorithms Michael J. Watts
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
FINAL EXAM SCHEDULER (FES) Department of Computer Engineering Faculty of Engineering & Architecture Yeditepe University By Ersan ERSOY (Engineering Project)
Christoph F. Eick: Using EC to Solve Transportation Problems Transportation Problems.
A genetic approach to the automatic clustering problem Author : Lin Yu Tseng Shiueng Bien Yang Graduate : Chien-Ming Hsiao.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Chapter 9 Genetic Algorithms.  Based upon biological evolution  Generate successor hypothesis based upon repeated mutations  Acts as a randomized parallel.
A Repetition Based Measure for Verification of Text Collections and for Text Categorization Dmitry V.Khmelev Department of Mathematics, University of Toronto.
Genetic Algorithms CSCI-2300 Introduction to Algorithms
 Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #12 2/20/02 Evolutionary Algorithms.
EE749 I ntroduction to Artificial I ntelligence Genetic Algorithms The Simple GA.
Biologically inspired algorithms BY: Andy Garrett YE Ziyu.
Coevolutionary Automated Software Correction Josh Wilkerson PhD Candidate in Computer Science Missouri S&T.
Innovative and Unconventional Approach Toward Analytical Cadastre – based on Genetic Algorithms Anna Shnaidman Mapping and Geo-Information Engineering.
D Nagesh Kumar, IIScOptimization Methods: M8L5 1 Advanced Topics in Optimization Evolutionary Algorithms for Optimization and Search.
An evolutionary approach for improving the quality of automatic summaries Constantin Orasan Research Group in Computational Linguistics School of Humanities,
Genetic algorithms: A Stochastic Approach for Improving the Current Cadastre Accuracies Anna Shnaidman Uri Shoshani Yerach Doytsher Mapping and Geo-Information.
Genetic Algorithms Chapter Description of Presentations
HANGMAN OPTIMIZATION Kyle Anderson, Sean Barton and Brandyn Deffinbaugh.
Genetic Search Algorithms Matt Herbster. Why Another Search?  Designed in the 1950s, heavily implemented under John Holland (1970s)  Genetic search.
Overview Last two weeks we looked at evolutionary algorithms.
哈工大信息检索研究室 HITIR ’ s Update Summary at TAC2008 Extractive Content Selection Using Evolutionary Manifold-ranking and Spectral Clustering Reporter: Ph.d.
Developing resource consolidation frameworks for moldable virtual machines in clouds Author: Liang He, Deqing Zou, Zhang Zhang, etc Presenter: Weida Zhong.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Reminders Assignment 5 is posted. Exercise 8 is very similar to what you will be doing with assignment 5. Exam.
Breeding Swarms: A GA/PSO Hybrid 簡明昌 Author and Source Author: Matthew Settles and Terence Soule Source: GECCO 2005, p How to get: (\\nclab.csie.nctu.edu.tw\Repository\Journals-
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Genetic Algorithms and Evolutionary Programming A Brief Overview.
 Presented By: Abdul Aziz Ghazi  Roll No:  Presented to: Sir Harris.
Genetic (Evolutionary) Algorithms CEE 6410 David Rosenberg “Natural Selection or the Survival of the Fittest.” -- Charles Darwin.
Introduction to genetic algorithm
Evolution Strategies Evolutionary Programming
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
The dvorak keyboard History The dvorak layout Testing it
Bin Packing Optimization
Searching for solutions: Genetic Algorithms
Presentation transcript:

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?