Ask HMF anything

Nope I seem to come to no proof. I bruteforced n=5 and can confirm that one is solvable but I could not see a pattern. If I was you I would try to formalize what that ring looks like and what you can do with it. I tried focusing on segments you can rotate:

  • A segment is part of the ring
  • If you rotate the ring, the bulbs in your segments shift to a side
  • At one side, rotating results in a bulb to disappear
  • At the other side, rotating results in a bulb to appear
  • If the ring is larger than your segment, the new bulb was not yet in the segment and can be either on or off
  • If the ring is as large as your segment, the appearing bulb has the state of the disappearing bulb
  • If the ring is smaller than your segment, the appearing bulb has the state of a bulb that is still in your segment (left bulb = right bulb if the segment is 1 larger than the ring)

That way you can focus on these key actions:

  • rotate left
  • rotate right
  • toggle the switch in the middle

And work with the bulb pattern and see if you can set all you can see to on. That’d be the proof. Because if the ring is larger, you can always rotate to the remaining bulbs and apply the algorithm again.

But I did not succeed to do that. :frowning:

2 Likes

Rotating is actually what I was thinking of. I did not come to a proper proof for it but for any set of bulbs, rotating the segments can lead to a single bulb off. Then I tried to see whether I can do anything with rings that only have one bulb off, and I also considered the value n mod 3 as the switching changes the state of 3 bulbs.

If you can wait some more, I will look at it today again. Gonna write a test script that brutforces the shortest steps for lighting up a 8bit ring. Maybe the steps show a good approach you can conclude a proof from. :thinking:

1 Like

I Appreciate it. No need to rush though, it’s been a few weeks already.

Was interested setting the script up so it is done already. :smiley:
It generates unique starting situations (unique even when comparing rotated settings) and prints the shortest solution for a ring of 8 bulbs.

This is the result
00000000 > 00000111 > 00001001 > 00010101 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
00000001 > 00000110 > 00111110 > 11111111
00000011 > 00011111 > 11111111
00000101 > 00000010 > 00001100 > 01111100 > 11111111
00000111 > 00001001 > 00010101 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
00001001 > 00010101 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
00001011 > 00001100 > 01111100 > 11111111
00001101 > 00000011 > 00011111 > 11111111
00001111 > 00001000 > 00000110 > 00111110 > 11111111
00010001 > 00011111 > 11111111
00010011 > 00010100 > 00011010 > 00000110 > 00111110 > 11111111
00010101 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
00010111 > 00010000 > 00001100 > 01111100 > 11111111
00011001 > 00011110 > 00010000 > 00001100 > 01111100 > 11111111
00011011 > 00010101 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
00011101 > 00011010 > 00000110 > 00111110 > 11111111
00011111 > 11111111
00100101 > 00100010 > 00111110 > 11111111
00100111 > 00011111 > 11111111
00101011 > 00101100 > 00100010 > 00111110 > 11111111
00101101 > 01011101 > 10111101 > 01111100 > 11111111
00101111 > 00101000 > 00110100 > 00001100 > 01111100 > 11111111
00110011 > 00110100 > 00001100 > 01111100 > 11111111
00110101 > 00111011 > 00100111 > 00011111 > 11111111
00110111 > 00110000 > 00111110 > 11111111
00111011 > 00100111 > 00011111 > 11111111
00111101 > 00111010 > 00110100 > 00001100 > 01111100 > 11111111
00111111 > 00110001 > 00101101 > 01011101 > 10111101 > 01111100 > 11111111
01010101 > 01010010 > 01001110 > 00111110 > 11111111
01010111 > 01101111 > 00011111 > 11111111
01011011 > 01011100 > 01010010 > 01001110 > 00111110 > 11111111
01011111 > 01011000 > 01000100 > 01111100 > 11111111
01101111 > 00011111 > 11111111
01110111 > 01111001 > 01100101 > 01011101 > 10111101 > 01111100 > 11111111
01111111 > 01111000 > 01110110 > 01001110 > 00111110 > 11111111
11111111

If you are interested, this is the script.
I kinda optimized it so it should not (always) time out if you hit Run.

