https://github.com/lastaapps/bc_thesis
NAC-colorings search: complexity and algorithms
https://github.com/lastaapps/bc_thesis
Last synced: 6 months ago
JSON representation
NAC-colorings search: complexity and algorithms
- Host: GitHub
- URL: https://github.com/lastaapps/bc_thesis
- Owner: Lastaapps
- License: lppl-1.3c
- Created: 2025-03-07T12:58:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-07T14:03:57.000Z (over 1 year ago)
- Last Synced: 2025-03-07T15:22:20.891Z (over 1 year ago)
- Language: TeX
- Size: 648 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# NAC-colorings search: complexity and algorithms
This repository contains source code for my bachelor thesis
at Faculty of Information technology, CTU Prague.
The [latest PDF version](https://github.com/Lastaapps/bc_thesis/actions/workflows/latex.yml)
of the thesis can be found in artifacts in GitHub workflows.
Recording of a talk I gave at G2OAT seminar 2025 can be seen
[here](https://ggoat.fit.cvut.cz/seminar/lastovicka-nac-coloring-search.html)
([backup](https://www.youtube.com/watch?v=doEYDJNJzOM) link).
## Abstract
One of the questions in Rigidity Theory is whether a realization of the
vertices of a graph in the plane is flexible, namely, if it allows a continuous
deformation preserving the edge lengths.
A flexible realization of a connected graph in the plane exists if and only if
the graph has a NAC-coloring, which is surjective edge coloring by
two colors such that for each cycle either all the edges have the same color or
there are at least two edges of each color.
While it is known that it is NP-complete
to decide if a graph has a NAC-coloring,
we show that the problem is
also NP-complete for graphs with maximum degree five.
We present a significantly faster algorithm with an implementation for NAC-coloring search,
and we discuss related heuristics.
The performance is compared with previous algorithms and among the heuristics.
We also present fixed-parameter tractable (FPT) algorithm for NAC-coloring counting
parametrized by treewidth.
We discuss relation to stable cuts and an algorithm for finding
a stable cut is implemented as part of the thesis.
### Keywords
rigidity theory, flexibility, NAC-coloring, stable cut, parametrized
complexity, NP-completeness, treewidth
## Links
* [PyRigi](https://github.com/PyRigi/PyRigi) (target repository, where our code is merged)
* [Code of this thesis](https://github.com/Lastaapps/bc_thesis_code/)
* [Code before merge into PyRigi](https://github.com/Lastaapps/PyRigi/)
* [Our related paper](https://www.arxiv.org/abs/2412.13721)
## License
See the thesis.