https://github.com/xuzijian629/pace2020
Exact Treedepth Solver based on Minimal Separator Enumeration
https://github.com/xuzijian629/pace2020
exact-algorithm treedepth
Last synced: over 1 year ago
JSON representation
Exact Treedepth Solver based on Minimal Separator Enumeration
- Host: GitHub
- URL: https://github.com/xuzijian629/pace2020
- Owner: xuzijian629
- License: mit
- Created: 2020-04-01T09:29:43.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-12-17T09:41:15.000Z (over 5 years ago)
- Last Synced: 2025-01-13T05:08:34.451Z (over 1 year ago)
- Topics: exact-algorithm, treedepth
- Language: C++
- Homepage:
- Size: 55.9 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PACE 2020
This repository contains solvers for treedepth, submitted from team xuzijian629 at [PACE 2020](https://pacechallenge.org/2020/td/).
Authors: Zijian Xu, Dejun Mao and Vorapong Suppakitpaisarn from The University of Tokyo
UPD: We were ranked in [5th place](https://pacechallenge.org/2020/results/) in the competition.
UPD2: The official solver description is published at https://drops.dagstuhl.de/opus/volltexte/2020/13334/pdf/LIPIcs-IPEC-2020-31.pdf
UPD3: The conjecture used in the algorithm is resolved and the submitted solver is proved to be inexact. See https://arxiv.org/abs/2008.09822 for details.
UPD4: The slides presented at IPEC is [available](https://github.com/xuzijian629/pace2020/blob/master/IPEC.pdf).
# Algorithm
We enumerate minimal separtors to construct treedepth decomposition in a top-down way. A quite effective pruning is done by computing exact treedepth of many small components throughout the input graph.
## Solver description
A detailed explanation of our algorithm is provided [here](https://github.com/xuzijian629/pace2020/blob/master/submissions/solver-description-xuzijian629.pdf).
# Installation
- GCC version 5.4.0 or later
Our solver compiles source code, after checking the size of the input graph. So, just run `src/solver < input.gr`.
# Input format
Input graph format is specified [here](https://pacechallenge.org/2020/td/).
# Directories
- Source code for the solver is stored in `src/`.
- Other directories such as `benchmark/` and `test/` are for authors' personal use (local experiments).
# LICENSE
[MIT LICENSE](https://github.com/xuzijian629/pace2020/blob/master/LICENSE.md)