An Approximation Algorithm For Point Guard Problem

Similar documents
Orthogonal art galleries with holes: a coloring proof of Aggarwal s Theorem

Introduction to Approximation Algorithms

Edge Guards for Polyhedra in Three-Space

Maximizing the Guarded Boundary of an Art Gallery is APX-complete

A Constant-Factor Approximation Algorithm for Optimal Terrain Guarding

A Tight Lower Bound for Art Gallery Sensor Location Algorithms

AMS 345/CSE 355 Computational Geometry

Minimum-Link Watchman Tours

MISCELLANEOUS SHAPES

A chromatic art gallery problem

On Guarding Orthogonal Polygons with Bounded Treewidth

Lecture 3: Art Gallery Problems and Polygon Triangulation

arxiv: v2 [cs.cg] 15 Aug 2016

Linear time 8/3-approx. of r-star guards in simple orthogonal art galleries

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards

Maximizing the Guarded Boundary of an Art Gallery Is APX-Complete

The Art Gallery Theorem

An Exact and Efficient Algorithm for the Orthogonal Art Gallery Problem

Guards, Galleries, Fortresses, and the Octoplex

Algorithms. Daniel G. Aliaga. Computer Science Department Purdue University

Art Gallery Theorems and Algorithms

Visibilty: Finding the Staircase Kernel in Orthogonal Polygons

The Art Gallery Problem

On k-guarding Polygons

Visibility Analysis for Video Surveillance

An art gallery approach to ensuring that landmarks are distinguishable

Inapproximability of the Perimeter Defense Problem

Polygon decomposition. Motivation: Art gallery problem

Guarding curvilinear art galleries with vertex or point guards

5/30/13. Guarding, Searching and Pursuing Evaders using Multiagent Systems. Todays topics. Example Scenario. Todays topics

The Inapproximability of Illuminating Polygons by α-floodlights

Geometric Optimization Problems on Orthogonal Polygons: Hardness Results and Approximation Algorithms

Cutting out polygons with a circular saw

Terrain Guarding is NP-Hard

LINK LENGTH OF RECTILINEAR HAMILTONIAN TOURS IN GRIDS

Fast Positioning of Limited-Visibility Guards for the Inspection of 2D Workspaces

Visibility: Finding the Staircase Kernel in Orthogonal Polygons

Bottleneck Steiner Tree with Bounded Number of Steiner Vertices

Computational Geometry

Smallest Intersecting Circle for a Set of Polygons

The Geometry of Carpentry and Joinery

An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem

Bicriteria approach to the optimal location of surveillance cameras *

Fast Vertex Guarding for Polygons

Geometric Unique Set Cover on Unit Disks and Unit Squares

Simultaneously flippable edges in triangulations

Coverage and Search Algorithms. Chapter 10

Single-crossing Orthogonal Axial Lines in Orthogonal Rectangles

On Visibility Problems in the Plane Solving Minimum Vertex Guard Problems by Successive Approximations

makes the algorithm correct but gives it an approximation factor of 5 instead of 4.

Bar k-visibility Graphs

The crossing number of K 1,4,n

Bar k-visibility Graphs: Bounds on the Number of Edges, Chromatic Number, and Thickness

Geometric Red-Blue Set Cover for Unit Squares and Related Problems

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

T. Biedl and B. Genc. 1 Introduction

Convex Hull of the Union of Convex Objects in the Plane: an Adaptive Analysis

Dominating Set on Bipartite Graphs

Fast, Effective Vertex Cover Kernelization: A Tale of Two Algorithms

Cleaning an Arbitrary Regular Network with Mobile Agents

The Orchard Crossing Number of an Abstract Graph

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

Approximation Algorithms for Geometric Intersection Graphs

Coloring Variations of the Art Gallery Problem

Coverage and Search Algorithms. Chapter 10

Approximate Shortest Routes for Frontier Visibility under Limited Visibility

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

Art Gallery, Triangulation, and Voronoi Regions

