11 research outputs found

    Conflict Optimization for Binary CSP Applied to Minimum Partition into Plane Subgraphs and Graph Coloring

    Full text link
    CG:SHOP is an annual geometric optimization challenge and the 2022 edition proposed the problem of coloring a certain geometric graph defined by line segments. Surprisingly, the top three teams used the same technique, called conflict optimization. This technique has been introduced in the 2021 edition of the challenge, to solve a coordinated motion planning problem. In this paper, we present the technique in the more general framework of binary constraint satisfaction problems (binary CSP). Then, the top three teams describe their different implementations of the same underlying strategy. We evaluate the performance of those implementations to vertex color not only geometric graphs, but also other types of graphs.Comment: To appear at ACM Journal of Experimental Algorithmic

    LE MONDE DE LA CONVEXITÉ DISCRÈTE

    No full text
    A set SZdS \subset \mathbb{Z}^d is \emph{digital convex} if \conv(S) \cap \mathbb{Z}^d = S, where \conv(S) denotes the convex hull of SS.Herein, we consider various algorithmic problems related to recognizing digital convex sets or finding digital convex subsets.We show that the quickhull algorithm runs in linear time for digital convex sets and use this result to provide an algorithm for testing the digital convexity of SZ2S\subset \mathbb{Z} ^2 in O(n+hlogr)O(n + h \log r) time, where hh is the number of edges of the convex hull and rr is the diameter of SS. We then extend this result and show how this can be used to solve the digital convex set recognition problem in the same time complexity.Finally, we provide polynomial time algorithms to find the largest union of kk digital convex subsets of SZ2S\subset \mathbb{Z} ^2.Un ensemble SZdS \subset \mathbb{Z}^d est \emph{convexe discret} si \conv(S) \cap \mathbb{Z}^d = S, où \conv(S) est l'enveloppe convexe de SS.Ici, nous considérons plusieurs problèmes algorithmiques traitant de la reconnaissance d'ensembles convexes discrets ainsi que de la détection de sous ensembles convexes discrets.Nous montrons que l'algorithme quickhull s'exécute en temps linéaire pour des ensembles convexe discret. Puis nous utilisons ce résultat afin de proposer un algorithme qui teste la convexité discrète de SZ2S\subset \mathbb{Z} ^2 en O(n+hlogr)O(n + h \log r) temps, où hh est le nombre de sommet de l'enveloppe convexe de SS et rr est le diamètre de SS. Ensuite, nous étendons ce résultat et montrons comment il peut être utilisé afin de résoudre le problème de reconnaissance d'ensemble convexe discret. Enfin, nous proposons un algorithme en temps polynomial qui détecte la plus grande union de kk sous ensembles convexes discrets de SZ2S\subset \mathbb{Z} ^2

    Le monde de la convexité discrète

    No full text
    A set S⊂Zd is said \emph{digital convex} if \conv(S)∩Zd=S, where \conv(S) denotes the convex hull of S. Herein, we consider several algorithmic problems related to recognition of digital convex sets, as well as the detection of digital convex sets. We start by showing that the quickhull algorithm runs in linear time for digital convex sets. Then, based on this result, we propose an algorithm to test the digital convexiyty of a lattice set S⊂Z2 in O(n+hlogr) time, where h denotes the number of vertices of the convex hull of S, and r denotes the diameter of S. Then, We show how those results can be used to solve the digital polyhedra recognition problem. Finally, we propose a polynomial time algorithm to find the largest union of k digital convex subsets of S⊂Z2.Un ensemble S⊂Zd est \emph{convexe discret} si \conv(S)∩Zd=S, où \conv(S) est l'enveloppe convexe de S. Ici, nous considérons plusieurs problèmes algorithmiques traitant de la reconnaissance d'ensembles convexes discrets ainsi que de la détection de sous ensembles convexes discrets. Nous montrons que l'algorithme quickhull s'exécute en temps linéaire pour des ensembles convexe discret. Puis nous utilisons ce résultat afin de proposer un algorithme qui teste la convexité discrète de S⊂Z2 en O(n+hlogr) temps, où h est le nombre de sommet de l'enveloppe convexe de S et r est le diamètre de S. Ensuite, nous étendons ce résultat et montrons comment il peut être utilisé afin de résoudre le problème de reconnaissance d'ensemble convexe discret. Enfin, nous proposons un algorithme en temps polynomial qui détecte la plus grande union de k sous ensembles convexes discrets de S⊂Z2

    Le monde de la convexité discrète

    No full text
    A set S⊂Zd is said \emph{digital convex} if \conv(S)∩Zd=S, where \conv(S) denotes the convex hull of S. Herein, we consider several algorithmic problems related to recognition of digital convex sets, as well as the detection of digital convex sets. We start by showing that the quickhull algorithm runs in linear time for digital convex sets. Then, based on this result, we propose an algorithm to test the digital convexiyty of a lattice set S⊂Z2 in O(n+hlogr) time, where h denotes the number of vertices of the convex hull of S, and r denotes the diameter of S. Then, We show how those results can be used to solve the digital polyhedra recognition problem. Finally, we propose a polynomial time algorithm to find the largest union of k digital convex subsets of S⊂Z2.Un ensemble S⊂Zd est \emph{convexe discret} si \conv(S)∩Zd=S, où \conv(S) est l'enveloppe convexe de S. Ici, nous considérons plusieurs problèmes algorithmiques traitant de la reconnaissance d'ensembles convexes discrets ainsi que de la détection de sous ensembles convexes discrets. Nous montrons que l'algorithme quickhull s'exécute en temps linéaire pour des ensembles convexe discret. Puis nous utilisons ce résultat afin de proposer un algorithme qui teste la convexité discrète de S⊂Z2 en O(n+hlogr) temps, où h est le nombre de sommet de l'enveloppe convexe de S et r est le diamètre de S. Ensuite, nous étendons ce résultat et montrons comment il peut être utilisé afin de résoudre le problème de reconnaissance d'ensemble convexe discret. Enfin, nous proposons un algorithme en temps polynomial qui détecte la plus grande union de k sous ensembles convexes discrets de S⊂Z2

    LE MONDE DE LA CONVEXITÉ DISCRÈTE

    No full text
    A set SZdS \subset \mathbb{Z}^d is \emph{digital convex} if \conv(S) \cap \mathbb{Z}^d = S, where \conv(S) denotes the convex hull of SS.Herein, we consider various algorithmic problems related to recognizing digital convex sets or finding digital convex subsets.We show that the quickhull algorithm runs in linear time for digital convex sets and use this result to provide an algorithm for testing the digital convexity of SZ2S\subset \mathbb{Z} ^2 in O(n+hlogr)O(n + h \log r) time, where hh is the number of edges of the convex hull and rr is the diameter of SS. We then extend this result and show how this can be used to solve the digital convex set recognition problem in the same time complexity.Finally, we provide polynomial time algorithms to find the largest union of kk digital convex subsets of SZ2S\subset \mathbb{Z} ^2.Un ensemble SZdS \subset \mathbb{Z}^d est \emph{convexe discret} si \conv(S) \cap \mathbb{Z}^d = S, où \conv(S) est l'enveloppe convexe de SS.Ici, nous considérons plusieurs problèmes algorithmiques traitant de la reconnaissance d'ensembles convexes discrets ainsi que de la détection de sous ensembles convexes discrets.Nous montrons que l'algorithme quickhull s'exécute en temps linéaire pour des ensembles convexe discret. Puis nous utilisons ce résultat afin de proposer un algorithme qui teste la convexité discrète de SZ2S\subset \mathbb{Z} ^2 en O(n+hlogr)O(n + h \log r) temps, où hh est le nombre de sommet de l'enveloppe convexe de SS et rr est le diamètre de SS. Ensuite, nous étendons ce résultat et montrons comment il peut être utilisé afin de résoudre le problème de reconnaissance d'ensemble convexe discret. Enfin, nous proposons un algorithme en temps polynomial qui détecte la plus grande union de kk sous ensembles convexes discrets de SZ2S\subset \mathbb{Z} ^2

    Efficiently Testing Digital Convexity and Recognizing Digital Convex Polygons

    No full text
    International audienceA set S ⊂ Z 2 of integer points is digital convex if conv(S) ∩ Z 2 = S, where conv(S) denotes the convex hull of S. In this paper, we consider the following two problems. The first one is to test whether a given set S of n lattice points is digital convex. If the answer to the first problem is positive, then the second problem is to find a polygon P ⊂ Z 2 with minimum number of edges and whose intersection with the lattice P ∩Z 2 is exactly S. We provide linear-time algorithms for these two problems. The algorithm is based on the well-known quickhull algorithm. The time to solve both problems is O(n + h log r), where h = min(| conv(S)|, n 1/3) and r is the diameter of S

    Efficient Algorithms for Battleship

    No full text
    International audienceWe consider an algorithmic problem inspired by the Battleship game. In the variant of the problem that we investigate, there is a unique ship of shape S ⊂ Z 2 which has been translated in the lattice Z 2. We assume that a player has already hit the ship with a first shot and the goal is to sink the ship using as few shots as possible, that is, by minimizing the number of missed shots. While the player knows the shape S, which position of S has been hit is not known. Given a shape S of n lattice points, the minimum number of misses that can be achieved in the worst case by any algorithm is called the Battleship complexity of the shape S and denoted c(S). We prove three bounds on c(S), each considering a different class of shapes. First, we have c(S) ≤ n − 1 for arbitrary shapes and the bound is tight for parallelogram-free shapes. Second, we provide an algorithm that shows that c(S) = O(log n) if S is an HV-convex polyomino. Third, we provide an algorithm that shows that c(S) = O(log log n) if S is a digital convex set. This last result is obtained through a novel discrete version of the Blaschke-Lebesgue inequality relating the area and the width of any convex body

    Greedy and Local Search Heuristics to Build Area-Optimal Polygons

    No full text
    International audienceIn this paper, we present our heuristic solutions to the problems of finding the maximum and minimum area polygons with a given set of vertices. Our solutions are based mostly on two simple algorithmic paradigms: greedy method and local search. The greedy heuristic starts with a simple polygon and adds vertices one by one, according to a weight function. A crucial ingredient to obtain good solutions is the choice of an appropriate weight function that avoids long edges. The local search part consists of moving consecutive vertices to another location in the polygonal chain. We also discuss the different implementation techniques that are necessary to reduce the running time

    Efficient Algorithms for Battleship

    No full text
    International audienceWe consider an algorithmic problem inspired by the Battleship game. In the variant of the problem that we investigate, there is a unique ship of shape S ⊂ Z 2 which has been translated in the lattice Z 2. We assume that a player has already hit the ship with a first shot and the goal is to sink the ship using as few shots as possible, that is, by minimizing the number of missed shots. While the player knows the shape S, which position of S has been hit is not known. Given a shape S of n lattice points, the minimum number of misses that can be achieved in the worst case by any algorithm is called the Battleship complexity of the shape S and denoted c(S). We prove three bounds on c(S), each considering a different class of shapes. First, we have c(S) ≤ n − 1 for arbitrary shapes and the bound is tight for parallelogram-free shapes. Second, we provide an algorithm that shows that c(S) = O(log n) if S is an HV-convex polyomino. Third, we provide an algorithm that shows that c(S) = O(log log n) if S is a digital convex set. This last result is obtained through a novel discrete version of the Blaschke-Lebesgue inequality relating the area and the width of any convex body

    Greedy and Local Search Heuristics to Build Area-Optimal Polygons

    No full text
    International audienceIn this paper, we present our heuristic solutions to the problems of finding the maximum and minimum area polygons with a given set of vertices. Our solutions are based mostly on two simple algorithmic paradigms: greedy method and local search. The greedy heuristic starts with a simple polygon and adds vertices one by one, according to a weight function. A crucial ingredient to obtain good solutions is the choice of an appropriate weight function that avoids long edges. The local search part consists of moving consecutive vertices to another location in the polygonal chain. We also discuss the different implementation techniques that are necessary to reduce the running time
    corecore