Simon’s Congruence Pattern Matching

Published:

Summary

Read the abstract.

Contribution

Due to COVID-19, the conference for my first paper was held online. Luckily, this conference was held offline, and in Korea, too.

Abstract

Testing Simon’s congruence asks whether two strings have the same set of subsequences of length no greater than a given integer. In the light of the recent discovery of an optimal linear algorithm for testing Simon’s congruence, we solve the Simon’s congruence pattern matching problem. The problem requires finding all substrings of a text that are congruent to a pattern under the Simon’s congruence. Our algorithm efficiently solves the problem in linear time in the length of the text by reusing results from previous computations with the help of new data structures called X-trees and Y-trees. Moreover, we define and solve variants of the Simon’s congruence pattern matching problem. They require finding the longest and shortest substring of the text as well as the shortest subsequence of the text which is congruent to the pattern under the Simon’s congruence. Two more variants which ask for the longest congruent subsequence of the text and optimizing the pattern matching problem are left as open problems.

Download paper here

Sungmin Kim, Sang-Ki Ko, and Yo-Sub Han. “Simon’s Congruence Pattern Matching.” International Symposium on Algorithms and Computation (ISAAC), pp.60:1–60:17, 2022.