{"title":"Exact and inexact search for 2d side-sharing tandems","authors":"Shoshana Marcus , Dina Sokol , Sarah Zelikovitz","doi":"10.1016/j.tcs.2024.115005","DOIUrl":null,"url":null,"abstract":"<div><div>A side-sharing tandem is a rectangular array that is composed of two adjacent non-overlapping occurrences of the same rectangular block. Furthering our understanding of side-sharing tandems can facilitate the development of more efficient 2d pattern matching techniques and may lead to improvements in multi-dimensional compression schemes. Existing algorithms for finding side-sharing tandems are far from optimal on 2d arrays that contain relatively few side-sharing tandems. In this paper, we introduce the idea of a run of side-sharing tandems, as a maximally extended chain of 2d tandems. We demonstrate tight upper bounds on the number of runs of side-sharing tandems that can occur in a rectangular array. We develop an algorithm that locates all <em>τ</em> runs of side-sharing tandems in an <span><math><mi>n</mi><mo>×</mo><mi>n</mi></math></span> input array in <span><math><mi>O</mi><mo>(</mo><mo>(</mo><msup><mrow><mi>n</mi></mrow><mrow><mn>2</mn></mrow></msup><mo>+</mo><mi>τ</mi><mo>)</mo><mi>log</mi><mo></mo><mi>n</mi><mo>/</mo><mi>log</mi><mo></mo><mi>log</mi><mo></mo><mi>n</mi><mo>)</mo></math></span> time. We also introduce several versions of approximate side-sharing tandems with <em>k</em> mismatches along with efficient algorithms for locating them in a rectangular array.</div></div>","PeriodicalId":49438,"journal":{"name":"Theoretical Computer Science","volume":"1026 ","pages":"Article 115005"},"PeriodicalIF":0.9000,"publicationDate":"2024-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theoretical Computer Science","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0304397524006224","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
A side-sharing tandem is a rectangular array that is composed of two adjacent non-overlapping occurrences of the same rectangular block. Furthering our understanding of side-sharing tandems can facilitate the development of more efficient 2d pattern matching techniques and may lead to improvements in multi-dimensional compression schemes. Existing algorithms for finding side-sharing tandems are far from optimal on 2d arrays that contain relatively few side-sharing tandems. In this paper, we introduce the idea of a run of side-sharing tandems, as a maximally extended chain of 2d tandems. We demonstrate tight upper bounds on the number of runs of side-sharing tandems that can occur in a rectangular array. We develop an algorithm that locates all τ runs of side-sharing tandems in an input array in time. We also introduce several versions of approximate side-sharing tandems with k mismatches along with efficient algorithms for locating them in a rectangular array.
期刊介绍:
Theoretical Computer Science is mathematical and abstract in spirit, but it derives its motivation from practical and everyday computation. Its aim is to understand the nature of computation and, as a consequence of this understanding, provide more efficient methodologies. All papers introducing or studying mathematical, logic and formal concepts and methods are welcome, provided that their motivation is clearly drawn from the field of computing.