Given a simple polygon with two marked vertices and the problem asks whether two guards can move on the two boundary chains of from to one clockwise and the other counterclockwise, such that they are always mutually visible. In this paper, we present a simple and straightforward solution to the two-guard problem. It is obtained by a close study on the structure of the restrictions placed on the motion of two guards. Moreover, our solution can easily be generalized to that for the problem, in which the first and last guards move on the two boundary chains of from to and the middle guard is always kept to be visible from them inside As a final result, we can decide whether there exists a solution for the three-guard problem in ( log ) time, and if so generate an optimal walk schedule in ( log ) time, where (≤ ) is the minimum number of walk instructions needed. This improves upon the previous time bounds () and ( log ), respectively