In this paper we consider efficient algorithms in a semi-dynamic situation, that is, input data are entered one by one while some of them may be deleted on the way and then finally we are required to solve a given problem. We evaluate such algorithms by a three tuple (Ti, Td, Tp) where Ti and Td denote the time needed for insertion and deletion of data, respectively, and Tp is the time for solving a given problem. We present efficient algorithms for several different problems including the convex hull problem, the visible-pair enumeration problem and the visibility region problem.
We are given a polygonal region P with holes and one point q is specified in the region. The problem is how fast we can find the portion of the boundary of P that is visible from q. For this problem an efficient algorithm is presented which runs in time O(n log h) in the worst case and in time O(n+h log h) if every hole is a convex polygon, where n is the total number of vertices of P and h is the number of holes.
Topological Walk is an algorithm that can sweep an arrangement of n lines in O(n2) time and O(n) space. This paper revisits Topological Walk to give its new interpretation in contrast with Topological Sweep. We also survey applications of Topological Walk to make the distinction clearer.
Given a binary image I and a threshold t, the size-thresholded binary image I(t) defined by I and t is the binary image after removing all connected components consisting of at most t pixels. This paper presents space-efficient algorithms for computing a size-thresholded binary image for a binary image of n pixels, assuming that the image is stored in a read-only array with random-access. With regard to the problem, there are two cases depending on how large the threshold t is, namely, Relatively large threshold where t = Ω(), and Relatively small threshold where t = O(). In this paper, a new algorithmic framework for the problem is presented. From an algorithmic point of view, the problem can be solved in O() time and O() work space. We propose new algorithms for both the above cases which compute the size-threshold binary image for any binary image of n pixels in O(nlog n) time using only O() work space.
This paper presents an efficient algorithm for reporting all intersections among n given segments in the plane using work space of arbitrarily given size. More exactly, given a parameter s which is between Ω(1) and O(n) specifying the size of work space, the algorithm reports all the segment intersections in roughly O(n2/+ K) time using O(s) words of O(log n) bits, where K is the total number of intersecting pairs. The time complexity can be improved to O((n2/s) log s + K) when input segments have only some number of different slopes.
Sachio TERAMOTO Tetsuo ASANO Naoki KATOH Benjamin DOERR
Arranging n points as uniformly as possible is a frequently occurring problem. It is equivalent to packing n equal and non-overlapping circles in a unit square. In this paper we generalize this problem in such a way that points are inserted one by one with uniformity preserved at every instance. Our criterion for uniformity is to minimize the gap ratio (which is the maximum gap over the minimum gap) at every point insertion. We present a linear time algorithm for finding an optimal n-point sequence with the maximum gap ratio bounded by in the 1-dimensional case. We describe how hard the same problem is for a point set in the plane and propose a local search heuristics for finding a good solution.
This letter introduces a new digital halftoning technique based on error diffusion along a random space-filling curve. The purpose of introducing randomness is to erase regular patterns which tend to arise in an image area of uniform intensity. A simple algorithm for generating a random space-filling curve is proposed based on a random spanning tree and maze traversal. Some experimental results are also given.
This paper surveys how geometric information can be effectively used for efficient algorithms with focus on clustering problems. Given a complete weighted graph G of n vertices, is there a partition of the vertex set into k disjoint subsets so that the maximum weight of an innercluster edge (whose two endpoints both belong to the same subset) is minimized? This problem is known to be NP-complete even for k = 3. The case of k=2, that is, bipartition problem is solvable in polynomial time. On the other hand, in geometric setting where vertices are points in the plane and weights of edges equal the distances between corresponding points, the same problem is solvable in polynomial time even for k 3 as far as k is a fixed constant. For the case k=2, effective use of geometric property of an optimal solution leads to considerable improvement on the computational complexity. Other related topics are also discussed.
The following problem is considered: Given a rectilinear simple polygon P and a point q in its exterior, find the region that is reachable from q along orthogonal paths with at most k bends. For this problem we preset an efficient algorithm which runs in O(kn) time, where n is the number of vertices.
Tetsuo ASANO Desh RANJAN Thomas ROOS
Digital halftoning is a well-known technique in image processing to convert an image having several bits for brightness levels into a binary image consisting only of black and white dots. A great number of algorithms have been presented for this problem, some of which have only been evaluated just by comparison with human eyes. In this paper we formulate the digital halftoning problem as a combinatiorial problem which allows an exact solution with graph-theoretic tools. For this, we consider a d-dimensional grid of n := Nd pixels (d 1). For each pixel, we define a so-called k-neighborhood, k {0,...N - 1}, which is the set of at most (2k + 1)d pixels that can be reached from the current pixel in a distance of k. Now, in order to solve the digital halftoning problem, we are going to minimize the sum of distances of all k-neighborhoods between the original picture and the halftoned one. We show that the problem can be solved in linear time in the one-dimensional case while it looks hopeless to have a polynomial-time algorithm in higher dimension including the usual two-dimensional case. We present an exact algorithm for the one-dimensional case which runs in O(n) time if k is regarded to be a constant. For two-dimensional case we present fast approximation techniques based on space filling curves. An experimental comparison of several implementations of approximate algorithms proves that our algorithms are of practical interest.
Among the most fundamental problems in the layout design of an integrated circuit is the following problem: Given a region bounded by n orthogonal line segments and a point q in its interior, find the region that is reachable from q along rectilinear paths with at most k bends which avoid obstructions, where k is some given constant. In this paper we present an efficient algorithm which determines such a region in O(kn) time for a rectilinear simple polygon without any hole in it.
This paper consider the problem: Given two points u and v in a simple polygon P, divide P into three parts, locus of points closer to u, that closer to v, and that equidistant from u and v. An O(n2)-time algorithm is presented where n is the number of vertices of the simple polygon.
Tetsuo ASANO Takao ASANO Yoshikazu OHSUGA
We present a simple approximation algorithm for a problem of partitioning a polygonal region into a minimum number of triangles. The objective is to show that the absolute performance ratio of the algorithm is bounded by some constant for any polygonal region.
We consider the following two fundamental problems: (P1) We are given a rectilinear simple polygon P with n edges and a point s in its interior. Given a query point t in the interior of P, find a rectilinear shortest path between s and t. (P2) We are given a rectilinear simple polygon P with n edges. Given a query point pair (s,t) in the interior of P, find a rectilinear shortest path between s and t. For the problem P1, we present an efficient algorithm which works in O(log n+L) query time and O(n log n) preprocessing time, where L is the number of line segments in the shortest path. Another important thing is that the shortest path obtained by the algorithm is of the minimum bends among all the paths between the two points. If only the distance between s and t is needed, then O(log n) time is enough for the query. On the other hand, for the problem P2, O(n) query time is needed while the preprocessing time is the same. Based on the algorithms, it is shown that given m points in a rectilinear n-edge simple polygon we can compute the distance between every pair of points in O(m(m+n)+nlog n) time.
Digital halftoning is a technique to convert a continuous-tone image into a binary image consisting of black and white dots. It is an important technique for printing machines and printers to output an image with few intensity levels or colors which looks similar to an input image. This paper surveys how algorithm engineering can contribute to digital halftoning or what combinatorial problems are related to digital halftoning. A common criterion on optimal digital halftoning leads to a negative result that obtaining an optimal halftoned image is NP-complete. So, there are two choices: approximation algorithm and polynomial-time algorithm with relaxed condition. Main algorithmic notions related are geometric discrepancy, matrix (or array) rounding problems, and network-flow algorithms.
Tetsuo ASANO Koji OBOKATA Takeshi TOKUYAMA
This paper addresses the problem of detecting digital line components in a given binary image consisting of n black dots arranged over N N integer grids. The most popular method in computer vision for this purpose is the one called Hough Transform which transforms each black point to a sinusoidal curve to detect digital line components by voting on the dual plane. We start with a definition of a line component to be detected and present several different algorithms based on the definition. The one extreme is the conventional algorithm based on voting on the subdivided dual plane while the other is the one based on topological walk on an arrangement of sinusoidal curves defined by the Hough transform. Some intermediate algorithm based on half-planar range counting is also presented. Finally, we discuss how to incorporate several practical conditions associated with minimum density and restricted maximality.
Tetsuo ASANO Shinnya BITOU Mitsuo MOTOKI Nobuaki USUI
This paper presents an algorithm for rotating a subimage in place without using any extra working array. Due to this constraint, we have to overwrite pixel values by interpolated values. Key ideas are local reliability test which determines whether interpolation at a pixel is carried out correctly without using interpolated values, and lazy interpolation which stores interpolated values in a region which is never used for output images and then fills in interpolated values after safety is guaranteed. It is shown that linear interpolation is always safely implemented. An extension to cubic interpolation is also discussed.
This paper presents an efficient algorithm for constructing at-most-k levels of an arrangement of n lines in the plane in time O(nk+n log n), which is optimal since Ω(nk) line segments are included there. The algorithm can sweep the at-most-k levels of the arrangement using O(n) space. Although Everett et al. recently gave an algorithm for constructing the at-most-k levels with the same time complexity independently, our algorithm is superior with respect to the space complexity as a sweep algorithm. Then, we apply the algorithm to a bipartitioning problem of a bichromatic point set: For r red points and b blue points in the plane and a directed line L, the figure of demerit fd(L) associated with L is defined to be the sum of the number of blue points below L and that of red ones above L. The problem we are going to consider is to find an optimal partitioning line to minimize the figure of demerit. Given a number k, our algorithm first determines whether there is a line whose figure of demerit is at most k, and further finds an optimal bipartitioning line if there is one. It runs in O(kn+n log n) time (n=r+b), which is subquadratic if k is sublinear.