正規言語の最大因数分解を見つける


13

言語ましょうL⊆Σ∗規則的で。

の因数分解は、単語の集合のL最大ペア(X,Y)です。

  • X⋅Y⊆L
  • X≠∅≠Y、

X⋅Y={xy | x∈X,y∈Y}。

(X,Y)各ペアの場合に最大である(X′,Y′)≠(X,Y)とX′⋅Y′⊆LのいずれかでX⊈X′又はY⊈Y′。

どのペアが最大であるかを見つける簡単な手順はありますか?

例:

してみましょう。集合F = { u 、v 、w }が計算されます:L=Σ∗abΣ∗F={u,v,w}

  • u=(Σ∗,Σ∗abΣ∗)

  • v=(Σ∗aΣ∗,Σ∗bΣ∗)

  • w=(Σ∗abΣ∗,Σ∗)

ここで、。Σ={a,b}

もう一つの例:

及び L = Σは* Σ 因子分解は、セット Fを= { Q 、R 、S 、T }とΣ={a,b}L=Σ∗aΣF={q,r,s,t}

  • q=(Σ∗,L)

  • r=(Σ∗a,Σ+L)

  • s=(Σ∗aa,ϵ+Σ+L)

  • t=(L,ϵ+L)


4
Jacques Sakarovitchによる次の論文(特にサブセクション4.1)を読むことをお勧めします。perso.telecom
— Cornelius Brand

1
問題、つまり質問の最後の文についてもっと具体的になりたいのではないかと思いますか?与えられ、(X 、Y )が最大かどうかをテストしたいですか?私たちのタスクは、最大のすべて(X 、Y )を列挙することですか?後者の場合、このリストが有限または多項式サイズであることは明らかですか?指数関数的に多くの可能性がある場合、すべての可能性を列挙するアルゴリズムを要求することはおそらく意味がありません。また、言語Lが表示されるときにどのように表現されるか、およびX 、Yをどのように指定するかを指定しますかX,Y(X,Y)(X,Y)LX,Y代表されていますか?(例、DFA、NFA、正規表現)
— DW

2
あなたの例がわかりません。されている全て最大のペアになるはず?vは有効ではないようです...u,v,wv
— ラファエル

1
この例は、上記の論文から引用したものです。は最大のペアであると想定されています。また、vがLにあるとは限らないため、vがどのように計算されるかも理解していません。別の例を投稿します。u,v,wvL
— ローラ

1
@ Raphael、が有効なように見えます。まかせX = Σ * Σ *、Y = Σ * bがΣ *、(X 、Yは)ので、因数分解であるX ⋅ YのvX=Σ∗aΣ∗Y=Σ∗bΣ∗(X,Y)(含む任意の文字列を検討 Aを任意の順序次に、「sおよび/または Bさん、そして最終的には B:この文字列はいくつかの点どこまず持っている必要があります Bのことは、それが含まれている点であるので、表示されX⋅Y=Laabbb)。最大であることの証明はありませんが、 Lの因数分解であるより大きな集合 X ′、Y ′は見つかりません。abX′,Y′L
— DW

回答:


8

質問へのコメントで示唆されているように、少なくとも自分で問題を理解している限り、(残念ながら部分的に)質問に答えようとします(これは間違いを見つける可能性が高いことを意味します。以下のポイントのいずれかをより簡単にまたは明確に説明する方法、それに応じて回答を自由に編集してください):

まず、言語の因数分解を計算したい場合、実際に言語の普遍的なオートマトンを計算する必要がないことに注意する必要があります。

私のコメント ¹で言及した論文から、通常の言語の左と右の要素には1-1の対応があります。つまり、言語の左の要素が与えられると、対応する右の要素は一意に決定されます。より正確には、次のものがあります。

してみましょうの因数分解もL。次いで、 Y = ⋂ X ∈ X X - 1、L 、X = ⋂ Y ∈ Y L Y - 1、(X,Y)L

Y=⋂x∈Xx−1L,X=⋂y∈YLy−1,
であるが、任意の左因子は、右商の交点であり、権利因子は、左商との交点です。逆に、左側の商の交点右因子でL、および右の商の交点Lは左因子であるL。LLLL

通常の言語の場合、左右の商の有限セットのみが存在するため、言語の左右の商の計算に問題が減り、それらの安定閉包、つまり最小の交差の下で閉じられる商のスーパーセット。これらは正確に正しい因子と左の因子であり、通常どのペアがLのサブセットであるかを簡単に確認できます。∩L

例

上記の点を説明するために、質問の最初の例を考えてみてください(この論文でも間違っていると思います)。