Combinatorics of Beacon-based Routing in Three Dimensions

Guarding curvilinear art galleries with vertex or point guards

The strong chromatic number of a graph

On Exploring Temporal Graphs of Small Pathwidth

CMPSCI611: Approximating SET-COVER Lecture 21

Complexity Results on Graphs with Few Cliques

[Ba] Bykat, A., Convex hull of a finite set of points in two dimensions, Info. Proc. Lett. 7 (1978),

An Algorithm for Computing the Convex Hull of a Set of Imprecise Line Segment Intersection

A note on Baker s algorithm

Efficient minimum spanning tree construction without Delaunay triangulation

Colorability in Orthogonal Graph Drawing

Partitioning Orthogonal Polygons by Extension of All Edges Incident to Reflex Vertices: lower and upper bounds on the number of pieces

On Computing the Centroid of the Vertices of an Arrangement and Related Problems

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Conflict-free Covering

Algorithmic complexity of two defence budget problems

Connecting face hitting sets in planar graphs

Applications of Geometric Spanner

Chordal graphs and the characteristic polynomial

Computational Geometry [csci 3250]

An NC Algorithm for Sorting Real Numbers

The Art Gallery Problem

Local Search Approximation Algorithms for the Complement of the Min-k-Cut Problems

Unfolding Rectangle-Faced Orthostacks

The SUMO Speaker Series for Undergraduates. The Art Gallery Problem

Crossing Families. Abstract

Polygon reconstruction from local observations

On Covering a Graph Optimally with Induced Subgraphs

Extending Rectangle Join Algorithms for Rectilinear Polygons

Derrick Stolee. April 12,

Geometry. Geometric Graphs with Few Disjoint Edges. G. Tóth 1,2 and P. Valtr 2,3. 1. Introduction

Motivation: Art gallery problem. Polygon decomposition. Art gallery problem: upper bound. Art gallery problem: lower bound

Transcription:

