Searching 2D-Strings for Matching Frames
Itai Boneh, Dvir Fried, Shay Golan, Matan Kraus, Adrian Miclaus, Arseny Shur
TL;DR
The paper defines and studies matching frames in 2D strings, aiming to maximize the frame perimeter. It develops a heavy-light approach that splits frames into short and tall regimes, supported by the Segment Compatibility Data Structure and a suite of suffix-array, LCP, and orthogonal-range primitives to enable efficient frame detection. The authors achieve a spectrum of results: an exact $\tilde{O}(n^{2.5})$ time algorithm for square matrices and $\tilde{O}(ab\min\{a,\sqrt{b}\})$ in the general case, a near-linear $(1-\varepsilon)$-approximation in $\tilde{O}(nm/\varepsilon^{4})$, and a decision variant in $\tilde{O}(nm)$. These contributions introduce novel data-structural techniques and structural insights that advance 2D string pattern searching and have potential implications for tiling and 2D repetition problems.
Abstract
We introduce the natural notion of a matching frame in a $2$-dimensional string. A matching frame in a $2$-dimensional $n\times m$ string $M$, is a rectangle such that the strings written on the horizontal sides of the rectangle are identical, and so are the strings written on the vertical sides of the rectangle. Formally, a matching frame in $M$ is a tuple $(u,d,\ell,r)$ such that $M[u][\ell ..r] = M[d][\ell ..r]$ and $M[u..d][\ell] = M[u..d][r]$. In this paper, we present an algorithm for finding the maximum perimeter matching frame in a matrix $M$ in $\tilde{O}(n^{2.5})$ time (assuming $n \ge m)$. Additionally, for every constant $ε> 0$ we present a near-linear $(1-ε)$-approximation algorithm for the maximum perimeter of a matching frame. In the development of the aforementioned algorithms, we introduce inventive technical elements and uncover distinctive structural properties that we believe will captivate the curiosity of the community.
