Puzzle time
-
In a circle are light bulbs numbered clockwise 1 through 100, all initially on. At time t, you examine bulb number t (if t > 100, it's the light bulb whose number is the last two digits of t). If that light bulb is on, you change the state of bulb t+1; i.e., you turn off the clockwise-next bulb if it's on, and on if it's off. If bulb t is off, you do nothing.
If you continue around and around the ring in this manner, will it ever happen that all 100 bulbs will again be on?
-
By running simulations, I can "see" that for smaller # of bulbs, they do return to the state where all bulbs are on. I ran simulations up to 30 bulbs.
There is some hint of iterating the process (2 to the power of the # of bulbs) times to return to the state where all bulbs are on, but not consistently so. I haven't figure out the pattern yet.
If you don't mind, please do not post the answer yet ... I'd like to see if I can return to this puzzle later. Thanks.
-
I draw the line at writing code or writing anything down for these puzzles. I couldn’t make much headway with this one though I had tried the reversal and a reductio of the lightbulbs. Either there is an infinite loop which returns to all off or they eventually turn to all on.
-
So you start with t = 0 (i.e. turn bulb 1 off), then t=1 (do nothing with bulb 2), then t=2 (turn bulb 3 of) and so forth. After the first round, all odd numbered bulbs are off and all even numbered ones are on.
Correct so far?
I haven't thought a lot about it yet, but the only fixed point seems to be that all bulbs are off. Hmm... My first guess is that it will return to that same state around time t=2^100.
-
Is it not inevitable that it returns to all off? I don’t think there can exist a loop which does not eventually return to every antecedent state. And if there is no loop then you have to assume that the infinity of future states must contain all off. Which makes a loop. Maybe the insight is that all such state machines are necessarily looping.
-
@jon-nyc said in Puzzle time:
Like Ax I wrote code to play a bit but after 36 bulbs ran for a full day I gave up on the brute force method.
Just out of curiosity, I ran a simulation for 36 bulbs on a MacBook Air (1.6 GHz Intel Core i5). It took 10 minutes and 36 seconds to reach the "all on" state at the 22,839,252,821st iteration. I implemented my simulator using Go.
What did you use to implement and run your simulation?
-
Nice puzzle!
Let's analyze this some more.
Every state is in a cycle that has a length n. We just established that the set of states is the disjoint union of all cycles.
Let's consider a histogram of cycle lengths. For instance, "000....000" is in a cycle of length one, hence we add one to the bin for cycles of length 1.
What kind of shape will the histogram have? And the extra Nassim Taleb Black Swan question is: does it have a "fat tail"?