Covering binary strings
franktaw at netscape.net
franktaw at netscape.net
Fri Dec 8 20:54:58 CET 2006
First off, there are effectively A024206(n+1) arithmetic progressions,
given that we only care about the intersection of the progression with
1..n. So a(n) must be large enough that Sum_{k=0}^a(n)
C(A024206(n+1),k) >= 2^n. Since A024206 grows quadradically, this
shows that at least lim_{n->infinity} a(n) = infinity.
It is also easy to show that a(n) <= ceiling(n/2). Any string with up
to ceiling(n/2) bits on can be made by combining single bits, while
anything with more can be made by turning all bits on (sequence k*n),
and then turning off the 0 bits. This bound is achieved for n <= 6;
however, a(7) = 3, not 4.
Franklin T. Adams-Watters
-----Original Message-----
From: stefan.steinerberger at gmail.com
Dear seqfans,
I invented the following problem some time ago and have
unfortunately been unable to solve it. Perhaps some of
you can provide a little insight, a solution or an idea.
The problem is best described as a little game. You are
given a string consisting of "0" and "1" of length n. An
example would be 1000101 (in this case n = 7).
Now you start with your own personal string who in the beginning
has the form 00...00 (n times 0). Now you change your personal
string by "applying arithmetical progressions" in such a manner
that you will eventually obtain the string given (1000101).
To clarify what I mean by "applying arithmetical progressions":
You can chose any arithmetical progression k*x+d with k,d
being integers. Then you look at the intersection of
{1,2,3...,n} and the image set of that progression (where x
takes every integer value). For any element m in that intersection
you move to the mth position of the string and change its value
(0 becomes 1 and 1 becomes 0). How many arithmetical progressions
do you need before you get the "goal string" given?
In our example we only need two arithmetical progressions:
0000000 - we use the arithmetical progression
6*x+1 (...-11, -5, 1, 7, 13, ...), therefore change the string at
the first and at the seventh position and get 1000001.
Now let us use the arithmetical progression 7*x + 5 and we
get 1000101 which is the goal string.
Now the question: For any natural number n, what is the
smallest number of arithmetical progressions you need to
get from the start string 00...00 to any string of length n?
The question can be easily answered for n=2 as there are
only four possible "goal strings". 00 is the start position
and we don't even need a single arithmetical progression
to get there. For 01 we only need to use 3*x+2. We get 10
by applying 3*x+1 once. 11 is obtained by using the
arithmetical progression x.
Thus we only need to apply one arithmetical progression
to cover all strings of length 2. But what about other n?
(It can be easily seen that you need at most n progressions
to cover all strings of length n, but I expect the smallest number
to be somewhere around sqrt(n)).
Perhaps someone can offer a proof, a proof of a special case,
some numerical data or a comment.
Best wishes,
Stefan
________________________________________________________________________
Check Out the new free AIM(R) Mail -- 2 GB of storage and
industry-leading spam and email virus protection.
More information about the SeqFan
mailing list