Tracking Mobile Intruders in an Art Gallery: Guard Deployment Strategies, Fundamental Limitations, and Performance Guarantees
This paper addresses the problem of tracking mobile intruders in a polygonal environment. We assume that a team of diagonal guards is deployed inside the polygon to provide mobile coverage. First, we formulate the problem of tracking a mobile intruder inside a polygonal environment as a multi-robot task allocation (MRTA) problem. Leveraging on guard deployment strategies in art gallery problems for mobile coverage, we show that the problem of finding the minimum speed of guards to persistently track a single mobile intruder is NP-hard. Next, for a given maximum speed of the intruder and the guards, we propose a technique to partition a polygon, and compute a feasible allocation of guards to the partitions. We prove the correctness of the proposed algorithm, and show its completeness for a specific class of inputs. We classify the guards based on the structural properties of the partitions allocated to them. Based on the classification, we propose motion strategy for the guards to track the mobile intruder when it is located in the partition allocated to the guard. Finally, we extend the proposed technique to address guard deployment and allocation strategies for non-simple polygons and multiple intruders.
Keywords:Target tracking, Mobile coverage, Art gallery, Multi-robot task allocation, Sliding cameras
Security is an important concern in infrastructure systems. For decades, autonomous mobile robots have been utilized as surveillance Mittal:2016 Witwicki:2017 and crime-fighting agents for barrier assessments Theodoridis:2012 Ciccimaro:1999 , intruder detection Tuna:2012 Bazydlo:2017 , building virtual terrains or maps Oriolo:1998 Montemerlo:2006 , neutralizing explosives Majerus:2010 Nicoud:1995 , and recognizing abnormal human behaviors Rezazadegan:2017 Popoola:2012 . Such robots have been designed with the ability to counter threats, limit risks to personnel, and reduce manpower requirements in hazardous environments Lee:2003 Yamamoto:1992 Theodoridis:2012 . Deployment of these surveillance platforms in teams has given rise to challenging problems in collaborative sensing and decision-making. Motivated from recent surge in interest in autonomous surveillance, we address an asset protection problem in which a team of mobile sensors collaborate to track suspicious mobile entities to secure an environment.
Although advanced electronic and biometric techniques can be used to secure facilities, vision-based monitoring is widely used for persistent surveillance. The idea is to visually cover the environment in order to obtain sufficient information so that appropriate measures can be taken to secure the area in case of any suspicious/malicious activity. The general formulation of a tracking problem consists of a team of autonomous sensing platforms, called observers, that visually track mobile entities, called targets. In this work, we consider the aforementioned formulation in the presence of features in the environment that can occlude the targets from the observers, for example, presence of reflex vertices on the boundary of the environment and obstacles. Precocious planning and coordination between observers can prevent the intruders from escaping the visual footprint of the observers around such occlusions.
Deploying a network of autonomous sensing platforms has been an active area of research in multi-robot systems (MRS). Multi-robot systems have emerged as an important area of research in robotics due to their potential applications in several areas, for example, autonomous sensor networks Ghosh:2017 , building surveillance Dipaola:2010 , transportation of large objects Sakuyama:2012 , air and underwater pollution monitoring Dunbabin:2012 , forest fire detection Afzaal:2016 , transportation systems Matsuhira:2010 , or search and rescue after large-scale disasters Ko:2009 . Even problems that can be handled by a single multi-skilled robot may benefit from the alternative usage of a robot team, since robustness and reliability can often be increased by combining several robots which are individually less robust and reliable. In case of target tracking, multiple points of view from multiple robots add extra information on the target resulting in a better estimate of its position. However, the uncertainty in the future actions of the target, and the tight coupling between sensing, coordination and control within the team of mobile observers gives rise to challenging problems in multi-robot motion planning.
A simple solution to the tracking problem in bounded environments is to cover the environment with sufficient number of observers. This leads to the art gallery problem, a well-studied topic in computational geometry. In the classical art gallery problem, the goal is to determine the number of guards needed to visually cover a bounded polygon Fisk:1978 . A guard can only see the portion of the polygon unobstructed by the boundary of the polygon or by internal obstacles. Over the years several variants of the problem have been studied based on the shape of the polygon (orthogonal Kahn:1983 ; Durocher:2017 ; Durocher:2014 ; Durocher:2015 , monotone Deberg:2017 , etc), the type of guards employed (static O'Rourke:1987 ; Kahn:1983 ; Hoffmann:1990 ; Czyzowicz:1994 ; Urrutia:2000 , mobile O'Rourke:1983 ; Toussaint:1982 ; Colley:1995 ; Kay:1970 ), and the notion of visibility (-transmitters Mahdavi:2014 , multi-guarding Fazli:2010 ; Fazli:2010a etc). Stationary guards can either be point guards (placed anywhere inside the polygon) or vertex guards (restrict them only to the vertices of the polygon). It has been shown that the problem of computing the minimum number of stationary guards required to cover a simply connected polygon is NP-hard Lee:1986 . In O'Rourke:1987 , it is shown that static guards with omni-directional field-of-view is sufficient, and sometimes necessary to cover the entire polygon, where is the number of vertices of the polygon representing the environment. Efforts to obtain a bound on the minimum number of guards required to cover a polygon for special cases include approximation Ghosh:2010 and heuristic techniques Amit:2010 .
The notion of mobile guards was first introduced by Toussaint Toussaint:1982 where each guard can travel back and forth along a segment inside the polygon, and every point in the polygon must be seen by at least one guard at some point of time along its path. Since the guards do not visually cover the entire polygon at all times, this notion of coverage is called mobile coverage. In O'Rourke:1983 it is proved that diagonal guards are sufficient to provide mobile coverage. Therefore, if the guards have sufficient speed, at most of them are required to track a mobile intruder in a polygonal environment. This naturally leads to the following question: What is the minimum speed required for the diagonal guards to track a mobile intruder in the environment with known maximum speed? The answer depends on the coordination and control strategy used by the guards.
The need for coordination arises in multi-robot systems (MRS) when individual agents work together to complete a common task Barnes:1991 . Depending on the communication scheme adopted by the MRS, coordination can be explicit or implicit. As the name suggests, explicit communication requires the presence of an on-board communication module on each robot of the MRS. On the other hand, implicit communication is generally contextual, based on the sensor data available to a robot regarding its teammates. Due to significant improvements in mobile communication hardware, the coordination scheme prevalent in current MRSs is predominantly explicit in nature. In this work, we propose an explicit coordination scheme for the team of observers. Our scheme explicitly relies on the location of the observers relative to each other thereby building a connection between the geometric aspects of the team formation, and communication topology required for persistent tracking.
In this work, we formulate the tracking problem as a multi-robot task allocation problem (MTAP) Gerkey:2004a . The allocation tries to balance the workload among the observers thereby minimizing the speed required to ensure tracking. The main contributions of this work are as follows:
We investigate a variant of the multi-robot target tracking problem in which observers are constrained to move along diagonals of the polygonal environment. We leverage guard deployment strategies proposed for mobile coverage O'Rourke:1983 to design deployment and tracking strategies for multiple observers. To the best of our knowledge, our work is the first to build a connection between the well known art gallery problem which deals with coverage and multi-robot tracking.
We propose an algorithm that jointly partitions a polygon, and allocates observers to track a target inside the partition. The algorithm is a solution to a resource allocation problem in which the observers are resources for tracking that need to be assigned to partitions of the polygon. The joint partitioning and allocation algorithm is based on the triangulation of the polygon, and therefore, can be extended to polygon with holes. Under the restriction that a single observer can be allocated to each partition, we show that the problem of finding the minimum observer speed required to track an intruder is NP-hard.
We present a taxonomy of the observers based on their task allocation, and the level of cooperation needed from other members of the team to perform the tracking task. We introduce the notion of critical curves to construct activation strategies for the mobile observers.
We derive the maximum number of targets that can be tracked using the deployment and partitioning algorithm proposed in this work.
The paper is organized as follows. Section 2 presents a brief description of the related work. Section 3 presents the problem formulation and a deployment strategy for the guards. Section 4 formulates the tracking problem as a multi-robot task allocation problem. Section 5 presents a partitioning technique for the polygon, and an allocation algorithm to assign the partitions to the guards to track a single intruder in the environment. Section 6 addresses the case of non-simple polygons. Section 7 extends the proposed deployment and allocation algorithm to address the case of multiple intruders in the environment. Section 8 presents the conclusions and future work.
2 Related Work
The multi-robot target-tracking problem was originally introduced by Parker and Emmons in Parker:1997 . The authors proposed the framework of Cooperative Multi-robot Observation of Multiple Moving Targets (CMOMMT) for a team of observers that simultaneously maximize the number of targets under observation, and the duration of observation of each target. It is shown that the CMOMMT problem is NP-hard. Consequently, several variants of CMOMMT have been studied to propose implementable solutions, for example, Approximate CMOMMT Parker:2002 , personality-CMOMMT Ding:2006 , behavioral-CMOMMT Kolling:2006 ; Kolling:2007 , formation-CMOMMT Werger:2000 , to name a few. Alternate formulations of the CMOMMT based on particle filtering Spletzer:2003 and mixed non-linear integer programming formulation Xu:2013a have also been proposed in the past. These frameworks lead to a numerical approach for generating the trajectory of the observers.
In the past, several variants of the original tracking problem posed in Parker:1997 have been addressed. In Isler:2005 , the authors analyze the focus of attention problem Goossens:2016 for specific formations of the observers, and provide approximation algorithms for optimal target allocation. Dames et al. address the problem of detecting, localizing and tracking a team of targets with unknown and time-varying cardinality Dames:2018 . In Hausman:2015 , the authors address the cooperative control of a team of UAVs that try to solve the joint problem of self localization and tracking with on-board sensors. In Jung:2002 , a region-based coarse approach is proposed to simultaneously observe several mobile targets. The observers use a local method to maximize the number of observed targets. The proposed technique does not require any communication among the robots. In Markov:2007 , CMOMMT is addressed for cooperative targets. The targets are able to communicate which allows active cooperation through sharing data. Thus the average observation time is minimized through a force field approach. In Tang:2005 , a team of winged UAVs tries to minimize the average time elapsed between two consecutive observations of each member of a group of targets. An optimal control scheme is used to obtain the motion strategy of the observers.
In this work, we formulate the problem of tracking as a multi-robot task allocation problem. Multi-robot task allocation (MRTA) can be considered as an instance of the well-known optimal assignment problem. In Nam:2014 , algorithms to solve the matching problem for weighted bipartite multi-graphs are used to solve MTAP. In Gerkey:2003 a domain-independent taxonomy of multi-robot task allocation problems is presented. They also analyzed and compared some iterated assignment architectures: ALLIANCE Parker:1999 , BLE Werger:2000 , and M+ Botelho:1999 and some on-line assignment architectures: MURDOCH (auction-based MRTA) Gerkey:2001 , first-price auctions (market-based MRTA) Stentz:1999 and dynamic role assignment Chaimowicz:2002 , for MRTA, respectively. In Lerman:2006 , the authors present a mathematical modeling and analysis of the collective behavior of dynamic task allocation. In Yan:2011 , a lightweight and robust multi-robot task allocation approach based on trade rules in market economy is presented. Other strategies are based on vacancy chains Dahl:2009 , auction-based mechanisms Hanna:2005 and distributed market-based coordination Michael:2008 .
In this work, we assume that the observers are omni-directional cameras that slide along the diagonals of the polygon. In Durocher:2017 , the authors introduce the problem of placing sliding cameras on the boundary of the polygon for mobile coverage. Unlike the standard pin-hole camera model, a sliding camera in Durocher:2017 can see a point inside the environment if there exists a point along its trajectory such that the segment is perpendicular to the trajectory of the guard and is fully contained in the environment Durocher:2013 . The objective in Durocher:2017 is to find the minimum number of sliding cameras that can provide mobile coverage, referred to as the minimum sliding camera (MSC) problem. This problem is a variant of the art gallery problem which is NP-hard even for orthogonal polygons Schuchardt:1995 . However, it has been proven to be APX-hard on simple polygons Eidenbenz:1998 . Polynomial time approximation algorithms have been developed for orthogonal polygons Durocher:2017 ; Durocher:2014 ; Durocher:2015 . In Durocher:2013 , it is shown that MSC is NP-hard for non-simple polygons. For monotone orthogonal polygons, a linear time solution to MSC is presented in Deberg:2017 . In Durocher:2013 , the minimum length sliding camera problem is introduced. The objective is to find a set of sliding cameras that minimizes the total length of the trajectory while providing mobile coverage Almahmud:2016 . A polynomial time solution for orthogonal polygons with holes is presented in Durocher:2013 . Some variants include the concept of cameras with -transmitters, introduced in Mahdavi:2014 , which allows the cameras to see through boundary walls of the polygon. In Mahdavi:2014 , the problem is shown to be NP-complete, and the authors present a -approximation algorithm.
3 Problem Statement
Let be a simple -vertex polygon representing a closed polygonal environment. First, we consider the case of a single unpredictable target , referred to as intruder, inside . In Section 7, we extend our analysis to address multiple intruders inside the polygon. Let and denote the maximum speed of the intruder and its location respectively at time . In order to track the mobile intruder, a team of mobile observers, referred to as guards, is deployed inside the polygon. Let denote the set of all guards. Each guard is equipped with an omni-directional camera with infinite range. The objective of the guards is to ensure that is visible to at least one guard at all times. The guards have knowledge of . Each guard has a maximum speed and the speed ratio between the guards and the intruders is defined as .
Next, we define some graph-theoretic concepts associated with a polygon and its partitioning. A triangulation of is defined as a partition of into a set of disjoint triangles, such that the vertices of the triangles are vertices of the polygon. In general, the triangulation of a polygon is non-unique. The edges of the triangles of the triangulation are called diagonals O'Rourke:1983 , and they can be segments inside (internal diagonals) or edges of . Thus, the triangulation of is trivially represented as a planar graph called triangulation graph. We assume that a triangulation of is given. Let denote the vertex set of (corresponds to the vertices of ), denote the edge set of (corresponds to the diagonals of the triangulation of ), and (triangle set of ) denote the faces of . Clearly, there is a bijection between the set of vertices of and . Also, there is a bijection between the set of diagonals of the triangulation of and . Hence, we do not make any distinction between the following pairs: (i) vertices of and the vertices in (ii) diagonals of the triangulation of and the edges in (iii) triangles of the triangulation of and the faces in . Let be the dual graph of . Each vertex in corresponds to a face in . An edge exists between a pair of vertices in if the triangles in that correspond to such pair of vertices share an edge. Since is simply connected, is a tree.
The objective is to keep the intruder in the line-of-sight of at least one guard at all times, which is ensured if the triangle in which the intruder is located is covered111In this work, we define a triangle to be covered if and only if there is a guard located at the boundary of the triangle. by at least one guard. Each is a diagonal guard i.e., it is constrained to move along a unique diagonal , where . Let be the length of . The endpoints of are denoted as and . Guards and are neighboring guards if and are incident222We say that a guard is incident to triangle if at least one of the endpoints of is a vertex of . to the same triangle. We define as the set of guards incident to .
In this paper, the distance between two points is defined as the length of the shortest path between and on the visibility graph333A visibility graph of a polygon is a graph whose nodes corresponds to the vertices of the polygon, and there is an edge between any two vertices if the segment joining them is contained inside the polygon. constructed using the vertices of (and the vertices of internal obstacles), and . It is denoted as . The distance between and a set is defined as . The distance between two sets of points is defined as .
Note: Appendix C contains a list of important variables, and their definitions.
In the next section, we describe the deployment of the guards inside the polygon.
3.1 Selection of Dominating Diagonals
In O'Rourke:1983 , it is shown that at most diagonals are sufficient to dominate444A triangulation graph is said to be dominated by a set of diagonals if at least one vertex of each triangle in is an endpoint of a diagonal in . . Hence, diagonal guards are sufficient to provide mobile coverage. In this section, we describe the strategy proposed in O'Rourke:1987 to identify at most dominating diagonals 555A set of dominating diagonals is any set of diagonals that dominate a triangulation graph. of a polygon’s triangulation. In O'Rourke:1987 , it is shown that there exists a set of dominating diagonals of size in every triangulation graph of a polygon with . The correctness of the strategy is based on the following results O'Rourke:1987 : (i) For any triangulation graph of a simple polygon with edges, it is always possible to find a diagonal that partitions into subgraphs and such that is the triangulation graph of a hexagon, heptagon, octagon or nonagon (we call these basic polygons). (ii) Any triangulation graph of a heptagon (or any polygon with fewer sides) has one dominating diagonal, and any triangulation graph of an octagon or nonagon has two dominating diagonals.
Algorithm 1 recursively partitions into triangulation subgraphs of basic polygons. At each iteration, the algorithm searches for a diagonal that separates a triangulation subgraph of a basic polygon (denoted as ) such that there is no other diagonal in (edge set of ) that can separate a subgraph of a smaller basic polygon. Additionally, for each subgraph obtained, a minimal set of diagonals is found such that the diagonals in the set can dominate all the triangles666A triangle is said to be dominated if at least one of its vertices is an endpoint of a diagonal in . in (set of faces of ) that are still not dominated. The process is repeated until the remaining non-partitioned subgraph has vertices or less. The first while cycle (Line ) finds a diagonal that partitions into a pair of triangulation subgraphs, such that one of those subgraphs () corresponds to a basic polygon and such that there is no other diagonal in (edge set of ) that can separate a subgraph of a smaller basic polygon. This can be completed in time by traversing (dual graph of ).
(Line ) is a tree such that each is associated with each subgraph found in Line , and one vertex corresponds to the remaining subgraph after Line . An edge exists between vertices that correspond to a pair of triangulation subgraphs that share a common diagonal . In the second while loop the minimum set of diagonals that can cover the triangles in that are not dominated by other diagonals is found (set of appropriate diagonals, Line ). The second While loop takes time by using . Hence, Algorithm 1 takes time.
We call a deployment of the guards, since each is assigned to a diagonal (it is deployed along the diagonal). In the next section, we address the problem of finding the minimum speed of the guards that can ensure tracking.
4 A Multi-robot Task Allocation Problem
A sufficient condition to track the intruder is to cover at all times the triangle in which it lies. In the previous section, we described an algorithm to select at most diagonals of a polygon that can dominate the triangles of the triangulation of a polygon. Given sufficient speed, the guards assigned to the diagonals in can move back and forth on their diagonals to cover the triangle in which the mobile intruder lies. This gives rise to a MRTA problem in which the task for each robot is to cover the triangles allocated to it whenever the intruder lies inside them.
First, we consider the case in which a single guard is allocated to a triangle of the triangulation. An allocation maps each guard to a subset of triangles in the triangulation of the polygon. Let denote the set of all possible allocations. We say that an allocation is complete if there is no triangle with no guard allocated to it. Next, we classify the triangles of the triangulation of (the triangles in ) based on the number of incident guards and their position relative to the triangles. Refer to Figure 1. The red segments in the figure represent the diagonals on which the guards move. In the subsequent figures, those diagonals are labeled as instead.
Safe Triangle: A triangle is called safe if covers at all times regardless of the location of . Clearly, if there is a guard deployed on one of the edges of , the triangle is a safe one. We use to denote the set of safe triangles. In Figure 1, safe triangles are shaded in blue.
Unsafe Triangle: A triangle is called unsafe if , where is the cardinality operator. In Figure 1, unsafe triangles are shaded in orange.
Regular Triangle: A triangle is regular if it is neither safe nor unsafe. In Figure 1, regular triangles are shaded in white.
Let denote the set of triangles that are incident to the endpoint of (). Also, let denote the set of non-safe (RegularUnsafe) triangles in and denote the set of non-safe triangles that are incident to . By definition, is always covered by for every allocation . We want to assign a to every so that can cover when the intruder lies in it. Clearly, only the guards in can be assigned to . The deployment strategy proposed in Section 3.1 guarantees that for every . Therefore, an allocation that assigns a guard to each triangle in exists. Moreover, every unsafe triangle can only be assigned to the single guard incident to it.
Given an allocation , there are two possibilities for each :
All the non-safe triangles assigned to are in . In this case, is static, and can cover all the triangles assigned to it from regardless of the speed ratio .
There are triangles assigned to in and . This implies that needs to be at () when the intruder lies in (). Therefore, has to move from one endpoint of to the other depending on . Assume that is initially located in any triangle assigned to , and moves to a triangle also assigned to . As a result, the guard , initially located at , moves to . Therefore, should reach before the intruder can reach . If the aforementioned condition is satisfied for every and every assigned to , then can track when it is inside any triangle allocated to it.
To summarize the above discussion, an allocation should satisfy the following conditions:
Unsafe triangles are allocated to the single guard incident to them.
, where are the sets of triangles allocated to that correspond to and respectively.
An allocation is called feasible if it satisfies the above conditions. Given the constraint that a single guard can be allocated to a non-safe triangle, we pose the following problem:
Problem 1: Given , what is the minimum value of and the corresponding allocation for which the intruder can be persistently tracked?
encodes the adjacency between faces of based on common diagonals. Analogous to a dual graph, we define a Guard Adjacency Graph (GAG), denoted as , which encodes the adjacency between faces of the triangulation graph based on common guards. For a given triangulation graph of the polygon and deployment of the guards, is constructed as follows. Each vertex of corresponds to an non-safe triangle in . An edge exists between vertices and in if there exists a guard such that and . The weight of the edge is given by .
Next, we define terms related to allocation of guards to triangles. Given an allocation , let be the set of triangles assigned to . Then we define the cost of the allocation of as . The overall cost of the allocation for is defined as . Based on these definitions, Problem can be formulated as the following problem on :
UNIALLOC: Find a feasible allocation for which is minimized.
In order to prove the above theorem, first we define a set of representatives from . For each non-safe triangle , we define a set . is a collection of disjoint sets. For any and with and guards , define as follows:
for models the fact that and can cover and , respectively, by staying static at the corresponding endpoints. If and , and are are located at opposite ends of . In this case, should have a minimum speed of to cover triangles and if the intruder moves between them along the shortest path between them. Finally, and implies that and are incident to the same endpoint of . Since can cover both triangles from that endpoint, it can remain static. Therefore, in that case.
We say that a set is a set of representatives if for all . Based on the definition of a set of representatives, we define the following problem which is equivalent to UNIALLOC:
MAXREP: Find the set for which is minimized.
The following problem casts MAXREP as a decision problem:
GAMMAREP: Given , does there exist a set of representatives of size such that for all with ?
The next lemma proves that GAMMAREP is NP-hard which in turn implies that MAXREP is at least NP-hard.
GAMMAREP is NP-hard.
We reduce the problem of finding a -clique Karp:1972 in a graph (a NP-hard problem Chen:2005 ) to GAMMAREP. Consider a graph without self-loops such that . The problem of finding a -clique in is NP-hard Garey:2002 . For each , we define a set . For a pair of vertices , we define the following cost function:
Given sets and the cost function stated above, we prove that a -clique in exists if and only if a set of representatives such that can be found.
( First, assume that there exists such a but there is no -clique in . By definition, for each pair , , and ( implies that has a self-loop which is not possible). Therefore, each is associated to a different . Since there is no -clique in , the subgraph induced by the vertices associated with is not complete. Therefore, there is at least one pair such that there is no edge shared between and in which implies (a contradiction). Therefore, if there exists of size such that for all then a -clique in exists.
() Now assume that there is no which meets the aforementioned constraints, but there is a -clique in . Since contains a -clique, there is a subset of vertices such that its induced subgraph is complete. Since is complete, choosing for each as an element of implies that for any , an edge exists between and in . Therefore, for every which contradicts the assumption that there is no of size such that for all . Therefore, if there exists a -clique in then there is of size such that for all , and the reduction can be done in polynomial time. Thus, we have a polynomial-time reduction from -clique to GAMMAREP.
Based on the above discussion, we can state the following theorem.
UNIALLOC is NP-hard.
The proof follows from the fact UNIALLOC is equivalent to MAXREP which is at least NP-hard.
4.1 Suboptimal Algorithm for Computing Approximate minimum speed ratio
MAXCLIQUE refers to the problem of finding the maximum-sized clique in a graph. MAXCLIQUE is NP-hard Pardalos:1994 . An approximation algorithm for MAXCLIQUE can be used to obtain a suboptimal solution for Problem 1. The procedure is as follows. Let be a graph such that . Recall that for all . Since (), and , . Therefore, . Additionally, let . Each edge has an associated weight defined as follows:
We define as a subgraph of such that and . Therefore, consists of edges in with weights less than or equal to . We can use any approximation algorithm for MAXCLIQUE to find a clique in for a given . Since , we perform the aforementioned check for values of that correspond to the weights of the edges in . The suboptimal allocation corresponds to the minimum value of for which a clique is found in the graph . If no such is found, is equal to the minimum . Each vertex in the clique corresponds to a distinct triangle in , and each one of them corresponds to a which is the guard assigned to . This gives an approximate optimal allocation for each .
It has also been shown that approximating the MAXCLIQUE within a factor of for some is NP-hard Arora:1998 ; Hastad:1999 . In the past, probabilistic techniques Babel:1991 ; Balas:1996 ; Wood:1997 ; Pardalos:1994 have been proposed in the literature to find largest cliques without any guarantees on the optimality. Feige:2004 presents an approximation algorithm that finds a clique with an approximation ratio of when the size of the maximum clique is between and . Since , where is the number of vertices of the polygon, the performance ratio in our case is .
Next, we consider the case in which more than one guard can be assigned to each non-safe triangle. In this case, we partition into disjoint regions, each covered by a unique guard (incident on ). The problem of computing the minimum guard speed () when multiple guards can be assigned to a single triangle is as hard as UNIALLOC which itself is NP-hard.
In the next section, we address the problem of allocating guards to triangles for a given maximum speed of the intruder and the guards.
5 Computing a Feasible Allocation for Known Guard Speed
In the previous section, we proved that the problem of finding the minimum speed of the guards that can ensure tracking is NP-hard. In this section, we propose a technique to search and compute a feasible allocation for given maximum speed of the intruder and guards. Therefore, the speed ratio is known. We address the general allocation problem in which multiple guards can be assigned to cover an unsafe triangle in the polygon. Specifically, we focus on techniques that partition the polygon, and activate guards to track an intruder located in its allocated partition.
Let denote the region inside triangle assigned to the guard incident to vertex (). We define as the set of regions assigned to that can be covered from . We define as the union of the regions belonging to . Let denote the region assigned to . The cost associated with an assignment is defined as .
In this section, we address the following problem:
Problem 2: For the deployment of guards inside a polygon described in Section 3.1 and a given , determine for each such that , and the region in which the intruder lies can be covered by the guard allocated to it.
Since ,, for all . Let denote the maximum distance traveled by the intruder during the time in which can travel from one endpoint of to the other.
In the next section, we present the procedure to find .
5.1 Sequential computation of partitions
The allocation algorithm proposed in the next section sequentially computes for each guard . The end point of at which is computed first gets the label . Subsequently, is computed at the other end point of which is assigned the label .
From the definition of , it is clear that must be defined for every for computing . Based on the classification of , we can have the following scenarios:
If every is an unsafe triangle, by definition since can only be covered by . In this case, .
If is a regular triangle, can be computed only if the region allocated to other guards incident to is known. In this case, , where is the complement of .
The following equation allows computing from :
where is an open ball (using the metric defined in Section 1) of radius centered at , and is its complement. Also, is the region inside that has not yet been assigned to a guard. In the absence of obstacles between and :
where is an open ball in , denotes the Minkowski sum, and is the complement of the Minkowski sum. The set is called the offset of . The offset of a set bounded by a polyline curve (line-segments/arcs of circle) is a set bounded by polyline curve Liu:2007 . Appendix A shows that and are sets bounded by polyline curves even in the presence of obstacles. From and , we can compute using the equation .
In Figure 2, there are three guards, , , and . All the non-safe triangles incident to one endpoint of the diagonals of and are unsafe triangles. Therefore, and are as shown in the figure. However, that is not the case for . In order to define , either or needs to have a region assigned to it in the triangles shared between it and . In Figure 2, (which is obtained from (4)) is used to define , which in turn is used to define using (4). Once that all the guards in have been assigned to a region , it is possible to determine if no allocation was found for the given . By definition, a region inside ensures that every location within the triangle is assigned to a guard in . However, that may not hold if all the regions allocated to the guards in are . Every is constructed using (4), thereby, guaranteeing that is assigned to the largest possible region within such that . Otherwise, there is no guarantee to keep track of the intruder if it follows the shortest path between and . Clearly, an allocation cannot be found by the above process if there is a region inside the triangle that is not assigned to any guard in after every is defined for . In Figure 2, there is a region inside the regular triangles shared by and that cannot be assigned to those guards. The existence of a region implies that an allocation that guarantees successful tracking was not found. The blue shaded triangles correspond to safe triangles, which by definition are covered all the time.
5.2 Guard Allocation
In this section, we present an allocation algorithm that respects the constraints in Problem 2. Algorithm 2 presents the pseudocode of the allocation technique. Given a triangulation graph and the speed ratio as the input, Algorithm 2 provides a partition of the polygon , and an allocation of the guards to the partitions. The initialization, update and termination step of Algorithm 2 are as follows:
Initialize two queues: .
If there is a such that has an endpoint at which all the non-safe triangles incident to it are unsafe triangles, then is added to .
If no guard satisfies the previous criteria, . A guard is selected using Algorithm 4, and all the triangles incident to one of its endpoints are assigned to it.
If there is a guard such that for each , the regions are already defined and allocated for all . is called the preferential endpoint of , and is labeled as .
A guard is selected. Algorithm 3 is used to compute and .
Termination: The algorithm can terminate in two ways described as follows.
Algorithm 3 finds a region inside a non-safe triangle . Since the region cannot be assigned to any guard, the algorithm terminates. Therefore, no allocation is found.
Each is partitioned, and each partition is assigned to a guard. In this case a feasible allocation is found.
Figure 3 (a) shows a polygonal environment with () edges and () guards. There are safe and non-safe triangles. The corresponding graph is shown in Figure 3 (c). The orientation of the edges of illustrates a partial order in which the vertices of are allocated by the algorithm. has vertices, each one associated with an non-safe triangle. Edges exist between vertices that correspond to triangles incident to opposite endpoints of the diagonal of a guard. For example, and are incident to one endpoint of and is incident to the other. Hence, edges in that correspond to are and . In Algorithm 2, once a is chosen (and is obtained by Algorithm 3), the endpoints of its diagonal can be labeled as and .
In the example shown in Figure 3, when the algorithm starts, . meets the definition of the queue since all the non-safe triangles incident to one endpoint of are unsafe triangles ( and ). The same is true for one endpoint of ( is an unsafe triangle). Next, is selected and its corresponding preferential endpoint is named . Algorithm 3 is called. It uses the procedure to compute from Section 5.1 for a given . Thus, and , and . Edges , , and become outgoing edges of , and edges , ,