Australian Journal of Basic and Applied Sciences, 5(9): 1038-1044, 2011 ISSN 1991-8178 An Approximation Algorithm For Point Guard Problem 1 Mohammad Hosseinzadeh Moghaddam, 2 Alireza Bagheri 1 Islamic Azad University, Hashtrood branch, Computer Engineering Department. 2 Computer Engineering and IT Department, Amirkabir University of Technology, Tehran, Iran. Abstract: In 1973, Victor Klee posed the following question: How many guards are necessary, and how many are sufficient to patrol the paintings and works of art in an art gallery with n walls? This resulted in many subsequent researches so that the various versions of the art gallery problem were posed. Most of the versions posed are NP-hard, so designing approximation algorithms becomes important. The best algorithms for vertex and edge guard problems have logarithmic approximation factor, but with point guard problem, for the endlessness of search space, there has not posed any polynomial approximation algorithm as it would have some approximation factor better than n and running time better than O ( n 3 ). In this paper, a new approximation algorithm is proposed for point guard problem with n approximation factor. The time complexity of the proposed algorithm 8 is O ( n 3 ). Key words: Computational geometry, approximation algorithm, art gallery problems, point guard. INTRODUCTION A polygon P is called simple if any two non-consecutive edges do not intersect. Given two points p and q of a polygon P, p is visible from q if the line segment oining p to q is totally contained in P. The art gallery problem is stated as follows: Given a polygon P (the gallery),find a smallest set G of points (guards) inside P, such that each point in P is seen by at least one of the guards.there are several types of restrictions that may be imposed on the guards to cover a polygon P. In some cases, we may want them to be stationed at vertices of P or anywhere within P. In other case they can patrol along edges of P. We now list all different types of guards studied in papers (J. Urrutia, 1996): Point Guards: This type of guards can be located anywhere in the polygon to be guarded. Vertex Guards: In this case, the positions of guards are restricted to vertices of a polygon. Edge Guards: This type of guards can move along the edges of a polygon. A point q can be considered guarded if it is visible from some point in the path of a guard. Mobile Guards: Guards are allowed to move along closed line segments totally contained in a polygon P. The first result in this area, due to (V. Chvatal, 1975) asserts that n guards are occasionally necessary and always sufficient to guard an art gallery represented by a simple polygon with n vertices. A simple polygon is called orthogonal if all it s edges are parallel to either the x axis or the y axis. The first maor result here is due to Kahn, Klawe and Kleitman (J. Kahn et al., 1983). They proved: Any orthogonal polygon with n vertices can always be illuminated with n vertex guards and guards are sometimes 4 necessary. (J. Rourke, 1987) proved the first result on guarding polygons with holes: Any polygon with n vertices and h holes can always be guarded with n 2h vertex guards. (Borling Sachs and Souvaine, 1991; Corresponding Author: Mohammad Hosseinzadeh Moghaddam, Computer Engineering Department, Islamic Azad University of Hashtrood, Hashtrood, Iran. 1038

Hoffmann, Kaufman, and Kriegel, 1990) independently proved: n h point guards are always sufficient and 3 occasionally necessary to guard any polygon with n vertices and h holes. In1995 Borling Sachs and Souvaine gave an O( n 2 ) time algorithm to find the position of n h guards. In 1982 O Rourke proved that any orthogonal polygon with n vertices and h holes can always be guarded with n 2h guards. 4 In 1990 F.Hoffmann proved that n point guards are always sufficient to guard any orthogonal polygon 4 with n vertices and h holes. (Hoffman and Kriegel, 1993) proved that n vertex guards are always sufficient to 3 guard an orthogonal polygon. In 1986 Lee and Lin proved that minimum vertex/point/edge guard problems are NP-hard. These versions can not be approximated with an approximation ratio that is better than logarithmic in the number of polygon or terrain vertices for input polygons with holes or terrains and these problems can not be approximated with an arbitrarily small constant approximation ratio for input polygons without holes (S. Eidenbenz et al., 2001). The best approximation algorithms for these guarding problems achieve a logarithmic approximation ratio for minimum vertex/edge guards for polygons (S. Ghosh, 1987) and the best known approximation ratio, achievable in polynomial time, is n for minimum point guards (Y.Amit, 2007). 3 There are many variations or restricted versions of the art gallery problem. The reader is referred to (Rourke, 1987; Shermer,1992 and Urrutia, 1996) for comprehensive surveys. To our knowledge, the best known result, achievable in polynomial time, for point guard problem is the work of Aggarwal et al., 1988. The time complexities of the two algorithms presented in [2] are O( n 8 ) and O ( n 4 ). The approximation factors of those algorithms for point guard problem have not been presented. We show in this paper that the algorithm with O( n 4 ) time complexity does not have an approximation factor better than n. 8 Considering the various versions of the art gallery problem it can be claimed that it s most difficult version is the point guard in which the guards can be placed every point in the whole polygon. In this paper, a new approximation algorithm is proposed for point guard with n approximation factor. The time complexity of the 8 proposed algorithm is O ( n 3 ). (Recently Deshpande et al., 2007) presented a pseudo-polynomial time algorithm for point guard problems that has logarithmic approximation factor. This is the first logarithmic approximation algorithm for the point guard. In section 2, the proposed algorithm is described and it s time complexity is computed. In section 3, we compute the approximation factor of the proposed algorithm. Finally, we draw our conclusion, in section 4. Approximation Algorithm For Art Gallery Problem: As mentioned above, most versions of the art gallery problem are NP-hard, so we should practically ignore the optimal algorithms and look for local optimal algorithms. The algorithms proposed for vertex guard problem can be used for point guard problem, but clearly the efficiency of the results may be degraded. So it will be more efficient to design specific algorithms for point guard problem. In this section, we describe an approximation algorithm for the point guard problem. The algorithm is based on special convex regions which are defined in the next subsection. Focus On Special Regions In A Polygon: One useful direction for approximation is to decompose the polygon into simple sub polygons (such as convex, star-shaped, monotone, etc.). Each subpolygon can be more easily analyzed for guarding. For instance, after decomposing into convex polygons, we can simply position one guard in each sub polygon and cover the entire polygon. A good candidate shape for such decomposition is the star-shaped polygon. We have attended some regions in a polygon where carry interesting features. To probe these regions, it will help us with design an approximation algorithm for the art gallery problem. These regions, that we call them the maximal convex regions, are convex and maximal, i.e. adding one more point of the polygon to these regions will lead to the lack of convexity. 1039

