Abstract 1 Introduction 2 Initial algorithm 3 Optimization 4 Representative-set-based approach 5 Results and discussions References

CG#Hunters Approach to Central Triangulation Under Parallel Flip Operations

Jaegun Lee ORCID Department of Computer Science and Engineering, Pohang University of Science and Technology, Republic of Korea    Seokyun Kang ORCID Graduate School of Artificial Intelligence, Pohang University of Science and Technology, Republic of Korea    Hyeonseok Lee ORCID Department of Computer Science and Engineering, Ulsan National Institute of Science and Technology, Republic of Korea    Hyeyun Yang ORCID School of Computational Sciences, Korea Institute for Advanced Study, Seoul, Republic of Korea    Taehoon Ahn111Corresponding author ORCID Department of Computer Science, Sookmyung Women’s University, Seoul, Republic of Korea
Abstract

In the CG:SHOP 2026 Challenge, the goal is to compute a central triangulation for a given set of triangulations on the same point set while minimizing the sum of parallel flip distances. To address the problem, our team (CG#Hunters) constructs an initial solution by iteratively applying parallel flips to reduce the total number of crossings between the triangulations until none remain. To optimize these solutions, we shorten the paths by using a score-based greedy edge selection and refine the central triangulation via a large scale neighborhood search. Additionally, a representative-set-based approach is utilized to efficiently handle large instances. With these combined approaches, we achieved third place by successfully computing central triangulations with sufficiently short parallel flip paths for all 250 instances.

Keywords and phrases:
Central triangulation, Parallel flip operations, Crossing number, Large scale neighborhood search, Representative set
Category:
CG Challenge
Funding:
Hyeonseok Lee: Supported by the Korea institute of Human Resources Development in Science and Technology (KIRD) grant funded by the Korea government (MSIT) (No. RS-2025-02215586).
Hyeyun Yang: Supported by a KIAS Individual Grant (CG102001) at Korea Institute for Advanced Study.
Copyright and License:
[Uncaptioned image] © Jaegun Lee, Seokyun Kang, Hyeonseok Lee, Hyeyun Yang, and Taehoon Ahn; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Computational geometry
Supplementary Material:
Software  (Source Code): https://github.com/jagunlee/CGSHOP26.git
  archived at Software Heritage Logo swh:1:dir:83f9595d8b77d04fc9756fda5f9eb46f0521604d
Acknowledgements:
We would like to thank the challenge organizers and fellow competitors for their efforts. We are also grateful to Hee-Kap Ahn and Antoine Vigneron for providing computational resources at POSTECH and UNIST, and to the Center for Advanced Computation at Korea Institute for Advanced Study for help computing resources.
Funding:
Jaegun Lee, Seokyun Kang: Partly supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government(MSIT) (RS-2023-00219980), and the Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No. RS-2019-II191906, Artificial Intelligence Graduate School Program (POSTECH)) and (No. 2017-0-00905, Software Star Lab (Optimal Data Structure and Algorithmic Applications in Dynamic Geometric Environment)).
Editors:
Hee-Kap Ahn, Michael Hoffmann, and Amir Nayyeri

1 Introduction

An edge flip of a triangulation T is an operation that removes a shared edge e between two adjacent triangles forming a convex quadrilateral, and replaces it with the opposite diagonal of the quadrilateral. Given two triangulations T1, T2 on the same point set P, there exists a flip path from T1 to T2, which is a sequence of flips applied to T1 to make T2. There has been a fair amount of work on computing flip paths between two triangulations [2, 3, 5, 6], and it is known to be NP-complete to compute a shortest one [7].

Taking a step further, the CG:SHOP 2026 Challenge considers a parallel flip operation, which is a set of multiple edge flips that can be performed simultaneously because they do not share any triangles. We call a sequence of parallel flips a parallel flip path. In the problem, we are given a set of triangulations on the same point set and the goal is to compute a central triangulation on the same point set while minimizing the sum of the lengths of parallel flip paths from each triangulation. The problem is formally defined as follows.

Problem 1.

Given a problem instance I=(P,𝒯), where P is a set of points in 2 and 𝒯 is a set of triangulations of P, find a central triangulation C of P and a parallel flip path π(T,C) from each T𝒯 to C while minimizing T𝒯|π(T,C)|.

