Suppose you are a point in a square room. The walls of the room are mirrors, and there is a man with a laser gun standing somewhere else in the room. The man is also a point, and both of your positions are fixed points, that is, neither of you can move. A beam from the laser will bounce off of the walls of the room at an angle equal to its angle of incidence. To protect yourself, you are allowed to place any number of bodyguards (possibly infinitely many) at any points in the room. The laser beam will stop if it hits a bodyguard.

Is there an arrangement of finitely many bodyguards that completely protects you from being shot? If so, what is the largest number of bodyguards you need to protect yourself no matter how you and the gunman are placed in the room?

I encountered this problem a while back, and haven't been able to solve it. An initial idea is to tile the plane with 'rooms' and translate your image into each square, but only draw the gunman in one of the tiles. Then all possible fatal shots are represented by a segment from the shooter to one of your images. Somehow, we must place bodyguards along these segments, and cover each one.

A simple generalization of this problem is to begin with a room of a different shape (triangle, hexagon, circle, etc.). I imagine these problems could get quite tough, for instance, my approach above would only work with shapes that tile the plane.

  • $\begingroup$ I like this question quite a bit. I wonder one thing: are 'people' points, line segments, boxes, or circles (or something else - these were what seemed apparent to me) $\endgroup$
    – davidlowryduda
    Mar 16, 2013 at 22:57
  • $\begingroup$ People (you, gunman, and bodyguards) are points. $\endgroup$
    – Jared
    Mar 16, 2013 at 22:58
  • $\begingroup$ But the gunman can still turn. $\endgroup$
    – Loki Clock
    Mar 16, 2013 at 23:06
  • $\begingroup$ Yes, the gunman can rotate to fire in any direction. $\endgroup$
    – Jared
    Mar 16, 2013 at 23:09
  • 6
    $\begingroup$ Are there sharks? $\endgroup$
    – Will Jagy
    Mar 16, 2013 at 23:12

1 Answer 1


I take it that you need a certain distance between you and the bodyguards, otherwise a single bodyguard at the same position as you are, will do.

So make a wall of bodyguards by placing them in a circle around you.

As the gunman reflections are on a double lattice (it's easier to translate the gunman instead you), you need only a countable number of bodyguards, but you did not mention your bodyguard wall could not be continuous.

If you insist on the smallest number of bodyguards, consider the lattice of the gunman's reflections and put a bodyguard on any point between you and the reflection.

By placing the bodyguard at the mid point, you'll get a lattice of bodyguards with a period of half the distance between the room walls. In facts, some of these bodyguards will be reflections of other bodyguards. So you will need 16 bodyguards (and their reflections).

Illustration (need html5)

Explicitly let's say the gunman is at $(a, b)$ and you are at $(c, d)$ in the unit square $[0,1] \times [0,1]$. The gunman's first reflections are $(-a, b)$ and $(a, -b)$. The reflection's reflections of the bodyguard are obtained from these 4 points by translation of vector $(2n, 2m)$, with $n$, $m \in Z$; that is at $(2n+a, 2m+b)$, $(2n+a, 2m-b)$, $(2n-a, 2m+b)$, $(2n-a, 2m-b)$. More briefly, the points $(2n\pm a,2m \pm b)$.

You need to put a bodyguard on the mid-point between you and the reflections, that is the points $(n+\frac {c\pm a} 2, m+\frac{ d\pm b} 2)$. In facts you need only the bodyguards that are in the room $[0,1] \times [0,1]$, as you will protected by their reflections. it leaves you , in the general case 16 points : $(\frac {c\pm a} 2, \frac{ d\pm b} 2)$, $(\frac {c\pm a} 2, 1+\frac{ d\pm b} 2)$, $(1+\frac {c\pm a} 2, 1+\frac{ d\pm b} 2)$, $(1+\frac {c\pm a} 2, 1+\frac{ d\pm b} 2)$.

Of course, you have degenerate cases. Jared propose a gunman at $(\frac 1 4, \frac 1 2)$ and you to be at $(\frac 1 4, \frac 1 2)$. In this case, you and all the gunman's reflections are on the lines $y=m+\frac 1 2$, so only 8 bodyguards are needed. Note that the bodyguards are still given by the general solution above except that some overlap.

Generalize If the laser beams reflects on the floor and ceiling, you'll need $2^{2n}$ bodyguards, where n is the dimension of the room.

If your room has a different shape, you need a countable infinite number of bodyguards, unless the room pave the plan, which occurs only for the equilateral triangle, the hexagon or the rectangle.

The answer in higher dimensions involves the crystallographic groups theory.


  • 1
    $\begingroup$ The set of reflections of any point is only a lattice if it is in the middle of the square, the middle of a wall, or in a corner. If the point has irrational coordinates, the lattice generated by its reflections is dense in the plane! $\endgroup$
    – user14972
    Mar 17, 2013 at 0:48
  • $\begingroup$ Hoopppssss. Correct. The set of reflection is a double lattice. I still count 4 bodyguard (dure $\endgroup$
    – AlainD
    Mar 17, 2013 at 1:11
  • $\begingroup$ Hooppsss. The set of reflection is a double lattice. If the gunmman is at $(a,b)$, its reflections are at $(n w+a (-1)^n, m h+b (-1)^m)$. Always countable (thus non dense). I still count 4 bodyguards. $\endgroup$
    – AlainD
    Mar 17, 2013 at 1:23
  • $\begingroup$ I'm not so sure this answer is correct. Let's say the gunman is at $(\frac{1}{4},\frac{1}{2})$ and you are at $(\frac{3}{4},\frac{1}{2})$ in the unit square $[1,0]\times[0,1]$. Where would you place the four bodyguards in the unit square to block all possible shots? Just a list of points will suffice, then I can check the work myself. Thanks! $\endgroup$
    – Jared
    Mar 17, 2013 at 6:54
  • $\begingroup$ Thanks Jared, you are on a special case, but it helped me to correct my proposal and look for an analytic solution. You'll find an interactive graphic showing all that on the web site alaind.cixx6.com/gunman.html. $\endgroup$
    – AlainD
    Mar 17, 2013 at 14:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .