
--
You received this message because you are subscribed to the Google Groups "SeqFan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seqfan+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/seqfan/d19bfb62-cfab-43c0-b605-a3ac75b056c1n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "SeqFan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seqfan+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/seqfan/1194f53c-116f-40c4-b3e9-0aa4633c8aac%40isolution.nl.
Ruud, thank you for your proposition of a program.But it does not catch the essence of my question.
On Sun, Nov 23, 2025 at 6:03 PM Loutcho Glotuk <luc.ro...@gmail.com> wrote:
Ruud, thank you for your proposition of a program.But it does not catch the essence of my question.Yes, obviously it's trivial to program it, e.g. in Python:T={1:1}for generation in range(50):for k,v in tuple(T.items()): T[v] = T.get(v,0)+ksorted(T)[:30][1, 2, 4, 6, 8, 10, 12, 16, 20, 24, 26, 28, 30, 32, 34, 44, 46, 52, 54, 60, 62, 64, 66, 68, 72, 80, 82, 88, 90, 100, 104]but it doesn't provide an answer to the questions.However, we can indeed prove that 1 is the only odd key that will ever appear.More specifically, we can prove that ("at" means "at the end of"):(a) - key k = 1 has value v = 2^j at generation g = 2j and g = 2j-1 (for j>0).(b) - the value v = 1 occurs only for keys k = 2^j,and only at generation g = 2j we have the (key, value) pair (2^j , 1),(Proof by induction: The statement is true up to j=1, i.e., at generation 2j-1 = 1 and at generation 2j = 2.Assume it's true up to some j, and let's consider what happens for j+1.* At generation g = 2(j+1)-1 = 2j+1, the respective (key,value) pairs lead to following updates:
(k,v) = (1, 2^j) => T[ 2^j ] with previous value 1 becomes T[ 2^j ] = 1 + k = 2,
so there is no more any *odd* value in the dictionary.
(k,v) = (2^j, 1) => T[ 1 ] with previous value 2^j becomes T[ 1 ] = 2^j + 2^j = 2^(j+1).
I am close to having a complete description of what is in T at any given
point after ~80 iterations. I'm still filling in the details. Here's the
brief summary: there's a smallish set S of smallish numbers such that
every entry in T has either key or value in S; mapping _from_ things in
S gives values that (in some cases exactly, in some cases approximately)
double each iteration; the maps _to_ things in S come from the
historical values of those, so mostly things that are increasing exactly
or approximately 2x each iteration (but there are also relics of earlier
stages of the process before everything settled down).(...)
(Perhaps M F Hasler, whose recent emails give a similar description of
what's going on, will get there before I do, but I don't get the
impression that he's trying to fill in all the painful details.)
(cf. the list I posted earlier : 28, 24, 30, 88, 128, 64, 132, 416, 268, 1920, ...:I think together with {1, 4, 2} that's what Gareth refers to as the set S.)
The full set S is: 1, 2, 4, 24, 28, 30, 32, 64, 88, 128, 132, 134, 268, 416, 1920, 3712, 7412.
We should think of it as {1,2} u {32,134,3712} u {64,268,7424} u {4,24,28,30,88,128,132,416,1920}.
The last set gives us keys/values that double every iteration. The others give us things that double every two iterations, and differences (doubling every iteration) - (doubling every two iterations). 1 and 2 behave somewhat like 32,134,3712 and 64,268,7424 but not quite the same.
Still working through all the details and trying to find the
least painful notation etc. for describing exactly what happens.
But, by way of taster, here's my current description of exactly
what is in T after 80 iterations; the "obvious" guess at how this
generalizes to other even numbers of iterations (once things have
settled down, which by this point they all have) is I believe
perfectly correct. The structure after (large enough) odd numbers
of iterations is similar but not quite identical.
Let S =
{1,2,4,24,28,30,32,64,88,128,132,134,268,416,1920,3712,7424}.
Every entry in T has either its key or its value in S. We should
think of S as composed of S1 = {1,32,134,3712}, 2.S1 =
{2,64,268,7424}, and S2 = {4,24,28,30,88,128,132,416,1920}. The
elements 1 of S1 and 2 of 2.S1 behave a bit differently from the
others.
We shall be dealing with numbers of two particular forms:
something small times a power of 2, or the difference of two such
things. Write <a,n> = a * 2^n and <a,n,b,m> = a*2^n -
b*2^m.
We shall further be dealing with _sets_ of such numbers. Write
<a,n1..n2> = { <a,n1>, <a,n1+1>, ...,
<a,n2> } and <N:a,n1..n2,b,m1..m2> = {
<a,n1,b,m1>, <a,n1+1,b,m1+1>, <a,n1+2,b,m1+1>,
<a,n1+3,b,m1+2, ..., <a,n+n2,b,m+m2> } alternating
between incrementing both n,m and only n.
Sometimes two such sets occur together. Write
<<a,n1..n2,b,m1..m2>> = <a,n1..n2,b,m1..m2> u
<b,m1..m2> and <<a,n1..n2,b,m1..m2+>> =
<a,n1..n2,b,m1..m2> u <b,m1..m2+1>.
OK, so now I can tell you exactly what is in T after 80
iterations.
Things in S1:
<1,40> -> 1 -> <1,40>
nothing -> 32 -> < 45,31>
nothing -> 134 -> <111,28>
nothing -> 3712 -> <961,23>
Things in 2.S1:
X -> 2 -> Y
<< 71,2..58, 45,1..29+>> -> 64 -> <
71,59, 45,30> and also 298 -> 64
<< 137,3..51,111,2..26+>> -> 268 -> <
137,52,111,27> and also 860 -> 268
<<1201,2..42,961,1..21+>> -> 7424 ->
<1201,43,961,22> and also 3842 -> 7424
Things in S2 (for each of these some other things also map there,
listed below)
< 2421,1..64> -> 4 -> < 2421,65>
< 25,2..64> -> 24 -> < 25,65>
<359901,2..51> -> 28 -> <359901,52>
< 253,3..60> -> 30 -> < 235,61>
< 773,6..56> -> 88 -> < 773,57>
< 2495,2..54> -> 128 -> < 2495,55>
< 17,5..57> -> 132 -> < 17,58>
< 737,2..49> -> 416 -> < 737,50>
< 319,8..47> -> 1920 -> < 319,48>
where X consists of the following:
<<61316835,6..49,1,17..39>>, <1,8..16>,
3924148224, 1962008576, 981004288, 490469376, 245234688,
122600960, 61300480, 30642048, 15321024, 7656416, 3828416,
1912160, 956080, 477120, 238560, 118768, 59848, 29776, 14888,
7316, 1792, 20, 16, 8
and Y = <61316835,50,1,39>
and the other things mapping to elements of S2 are:
to 4: 2444,1222, 616, 1280,640,320
to 24: 82, 12,6
to 28: 720762, <11,8..15>, 448,224, 46, 34, 10
to 30: 984, 896
to 88: 24256,12128, 5824,2912, 1336, <15,2..6>, 668, 274,
152, 62
to 128: <79,3..6>, 264, 104,52,26, 54
to 132: 336, 208
to 416: 804,402,201, 68, 66
to 1920: <87,7..9>, <29,2..6>, 72, 44
To summarize:
For v in S1 we have nothing -> v -> <a(v),n(v)> except
that for v=1 we also have <a(1),n(1)> -> 1.
For v in S1 we have
<<b(v),m0(v)..m1(v),a(v),n0(v)..n(v)-2+>> -> 2v
-> <b(v),m1(v)+1,a(v),n(v)-1> EXCEPT that the case v=2 is
different. We also have c(v) -> 2v for a particular choice of
c(v), but again v=2 is different.
For v in S2 we have <a(v),n0(v)..n(v)> -> v ->
<a(v),n(v)+1> and also c -> v for c in some further set
C(v).
The values a,n,n1,b,m0,m1,c,C, and exactly what happens for v=2,
can be read off from the more detailed description above.
It is also worth noting the sums of all the keys mapping to each
v: for v=1 or v in S2 this equals T[v],for other v in S1 it's 0,
and for v in 2.S1 it's <b(v/2),m1(v/2)+1>, i.e. the "leading
term" of T[v].
--
g
--
You received this message because you are subscribed to the Google Groups "SeqFan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seqfan+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/seqfan/f06e1d4e-5c27-4931-8bec-0d94705d77cf%40pobox.com.