PACE Solver Description: OBLX Exact Solver for the Dominating Set Problem
Abstract
We present and describe the solver OBLX for the Dominating Set problem on graphs. This solver was developed during the PACE challenge 2025 for the Exact track. It first applies several data reduction rules and performs a polynomial time reduction to Max Sat. The resulting Max Sat instance is in turn solved using the EvalMaxSat solver by Florent Avellaneda.
Keywords and phrases:
complexity theory, parameterized complexity, linear programming, java, dominating set, PACE 2025Funding:
Lucas Lorieau: This author has received financial support from the CNRS through the MITI inter-disciplinary programs and the IRL ReLaX.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Parameterized complexity and exact algorithmsSupplementary Material:
Software (Source Code): https://gitlab.limos.fr/oblx/public [4]archived at
swh:1:dir:2863e5f060c85b6d04b04c053ab39135abee8f0d
Editors:
Akanksha Agrawal and Erik Jan van LeeuwenSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
We present a brief description of the solver OBLX submitted for PACE Challenge 2025 (https://pacechallenge.org/2025/). It is an exact solver for the Dominating Set problem, that is, given a graph select a set of vertices such that every vertex that is not in the set itself has a neighbor in it.
2 Notation and preliminary definitions
We refer to [3] for common notation and terminology on graphs and parameterized complexity.
For our reduction rules, we define a new Extended Dominating Set problem, that is identical to the common version but differentiates between three types of vertices, each of them corresponding to a status with regards to a partial solution. The different considered vertices’ types are the following. Covered vertices are vertices that are dominated by the current partial solution built by reduction rules; Excluded vertices are vertices that are forbidden in any solution we will consider. This type of vertex is typically used when a reduction rule detects that a specific vertex won’t be present in any optimal solution; Plain vertices are not covered and not excluded. An Extended Dominating Set instance containing only plain vertices is equivalent to a Dominating Set instance of the same vertices and edges.
This labeling of vertices based on the current partial solution is inspired by [7] where a similar partition is used for their own set of reduction rules. In contrast, we keep track of vertices added to the solution and remove them within the graph, which reduces the complexity of creating reduction rules.
3 Overview of the solving pipeline
Figure 1 presents the overview of the solving pipeline that we have created. We first iteratively apply a set of data reduction rules (see Section 4) in order to reduce the size of the instance to solve. We apply these rules exhaustively and always start again with the first rules once a rule has been applied successfully. When no reduction rule can be applied anymore, we can treat connected components independently. We perform two polynomial time reductions:
-
We reduce our Extended Dominating Set instance to the Hitting Set problem on hypergraphs. In the new hypergraph, we use the same vertex set of our original graph. For each non-covered vertex of the original graph we create a new hyperedge for each closed neighborhood, connecting all the vertices of said neighborhood. This follows the well known straightforward classic reduction of the Dominating Set problem.
-
We then encode our instance of Hitting Set as a Max Sat instance that will be finally solved using the EvalMaxSat solver [1]. We add soft constraints trying to exclude all vertices individually. For each hyperedge we create a hard constraint requiring it to be included in the solution.
The set of variables assigned as true in the solution of the Max Sat instance are exactly a solution to the Hitting Set instance, and in turn for the Extended Dominating Set instance that we had obtained after reduction rules. We now have to apply remaining instructions of reduction rules that depend on the solution of the reduced instance in backward order to obtain the solution for the original Dominating Set instance.
4 Description of the reduction rules
We present the different reduction rules used in the solver in Tables 1 and 2. We provide a quick description and justification of their correctness. The rules are applied iteratively: We attempt to apply the rules in their order, moving on the next rule if the rules pattern could not be matched. As soon as a rule has been applied successfully, we return to trying to applying rules beginning at the start. Simple rules that are easy to check are placed first in the order with expensive rules being applied at the end. After the last rule did not match, all reduction rules have been applied exhaustively.
| Name and Description |
|---|
| 1. Dominated covered |
| Remove a covered vertex if it has a non excluded neighbor that covers a superset of the closed neighborhood of . Implied by Rule 2 of [7]. |
| 2. Isolated vertices |
| Remove vertices if . Add or its neighbor to the solution if necessary. |
| 3. Exclude dominated |
| Remove an excluded vertex if a non-covered neighbor exists that only adjacent to other neighbors of . Any vertex selected to cover also covers . |
| 4. All neighbors are excluded |
| Directly include a non-covered vertex if all of its neighbors are excluded. |
| 5. Remove edges between excluded vertices (obviously possible) |
| 6. Excluded covers |
| Mark a vertex as covered, if there exists an excluded vertex such that . If a vertex is adjacent to all neighbors of an excluded vertex, it will automatically be covered. This indirectly resolves domination between excluded vertices. |
| 7. Dominated excluded |
| Remove an excluded vertex if it has a non-covered neighbor that needs to be covered by a subset of the neighborhood of . |
| 8. Diadems |
| Let be a chordless cycle such that (i) and are not covered and do not have any neighbors outside of the cycle, (ii) and are not excluded. Remove and . Further add to the solution. |
| 9. Remove edges between covered vertices (obviously possible) |
| 10. Diamonds |
| Assume () are false twins with only two neighbors that are additionally required to not be excluded. Remove and exclude . Note that any solution for the reduced graph is also a solution for the original graph. The size of an optimal solution does also not increase. Moving to a new solution of equal size: If a solution contains only one such vertex it has to be either or and we can keep that solution. Otherwise, we move to the solution containing and and none of the vertices . |
| 11. Contract squares |
| If there is a chordless cycle of non-covered non-excluded vertices with only and having outside neighbors and exactly one, , then remove and add an edge , decreasing the solution size by one. For obtaining the original solution, we can add exactly one vertex: If then add ; if add , otherwise add , restoring the original coverage. |
| 12. Ladders |
| Let be the vertices of an induced -grid without covered or excluded vertices. |
| (a) If no vertices apart from and have neighbors outside of the grid, we add and to the solution. A minimum of two vertices are required to cover the grid, choosing the ones with (possible) external neighbors may cover additional vertices. |
| (b) If no vertices besides and have neighbors outside of the grid, remove and add the edge . If both and are in , add to the solution; if but , add to the solution; if but , add to the solution; and if both , add to the solution. In all of the cases, the solution size decreases by one in the new reduced graph. Depending on and being covered in the solution in the original graph, a minimum solution would exactly contain the vertex we now add manually apart from the case where both are in the solution, in which an arbitrary additional vertex may be selected. |
| Name and Description |
|---|
| 13. Small cat ears |
| If for two adjacent edges , not covered or excluded, excluded vertices with edges exist and are otherwise isolated, we introduce a new covered vertex and connect it to all vertices adjacent to or . We then delete . If is included in the solution, we add both , otherwise . Since both need to be covered, as soon as is chosen for the solution, we can push out a possibly selected to (the other way by symmetry), also covering the other side, otherwise both can be covered by . This behavior is performed exactly by the newly created vertex. |
| 14. Covered excluded sibling |
| If for two excluded vertices , , we can remove as it will be covered by every vertex used to cover . |
| 15. House |
| Special case of Rule 18 where , , and . |
| 16. Native ignorable vertices |
| More efficient implementation of a special case of Rule 3 of [7]. |
| 17. Extended native ignorable vertices |
| Implementation of Rule 3 of [7]. |
| 18. General |
| If there exists a connected component of such that (i) dominate , (ii) neither nor individually dominates , and (iii) that dominates but not , then we add a dominated vertex with and remove and . If for the new graph is picked into the solution then pick otherwise pick and . This works because in both cases the solutions size gets reduced by one and if and or is in the solution is dominated. |
References
- [1] Florent Avellaneda. A short description of the solver EvalMaxSAT, 2020. URL: https://hdl.handle.net/10138/318451.
- [2] Moritz Bergenthal, Jona Dirks, Thorben Freese, Jakob Gahde, Enna Gerhard, Mario Grobler, and Sebastian Siebertz. PACE Solver Description: GraPA-JAVA. In IPEC 2022, volume 249 of LIPIcs, pages 30:1–30:4, Germany, 2022. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.IPEC.2022.30.
- [3] Marek Cygan, Fedor V. Fomin, Łukasz Kowalik, Daniel Lokshtanov, Dániel Marx, Marcin Pilipczuk, Michał Pilipczuk, and Saket Saurabh. Parameterized Algorithms. Springer, 2016. doi:10.1007/978-3-319-21275-3.
- [4] Jona Dirks, Enna Gerhard, Victoria Kaial, and Lucas Lorieau. OBLX. Software, swhId: swh:1:dir:2863e5f060c85b6d04b04c053ab39135abee8f0d (visited on 2025-12-04). URL: https://gitlab.limos.fr/oblx/public, doi:10.4230/artifacts.25239.
- [5] Jona Dirks, Mario Grobler, Roman Rabinovich, Yannik Schnaubelt, Sebastian Siebertz, and Maximilian Sonneborn. PACE Solver Description: PACA-JAVA. In IPEC 2021, volume 214 of LIPIcs, pages 30:1–30:4, Germany, 2021. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.IPEC.2021.30.
- [6] Enna Gerhard and Sebastian Siebertz. Solving the Directed Feedback Vertex Set Problem in Theory and Practice, 2024. doi:10.26092/elib/4916.
- [7] Ziliang Xiong and Mingyu Xiao. Exactly Solving Minimum Dominating Set and Its Generalization. IJCAI-24, 2024. doi:10.24963/ijcai.2024/780.