There were 250 instances of three types (random-, woc-, and rirs-) given. For more details on the instances, see the survey paper [1].

Preliminaries.

We say that an edge e in a triangulation is flippable if it is shared by two triangles forming a convex quadrilateral. Two flippable edges of the same triangulation are independent if they do not share any triangle. Hence, a set of independent flippable edges can be chosen as a single parallel flip operation.

Our main approach relies on the number of crossings among a set of triangulations. We say that two edges are crossing if they intersect at a point in the interior of an edge. For an edge e and a triangulation T, we use cr(e,T) to denote the number of edges crossing e in T. Note that cr(e,T)=0 if eT. We slightly abuse the notation by letting cr(T,T)=eTcr(e,T) denote the number of crossings between two triangulations T and T, and cr(𝒯)=12T,T𝒯,TTcr(T,T) denote the total number of crossings among a set of triangulations 𝒯.

2 Initial algorithm

First, we introduce our initial algorithm for computing an initial solution for each instance. Given an instance I=(P,𝒯), our algorithm runs while maintaining a (multi)-set of triangulations 𝒯^, starting with 𝒯^=𝒯. At each step, it selects one triangulation in 𝒯 and applies a parallel flip to reduce the total number of intersections among the triangulations cr(𝒯^). The algorithm terminates when cr(𝒯^) becomes zero, which implies that the triangulations in 𝒯^ are the same. Then the algorithm returns the triangulation as the central triangulation C.

In doing so, we first use the following observation from [3].

Lemma 2 (Lemma 2 and 3 of [3]).

Let T, T be two different triangulations on the same points. There exists an edge flip from T that reduces cr(T,T).

Lemma 2 implies that we can always find a parallel flip from a triangulation T𝒯^ that reduces the total number of intersections when |𝒯^|=2. To use this observation for an instance with |𝒯|>2, we claim the following stronger argument.

Conjecture 3.

Let 𝒯^ be a set of triangulations on the same point set. Then there exists a triangulation T𝒯^ and an edge flip in T that reduces cr(𝒯^), unless cr(𝒯^)=0.

We presume that Conjecture 3 holds to design our algorithm, and so far during the contest, we have not encountered any counterexample. Using Conjecture 3, a single step of our algorithm works as follows. For each flippable edge e in each triangulation T𝒯^, let e be the edge obtained by flipping e in T. Then we define a score for e as the change in cr(𝒯^) after flipping e, that is, T𝒯^{T}(cr(e,T)cr(e,T)) and compute it. Observe that there is at least one positive-scored edge if Conjecture 3 holds.

After computing the scores of the edges, we compute a possible parallel flip to reduce cr(𝒯^) for each T𝒯^. Within T, the edges to flip are chosen in a greedy manner. First, our algorithm sorts the positive-scored edges in T in descending order of their scores. Then, it scans through the sorted edges and picks an edge if it is independent of the already picked edges. After scanning, the algorithm chooses a triangulation with a possible parallel flip that reduces cr(𝒯^) the most and applies the parallel flip. Then the algorithm proceeds to the next step. See Figure 1.

Figure 1: A visualization of the initial algorithm. Given an instance with five triangulations (black disks), the algorithm proceeds with maintaining 𝒯^ (empty disks). For each step, it picks one triangulation among 𝒯^ and applies a parallel flip (red disk) to the triangulation to reduce cr(𝒯^). The algorithm stops when triangulations in 𝒯^ are the same, and the triangulation (black box) is reported as a central triangulation.

By tracking the parallel flips applied to the triangulations during the algorithm, we can also obtain a parallel flip path π(T,C) for each T𝒯. We mainly used this algorithm for obtaining initial solutions. However, this approach requires high computational cost. To address this, we also used a representative-set-based approach, which is described in Section 4.

3 Optimization

In this section, we address our two optimization approaches to improve our solutions: recomputing the paths and finding a new central triangulation.

3.1 Parallel flip path between two triangulations