Convex Component: A convex region c P is called convex component of P if there is not other convex region b of P, where c b, such that b can be divided by drawing one of the edges of the reflex vertices. Maximal Convex Region (MCR): We call a convex region in a polygon a maximal convex region if it is formed first by union of one or more convex components and second is maximal, meaning that, adding any other convex component, will lead to the lack of the convexity. In figure 1, by drawing the edges of the reflex vertices, it would be formed regions which are called the convex components, and their appropriate configuration make maximal convex regions. Fig. 1: Convex Components And Maximal Convex Regions. For instance, by union of the convex components that are labeled # we will achieve a maximal convex region and by union of the convex components that are labeled @ we will make the other one. As being seen from the figure 1, both of regions are convex and it is never added with another component unless it's convexity will vanish. Neighbor Of A Convex Component: A convex component C is neighbor of the convex component C if it shares at least one edge ofc. i A Complement Of A Non-Convex Region: A complement of a non-convex region with only one reflex vertex, say b, is the convex component that is apart from b and shares the reflex vertex and at least one edge of b. Note that one guard is sufficient to guard each MCR and any guard out of the MCR fails to guard the whole MCR. The Algorithm Description: In this subsection, we present the approximation algorithm for point guard. If we want to describe our algorithm briefly, we have to say that it first needs us to draw the edges of the reflex vertices to form convex component. Then we must determine MCRs by appropriately union of the convex components and regard intersections between the MCRs. The MCRs are selected such that their union covers the polygon. If we put a guard in each MCR then the polygon will be guarded. If we put the guards in intersection regions of MCRs we can spend fewer guards. So, the point guard problem can be considered as an instance of set covering problem. The set to be covered is the set of all MCRs. For each intersection region a subset is defined whose members are the MCRs that intersect on that region. Then we use Johnson s approximation algorithm (Johnson, 1974) for set covering problem, to determine the minimum number of subsets that cover the polygon. The number of MCRs may be exponential, as Aggarwal et al., 1988 showed that the number of maximal / 3 convex regions may be as large as 2 n for some n-sided polygons. To this end, we do not compute all of the MCRs. By extending one of the two edges incident to each reflex vertex of the polygon, the polygon is partitioned into r+1 convex polygons (Urrutia, 1996) see Figure 2. Where r is the number of reflex vertices. Each of these convex polygons is a union of some of the convex components. We expand each of these convex polygons by adding some convex components to make them maximal and they will be the MCRs. So, the number of MCRs is bounded by O (n). 1040

Fig. 2: Partitioning a polygon into r+1 convex polygons. In the following we are going to show how our algorithm works on a sample polygon. See Figure 3, in which the polygon has decomposed into several convex components. Four MCRs are attained by appropriately uxtaposing convex components which are illustrated in different colors in Figure 4. Fig. 3: Decomposing a polygon to several convex components. Fig. 4: MCRs of figure 3. Let M 1, M 2,... M m are the maximal convex regions. For each of vertex i of a convex component, let A i be the set of all MCRs that include i. It is easy to see that our problem is an instance of the set covering problem. The elements to be covered are MCRs and Ai s are the subsets of the elements. We should select the minimum number of Ai s to cover all the elements. By applying this approach to the previous example, we will see that the vertex that is highlighted, is included in all four MCRs. As a result, we can guard the whole polygon only by one guard, see Figure 5. 1041

