HN.zip

Kolakoski Sequence

57 points by surprisetalk - 11 comments
MontyCarloHall [3 hidden]5 mins ago
For those not getting this immediately (I sure didn't):

              _____________
   sequence   1 2 2 1 1 2 1 2 2 1
   run lens   1 2-- 2-- 1 1 2-- 1
Read out the bottom sequence of run lengths, and be amazed that it's the same as the first 7 digits as the top sequence. Extend the bottom to continue to recapitulate the top sequence, and add terms to the top sequence accordingly to reflect the run lengths in the bottom sequence. Repeat infinitely.
AnotherGoodName [3 hidden]5 mins ago
Can't you trivially force this to happen for any sequence?

1, 3, 3, 3, 2, 2, 2, 1, 1, 1, 4, 4,

Goes to

1, 3, 3, 3, 2... Etc.

I could extend this trivially too since the bottom sequence trails the sequence we write up top. If i wanted another '2' down the bottom whatever number i choose up top i just write twice right?

So there's nothing about this particular sequence? I can just create any such sequences trivially; Whenever you start a new count, choose a random number and repeat for a many times as needed for the trailing sequence to match the top sequence.

It seems that this particular variant is uninteresting in the broader picture right? I could write another similar one

2, 2, 1, 1, 2, 1

2, 2, 1, 1, ... etc.

I don't get the specialness here?

MontyCarloHall [3 hidden]5 mins ago
>Can't you trivially force this to happen for any sequence?

No, because there's no deterministic way to infinitely extend that sequence. In your first example:

   1 3 3 3 2 2 2 1 1 1 4 4 x x y y
   1 3---- 3---- 3---- 2-- 2-- 2--
What are the values of x and y?

>Whenever you start a new count, choose a random number and repeat for a many times as needed for the trailing sequence to match the top sequence.

You answered your own question. The Kolakoski sequence is special because it does not just pick a random number: the sequence is deterministically encoded by the run lengths, and vice versa.

AnotherGoodName [3 hidden]5 mins ago
Pick any number that's not 4 and repeat it twice. For the next 2 after that pick any number that's not that previous number and repeat it twice. So on.

It's not like i had any difficulty coming up with that sequence i wrote to that point.

1 3 3 3 2 2 2 1 1 1 4 4 5 5 6 6 8 1 2... as an example of how trivial it is to continue to this.

I get that if you limit yourself to '1' or '2' you force the choice of next number but even then there's two possibilities of this sequence (start on 1 vs start on 2).

flufluflufluffy [3 hidden]5 mins ago
I guess you could say the Kolakoski sequence is special in being the “simplest” version of such a sequence (ignoring the finite trivial case {1} xD)
MontyCarloHall [3 hidden]5 mins ago
You are still choosing random numbers here. The Kolakoski sequence has zero randomness whatsoever.
AnotherGoodName [3 hidden]5 mins ago
Do we care similarly about the version of this that starts on 2?

2, 2, 1, 1, 2, 1, 2...

2, 2, 1, 1,

Again no randomness. Just a variant of the above and trivial to continue this.

MontyCarloHall [3 hidden]5 mins ago
This is just the Kolakoski sequence starting from the second term.
AnotherGoodName [3 hidden]5 mins ago
Ahh that makes sense. Thank you!
nwellnhof [3 hidden]5 mins ago
There's a fascinating way to generate the Kolakoski sequence with bit fiddling: https://11011110.github.io/blog/2016/10/14/kolakoski-sequenc...
vindex10 [3 hidden]5 mins ago
Is it a coincidence that it is number 2 in the OEIS?)