Artificial Intelligence Depot
Visiting guest. Why not sign in?
News, knowledge and discussion for the AI enthusiast.
FEATURES COMMUNITY KNOWLEDGE SEARCH  
Robot Building for Beginners
Not only does this book assist you in understanding component parts of robot development, but also it prepares you with techniques to learn new discoveries on your own.
More information at Amazon US UK
Genetic algorithm to evolve a keyboard layout?
 
Genetic algorithm to evolve a keyboard layout?

Subject pretty much says it all. How difficult would writing a program that makes use of genetic algorithms to find an optimal keyboard layout be?

A few initial values changes and a disabled man with one hand or 3 fingers could have an optimal layout generated.

It would it be intresting to compare the generated layouts to existing ones.

I'm sure there are hundreds of aspects that would make the program generate malformed layouts. eg: my fingers are longer than bobs, I have arthritis... But, qwerty didn't take many into account either.

I would love to hear any comments/suggestions, Thanks!

---------------------------------------------------------------

Here are some quotes from various websites:

"I was surprised by the factoid (gathered from Grolier's Encyclopedia) that part of the QWERTY layout was driven by the decision to place all of the letters in the word "typewriter" on the top row so that salesmen wouldn't have to hunt and peck. "

"QWERTY keyboard was designed by Christopher Sholes to prevent the arms in old manual typewriters from jamming."

"August Dvorak (a cousin of the composer), in 1936, designed a keyboard to maximize efficiency (by placing common letters on the home row), and make the stronger fingers of the hands do most of the work."

3 posts.
Saturday 03 August, 02:03
Reply
Physical parameters

Nice idea, but I reckon it would be extremely difficult to design a GA that could take into account the large variation in physical characterstics. I guess you could take precise measurements of the user's hand and input those, along with the physical specifications of general keyboard layout, but more difficult would be to correctly assess the degree of flexibility possessed by the user. That said, it could be done, but one would have to wonder the benefit of doing all this over a human engineer.

Linden

26 posts.
Saturday 03 August, 13:17
Reply
Keyboard Fitness Functions

Check out the url of the guy that's doing this:

http://www.visi.com/~pmk/evolved.html

Basically, he started by defining a fitness function himself, based on intuition. It was pretty crude and inaccurate at first, since it didn't take into account alternation of hands, and the difficulty of some fingers.

Now he's collecting his own typing statistics in order to improve himself. There are no results yet, but I expect that this will be more useful in practice. The main benefit in this case is the ability to take into account the huge amount of personal data to craft a layout, as opposed to using a human designed expert keyboard that fits most people.

In brief, it's all down to the fitness function. The GA will solve the problem you give it, but won't be very useful if the problem itself is not realistic...

I'm going to switch to dvorak when I get my own computer, as it's widely supported and I can simply change settings on other people's computers. A random GA will give a layout that will take more time to learn, and not be supported elsewhere but on your machine... something to keep in mind!

934 posts.
Saturday 03 August, 13:41
Reply
Beating Dvorak

It sounds like his experiment is quite a lot of fun!

If you take his approach and use the statistics on an individual user's typing habits, and add it to an accurate portrayel of a disabled user's hands, say three movable fingers with one slightly arthritic and inflexible, it would be possible to derive a cost of movement to each key, and therefore derive a layout that minimised this cost. As you say, it is down to the fitness function having an accurate picture of the cost of each movement which relates to the physical discomfort of the user.

Linden

26 posts.
Saturday 03 August, 14:57
Reply
Adaptibility

Then you could get it to adapty dynamically every second as your performance varies ;)

Try keeping up with the key changes then!!

934 posts.
Monday 05 August, 15:13
Reply
Moulding the keyboard

What I was originally thinking when I read gieds posting was that the keyboard would be physically altered in shape and size according to a GA. This is a much harder problem. How about a keyboard that dynamically adapts to fit the user's hand?

Linden

26 posts.
Monday 05 August, 16:39
Reply
Been there done that

I mentioned the idea to a friend and immediately he replies "Yeah, that was an intresting article"

Looks like it made an appearance on slashdot last month also:

http://slashdot.org/article.pl?sid=02/07/06/1244204&mode=thread&tid=137

3 posts.
Sunday 04 August, 15:14
Reply