Table of Contents
Fetching ...

Finding a Largest-Area Triangle in a Terrain in Near-Linear Time

Sergio Cabello, Arun Kumar Das, Sandip Das, Joydeep Mukherjee

TL;DR

This paper tackles the problem of finding a triangle of maximum area contained in an $x$-monotone terrain with a base segment. It presents a deterministic $O(n \log n)$-time algorithm that improves the previous $O(n^2)$ bound by completing the interior-apex case through a combination of shortest-path trees, forward prolongations, and a hereditary segment tree to implicitly handle a potentially quadratic set of apex candidates, with the SMAWK algorithm exploiting total-monotonicity in derived matrices. The approach unifies two key interactions—standard-standard and standard-hereditary list pairings—across a hereditary segment-tree structure, yielding amortized linear-time processing per node and an overall near-linear time. This advance enhances geometric optimization in terrains with potential applications in robotics, stock cutting, and related planning problems, while leaving open the possibility of a linear-time solution in the future.

Abstract

A terrain is an $x$-monotone polygon whose lower boundary is a single line segment. We present an algorithm to find in a terrain a triangle of largest area in $O(n \log n)$ time, where $n$ is the number of vertices defining the terrain. The best previous algorithm for this problem has a running time of $O(n^2)$.

Finding a Largest-Area Triangle in a Terrain in Near-Linear Time

TL;DR

This paper tackles the problem of finding a triangle of maximum area contained in an -monotone terrain with a base segment. It presents a deterministic -time algorithm that improves the previous bound by completing the interior-apex case through a combination of shortest-path trees, forward prolongations, and a hereditary segment tree to implicitly handle a potentially quadratic set of apex candidates, with the SMAWK algorithm exploiting total-monotonicity in derived matrices. The approach unifies two key interactions—standard-standard and standard-hereditary list pairings—across a hereditary segment-tree structure, yielding amortized linear-time processing per node and an overall near-linear time. This advance enhances geometric optimization in terrains with potential applications in robotics, stock cutting, and related planning problems, while leaving open the possibility of a linear-time solution in the future.

Abstract

A terrain is an -monotone polygon whose lower boundary is a single line segment. We present an algorithm to find in a terrain a triangle of largest area in time, where is the number of vertices defining the terrain. The best previous algorithm for this problem has a running time of .

Paper Structure

This paper contains 9 sections, 11 theorems, 9 equations, 13 figures.

Key Result

Lemma 1

In each terrain there is a largest area triangle $T$ satisfying all of the following properties:

Figures (13)

  • Figure 1: Two terrains. The right one is obtained from the left one by a shear transformation to make the base horizontal
  • Figure 2: Notation for vertices of the terrain.
  • Figure 3: Examples of grounded triangles like those in Lemma \ref{['lem:structure1']}. The apex is marked with a square and may lie on the boundary of the terrain (left) or not (right).
  • Figure 4: The tree $T_\ell$ with blue dashed arcs. Edges of $T_\ell$ contained in an edge of the polygon are thicker to make them visible.
  • Figure 5: Forward and some backward prolongations in the example of Figure \ref{['fig:segment_1']}. The set $L$, of non-empty forward prolongations of the edges of $T_\ell$, is in solid, thick red. The edges of $T_\ell$ defining $L$ are in dashed blue. In dashed-dotted orange is the set of backward prolongations for the edges defining $L$.
  • ...and 8 more figures

Theorems & Definitions (19)

  • Lemma 1: Lemmas 1 and 2, Corollary 1 in DasDM2021
  • Lemma 2: Implicit in DasDM2021; see the paragraph before Theorem 1
  • Lemma 3: Lemmas 3, 4 and 5 in DasDM2021
  • Lemma 4
  • proof
  • Lemma 5
  • proof
  • Lemma 6
  • proof
  • Lemma 7
  • ...and 9 more