Wihle the plpuoar "Cmairbgde Uirenvtisy" sduty was lkiely a haox, trehe has been smoe resaerch itno tihs tpoic.
Tihs sduty sohws taht arpapent lteter szie pyals a rloe. The use of wpckelgraihs attmepts to debcrise the relationship beewten stes of letrets to undtrseand the pniot at wihch a wrod is undersootd.
So how to dlveeop tihs itno an aglorithm? I tnihk trehe are smoe baisc stspe:
- Asisgn a szie vlaue to ecah leettr
- For a gievn wdro:
- Rembmeer the szie vaule for ecah leettr posioitn.
- Raniomdze the letters wtih the folwoling resrtictions:
- Don't aollw the frist and lsat leettr to remian in tehir retpecsive potision
- Attempt to aiovd planicg lertets itno the "solt" of thier smae szie.
Tehre are otehr sttaregies you can emlpoy, thuogh I hvae no raseerch to bcak up the foollwing, jsut my tsoughth:
- Aptemtt to maxzmiie the Leveishtenn ditsance between the oiigrnal and modefiid wrod. Tihs colud maxiimze the diuficflty for reczgnioing the wrod. (Pehraps use Seeuqnce Alimngent)
- Reverse the odrer of the ltteers berofe scramilbng, tehn mvoe ecah ltteer jsut a few sapces form its onigiral position. (Mbyae slhgitly sclambred bacwkards wrod is mroe diffucilt?)
Need a translation?
While the popular "Cmabrigde Uinervtisy" study was likely a hoax, there has been some research into this topic.
This study shows that apparent letter size plays a role. The use of wickelgraphs attempts to describe the relationship between sets of letters to understand the point at which a word is understood.
So how to develop this into an algorithm? I think there are some basic steps:
- Assign a size value to each letter
- For a given word:
- Remember the size value for each letter position.
- Randomize the letters with the following restrictions:
- Don't allow the first and last letter to remain in their respective position
- Attempt to avoid placing letters into the "slot" of their same size.
There are other strategies you can employ, though I have no research to back up the following, just my thoughts:
- Attempt to maximize the Levenshtein distance between the original and modified word. This could maximize the difficulty for recognizing the word. (Perhaps use Sequence Alignment)
- Reverse the order of the letters before scrambling, then move each letter just a few spaces from its original position. (Maybe slightly scrambled backwards word is more difficult?)