You can try to find a pattern from that and generalize it to rings of other sizes. It seems the maximum number of toggles is equal to the number of bulbs.

1 Like

This is amazing :smiley: The results pattern will definitely help proving it. I’ll try converting the script to c++, for more possible optimizations.

Also I didn’t know that Discourse, thanks for being helpful.

2 Likes

Why, does it bother you to wait 2.5 seconds including compile time? :stuck_out_tongue: Rust is on the same level of C++ performance wise. I guess your time is better spent on finding a pattern in the result.
Note that my script is not a proof for anything but a ring of 8 bulbs. If you conclude an algorithm for other sized rings from that, you have to proof that is actually working for any ring.

1 Like

Nah, I’m just more familiar with c++, That’s all. Why use print() when there’s the mighty cout<< :stuck_out_tongue:

1 Like

Oh I see, then sorry to make you deal with Rust. :stuck_out_tongue: if you have questions regarding my code, write me a DM or in Discord.

1 Like

Would anyone want to voice an NPC in my latest H3 cartoon? You should have the accent that they have in Dartmoor, England (or be able to convincingly fake it). And a good mic. I can’t pay you because I’m broke, but you would get a mention in the credits. It would be like maybe 3 sentences and them freaking out over seeing something. Thought it might be worth asking here. It could be fun. :slight_smile:

14 Likes

Its a shame im dutch so my accent will always obviously be dutch. But i do hope you find someone for your animation. Its gonna be amazing

5 Likes

I do have a good mic though I don’t think you’d accept deep Mazandaranian accent lol. As far from Bri’ish as possible.

7 Likes

I’d be up for it. I’ve got a good mic at least.

Might depend on what kind of accent from Dartmoor you might want, but I know RP and cockney so it shouldn’t be too difficult if I just need a reference from the level itself :smile:

8 Likes

Oh blimey!!! That sounds like it would be just aces.

Sadly I haves a fairly heavy American midwest with a bit of Chicago mixed in accent.

6 Likes

I would absolutely love to give it a try for the fun of it, but while I think I can fake some kind of English accent pretty convincingly, I sadly lack a good mic (or any mic for that matter… I suppose I could try asking around for one though).

5 Likes

Might as well ask away too.

Is a kiwi accent close enough? My voice sounds heavily NZ but I’m down for some voice acting. Though it muaight sound likee thees in teext form.

Currently sporting a blue yeti mic with windshield.

4 Likes

when would you need it done by?

i have a british accent but do a mean droopy the dog.

just sayin’.

7 Likes

1-2 weeks most likely. Been having to put off this cartoon a few times due to real life events so there’s not really too much of a rush.

Maybe…? AFAIK A Kiwi accent sounds more Australian, but perhaps your voice could blend in still.

===
Thanks for the responses everyone. I’ll DM those interested with a prompt sometime soon and we can take it from there. :+1:

7 Likes

I revisited my script to generate a more useful output, also to make it more efficient:

Result
11111111
└─00011111
  └─01101111
  └─00010001
  └─00100111
  └─00000011
    └─00001011
    └─00111011
    └─00110111
    └─00001101
    └─00000001
      └─00011101
      └─00000101
      └─00010111
      └─00001111
        └─01111111
        └─00011001
        └─00010011
          └─00111111
          └─00101101
          └─00011011
          └─00001001
          └─00101011
            └─01011011
            └─01010111
            └─00010101
            └─00101111
            └─00100101
              └─01010101
              └─00110101
                └─00111101
                  └─00110011
                  └─01011111
                  └─01110111
                    └─00000111
                      └─00000000

The output is now starting at all-bulbs-on with previous steps below. Note that a step is now not only to toggle a switch but also to rotate the ring so the integer value of the ring is the minimum.
That way finding a pattern should be more easy as the arms are lower in their number.

Interestingly, if a bulb configuration has multiple unique configurations one step further from all-bulbs-on, not more than one of these configurations has it’s own set of configurations further away.

2 Likes

okey dokey. i’m game, if you’ll have me.

i have access to a studio where i work but only up until around the 5th august.

3 Likes