Papers by Andrei V. Nikolaev
7 paper(s) by this author
· All BibTeX
An Integer Linear Programming Model for the Evolomino Puzzle
Evolomino is a pencil-and-paper logic puzzle published by the Japanese company Nikoli, renowned for culture-independent puzzles such as Sudoku, Kakuro, and Slitherlink. Its name reflects the core mechanic: the polyomino-like blocks drawn by the player must gradually "evolve" according to the directions indicated by arrows pre-printed on a rectangular grid.
In this paper, we formalize the rules of Evolomino as an integer linear programming (ILP) model, encoding block evolution, connectivity, and consistency requirements through linear constraints. Furthermore, we introduce an algorithm for generating random Evolomino instances, utilizing this ILP framework to ensure solution uniqueness. Computational experiments on a custom benchmark dataset demonstrate that a state-of-the-art CP-SAT solver successfully handles puzzle instances of up to $11 \times 11$ within one second and up to $18 \times 18$ within one minute.
Evolomino is NP-complete
Published in Siberian Electronic Mathematical Reports, 22, 2, pp. C54-C67 (2025)
• View Publication
• BIB
Evolomino is a pencil-and-paper logic puzzle popularized by the Japanese publisher Nikoli (like Sudoku, Kakuro, Slitherlink, Masyu, and Fillomino). The puzzle's name reflects its core mechanic: the shapes of polyomino-like blocks that players must draw gradually "evolve" in the directions indicated by pre-drawn arrows. We prove, by reduction from 3-SAT, that the question of whether there exists at least one solution to an Evolomino puzzle satisfying the rules is NP-complete. Since our reduction is parsimonious, i.e., it preserves the number of distinct solutions, we also prove that counting the number of solutions to an Evolomino puzzle is #P-complete.
On 1-skeleton of the cut polytopes
Published
• View Publication
• BIB
Given an undirected graph $G = (V,E)$, the cut polytope $\mathrm{CUT}(G)$ is defined as the convex hull of the incidence vectors of all cuts in $G$. The 1-skeleton of $\mathrm{CUT}(G)$ is a graph whose vertex set is the vertex set of the polytope, and the edge set is the set of geometric edges or one-dimensional faces of the polytope. We study the diameter and the clique number of 1-skeleton of cut polytopes for several classes of graphs. These characteristics are of interest since they estimate the computational complexity of the max-cut problem for certain computational models and classes of algorithms. It is established that while the diameter of the 1-skeleton of a cut polytope does not exceed $|V|-1$ for any connected graph, the clique number varies significantly depending on the class of graphs. For trees, cacti, and almost trees (2), the clique number is linear in the dimension, whereas for complete bipartite and $k$-partite graphs, it is superpolynomial.
On cone partitions for the min-cut and max-cut problems with non-negative edges
Published
• View Publication
• BIB
We consider the classical minimum and maximum cut problems: find a partition of vertices of a graph into two disjoint subsets that minimize or maximize the sum of the weights of edges with endpoints in different subsets. It is known that if the edge weights are non-negative, then the min-cut problem is polynomially solvable, while the max-cut problem is NP-hard.
We construct a partition of the positive orthant into convex cones corresponding to the characteristic cut vectors, similar to a normal fan of a cut polyhedron. A graph of a cone partition is a graph whose vertices are cones, and two cones are adjacent if and only if they have a common facet. We define adjacency criteria in the graphs of cone partitions for the min-cut and max-cut problems. Based on them, we show that for both problems the vertex degrees are exponential, and the graph diameter equals 2. These results contrast with the clique numbers of graphs of cone partitions, which are linear for the minimum cut problem and exponential for the maximum cut problem.
Finding a second Hamiltonian decomposition of a 4-regular multigraph by integer linear programming
Published
• View Publication
• BIB
A Hamiltonian decomposition of a regular graph is a partition of its edge set into Hamiltonian cycles. We consider the second Hamiltonian decomposition problem: for a 4-regular multigraph find 2 edge-disjoint Hamiltonian cycles different from the given ones. This problem arises in polyhedral combinatorics as a sufficient condition for non-adjacency in the 1-skeleton of the travelling salesperson polytope. We introduce two integer linear programming models for the problem based on the classical Dantzig-Fulkerson-Johnson and Miller-Tucker-Zemlin formulations for the travelling salesperson problem. To enhance the performance on feasible problems, we supplement the algorithm with a variable neighbourhood descent heuristic w.r.t. two neighbourhood structures, and a chain edge fixing procedure. Based on the computational experiments, the Dantzig-Fulkerson-Johnson formulation showed the best results on directed multigraphs, while on undirected multigraphs, the variable neighbourhood descent heuristic was especially effective.
Backtracking algorithms for constructing the Hamiltonian decomposition of a 4-regular multigraph
Published
• View Publication
• BIB
We consider a Hamiltonian decomposition problem of partitioning a regular graph into edge-disjoint Hamiltonian cycles. It is known that verifying vertex non-adjacency in the 1-skeleton of the symmetric and asymmetric traveling salesperson polytopes is NP-complete. On the other hand, a sufficient condition for two vertices to be non-adjacent can be formulated as a combinatorial problem of finding a second Hamiltonian decomposition of a 4-regular multigraph. We present two backtracking algorithms for constructing a second Hamiltonian decomposition and verifying vertex non-adjacency: an algorithm based on a simple path extension and an algorithm based on the chain edge fixing procedure.
Based on the results of computational experiments for undirected multigraphs, both backtracking algorithms lost to the known general variable neighborhood search heuristics. However, for directed multigraphs, the algorithm based on chain fixing of edges showed results comparable to heuristics on instances with an existing solution and better results on infeasible instances where the Hamiltonian decomposition does not exist.
On the skeleton of the pyramidal tours polytope
Published
• View Publication
• BIB
We consider the skeleton of the pyramidal tours polytope. Hamiltonian tour is called pyramidal if the salesperson starts in city $1$, then visits some cities in increasing order, reaches city $n$ and returns to city $1$, visiting the remaining cities in decreasing order. The polytope $PYR(n)$ is defined as the convex hull of characteristic vectors of all pyramidal tours in the complete graph $K_{n}$. The skeleton of the polytope $PYR(n)$ is the graph whose vertex set is the vertex set of $PYR(n)$ and edge set is the set of geometric edges or one-dimensional faces of $PYR(n)$. We describe the necessary and sufficient condition for the adjacency of vertices of the polytope $PYR(n)$. On this basis we developed an algorithm to check the vertex adjacency with a linear complexity. We establish that the diameter of $PYR(n)$ skeleton equals 2, and the asymptotically exact estimate of $PYR(n)$ skeleton's clique number is $Θ(n^{2})$. It is known that this value characterizes the time complexity in a broad class of algorithms based on linear comparisons.