In order to optimize the objective value T𝒯|π(T,C)| for all triangulations in the given instance I(P,𝒯), one effective way is to compute shorter parallel flip paths. Our first optimization technique is specifically designed to compute a shorter parallel flip path from a given triangulation T to the central triangulation C without changing C itself.

To do so, we develop a core algorithm for computing a parallel flip path between two different triangulations T1 and T2 on the same point set. At each step, for each flippable edge in T1 that is not present in T2, a certain score of the edge with respect to T2 is computed. These candidate edges are sorted in decreasing order of their scores. From this sorted list, a set of independent positive-scored edges is selected in a greedy manner. Finally, the edges in the set are flipped simultaneously, and the set of edges is recorded as an element for the sequence of the parallel flip path π(Ti,Tj). The procedure above is repeated until T1=T2.

During the competition, we used three different score measures to evaluate the geometric benefit of flipping an edge. For a flippable edge e in T1 but not in T2, let e be the new edge obtained by flipping e. The measures for an edge e are defined as follows:

  1. 1.

    cr(e,T2): The absolute crossing number. This measure focuses on edges that have a high number of intersections with the target triangulation.

  2. 2.

    cr(e,T2)cr(e,T2): The absolute reduction in crossings. This evaluates the direct decrease in the number of intersections, favoring flips that consistently guide the current triangulation toward the target.

  3. 3.

    (cr(e,T2)cr(e,T2))/cr(e,T2): The relative reduction rate. This approach normalizes the reduction by the initial crossing count, favoring flips that resolve a larger proportion of their existing intersections.

Note that without proper cycle prevention, the algorithm may repeatedly select two edges alternatively, entering an infinite loop. See Figure 2. We were able to prevent it by prohibiting the edges flipped in the immediate previous step from being flipped again.

Figure 2: Two different triangulations T1, T2 for given a point set. Two dashed lines e and e having cr(e,T2)=3 and cr(e,T2)=3 can be selected alternately in T1 and fall into an infinite loop. Flipping e right after flipping e is prevented allowing to flip other edges with crossing number 3.

To derive the minimum parallel flip path π(T1,T2), the aforementioned algorithm is extended by exploring diverse path generation strategies. For any given pair of triangulations, multiple candidate paths are generated using the following variations:

  • Forward/Reverse search: Paths are computed not only from T1 to T2 but also from T2 to T1, with the latter being subsequently reversed.

  • Two-way search: Paths are explored simultaneously from both triangulations. At each step, a parallel flip is greedily executed on the side yielding the higher score gain, allowing the two sequences to meet efficiently in the middle.

  • Local refinement: After the candidate paths are generated, intermediate sub-paths between local states are iteratively extracted and recomputed using the strategies above.

3.2 Large scale neighborhood search

We optimize our solutions by finding a new central triangulation using large scale neighborhood search. Consider an instance I=(P,𝒯) and assume that we have already computed an initial solution consisting of a central triangulation C of I and parallel flip paths π(T,C) for each T𝒯. Then for each T𝒯, a triangulation MT along π(T,C) is selected at random. Now, the initial algorithm is applied to compute a central triangulation C for I, which is a new hypothetic instance I=(P,𝒯) where 𝒯={MTT𝒯} and to compute parallel flip paths π(MT,C) for every T𝒯. A new solution for I is obtained by setting C as a new central triangulation of I. The path from T to C is then updated by concatenating π(T,MT)a sub-path in π(T,C)with the new parallel flip path π(MT,C).

Figure 3: A visualization of the algorithm in Section 3.2.

4 Representative-set-based approach

Additionally, to reduce the computational cost of the finding central triangulation C, we utilize a weighted representative-set-based approach. This method is motivated by the concept of 1-median coresets [4], leveraging the fact that the parallel flip distance satisfies the triangle inequality. By discretizing the metric space, we construct a compact surrogate set 𝒯rep that preserves the properties of the objective function while significantly reducing the number of triangulations to be processed.