Fig. 5: Intersection of all four MCRs in figure 4. Point Guard Approximation Algorithm for Guarding Polygons: Input: A polygon P with n vertices. Output: The locations of the point guards. Phase 1: Computing MCRs: 1. Compute the convex components by extending the edges incident to the reflex vertices. Let Ci s are the l convex components so is equal to P. C i i1 2. Choose an arbitrary reflex vertex v i, extend one of it s incident edges to partition P into two polygons P1 and P2. Then recursively partition P1 and P2 using the same approach. As a result P will be partitioned into r+1 convex polygons. Let D s be the previously computed convex polygons in step 2. 3. Color all the convex components by white. 4. For (each D ) do { 5. While ( there is a white neighbor convex component Ck of D ) do { 6. D D Ck 7. While ( D is not convex and has a white complement region C k ) do { 8. D D Ck. 9. } /* while */ 10. If ( D is not convex) then { 11. Color all the convex components added to D by red and remove them from 12. } 13. } /* while */ 14. Now D is a maximal convex region so let white. 15. } /* for */ D M equal to D and color all the convex components by Phase 2 Computing the intersections between MCRs and Johnson s algorithm: 1. Let X be the set of MCRs and define set Ai as before. Let F be the set of all Ai s and Q be the set of selected Ai s, initially set to empty. 2. Find A F such that for each i we have A i A 3. Add A to Q and delete from F. 4. For each A i F let A i = A i - A and X = X A 5. If X is not empty go to 2 6. Output Q and stop 1042

The Time Complexity of the Algorithm: In this section, we analyze the time complexity of the proposed algorithm and prove it has O( n 3 ) time complexity. First we analyze phase1. In step1, the convex components are computed by drawing O(n) line segments so this step require O ( n 2 ) time (Balaban, 1995). In step 2, we can compute the convex partitions in O ( n 2 ) time. Step 3 takes O ( n 2 ) time. In step 4, we compute MCRs and for computing a MCR we check at most O( n 2 ) convex components thus step 4 requires O( n 3 ) time. Note that checking the convexity and existence of a complement region can be done in O(1) time. In phase 2, first we compute Ai s. Computing Ai s can be done in O( n 3 ) time and can be computed during the previous phase. Since Johnson s algorithm can be implemented in O ( Ai ) time [6] and in our problem the number of elements that should be covered is O(n ) and the number of subsets is O ( n 2 ), so the time complexity of the phase 2 is bounded by O ( n 3 ). Thus the time complexity of the proposed algorithm is O ( n 3 ). The Approximation Factor: In this section, we show that the approximation factor of the algorithm presented in this paper is n. To 8 reach for this aim, we analyze the worst case behavior of the algorithm and compare the result of the algorithm in this case with the optimal solution. If we could find an instance of the problem for which our algorithm has the worst case behavior, namely needs the most number of guards, while the optimal number of guards is the least value, then the approximation factor is obtained by dividing these two values. Note that our algorithm puts a guard in each maximal convex region, and more intersections between maximal convex regions less guards are needed by our algorithm. Hence, the worst case behavior of our algorithm occurs in an instance of the problem in which the maximal convex regions have the minimum intersections. Note that in any instance of the problem, each maximal convex region has intersection with at least one another region. The minimum intersection occurs in an instance in which there is a maximal convex region that has intersection with all the other regions and there is not any other intersection. Note that in every instance that the optimal number of guards is one, our algorithm is also needs only one guard to guard it. This is due to this fact that such instance must be a star shaped polygon in which all it s maximal convex regions share the kernel, and our algorithm puts only one guard in the kernel. Hence, to find the worst case instance for our algorithm, we should search instances for which the optimal number of guards is 2. The discussion above leads us that the worst case instance is a rectilinear comb polygon, is shown in figure 6. Fig. 6: The Worst Case Instance. To guard the rectilinear comb shown in figure 6, two guards are sufficient and this is optimal, while our algorithm needs n/4 guards. This instance is unique, and there is not any other instance worse than this. In this instance our algorithm shows the worst case behavior while the optimal number of guards is the least possible value other than one, namely 2. By dividing the answer of our algorithm, namely n/4, by the optimal answer, namely 2, we get the approximation factor of n. It can be easily checked by this instance that the 8 approximation factor of Aggarwal s algorithm with O( n 4 ) time complexity [2] is not better than n. 8 1043

