Skip to main content
QUICK REVIEW

[論文レビュー] Enumerating Regular Languages with Bounded Delay

Antoine Amarilli, Mikaël Monet|arXiv (Cornell University)|Sep 29, 2022
semigroups and automata theory被引用数 2
ひとこと要約

この論文は、前回の単語を両端のプッシュ/ポップ操作で変更する編集スクリプトを用いて、語長に依存しない定数遅延を保証する、正則言語の有界遅延列挙アルゴリズムを導入する。言語が順序可能(orderable)であるのは、特にスレンダーランゲージ(slender)である場合に限られ、任意の正則言語を最小個数の順序可能成分に分割するPTIMEアルゴリズムを提供し、最終的に周期的編集スクリプトによる列挙で最適な遅延境界を確立する。

ABSTRACT

We study the task, for a given language L, of enumerating the (generally infinite) sequence of its words, without repetitions, while bounding the delay between two consecutive words. To allow for delay bounds that do not depend on the current word length, we assume a model where we produce each word by editing the preceding word with a small edit script, rather than writing out the word from scratch. In particular, this witnesses that the language is orderable, i.e., we can write its words as an infinite sequence such that the Levenshtein edit distance between any two consecutive words is bounded by a value that depends only on the language. For instance, (a+b)^* is orderable (with a variant of the Gray code), but a^* + b^* is not. We characterize which regular languages are enumerable in this sense, and show that this can be decided in PTIME in an input deterministic finite automaton (DFA) for the language. In fact, we show that, given a DFA A, we can compute in PTIME automata A₁, …, A_t such that L(A) is partitioned as L(A₁) ⊔ … ⊔ L(A_t) and every L(A_i) is orderable in this sense. Further, we show that the value of t obtained is optimal, i.e., we cannot partition L(A) into less than t orderable languages. In the case where L(A) is orderable (i.e., t = 1), we show that the ordering can be produced by a bounded-delay algorithm: specifically, the algorithm runs in a suitable pointer machine model, and produces a sequence of bounded-length edit scripts to visit the words of L(A) without repetitions, with bounded delay - exponential in |A| - between each script. In fact, we show that we can achieve this while only allowing the edit operations push and pop at the beginning and end of the word, which implies that the word can in fact be maintained in a double-ended queue. By contrast, when fixing the distance bound d between consecutive words and the number of classes of the partition, it is NP-hard in the input DFA A to decide if L(A) is orderable in this sense, already for finite languages. Last, we study the model where push-pop edits are only allowed at the end of the word, corresponding to a case where the word is maintained on a stack. We show that these operations are strictly weaker and that the slender languages are precisely those that can be partitioned into finitely many languages that are orderable in this sense. For the slender languages, we can again characterize the minimal number of languages in the partition, and achieve bounded-delay enumeration.

研究の動機と目的

  • 語長に依存しない有界遅延で無限正則言語を効率的に列挙する課題に取り組む。
  • 連続する語が有界なレーベンシュタイン距離で異なる「順序可能」正則言語を定義し、特徴づける。
  • 任意の正則言語が有限個の順序可能部分言語に分割可能かどうかを特定し、その最小分割数を求める。
  • 両端でのみプッシュ/ポップ操作を用いることで、ダブルエンドドキューに保持可能な有界遅延列挙アルゴリズムを設計する。
  • 固定編集距離および分割サイズの下で順序可能性を決定する計算複雑性を確立する。特に、固定編集距離ではNP困難である。

提案手法

  • 連続する語の間を、両端でのみプッシュ/ポップ操作を用いる有界長編集スクリプトの列として列挙をモデル化する。
  • 遅延が語長ではなくオートマトンサイズにのみ依存することを保証するため、ポインタマシンモデルを用いて列挙プロセスをシミュレートする。
  • すべての経路を探索するため、決定的有限オートマトン(DFA)上で深さ優先探索(DFS)を適用し、ループ不能な語の列挙ではサイクルを回避するための状態マークを導入する。
  • 再帰スタックの追跡を伴うDFSにより、線形時間で初期状態からサイクルへの一意な単純サイクルと経路を特定する。
  • 最終的に周期的となる編集スクリプトの系列を構成する:まずループ不能な語を列挙し、次にサイクルに移行し、最後に周期的にサイクルを走査する。
  • 各状態が任意の編集操作内で高々2回しか現れないようにすることで、連続する語間の編集距離を2k(k = 状態数)以内に制限する。

実験結果

リサーチクエスチョン

  • RQ1どの正則言語が、連続する語が有界なレーベンシュタイン編集距離で異なる無限列を持つのか?
  • RQ2任意の正則言語が有限個の順序可能部分言語の和集合に分割可能か?その最小個数は何か?
  • RQ3語の両端でのみ編集操作を用いて、有界遅延列挙が可能か?その場合、どのような条件下で可能か?
  • RQ4固定編集距離dおよび固定クラス数tの下で、正則言語が順序可能かどうかを決定する計算複雑性は何か?
  • RQ5最小分割を効率的に計算するにはどうすればよく、そのような言語を特徴づける構造的性質(例:スレンダーネス)は何か?

主な発見

  • 正則言語が順序可能(連続する語の間の編集距離が有界な列を持つ)であることは、そのオートマトンに無限パスが有限個である(=スレンダーランゲージである)ことに同値である。
  • 正則言語を順序可能成分に分割する最小個数tは、そのDFAにおけるペアワイズ比較不能な無限パスの数に等しく、PTIMEで計算可能である。
  • 1-スレンダーランゲージ(t = 1)の場合、すべての語を線形時間(DFAサイズに比例)の遅延で列挙する最終的に周期的な編集スクリプトの系列を構成できる。編集距離は2k以下に保証される。
  • 有界遅延列挙アルゴリズムは、両端でのみプッシュ/ポップ操作を用いて、ダブルエンドドキューに現在の語を保持する。
  • 固定編集距離dおよび固定クラス数tで正則言語が分割順序可能かどうかを決定することは、有限言語に対してもNP困難である。
  • 編集操作を語の末尾でのみ許す(スタックモデル)場合、順序可能言語のクラスは厳密に弱くなり、これはまさにスレンダーランゲージに一致する。最小分割数と有界遅延列挙は同じであり、達成可能である。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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