Skip to main content
QUICK REVIEW

[論文レビュー] Right-to-left online construction of parameterized position heaps

Noriki Fujisato, Yuto Nakashima|arXiv (Cornell University)|Aug 3, 2018
Algorithms and Data Compression被引用数 4
ひとこと要約

本稿では、パラメータ化された文字列のための効率的なインデキシングとパターンマッチングを可能にする、パラメータ化された位置ヒープ(RL p-position heaps)の右から左へのオンライン構築アルゴリズムを提示する。この手法は、O(n log(σ+π)) 時間で O(n) 空間を用いてデータ構造を構築し、パラメータ化されたパターンマッチングクエリを O(m log(σ+π) + mπ + pocc) 時間で処理する。これは従来の左から右へのアプローチと同等の効率性を維持しながら、逆方向処理ワークフローを可能にする。

ABSTRACT

Two strings of equal length are said to parameterized match if there is a bijection that maps the characters of one string to those of the other string, so that two strings become identical. The parameterized pattern matching problem is, given two strings $T$ and $P$, to find the occurrences of substrings in $T$ that parameterized match $P$. Diptarama et al. [Position Heaps for Parameterized Strings, CPM 2017] proposed an indexing data structure called parameterized position heaps, and gave a left-to-right online construction algorithm. In this paper, we present a right-to-left online construction algorithm for parameterized position heaps. For a text string $T$ of length $n$ over two kinds of alphabets $Σ$ and $Π$ of respective size $σ$ and $π$, our construction algorithm runs in $O(n \log(σ+ π))$ time with $O(n)$ space. Our right-to-left parameterized position heaps support pattern matching queries in $O(m \log (σ+ π) + m π+ \mathit{pocc}))$ time, where $m$ is the length of a query pattern $P$ and $\mathit{pocc}$ is the number of occurrences to report. Our construction and pattern matching algorithms are as efficient as Diptarama et al.'s algorithms.

研究の動機と目的

  • 既存の左から右へのアプローチを補完する、パラメータ化された位置ヒープの右から左へのオンライン構築アルゴリズムの開発。
  • 従来の方法と同等の時間・空間計算量を維持しながら、テキストの末尾から段階的に構築できるようにすること。
  • 構築された構造における最大到達ポインタを用いて、効率的なパラメータ化されたパターンマッチングクエリをサポートすること。
  • 標準的およびパラメータ化された2種類のアルファベットを扱うパラメータ化された文字列マッチングに、位置ヒープデータ構造の適用範囲を拡張すること。

提案手法

  • Ehrenfeucht らの標準的ポジションヒープに対する右から左の構築法を、逆順のサフィックスリンクを用いてパラメータ化された設定に適応する。
  • ウィーナー型のアルゴリズムを用い、開始インデックスが大きい順にサフィックスを処理することで、段階的に RL p-position heap を構築する。
  • 構築中に最大到達ポインタを効率的に計算するために、前方サフィックスリンク(逆順サフィックスリンクの逆数)を活用する。
  • 逆順サフィックスリンクにラベル付け方式を導入し、構造の正しさを維持するとともに、O(log(σ+π)) 時間でエッジ検索を可能にする。
  • 最終的な構造に最大到達ポインタを追加し、効率的なパターンマッチングクエリをサポートする。
  • 各ノードへの合計訪問回数が O(n) に保証されるサフィックスリンク走査戦略を採用し、各訪問でエッジ探索に O(log(σ+π)) 時間を要する。

実験結果

リサーチクエスチョン

  • RQ1パラメータ化された位置ヒープに対して、既存の左から右の方法と同等の効率性を達成する右から左へのオンライン構築アルゴリズムを設計できるか?
  • RQ2逆順に構築する際、正しさと効率性を維持するために必要なラベル付けおよびリンク戦略は何か?
  • RQ3右から左の構築中に最大到達ポインタ構造を段階的に維持でき、高速なパラメータ化されたパターンマッチングを可能にするか?
  • RQ4パラメータ化された文字列に対して、RL p-position heap の構築を O(n log(σ+π)) 時間および O(n) 空間で達成できるか?
  • RQ5得られるデータ構造は、既存のソリューションと同等の時間でパラメータ化されたパターンマッチングをサポートできるか?

主な発見

  • 提案された右から左の構築アルゴリズムは、サイズ σ と π のアルファベットを用いた長さ n のテキスト文字列に対して、O(n log(σ+π)) 時間および O(n) 空間で実行される。
  • Diptarama らの左から右のアルゴリズムと同等の時間計算量を維持しており、効率性の同等性が保証される。
  • 得られた RL p-position heap は、パターン長 m および報告される出現回数 pocc を用いて、O(m log(σ+π) + mπ + pocc) 時間でパラメータ化されたパターンマッチングクエリを処理できる。
  • 前方サフィックスリンクと逆順サフィックスリンクのラベル付け方式の併用により、効率的な段階的構築が可能になる。
  • 最大到達ポインタの計算が構築プロセスに統合されており、合計 O(n log(σ+π)) 時間で正しくかつ効率的に実行される。
  • 今後の研究で示唆されているように、複数のパラメータ化された文字列のトライベースのインデキシングへも拡張可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。