Conclusion: The point guard version of art gallery problem is the hardest version, because of infinity of the search space. So development of approximation algorithm for this version is more important. In this paper, we proposed a O( n 3 ) time approximation algorithm with n approximation factor for point guard problem. To our 8 knowledge, our algorithm has the best approximation factor among all the known approximation algorithm running in O( n 3 ) time presented for this problem. REFERENCES Aggarwal, S.K., Ghosh, and R.K. Shyamasundar, 1988. Computational complexity of restricted polygon decompositions. In G.T. Toussaint,editor. Computational Morphology, pages1-11. North-Holland, Amsterdam, Netherlands. Amit, Y., J.S.B. Mitchell and Eli. Packer, 2007. Locating Guards for Visibility Coverage of Polygons. Proc. 9 th Workshop on Algorithm Engineering and Experiments, (ALENEX 07): 120-134 SIAM Proceedings in Applied Mathematics, New Orleans, LA. Balaban, I.J., 1995. An optimal algorithm for finding segment intersections, In Proc. 11 th Annu. ACM Symp. Comput. Geom. Pages 211-219. Borling_Sachs I. and D. Souvaine, 1991. A tight bound for guarding polygons with holes. Rutgers University Technical Report LCSR-TR-165. Borling-Sachs I. and D. Souvaine, 1995. An efficient algorithm for guard placement in polygons with holes. Discrete and Computational Geometry, 13: 77-109. Chvatal, V., 1975. A combinatorial theorem in Plane Geometry. J. Combinatorial Theory Series Bol., 18: 39-41. Cormen, T.H., C.E. Leiserson and R.L. Rivest, 2001. Introduction to Algorithms,second edition,the MIT Press, Cambridge,Massachusetts London,England. Deshpande, A., 2007. A Pseudopolynomial Time O(log n)-approximation Algorithm for Art Gallery Problems. WADS. LNCS, 4619: 163-174. Eidenbenz, S., C. Stamm, P. Widmayer, 2001. Inapproximability results for guarding polygons and terrains, Algorithmica 31: 79-113. Ghosh, S., 1987. Approximation algorithms for art gallery problems, in: Proc. of the Canadian Information Processing Society Congress. Hoffman, F. and K. Kriegel, 1993. A graph coloring result and it s consequences for the polygon guarding problems. Technical report B 93-08, Freie Universiat Berlin. Hoffman, F., M. Kaufman and K. Kriegel, 1991. The art gallery problem for polygons with holes. Proceedings of the 32 nd. Symposium on Foundations of Computer Science, pp: 39-48. Hoffmann, F., 1990. On the rectilinear Art Gallery Problem. in Proc ICALP, Springer Verlag Lecture Notes in Computer Science, 90: 717-728. Johnson, D.S., 1974. Approximation algorithms for combinatorial problems. Journal of Computer and System Sciences, 9: 256-278. Kahn, J., M. Klawe and D. Kleitman, 1983. Traditional galleries require fewer watchmen, SIAM J. Algebraic and Discrete Methods, 4: 194-206. Lee, D.T. and A.K. Lin, 1979. Computational complexity of art gallery problems. IEEE Trans Info Th IT, 32: 415-421. Rourke, J., 1987. Art Gallery Theorems and Algorithms,xford University Press. Shermer, T., 1992. Recent results in art gallery. IEEE Proc., 80: 1384-1399. Urrutia, J., 1996. Art gallery and illumination problems, in: JR. Sack, J. Urrutia (eds), Handbook of computational geometry, Internal Report, Ottawa University, Canada. 1044