New rule function "backtrack" & reflect #
#1
I believe the following rule functions would be quite useful:

Code:
Reflect    |  FN  |   Duplicate word reversed N times
Backtrack  |  BN  |   Duplicate word reversed except for last character N times
Backtrack  |  b   |   Duplicate word reversed except for last character

F1 | p@ssW0rd | p@ssW0rddr0Wss@p
B1 | p@ssW0rd | p@ssW0rdr0Wss@p
b  | p@ssW0rd | p@ssW0rdr0Wss@p (b/B1 & f/F1 are equivalent just as d/p1 are equivalent)

F2 | p@ssW0rd | p@ssW0rddr0Wss@pp@ssW0rd
B2 | p@ssW0rd | p@ssW0rdr0Wss@p@ssW0rd

The value of this is emphasized by googling a few keyboard patterns.

Code:
pattern : generically expressible by : proposed expression : google hits

qwert (x2)
qwerttrewq :  f  : f : 10,300
qwertrewq  : N/A : b : 79,000

qwert (x3)
qwerttrewqqwert : N/A : F2 :   660
qwertrewqwert   : N/A : B2 : 1,170

qwerty (x2)
qwertyytrewq :  f  : f : 64,700
qwertytrewq  : N/A : b :  9,730

qwe (x3)
qweewqqwe : N/A : F2 : 30,200
qwewqwe   : N/A : B2 : 86,200

qwe (x4)
qweewqqweewq : (f p1) : B3 : 13,900
qwewqwewq    :  N/A   : F3 : 17,900

qwertyuiop (x2)
qwertyuioppoiuytrewq :  f  : f : 7,340
qwertyuiopoiuytrewq  : N/A : b : 4,360

123456789 (x2)
123456789987654321 :  f  : f : 685,000
12345678987654321  : N/A : b : 410,000

As shown by the google hits this idea of not repeating the end character of a pattern before reversing the pattern seems to be roughly as popular (generally the same order of magnitude) as it is to repeat it.

I should clarify that all of the above that are marked as inexpressible can actually be expressed but not generically. They require multi-part duplicate/swap/delete rules that are specific to the input word length (and become increasingly complicated the more sweeps are done). The above proposal creates a general solution that easily allows for multiple sweeps through a pattern without worrying about input lengths.

Finally, as I was writing this I noticed that there is an error in the rules wiki page on the example for the pN function. It shows the following:

Code:
p3 | Pass | PassPassPass

this should be "p2"

Thanks!


Messages In This Thread
New rule function "backtrack" & reflect # - by pragmatic - 09-29-2012, 10:51 AM