Categories
Puzzles

Closed room/box with three light bulbs and three switches

There is a room with a door (closed) and three light bulbs. Outside the room there are three switches, connected to the bulbs. You may manipulate the switches as you wish, but once you open the door you can’t change them. Identify each switch with its bulb.

Assumptions:

  1. Assuming the lights are not the newer LED bulbs that dont get warm to the touch we can assume if we leave thei light on it will get warm.
  2. We are powering up the box / it does not exsist before time T0. If not it is possible that the heating and cooling times will make the following simplification not work.

Two bulb Solution

{S1 S2} = {a,b} –> Starting test state – wait for an hour.

{S1 !S2} = {a,!b} –> Toggle switch states and open the door.

  1. Light that was constantly on should now be warm and on.
  2. Light that was constantly off should still be off and cold.
  3. Light that was on and is now off should be off and cold.
  4. Light that was off and is now on shoudl be on and cold.

Tests 1 and 2 uniquely identify S1, and you get S2 by process of elimination.

Three bulb Solution

  1. {S1  S2  S3} = {a,  b,   c} –> Starting test state – wait for X mins.
  2. {S1  S2 !S3} = {a,  b, !c} –> Toggle switch and wait for Y mins.
  3. {S1 !S2  S3} = {a,!b, c} –> Toggle switch and pen the door.

Decoding then is

  1. S1. Light that was constantly on should either be ambient temperature and off or very hot and on.
  2. S2. Should either be heated for X+Y mins and off, or ambient and on.
  3. S3. Should either be heated for X-Y mins and on, or heated Y mins and off.

Four temperatures possible: Ambient, Y, X-Y, X+Y

  1. Ambient and off light is S1.
  2. Ambient and on light is S2.
  3. Heated (X+Y) and on is S1.
  4. heated (X+Y) and off it is S2.
  5. Heated X-Y and on is S3 and heated Y and off is S3. So the medium temperature (either Y or X-Y)  is S3.

From 5 above we can collapse the temperature range to Ambient , {Y, X-Y}, X+Y. So just picking a X/Y ratio that allows for adaquade difference in heating and cooling times is all that is needed.

Leave a Reply