IBM Ponder This 03-18 Solved

Credited with solving this puzzle:

Ponder This Challenge:
Alice and Bob are given an interesting challenge. Alice will be given a random vowel (A, E, I, O, or U) in a room without Bob with six randomly set toggle (on/off) switches. She may change the state of at most one switch and then leave the room without talking to Bob. Bob must then enter the room and discover the secret vowel Alice was given.

Before Alice enters the room, she and Bob agree on a plan. Their strategy is to declare the unknown (as yet) vowel as a function of the new state of the switches.

What exactly is their suggestion?

Supply your answer as a 64-long string of vowels: the first representing when all six switches are off; the second representing when the first five are off and the last is on

First you must recognize that the potential states of the switches can be thought of as the bits of a 6 bit number from 000000 (0) to 111111 (63). Then you must recognize that what we want to do is to distribute the voweles amongst these 64 numbers such that a change in one bit for any number can get you to any other vowel. That is to say 101010 can be changed by 1 bit to 0010101, 111010, 100010, 101110, 101000 or 101011. If you map all the numbers that are one bit away from any other number it actually makes rather pretty pattern:

Now my head went to visualizing this as the connectivity of the numbers in a ring, like this (5 colors representing the vowels):

So I built this application (vb.net) to assist with solving. Even heavily optimized, attacking this head on for many hours didn’t yield a solution. I then did something that often helps me in these scenarios and solved lesser ordered problems (3, 4 and 5 switches)

What you can quickly see is that these solutions are all symmetrical. So I worked that constraint into my algorithm and the problem was cracked pretty quickly!

Was fun to watch it work it out! I look forward to seeing a more analytical solution to this.

[wpvideo O3JY7emV data-temp-aztec-id=”2a578550-b870-41f2-b24b-c90157e6c065″]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.