Skip to main content
QUICK REVIEW

[論文レビュー] Flipturning polygons

Oswin Aichholzer, Carmen Cortés|ArXiv.org|Aug 16, 2000
Computational Geometry and Mesh Generation被引用数 4
ひとこと要約

この論文は、単純多角形の凹型(ポケット)をその縁の中央を軸として180°回転させるflipturn操作——多角形を凸化する操作——を調査する。flipturn列におけるタイトな上限を確立する:直交多角形は最大 $n-5$ 個の任意のflipturn、または $ floor 5(n-4)/6 floor$ 個の適切に選ばれたflipturnで凸化可能であり、一般の単純多角形は最大 $n^2 - 4n + 1$ 個のflipturnで凸化可能である。最終的な凸形状はすべての列において一意であり、$O(nackslashlog n)$ 時間で計算可能である。

ABSTRACT

A flipturn is an operation that transforms a nonconvex simple polygon into another simple polygon, by rotating a concavity 180 degrees around the midpoint of its bounding convex hull edge. Joss and Shannon proved in 1973 that a sequence of flipturns eventually transforms any simple polygon into a convex polygon. This paper describes several new results about such flipturn sequences. We show that any orthogonal polygon is convexified after at most n-5 arbitrary flipturns, or at most 5(n-4)/6 well-chosen flipturns, improving the previously best upper bound of (n-1)!/2. We also show that any simple polygon can be convexified by at most n^2-4n+1 flipturns, generalizing earlier results of Ahn et al. These bounds depend critically on how degenerate cases are handled; we carefully explore several possibilities. We describe how to maintain both a simple polygon and its convex hull in O(log^4 n) time per flipturn, using a data structure of size O(n). We show that although flipturn sequences for the same polygon can have very different lengths, the shape and position of the final convex polygon is the same for all sequences and can be computed in O(n log n) time. Finally, we demonstrate that finding the longest convexifying flipturn sequence of a simple polygon is NP-hard.

研究の動機と目的

  • 単純多角形および直交多角形を凸化するのに必要なflipturnの数に対するよりタイトな上界を確立すること。
  • すべてのflipturn列において最終的な凸多角形の一意性を分析すること。
  • 凸化に必要な最長flipturn列を求める計算複雑性を調査すること。
  • flipturn操作中に多角形およびその凸包を効率的に維持するデータ構造を設計すること。

提案手法

  • ポケットのリブ(lid)の中央を軸として180°回転させることで、多角形のポケットをflipturnと定義し、辺の順序を反転させるが、長さや向きは変化させない。
  • 組合せ論的および幾何的解析を用いて、直交多角形および一般の単純多角形におけるflipturn列の上限を導出する。
  • 最長flipturn列を求める問題のNP困難性を示すために、サブセット和問題への還元を構築する。
  • 各flipturn操作を $O(\log^4 n)$ 時間で処理でき、$O(n)$ の空間を要するデータ構造を設計する。
  • 最終的な凸多角形がflipturn列に依存せず一意であることを証明し、その標準的な凸形状を $O(n\log n)$ 時間で計算可能であることを示す。
  • 退化ケースを慎重に分析することで、さまざまな多角形構成下でも上限がタイトかつ頑健であることを保証する。

実験結果

リサーチクエスチョン

  • RQ1任意の単純多角形を凸化するのに必要な最大のflipturn数は何か? これは多角形の種別に依存するか?
  • RQ2任意のflipturn列によって得られる最終的な凸多角形は、効率的かつ一意に計算可能か?
  • RQ3多角形を凸化するために必要な最長flipturn列を求める問題は、計算的に困難か?
  • RQ4動的flipturn操作中に多角形およびその凸包をどれほど効率的に維持できるか?
  • RQ5直交多角形は一般の単純多角形よりも少ないflipturn数で凸化可能か? そして、最もタイトな既知の上限は何か?

主な発見

  • 任意の直交多角形は最大 $n - 5$ 個の任意のflipturnで凸化可能であり、以前の $(n-1)!/2$ の上限を改善する。
  • 直交多角形では、最大 $ floor 5(n-4)/6 floor$ 個の適切に選ばれたflipturnで凸化可能である。
  • 一般の単純多角形は最大 $n^2 - 4n + 1$ 個のflipturnで凸化可能であり、以前の結果を一般化する。
  • 最終的な凸多角形はすべてのflipturn列において同一であり、$O(n\log n)$ 時間で計算可能である。
  • 各操作を $O(\log^4 n)$ 時間で処理でき、$O(n)$ の空間を要するように、単純多角形とその凸包をflipturn操作中に維持可能である。
  • 与えられた単純多角形を凸化する最長flipturn列を求める問題は、直交多角形に対してもNP困難である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。