We devise an algorithm for surveying a dynamic orthogonal polygonal domain by placing one guard at each vertex in a subset of its vertices, i.e., whenever an orthogonal polygonal domain {\cal P'} is modified to result in another orthogonal polygonal domain {\cal P}, our algorithm updates the set of vertex guards surveying {\cal P'} so that the updated guard set surveys {\cal P}. Our algorithm modifies the guard placement in O(k \lg{(n+n')}) amortized time while ensuring the updated orthogonal polygonal domain with h holes and n vertices is guarded using at most \lfloor (n+2h)/4 \rfloor vertex guards. For the special case of the initial orthogonal polygon being hole-free and each update resulting in a hole-free orthogonal polygon, our guard update algorithm takes O(k\lg{(n+n')}) worst-case time. Here, n' and n are the number of vertices of the orthogonal polygon before and after the update, respectively; and, k is the sum of |n - n'| and the number of updates to a few structures maintained by our algorithm. Further, by giving a construction, we show it suffices for the algorithm to consider only the case in which the parity of the number of reflex vertices of both {\cal P'} and {\cal P} are equal.
翻译:我们设计了一种算法,用于测量动态或远方多边形域,方法是在每一个顶端的子节中放置一名警卫,即每当一个正方形多边形域 $cal P} 被修改以导致另一个正方形多边形域 $cal P} 时,我们的算法将一组顶端警卫测量 $cal P'} 更新后,使更新后的警卫设置调查 {cal P} 。我们的顶端算法将警卫安置在 O(k\lg{(n+n'}) 摊销时间,同时确保更新有 h洞和 n'} 的正方形多边形域域,在大多数 outo(n+2h) /4\ rplobon 多边形域域内,我们的顶端卫警卫设置调调调调调调调时,我们的顶端值值算法将O(k\lg{(n+n'n'n) 和最差的直径等值值值值值值更新。