- To reduce the complexity of finding a collsion-free path by reducing the free space.
- Creation of a
*subvisibility*graph from the visibility graph. - Use the smaller subvisibility graph to determine the shortest collision-free path.
- Use of the smaller graph reduces the complexity of computing the visibility graph for a greater amount of free space, consequently having to compute visibility edges for obstacles that are not in the direct path between the robot and target.

Begin by defining a straight line from start vertex 'S' to terminal vertex 'T'.

Position obstacle1, O_{1}, where it belongs and if O_{1} overlaps segment ST, then delete segment ST and create segments S_{i}O_{i} and T_{i}O_{i} where i is a vertex in O_{1}, for all i if visible to S or T.

Continue for all O_{i} in a list of obstacles performing visibility graph algorithm only when each additional O_{i} overlaps an existing segment.

Next

The end result will be a subvisibility graph which will work on only the obstacles that are in the direct path of segment ST, thereby reducing the overall complexity of the free space to a "sub" smaller free space.