[seqfan] Re: A048200 variant: invert [1, 2, ..., n] allowing one swap and two shift-rotate operations

hv at crypt.org hv at crypt.org
Mon Jun 7 23:05:13 CEST 2010


franktaw at netscape.net wrote:
:Next question: for n = 4..9, a(n) = n(n+1)/2 - 2. Is there a general 
:solution of this length? (If so, does it continue to be optimal?)

Here's a simple construction of *a* solution, though still a fair way
from optimal.

Let q(n) be the sequence: l^n (xr)^n x. Given |a|=1, |s|=n, q(n) changes
the permutation 'sat' to 'ast' in 3n+1 moves for all a, s, t.

Let r(n) = concat_1^{n-1}{ q(i) }. For a given permutation P with
|P| >= n, this reverses the first n symbols in sum_1^{n-1}{ 3n+1 }
= 1/2 (n-1)(3n-4) moves.

If |P| = 2n, we can reverse P with the sequence r(n) l^n r(n), which
requires 3n^2-6n+4 moves for n>=1.

If |P| = 2n+1, we can reverse P with the sequence r(n) l^n r(n+1), which
requires 3n^2-3n+2 moves for n>=1.

This gives as a lower bound a(n) <= floor((3n^2-12n+17)/4). Here's how that
compares to known values:

n: best this this-solution
 2:  1  1 l
 3:  2  2 lx
 4:  4  4 xllx
 5:  8  8 xllxlxrx
 6: 13 13 xlxrxlllxlxrx
 7: 19 20 xlxrxlllxlxrxllxrxrx
 8: 26 28 xlxrxllxrxrxllllxlxrxllxrxrx
 9: 34 38 xlxrxllxrxrxllllxlxrxllxrxrxlllxrxrxrx
10: 43 49 xlxrxllxrxrxlllxrxrxrxlllllxlxrxllxrxrxlllxrxrxrx
11: 53 62 xlxrxllxrxrxlllxrxrxrxlllllxlxrxllxrxrxlllxrxrxrxllllxrxrxrxrx

I had hoped given some "fairly good" solution it might be obvious how
to adapt it to approach optimality, but I don't see it - adapting q(n)
to shuffle 2 symbols at a time, for example, gives l^n (xlxrr)^n x, which
might improve the subordinate terms but cannot improve the dominant 3/4 n^2.

Hugo




More information about the SeqFan mailing list