{"id":26287643,"url":"https://github.com/lastaapps/bc_thesis","last_synced_at":"2026-01-02T16:08:22.834Z","repository":{"id":281199527,"uuid":"944497023","full_name":"Lastaapps/bc_thesis","owner":"Lastaapps","description":"NAC-colorings search: complexity and algorithms","archived":false,"fork":false,"pushed_at":"2025-03-07T14:03:57.000Z","size":664,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-07T15:22:20.891Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lppl-1.3c","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lastaapps.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-07T12:58:23.000Z","updated_at":"2025-03-07T14:04:09.000Z","dependencies_parsed_at":"2025-03-07T15:22:24.890Z","dependency_job_id":"81d15eaf-66af-47bc-a604-9deb5221eaa9","html_url":"https://github.com/Lastaapps/bc_thesis","commit_stats":null,"previous_names":["lastaapps/bc_thesis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lastaapps%2Fbc_thesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lastaapps%2Fbc_thesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lastaapps%2Fbc_thesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lastaapps%2Fbc_thesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lastaapps","download_url":"https://codeload.github.com/Lastaapps/bc_thesis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243652694,"owners_count":20325607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-14T21:52:02.441Z","updated_at":"2026-01-02T16:08:22.829Z","avatar_url":"https://github.com/Lastaapps.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAC-colorings search: complexity and algorithms\n\nThis repository contains source code for my bachelor thesis\nat Faculty of Information technology, CTU Prague.\n\nThe [latest PDF version](https://github.com/Lastaapps/bc_thesis/actions/workflows/latex.yml)\nof the thesis can be found in artifacts in GitHub workflows.\n\nRecording of a talk I gave at G2OAT seminar 2025 can be seen\n[here](https://ggoat.fit.cvut.cz/seminar/lastovicka-nac-coloring-search.html)\n([backup](https://www.youtube.com/watch?v=doEYDJNJzOM) link).\n\n## Abstract\n\nOne of the questions in Rigidity Theory is whether a realization of the\nvertices of a graph in the plane is flexible, namely, if it allows a continuous\ndeformation preserving the edge lengths.\nA flexible realization of a connected graph in the plane exists if and only if\nthe graph has a NAC-coloring, which is surjective edge coloring by\ntwo colors such that for each cycle either all the edges have the same color or\nthere are at least two edges of each color.\nWhile it is known that it is NP-complete\nto decide if a graph has a NAC-coloring,\nwe show that the problem is\nalso NP-complete for graphs with maximum degree five.\nWe present a significantly faster algorithm with an implementation for NAC-coloring search,\nand we discuss related heuristics.\nThe performance is compared with previous algorithms and among the heuristics.\nWe also present fixed-parameter tractable (FPT) algorithm for NAC-coloring counting\nparametrized by treewidth.\nWe discuss relation to stable cuts and an algorithm for finding\na stable cut is implemented as part of the thesis.\n\n### Keywords\n\nrigidity theory, flexibility, NAC-coloring, stable cut, parametrized\ncomplexity, NP-completeness, treewidth\n\n## Links\n\n* [PyRigi](https://github.com/PyRigi/PyRigi) (target repository, where our code is merged)\n* [Code of this thesis](https://github.com/Lastaapps/bc_thesis_code/)\n* [Code before merge into PyRigi](https://github.com/Lastaapps/PyRigi/)\n* [Our related paper](https://www.arxiv.org/abs/2412.13721)\n\n## License\n\nSee the thesis.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastaapps%2Fbc_thesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flastaapps%2Fbc_thesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flastaapps%2Fbc_thesis/lists"}