fbpx
Wikipedia

Kirkpatrick–Seidel algorithm

The Kirkpatrick–Seidel algorithm, proposed by its authors as a potential "ultimate planar convex hull algorithm", is an algorithm for computing the convex hull of a set of points in the plane, with time complexity, where is the number of input points and is the number of points (non dominated or maximal points, as called in some texts) in the hull. Thus, the algorithm is output-sensitive: its running time depends on both the input size and the output size. Another output-sensitive algorithm, the gift wrapping algorithm, was known much earlier, but the Kirkpatrick–Seidel algorithm has an asymptotic running time that is significantly smaller and that always improves on the bounds of non-output-sensitive algorithms. The Kirkpatrick–Seidel algorithm is named after its inventors, David G. Kirkpatrick and Raimund Seidel.[1]

Although the algorithm is asymptotically optimal, it is not very practical for moderate-sized problems.[2]

Algorithm Edit

The basic idea of the algorithm is a kind of reversal of the divide-and-conquer algorithm for convex hulls of Preparata and Hong, dubbed "marriage-before-conquest" by the authors.

The traditional divide-and-conquer algorithm splits the input points into two equal parts, e.g., by a vertical line, recursively finds convex hulls for the left and right subsets of the input, and then merges the two hulls into one by finding the "bridge edges", bitangents that connect the two hulls from above and below.

The Kirkpatrick–Seidel algorithm splits the input as before, by finding the median of the x-coordinates of the input points. However, the algorithm reverses the order of the subsequent steps: its next step is to find the edges of the convex hull that intersect the vertical line defined by this median x-coordinate, which turns out to require linear time.[3] The points on the left and right sides of the splitting line that cannot contribute to the eventual hull are discarded, and the algorithm proceeds recursively on the remaining points. In more detail, the algorithm performs a separate recursion for the upper and lower parts of the convex hull; in the recursion for the upper hull, the noncontributing points to be discarded are those below the bridge edge vertically, while in the recursion for the lower hull the points above the bridge edge vertically are discarded.

At the  th level of the recursion, the algorithm solves at most   subproblems, each of size at most  . The total number of subproblems considered is at most  , since each subproblem finds a new convex hull edge. The worst case occurs when no points can be discarded and the subproblems are as large as possible; that is, when there are exactly   subproblems in each level of recursion up to level   . For this worst case, there are   levels of recursion and   points considered within each level, so the total running time is   as stated.

See also Edit

References Edit

  1. ^ Kirkpatrick, David G.; Seidel, Raimund (1986). "The ultimate planar convex hull algorithm?". SIAM Journal on Computing. 15 (1): 287–299. doi:10.1137/0215021. hdl:1813/6417.
  2. ^ McQueen, Mary M.; Toussaint, Godfried T. (January 1985). "On the ultimate convex hull algorithm in practice" (PDF). Pattern Recognition Letters. 3 (1): 29–34. Bibcode:1985PaReL...3...29M. doi:10.1016/0167-8655(85)90039-X. The results suggest that although the O(n Log h) algorithms may be the 'ultimate' ones in theory, they are of little practical value from the point of view of running time.
  3. ^ Original paper by Kirkpatrick / Seidel (1986), p. 10, theorem 3.1

kirkpatrick, seidel, algorithm, proposed, authors, potential, ultimate, planar, convex, hull, algorithm, algorithm, computing, convex, hull, points, plane, with, displaystyle, mathcal, time, complexity, where, displaystyle, number, input, points, displaystyle,. The Kirkpatrick Seidel algorithm proposed by its authors as a potential ultimate planar convex hull algorithm is an algorithm for computing the convex hull of a set of points in the plane with O n log h displaystyle mathcal O n log h time complexity where n displaystyle n is the number of input points and h displaystyle h is the number of points non dominated or maximal points as called in some texts in the hull Thus the algorithm is output sensitive its running time depends on both the input size and the output size Another output sensitive algorithm the gift wrapping algorithm was known much earlier but the Kirkpatrick Seidel algorithm has an asymptotic running time that is significantly smaller and that always improves on the O n log n displaystyle mathcal O n log n bounds of non output sensitive algorithms The Kirkpatrick Seidel algorithm is named after its inventors David G Kirkpatrick and Raimund Seidel 1 Although the algorithm is asymptotically optimal it is not very practical for moderate sized problems 2 Algorithm EditThis section needs expansion with pseudo code of the algorithm You can help by adding to it March 2018 The basic idea of the algorithm is a kind of reversal of the divide and conquer algorithm for convex hulls of Preparata and Hong dubbed marriage before conquest by the authors The traditional divide and conquer algorithm splits the input points into two equal parts e g by a vertical line recursively finds convex hulls for the left and right subsets of the input and then merges the two hulls into one by finding the bridge edges bitangents that connect the two hulls from above and below The Kirkpatrick Seidel algorithm splits the input as before by finding the median of the x coordinates of the input points However the algorithm reverses the order of the subsequent steps its next step is to find the edges of the convex hull that intersect the vertical line defined by this median x coordinate which turns out to require linear time 3 The points on the left and right sides of the splitting line that cannot contribute to the eventual hull are discarded and the algorithm proceeds recursively on the remaining points In more detail the algorithm performs a separate recursion for the upper and lower parts of the convex hull in the recursion for the upper hull the noncontributing points to be discarded are those below the bridge edge vertically while in the recursion for the lower hull the points above the bridge edge vertically are discarded At the i displaystyle i nbsp th level of the recursion the algorithm solves at most 2 i displaystyle 2 i nbsp subproblems each of size at most n 2 i displaystyle frac n 2 i nbsp The total number of subproblems considered is at most h displaystyle h nbsp since each subproblem finds a new convex hull edge The worst case occurs when no points can be discarded and the subproblems are as large as possible that is when there are exactly 2 i displaystyle 2 i nbsp subproblems in each level of recursion up to level log 2 h displaystyle log 2 h nbsp For this worst case there are O log h displaystyle mathcal O log h nbsp levels of recursion and O n displaystyle mathcal O n nbsp points considered within each level so the total running time is O n log h displaystyle mathcal O n log h nbsp as stated See also EditConvex hull algorithmsReferences Edit Kirkpatrick David G Seidel Raimund 1986 The ultimate planar convex hull algorithm SIAM Journal on Computing 15 1 287 299 doi 10 1137 0215021 hdl 1813 6417 McQueen Mary M Toussaint Godfried T January 1985 On the ultimate convex hull algorithm in practice PDF Pattern Recognition Letters 3 1 29 34 Bibcode 1985PaReL 3 29M doi 10 1016 0167 8655 85 90039 X The results suggest that although the O n Log h algorithms may be the ultimate ones in theory they are of little practical value from the point of view of running time Original paper by Kirkpatrick Seidel 1986 p 10 theorem 3 1 Retrieved from https en wikipedia org w index php title Kirkpatrick Seidel algorithm amp oldid 1055313789, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.