してみましょう。さて、左商LがセットされているX - 1 Lのためのx ∈ Σ *、これらの言葉で、UでΣ *の接頭辞を付けることができ、X、すなわちX のu ∈ L。いつy − 1 L = x −L=Σ∗abΣ∗Lx−1Lx∈Σ∗uΣ∗xxu∈L異なるため、X、Y?これは、xの場合にのみ当てはまりますy−1L=x−1Lx,yxそして内の単語に拡張することができるL、正確に同じサフィックスを持ちます。つまり、より馴染みのある用語にまとめると、それらはNerodeと同等であり、Nerodeクラスの単語に追加するために必要な接尾辞は、それぞれの左商です。yL

以下のために、我々は我々のNerodeさん-等価クラスがあることがわかりL

  • 、単語のセットが含まれていない Bを要因としてで終わります、 N1aba
  • 、で終わる単語の集合 Bを含有しない Bを因子として、および N2bab
  • 、を含む単語のセット BをN3ab、ある因子として、N3=L

これらは、次のセットで拡張できます(つまり、これらはそれぞれのクラスの単語の左商です)。

  • のためのxにおける N 1内のすべての単語で構成さ L(任意の単語を含む単語で拡張することができる Bを要因として、従って、ワードなる L)及び bはΣ *であり、 S 1 =S1=x−1LxN1LabLbΣ∗S1=L∪bΣ∗
  • のために Xで N 2は、ある言語自体、ある S 2 = LとS2=x−1LxN2S2=L
  • のためのxにおける N 3は明らかです Σ *。つまり、 Lの 3つの正しい要因を見つけました。S 2 ⊂ S 1 ⊂ S 3、その ∩ -STABLEクロージャは自明され、S 1、SS3=x−1LxN3Σ∗LS2⊂S1⊂S3∩、及びそれらは、次いで、正確に正しい因子です。S1,S2,S3

したがって、分解セットは(P 1、S 1)、(P 2、S 2)、(P 3、S 3)の形式です。FL(P1,S1),(P2,S2),(P3,S3)

さて、左因子に対して、この答えの始まりの方程式を使用します。Pi

。

Pi=⋂x∈SiLx−1

以下のために、この利回りのL ∪ Σ *のために、P 2我々が得るΣを*とするためにP 3、我々は入手Lを。これは、インスペクション(形式的な証明を述べるには遅すぎるための最も一般的な言い訳)または右商を明示的に計算することで確認できます(完全にではありませんが、左商の計算にかなり類似しています)。したがって、因子分解はF L = uP1L∪Σ∗aP2Σ∗P3Lで。FL=u,v,w

  • u=(P1,S1)=(Σ∗abΣ∗∪Σ∗a,Σ∗abΣ∗∪bΣ∗)
  • 及びv=(P2,S2)=(Σ∗,Σ∗abΣ∗)
  • w=(P3,S3)=(Σ∗abΣ∗,Σ∗)

概要

要約すると(簡単な手順を求めていたように):

  • 言語の因数分解計算するための、最初の左商計算Lを。LL
  • あなたが最小DFA構築することにより、紙の言語では、これを行うことができためのLと、各状態用のQにおけるA(左商に、Nerodeさん、同値クラスとして、相当する)の将来の計算QをALqAqで、したがって、各状態の言語の1つの左商を取得します。A
  • この方法で取得された左商のコレクションは、一般に、サブセットを生成します に、右因子の S Rをます。SR
  • 次に、S Rの安定閉包を計算します。これは、S Rのサブセットの交点を形成し、この方法で取得したサブセットを∩SRSR。SR
  • セットSRは、前のステップからのすべての交点とともに、の正しい因子の集合です。L
  • 左の要因を取得するために、次の右の商を計算できます。 ます。L
  • これらは、フォームのセットであるため、Y ∈ Σ *。さて、これらは再び唯一の有限多く、ためのx ≠ yの、我々はLのY - 1 = L のx - 1をのみ、すべてのための場合場合のu ∈ Σ *、uはxは∈ L ⇔ U YLy−1y∈Σ∗x≠yLy−1=Lx−1u∈Σ∗、彼らです、まったく同じ文字列のセットを使用して、言語の単語の前に付けることができます。ux∈L⇔uy∈L
  • を計算するには、xがqの将来に含まれるように、Aの状態qを考慮します。これらの州の過去の結合は、1つの正しい商を構成します。これらすべての商を見つけます。Lx−1qAxq
  • 正しい要因と同じ数の左側の要因を見つけたら、作業は完了です。
  • 左と右の要因のものをペア検索ようにX ⋅ Y ⊆ Lを。これはF Lです。X,YX⋅Y⊆LFL

  1. ロンバルディアとサカロビッチによるユニバーサルオートマトン(Logic and Games、 Text 2:Vol.2 and Logic and Automata:History and Perspectives、2007)

3
いいね!ことレッツノート、通常の言語のための決定可能であり、これらの要因は、そのX、Yは閉鎖特性による定期的になってしまいます。したがって、サマリーの最後の箇条書きを効果的に計算できるだけでなく、最大のペアを除外することもできます。A⊆BXY
— ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.