Table of Contents
Fetching ...

Dynamic data structures for twin-ordered matrices

Bartłomiej Bosek, Jadwiga Czyżewska, Evangelos Kipouridis, Wojciech Nadara, Michał Pilipczuk, Karol Węgrzycki, Anna Zych-Pawlewicz

TL;DR

This work addresses dynamic maintenance of $d$-twin-ordered binary matrices under single-entry updates while preserving compact storage. It introduces a canonical slab-based representation and leverages adhesive segment sets and Chan's 2D orthogonal point location to support fast queries and updates. The main contribution is a dynamic data structure that stores the matrix in $O_d(n)$ space and supports Init$(n,\mathcal{K})$, $\mathtt{QueryBit}(i,j)$, and $\mathtt{Update}(i,j)$ in $O(\log \log n)$ expected worst-case time, with an amortized variant and a de-amortized variant achieving worst-case bounds. This approach generalizes static representations of $d$-twin-ordered matrices to the dynamic setting, enabling efficient updates via periodic recomputation of a canonical slab decomposition and providing practical data-structure tools for twin-width-related matrix problems.

Abstract

We present a dynamic data structure for representing binary $n\times n$ matrices that are $d$-twin-ordered, for a~fixed parameter $d$. Our structure supports cell queries and single-cell updates both in $\Oh(\log \log n)$ expected worst case time, while using $\Oh_d(n)$ memory; here, the $\Oh_d(\cdot)$ notation

Dynamic data structures for twin-ordered matrices

TL;DR

This work addresses dynamic maintenance of -twin-ordered binary matrices under single-entry updates while preserving compact storage. It introduces a canonical slab-based representation and leverages adhesive segment sets and Chan's 2D orthogonal point location to support fast queries and updates. The main contribution is a dynamic data structure that stores the matrix in space and supports Init, , and in expected worst-case time, with an amortized variant and a de-amortized variant achieving worst-case bounds. This approach generalizes static representations of -twin-ordered matrices to the dynamic setting, enabling efficient updates via periodic recomputation of a canonical slab decomposition and providing practical data-structure tools for twin-width-related matrix problems.

Abstract

We present a dynamic data structure for representing binary matrices that are -twin-ordered, for a~fixed parameter . Our structure supports cell queries and single-cell updates both in expected worst case time, while using memory; here, the notation
Paper Structure (5 sections, 10 theorems, 3 equations, 6 figures)

This paper contains 5 sections, 10 theorems, 3 equations, 6 figures.

Key Result

theorem thmcountertheorem

Let $d\in \mathbb{N}$ and $M \in \{0,1\}^{n \times n}$ be a binary matrix that is updated over time subject to a guarantee that $M$ is $d$-twin-ordered at every moment. Then, there exists a dynamic data structure for maintaining $M$ that uses $\mathcal{O}_d(n)$ memory and supports the following oper

Figures (6)

  • Figure 1: A contraction sequence of width $2$: if we merge two consecutive rows or columns, we erase a line separating them. For example, in the first step we merge the third and the fourth row, in the second we merge the second and the third column. Non-constant zones are colored: note that at any point of the sequence any row block and column block contains at most two non-constant zones.
  • Figure 2: A slab decomposition of a matrix in the form of a set $\mathcal{K} = \{M[[1,1], [2,3]],\ M[[1,2], [5,5]],\ M[[3,3], [2,4]],\ M[[4,5], [1,3]],\ M[[4,5], [5,5]]\}.$ All slabs are marked with distinct colors.
  • Figure 3: The canonical slab decomposition of a matrix -- all canonical slabs are marked with distinct colors. Note that in the second matrix the slab decomposition may contain just two slabs $(3,4,1,4)$, $(1,2, 2,3)$, while in the canonical slab decomposition three slabs are required.
  • Figure 4: Illustration for the first part of the algorithm for computing the canonical slab decomposition. The matrix is given to us by a collection of slabs (marked with distinct colors): $\mathcal{K}=\{(2,2,1,3),(3,3, 2,4), (4,4, 1,4), (1,1, 4,4)\}$. In the table we use the segment notation, proposed at the beginning of the proof. The set $L$ computed in the $i$-th round is denoted here as $L_i$ and $\mathbb{S}_i$ stands for the set of segments belonging to $\mathbb{S}$ at the beginning of the $i$-th round -- by our invariant this set is equal to $\mathtt{strips}_i$.
  • Figure 5: The second part of the algorithm for computing the canonical slab decomposition. The sets are computed for the matrix provided in Figure \ref{['fig:computing_B_i']}. $\mathsf{slab\_start}_i$ denotes the state of the array $\mathsf{slab\_start}$ after processing $A_i$, but before processing $B_i$. The matrix presents the canonical slab decomposition -- each slab is marked with a distinct color.
  • ...and 1 more figures

Theorems & Definitions (15)

  • theorem thmcountertheorem
  • lemma thmcounterlemma: tww-repr
  • lemma thmcounterlemma: tww-repr
  • theorem thmcountertheorem: Chan Chan2DPL
  • lemma thmcounterlemma
  • proof
  • lemma thmcounterlemma
  • proof
  • theorem thmcountertheorem
  • proof
  • ...and 5 more