SearcharxivSearch

arXiv subjects

Taiki Kaneda

Publications and source records attributed to Taiki Kaneda.

2 recordsLinked to original sources

Fully Persistent Dynamic LCE via AVL Trees and AVL Grammars

We study fully persistent dynamic strings with equality and longest common extension (LCE) queries. Straightforward full persistence is problematic for the splay-based FeST structure, since the same unbalanced past version can be reused indefinitely and the usual amortized analysis no longer applies. We give a fully persistent dynamic LCE structure, called FeAVL, based on path copying over AVL trees. For an operation involving string(s) of total length $n$, it supports split, concatenate, and single-character updates in worst-case $O(\log n)$ time, equality in worst-case $O(\log n)$ time w.h.p., and LCE in worst-case $O(\log n+\log^2\ell)$ time w.h.p., where $\ell$ is the answer; each update creates only $O(\log n)$ new permanent nodes. We also give a grammar-compressed instantiation via AVL grammars: starting from an initial grammar of size $g_0$, after $U$ updates, the total number of permanent grammar nodes is $O(g_0+I+U\log n_{\max})$, where $I$ is the number of inserted fresh characters and $n_{\max}$ is the maximum string length appearing during the update sequence.

cs.DS

Fast and Practical Single-Exponential Algorithms for Branchwidth

In this paper, we present exact exponential algorithms for computing branchwidth that are fast both in theory and in practice. The running times of these algorithms are single-exponential in the number of vertices. Our basic algorithm is based on a conceptually simple recurrence on vertex sets and computes the branchwidth of an $n$-vertex hypergraph in time $\mathcal{O}^*(4^n)$. This is the first single-exponential time algorithm for hypergraphs. We have two algorithms tailored specifically for graphs. The first algorithm runs in time $\mathcal{O}(3.293^n)$, improving upon the previously best-known running time of $\mathcal{O}(3.4652^n)$ [Fomin-Mazoit-Todinca, DAM 2009]. Moreover, our computational experiment shows that it overwhelmingly outperforms state-of-the-art practical algorithms for computing branchwidth. The second algorithm is a candidate for a theoretical improvement: we conjecture that it runs in time $\mathcal{O}(c^n)$ for some constant $c$ that is smaller than 3.293. In practice, it performs significantly better on some instances that are hard for the first algorithm.

cs.DS