The construction of 𝒯rep is executed through a two-stage distance-based partitioning process. First, if a central triangulation C from an initial solution is available, we set the anchor triangulation A as C; otherwise, we choose A as a random triangulation T𝒯. For each triangulation Ti𝒯, we compute π(Ti,A) and the distance δi|π(Ti,A)|. We establish exponentially growing intervals that double in size based on the baseline scale Riδi/|𝒯|, and then partition 𝒯 by grouping each triangulation Ti according to which interval its distance δi falls into. Next, we refine these partitions by sorting the triangulations by δi within each interval and further subdividing them into 1/ε subsets according to the granularity parameter ε(0,1). Finally, from each refined subset, we select a random triangulation and add it to 𝒯rep. We assign its weight w(T) equal to the size of that subset, ensuring the total sum of weights equals the original size |𝒯|. See Figure 4.

The effectiveness and accuracy of this approach are summarized in Table 1. As shown, the proposed method substantially reduces the number of triangulations |𝒯| – especially for large instances – while yielding objective values closely approximating the solutions derived from the whole triangulation set.

Figure 4: A visualization of the representative-set-based approach. There are |𝒯|=14 triangulations. Here A𝒯, ε=0.5, 𝒯rep is {T1,T2,T3,T4,T5} with w(T1)=2, w(T2)=2, w(T3)=4, w(T4)=1, and w(T5)=5.
Table 1: Performance of the representative-set-based approach (ε=0.1). Reduction denotes |𝒯| decrease; objective ratio compares the results using 𝒯rep to full 𝒯.

5 Results and discussions

In the following, we present a few observations about our approaches.

  • When comparing the total parallel flip distance of rirs- instance and the three instances between top teams, we were in second place. See Table 2.

  • To understand above results, we compared the initial algorithm and various optimizations. For rirs- instances, the initial algorithm produced sufficiently short paths. For other instances, however, the path optimizations in Section 3.1 significantly reduced the distances in most cases. See Figure 5.

  • For some rirs- instances, the large scale neighborhood search in Section 3.2 repeatedly generated the same central triangulation (i.e. C=C in Figure 3), regardless of the randomly selected MT’s. Nevertheless, the parallel flip paths were consistently shorter.

Table 2: The difference between four best teams’ parallel flip distances and best among them. For example, our total parallel flip distance in rirs- instances is 3491 greater than the best 32897, meaning that 49 instances are on average 71.24 longer than the best. The number of instances of each type (random-, woc-, rirs-) are (100, 101, 49).
Figure 5: To evaluate the initial algorithm against various path optimizations, we measured the frequency of achieving the minT𝒯|π(T,C)| among them from our initial solutions. We tested rirs- instances with |𝒯|=20 and all random- and woc- instances.

References

  • [1] Oswin Aichholzer, Joseph Dorfer, Sándor P. Fekete, Phillip Keldenich, Peter Kramer, and Stefan Schirra. Central Triangulation under Parallel Flip Operations: The CG:SHOP Challenge 2026, 2026. arXiv:2603.18812.
  • [2] Jérôme Galtier, Ferran Hurtado, Marc Noy, Stéphane Pérennes, and Jorge Urrutia. Simultaneous edge flipping in triangulations. International Journal of Computational Geometry & Applications, 13(02):113–133, 2003. doi:10.1142/S0218195903001098.
  • [3] Sabine Hanke, Thomas Ottmann, and Sven Schuierer. The edge-flipping distance of triangulations. Journal of Universal Computer Science, 2(8):570–579, 1996. doi:10.3217/JUCS-002-08-0570.
  • [4] Sariel Har-Peled and Soham Mazumdar. On coresets for k-means and k-median clustering. In Proceedings of the 36th annual ACM Symposium on Theory of Computing (STOC), pages 291–300, 2004. doi:10.1145/1007352.1007400.
  • [5] Ferran Hurtado, Marc Noy, and Jorge Urrutia. Flipping edges in triangulations. Discrete & Computational Geometry, 22:333–346, 1999. doi:10.1007/PL00009464.
  • [6] Iyad Kanj, Eric Sedgwick, and Ge Xia. Computing the flip distance between triangulations. Discrete & Computational Geometry, 58:313–344, 2017. doi:10.1007/S00454-017-9867-X.
  • [7] Anna Lubiw and Vinayak Pathak. Flip distance between two triangulations of a point set is NP-complete. Computational Geometry, 49:17–23, 2015. doi:10.1016/J.COMGEO.2014.11.001.