言語が規則的でないことを証明する方法は?


76

通常の言語のクラスについて学びました。正規表現、有限オートマトン、左線形文法のいずれか1つの概念が特徴であるため、特定の言語が正規であることを簡単に示すことができます。R E GREG

しかし、どのように反対を見せますか?私のTAは、そうするためには、すべての正規表現(またはすべての有限オートマトン、またはすべての左線形文法)に対して、手元の言語を記述できないことを示さなければならないことを固く主張しています。これは大きなタスクのようです!

ポンピング補題について読んだことがありますが、本当に複雑に見えます。

これは、通常の証明方法と応用例を集めた参考質問であることを意図しています。コンテキストフリー言語に関する同じ質問については、こちらをご覧ください。

回答:


60

矛盾による証明は、言語が正規ではないことを示すためによく使用されます。特定の言語が検証しない場合、すべての正規言語に対して trueにすると、正規ではなくなります。次のプロパティを使用できます。P PPP

  1. Daveの回答に例示されているように、ポンピング補題。
  2. 通常の言語のクロージャープロパティ(集合演算、連結、Kleeneスター、ミラー、準同型);
  3. 通常言語には、有限数の接頭辞同値類Myhill–Nerode定理があります。

言語のことを証明するために閉鎖プロパティを使用して定期的にではなく、技術が結合することである、定期的でないことが知られている言語を取得するために規則性を保つ操作で正規言語で例えば、原型言語。たとえば、。想定正規言語が補完の下で閉じているようで、規則的であるの補数。ここで、との交点を取ります。これは、正規ではないを取得します。L L I = { a n b n | N ∈ N } L = { PのBのQ | P ≠ Q } LのL LのCをL C ⋆のB ⋆ ILLI={anbn|n∈N}L={apbq|p≠q}LLLcLca⋆b⋆I

Myhill–Nerode定理は、が規則的ではないことを証明するために使用できます。以下のため、。すべてのクラスは異なり、そのようなクラスには数え切れないほどの無限があります。通常の言語には有限数のクラスが必要なので、は通常ではありません。I P ≥ 0 I / P = { R bはRのB P | R ∈ N } = I 。{ b p } IIp≥0I/ap={arbrbp|r∈N}=I.{bp}I


3
Myhill-Nerodeの定理について知らなかった、クール!
— ダニエル

ウィキペディアは、通常の言語における単語の数についてのセクションがあります:あなたは、あなたの言語が特性と一致していないことを証明できた場合、その後、あなたの言語は、通常ではありません。en.wikipedia.org/wiki/...
— アレックス10ブリンク

@Daniil、正規表現では数えられませんが、Myhill-Nerodeの定理の非公式な定式化のようです。
— AProgrammer

@AlextenBrink:それはきちんとしている。ステートメントの定数は、オートマトンのラプラシアンの固有値ですか?これは、ここでの答えにいい追加を加えるでしょう。
— ルイス

@Louis:実際に、私たちは全くその定理については言及を発見したしましたので、あなたはそれについての詳細を知っていれば...も参照してください:cs.stackexchange.com/questions/1045/...
— アレックス10ブリンク

37

デイブの答えに基づいて、ここにポンピング補題を使用するための段階的な「マニュアル」があります。

ポンピングの補題を思い出してください(デイブの答えから取得、ウィキペディアから取得):

してみましょう正規言語であること。次いで整数が存在(のみに依存してとなるように)すべての文字列では少なくとも長さの(「ポンピング長」と呼ばれる)のように書くことができる、すなわち(することができ3つの部分文字列に分割されます)、次の条件を満たす:LのLN ≥ 1 n≥1L LW wL LN nN nW = X のY 、Z w=xyz、Ww

  1. | y | ≥ 1|y|≥1
  2. | x y | ≤ n個|xy|≤nおよび
  3. 「ポンプされた」はまだます:すべての、です。 W wL LI ≥ 0 i≥0、X 、Y I、Z ∈ Lxyiz∈L

何らかの言語が与えられており、ポンピング補題を介して規則的ではないことを示したいとします。証明は次のようになります。LL

  1. が正規であると仮定します。LL
  2. 規則的である場合、ポンピング補題は、ポンピング長さである数が存在すると言います。nn
  3. ピック特定ワードより大きな長さの。難しいのは、どの単語を取るべきかを知ることです。W ∈ L w∈LNn
  4. 検討ALL分割する方法wがw 3つの部分にW = X のY 、Zw=xyzとし、| x y | ≤ N|xy|≤nとyのy非空。以下のために各これらの方法、それをポンピングすることができないことを示している:常にいくつか存在するiは≥ 0i≥0ように、X 、Y I、Z ∉ Lをx y私z∉ L。
  5. 結論:語彙wwをポンピング補題と矛盾して(どのようにx y zにx yz分割しても)「ポンプ」できません。つまり、仮定(ステップ1)が間違っています。LLは規則的ではありません。

例に進む前に、ステップ3とステップ4を繰り返してみましょう(ほとんどの人が失敗する場所です)。ステップ3では、LのL特定の単語を1つ選択する必要があります。「00001111」または「a n b nanbn」のように明示的に書き留めてください。特定の単語ではないものの例:「ww」または「接頭辞として000を持つ単語」。

一方、ステップ4では、複数のケースを考慮する必要があります。たとえば、w = 000111のw = 000111場合、x = 00 、y = 01 、z = 00x = 00 、y= 01 、z= 00と言うだけでは不十分であり、矛盾に到達します。また、x = 0 、y = 0 、z = 0111x = 0 、y= 0 、z= 0111、およびx = ϵ 、y = 000 、z = 111x = ϵ 、y= 000 、z= 111、および他のすべての可能なオプションも確認する必要があります。


次の手順に従って、L = { 0 k 1 2 k ∣ k > 0 }L = { 0k12 k∣k>0}が規則的ではないことを証明しましょう。

  1. LLが規則的であると仮定します。
  2. ましょうn個nのポンピング補題によって与えられたポンプ長さ。
  3. ましょうW = 0 、N 1 2 Nw=0n12n。
    (健全性チェック:| w | > n|w|>n必要に応じて。この単語はなぜですか?他の単語も同様に機能します。.正しいwをw見つけるには、ある程度の経験が必要です)。再度、注意wはw特定の単語である:000 ... 0 ⏟ N  回111 ... 1 ⏟ 2 N  回000…0n times111…12n times。
  4. ここで、|を使用して wwをx y zxyzに分割するさまざまなケースを検討します x y | ≤ Nと| y | > 0。以来| x y | < nは関係なく、私たちがどのように分割さwは、xが 0のみの構成されますので、意志yは。仮定しましょう| x | = sおよび| y | = K。私たちは、すべてのオプションを検討する必要があり、それはすべての可能であるS|xy|≤n|y|>0|xy|<nwxy|x|=s|y|=k、kのs,kようには、 sは≥ 0 、kは≥ 1s≥0,k≥1と S + K ≤のNをs+k≤n。この LLの場合、これらすべてのケースの証明は同じですが、一般的には異なる可能性があります。i = 0を
    取り、 x y i z = x zを考慮します。0 n − k 1 2 nの形式であるため、この単語は Lにはありません( sおよび kが何であってもi=0xyiz=xzL0n−k12nsk)だった、と以来、K ≥ 1k≥1、この言葉はではありませんLL、我々は矛盾に達します。
  5. したがって、仮定は正しくなく、LLは規則的ではありません。

同じ行に沿ってポンピング補題を使用する方法を説明するyoutubeクリップはここにあります


1
この定義のポンピング長はnです!
— -saadtaame

28

ウィキペディアから、通常の言語のポンピング言語は次のとおりです。

してみましょうLが正規言語であること。次に、整数が存在するP ≥ 1(のみに依存Lすべての文字列ような)WにおけるL長さの少なくともpが(pは「ポンピング長」と呼ばれる)のように書くことができるW =のX 、Y 、Z(すなわち、W缶は3つの部分文字列に分割されます)、次の条件を満たす:Lp≥1LwLppw=xyzw

  1. | y | ≥ 1|y|≥1
  2. | x y | ≤ Pと |xy|≤p
  3. すべてのためのI ≥ 0、X 、Y I、Z ∈ L。yは、ポンピングできるサブストリングです(削除または何度でも繰り返すことができ、結果のストリングは常にLになります)。 i≥0xyiz∈L
    yL

(1)は、ポンピングされるループyの長さが少なくとも1つでなければならないことを意味します。(2)は、最初のp文字内でループが発生する必要があることを意味します。xとzに制限はありません。

簡単な言葉では、任意の正規言語Lの場合は、任意の十分に長い単語のw ∈ Lは 3つの部分に分割することができます。すなわち、W =のX 、Y 、Z、すべての文字列のようにX 、Y のk zのためのK ≥ 0 でもあるL。w∈Lw=xyzxykzk≥0L

次に例を考えてみましょう。ましょL = { (01 )N 2 、N | N ≥ 0 }。L={(01)n2n∣n≥0}

これが規則的ではないことを示すために、すべての分解w = x y zがどのように見えるかを考慮する必要があります。したがって、x y z = (01 )p 2 p(私たちは、長さの、この特定の単語を見て選ぶ3 のp、pはポンプの長さです)。文字列のy部分がどこで発生するかを考慮する必要があります。最初の部分と重複する可能性があるため、(01 )k + 1、(10 )w=xyzxyz=(01)p2p3ppy(01)k+1K + 1は、1(01)Kまたは0(10)kは、いくつかのためのk≥0(忘れてはいけないこと | Y | ≥1)。いくつかのk>0に対して、y= 2 kを意味する2番目の部分と重複する可能性があります。または、単語の2つの部分にまたがって重なり、(01)k + 1 2 l、(10)kの形式になります。(10)k+11(01)k0(10)kk≥0|y|≥1y=2kk>0(01)k+12l+ 1 2 リットル、1(01)、K 2 、Lまたは0(10)K 2 リットルのため、K≥0とL≥1。(10)k+12l1(01)k2l0(10)k2lk≥0l≥1

今度は、矛盾を取得するためにそれぞれをポンプします。矛盾はあなたの言語ではない単語になります。たとえば、y = 0 (10 )k 2 lをとると、ポンピング補題は、たとえば、x y 2 z = x 0 (10 )k 2 l 0 (10 )k 2 l zが言語、xおよびzの適切な選択。しかし、1の前に2が現れるので、この単語は言語にはできません。y=0(10)k2lxy2z=x0(10)k2l0(10)k2lzxz21

他の場合は、(01 )の数が2の数より大きくなるか、その逆になります。または、たとえば、次のように構造(01 )n 2 nを持たない単語になります。行に2つの0があります。(01)2(01)n2n0

忘れないで| x y | ≤ P。ここで、証明を短くすると便利です。上記の分解の多くは、z部分が長くなりすぎるため不可能です。|xy|≤pz

上記の各ケースは、このような矛盾につながる必要があり、それはポンピング補題の矛盾になります。出来上がり!言語は規則的ではありません。


仮説の例| x y | ≤ pがいいだろう必要があります。|xy|≤p
— ジル

@Gilles:あなたが追加した文が何を意味するのかさえ分かりません。
— デイブクラーク

@Gilles:すべての分解が可能だと思います。ちょうどkが制限されます。それがzの長さとどう関係するのか分かりません。kz
— デイブクラーク

ああ!今見えます。ありがとう。ただし、回答に記載されている分解の形式は除外されません。それは、私が取ることができるkとlの値を制限するだけです。kl
— デイブクラーク

1
そのような簡単な質問に答えるために行われた編集の量は、なぜ誰もが非定型性を証明する「方法」としてポンピング補題を教えているのだろうかと思う。好奇心から、なぜあなたの文字列を(01 )2 p 2 2 pのようにするだけではありませんか?ポンピング補題は、yに2がないことを示しており、矛盾はより簡単です。(01)2p22py2
— ルイス

14

特定の言語のためのL ⊆のΣの*、聞かせてL⊆Σ∗

S L(Z )= Σ N ≥ 0 | L ∩ Σ nは| ⋅ Zのn個SL(z)=∑n≥0|L∩Σn|⋅zn

(通常の)生成機能のLは、長さ当たりのワードカウントのその配列、すなわち。L

次のステートメントは[ FlSe09、p52]を保持します:

L ∈ R E G⟹S L  合理的L∈REG⟹SL rational

つまり、S L(z )= P (z )Q (z )とP、Q多項式。SL(z)=P(z)Q(z)P,Q

だから、その生成機能で、任意の言語ではない合理的では定期的にではありません。残念ながら、すべての線形言語には合理的な生成関数¹もあるため、この方法は単純な非正規言語では機能しません。別の欠点は、S Lを取得すること(および合理的でないことを示すこと)が難しい場合があることです。SL

例:正しくネストされた括弧単語の言語、つまりDyck言語を考えてください。明確な文法によって生成されます

S → [ S ] S | εS→[S]S∣ε

方程式に変換することができます

S (z )= z 2 S 2(z )+ 1S(z)=z2S2(z)+1

1つの解(すべての正の係数を持つ解)は

S(Z )= 1 - √1 − 4 z 22 z 2。S(z)=1−1−4z2−−−−−−√2z2

S L = Sは、 [ Kuic70 ]及びSは合理的ではない、ディック言語は、規則的ではありません。SL=SS


  1. 通常言語のステートメントの証明は、文法を介して機能し、すぐに線形文法に変換されます(乗算の可換性)。

    [FlSe09] P. FlajoletおよびR. Sedgewickによる分析的組み合わせ論(2009)[Kuic70] W. Kuichによる文脈自由言語のエントロピーについて(1970)
    


13

これは、ここから私の答えの拡張バージョンである言語を証明する補題をポンピング使用してL = { (01 )メートル2 メートル | M ≥ 0 }、正規ではないL={(01)m2m∣m≥0}、これは参照質問することになっているからです。

ポンピング補題は複雑に見えると思いますか?心配しないで。@Romualdの答えにも隠されている、少し異なるテイクアプローチがあります。(クイズ:どこ?)

すべての通常の言語が決定論的有限状態オートマトン(DFA)によって受け入れられることを思い出してみましょう。DFAは有限の有向グラフであり、すべての頂点がアルファベットの各文字に対して正確に1つのアウトエッジを持ちます。文字列を使用すると、「start」というラベルの付いた頂点に基づいてグラフ内を歩くことができ、DFAは「accept」というラベルの付いた頂点で終わる場合に受け入れます。(頂点は「状態」と呼ばれます。これは、数学のさまざまな分野が同じものに対して独自の用語を作成することを好むためです。)

この考え方では、文字列aとbがDFAを同じ状態にする場合、他の文字列c、a cとb cがDFAを同じ状態にするabcacbcことがわかります。どうして?歩行の開始点とそれを定義する文字列が終了を完全に決定するためです。

:少し言い換えるならば、Lは規則的であると文字列とBのすべての文字列のために、その後、同じ状態に認識オートマトンをドライブCのいずれかで、CとBのcがでともにLかでもありません。LabcacbcL

私たちは、言語がそれをされて想像し、その後を考え出すことにより、定期的ではありません表示するためにこれを使用することができますし、bが同じ状態、およびにDFAを駆動Cようにcが言語であるとbはcがありません。@Daveの回答から言語例をご覧ください。それが規則的であると想像してください。したがって、m個の状態を持つDFAを認識するものがあります。ピジョンホール原理は、少なくとも二つのことを言う{ (01 )私は:0 ≤ iは≤ mは+ 1 }と言う、同じ状態にDFAを送る= (01abcacbcm{(01)i:0≤i≤m+1})pおよび b = (01 )q。以来のp ≠ qは、我々はそれを見る 2 pは言語であり、 B 2 、pはないので、この言語は、通常のすることはできません。a=(01)pb=(01)qp≠qa2pb2p

良い点は、例が実際に言語が規則的ではないことを証明するためのテンプレートであることです:

  • 文字列の家族下さい{ 私を:私は∈ Nを }それらのそれぞれが「テール」はプロパティでトン私はそうすることを、私tは私は言語としているのi のT jのために、私は≠ jがないです。{ai:i∈N}tiaitiaitji≠j
  • 上記の引数をそのまま適用します。(これは許可されています。ピジョンホールの原理を呼び出すのに十分なa iが常にあるからです。)ai

他にもトリックがありますが、これはほとんどの宿題の問題で簡単に機能します。

編集:以前のバージョンでは、このアイデアがポンピング補題にどのように関係するかについての議論がありました。


Pumping Lemmaの証明を再現することは一般的には有用ではないと思いますが、YMMVです。証拠を理解することはどんな場合でも良いです。それは、有限オートマトンと通常の言語の多くの閉鎖と他の興味深い特性とすぐに結びつきます。ただし、最後の文には強く反対します。オートマトン理論はまったく退屈ではなく、理論クラスの中で最も退屈な部分ではありません。
— ラファエル

@Louisあなたの答えwe see that a2p is in the language and b2p is not, so this language can't be regular.では、最後にこの声明をどのように思いついたのでしょうか。例を挙げてください
— Himanshu

@Himanshu aとbはどちらも同じ状態q 1になります。したがって、あなたはその(後に読んでどんな2 のpここで)、同じ状態にあなたを取得しませんQ 2 -に関係なく、あなたが開始したものを、AまたはB。abq12pq2ab
— Al.G.

7

ここでの回答に続いて、コルモゴルフの複雑さに基づいて非正規性を証明する方法を説明します。

このアプローチは、Ming LiとPaul MB Vitanyiによる「Kolmogorov Complexityによる形式言語理論への新しいアプローチ」で議論されています(セクション3.1を参照)。

ましょうKは、(X )文字列のコルモゴロフ複雑性表し、Xが、チューリングマシンの最短符号の長さ、すなわちM、ようにM (ε )=のXを(通常の定義のいずれかを行います)。その後、次の補題を使用して非規則性を証明できます。K(x)xMM(ϵ)=x

KC-規則性:うL ⊆ Σ *定期的な言語は、その後一定存在することCのみに依存L、ようにそのすべてについてのx ∈ Σ *、場合yはあるN 'のT Hの辞書式順序に対する文字列を( )におけるL 、X = { Y ∈ Σ * | X 、Y ∈ L }次に、K (Y )≤ O (対数Nを)L⊆Σ∗cLx∈Σ∗yn′thLx={y∈Σ∗|xy∈L}+ C。K(y)≤O(logn)+c

次のように一つは、任意のため、上記の補題を理解する(および証明)することができ、X ∈はΣ *、説明するためにN ' Tの時間の文字列のL のX 1が指定する必要があります。x∈Σ∗n′thLx

  • Lを受け入れるオートマトンL
  • プレフィックスxを処理した後のオートマトンの状態x
  • インデックスnn

xを処理した後の状態のみを記憶する必要があり、x自体は記憶しないため、Lに依存する定数でこの要素を非表示にできます。インデックスnは記述するためにlog nビットを必要とし、上記の結果を取得します(完全を期すため、yを生成するために必要な特定の命令を追加する必要がありますが、これは最終的な説明に定数係数を追加するだけです)。xxLnlogny

この補題はのメンバーであるすべての文字列のコルモゴロフ複雑バインドする方法を示してLのXいくつかの定期的な言語のためのLとのx ∈ Σ *を。非規則性を示すために、Lが規則的であると仮定して、境界が制限的すぎることを証明できます(たとえば、文字列の無限集合に対する有界Kolmogrov複雑性)。LxLx∈Σ∗L

上記のリンクの回答には、この補題を使用してL = { 1 p | pは素数}は規則的ではありません。この論文ではさらにいくつかの例を示します。完全を期すために、ここでL = { 0 n 1 n | N ≥ 0 }規則的ではありません。L={1p|p is prime}L={0n1n|n≥0}

いくつかの所与のx ∈ { 0 、1 } *、我々は、によって表すY軸X I、I ' Tの時間におけるワードLのX。y 0 i 1 = 1 iであることに注意してください。接頭辞に着目し、補題上方用いX形のX = 0 、I定着N = 1、我々は入手∀ iは≥ 0 :K (Y 0 、I 1x∈{0,1}∗yxii′thLxy0i1=1ixx=0in=1)≤のC。以来、Y 0 I 1 = 1 、私は、これは我々は、フォームのすべての文字列のコルモゴロフ複雑バインドできることを意味します 1 Iを明らかに虚偽である、定数による。我々が単一検討している可能性があることを言及する価値があるのxを、例えば X = 0 のn十分な大きさのためのn満たす K (0 nは)≥ ログのn(私たちは高い複雑接頭辞で始まります)。以来、 Y 、X 1 = 1 N、我々が取得します∀i≥0:K(y0i1)≤cy0i1=1i1ixx=0nnK(0n)≥lognyx1=1nK (1 n)< c、矛盾( n > 2 cの場合)。K(1n)<cn>2c


7

単項言語(サイズ1のアルファベットを超える言語)の場合、簡単な基​​準があります。私たちはアルファベット修正しましょう{ σを}、そしてため⊆ N、定義 L (A )=を{ σ N:N ∈ A } 。{σ}A⊆N

L(A)={σn:n∈A}.

定理。してみましょう⊆ Nを。以下は同等です:A⊆N

  1. L (A )は規則的です。L(A)

  2. L (A )はコンテキストに依存しません。L(A)

  3. 存在N 0、M ≥ 1全てになるようにN ≥ nは0、それが保持するN ∈ IFF N + M ∈ Aは。(Aは最終的に周期的であると言います。)n0,m≥1n≥n0n∈An+m∈AA

  4. してみましょう私 = 1は、私が∈。その後、0 0 1 2 ...合理的です。ai=1i∈A0.a0a1a2…

  5. 生成機能Σ iの∈ Xの私は、合理的な機能です。∑i∈Axi

定理は多くの方法で証明できます。たとえば、ポンピング補題、マイヒル・ネローデ理論、パリフの定理、単項言語のDFAの構造(ポラードのρアルゴリズムのように「ρ」のように見えます)などを使用できます。 。便利な結果は次のとおりです。ρρ

当然。してみましょう⊆ Nを、としたとするL (Aは)規則的です。A⊆NL(A)

  1. 極限ρ = lim n → ∞ | ∩ { 1 、... 、N } |nが存在します。(これはAの漸近密度です。)ρ=limn→∞|A∩{1,…,n}|nA

  2. ρ = 0の場合、Aは有限です。ρ=0A

  3. 場合ρ = 1次に、Aが cofiniteである(つまり、¯ Aは有限です)。ρ=1AA¯¯¯¯

一例として、言語L ({ 2 N:N ≥ 0 } )のセットが漸近密度を消失しているので、正規ではない、まだ無限大です。L({2n:n≥0})


4

正規言語のクラスは、結合、交差、補数、準同型、正規置換、逆準同型など、さまざまな閉包演算の下で閉包されます。これは、すでに非正規であることが既に知られている言語に還元することにより、特定の言語が正規でないことを証明するために使用できます。

非常に簡単な例として、私たちは言語ということを知っているとし、{ n個のb のn:nは≥ 0 }{anbn:n≥0}定期的ではありません。その後、我々は証明することができ、その言語{ W ∈ { 、B } *:#(W )= #B(W )}{w∈{a,b}∗:#a(w)=#b(w)}(均等多く有する全ての単語の言語s及びbは以下のように複数の)規則的ではありません。ab

仮定L = { W ∈ { 、B } *:#(W )= #1 B(wが)}L={w∈{a,b}∗:#a(w)=#b(w)}正規ました。そして、L ∩ *ののb *はL∩a∗b∗また、定期的になります。しかし、Lは∩ * B * = { n個のB N:N ≥ 0 }L∩a∗b∗={anbn:n≥0}規則的ではないと知られています。

これはもっと複雑な例です。私たちは言語ことを示しましょうL ' = { (0 + 1 )、N 2 (0 + 1 )N:N ≥ 0 }L′={(0+1)n2(0+1)n:n≥0}正規ではありません。

ましょうhはhによって与えられた準同型写像であるH (0 )= 0h(0)=0、H (1 )= 1h(1)=1、hは(2 )= εをh(2)=ϵ。場合Lは、'L′正規し、次いでので次の言語は次のようになり:H (L ' ∩ 0 * 21 *)= { 0 N 1 N:N ≥ 0 }h(L′∩0∗21∗)={0n1n:n≥0}。ただし、後者は規則的ではないことがわかっています。

最後に、逆準同型を使用した例を示します。私たちは言語のことをお見せしましょうL " = { 0 N 10 N:N ≥ 0 }L′′={0n10n:n≥0}定期的ではありません。

ましょうkは、kによって与えられる準同型であるK (0 )= 0k(0)=0、K (1 )= 0k(1)=0、K (2 )= 1k(2)=1。場合Lは、「L′′そうだろう、次に正規たk個の- 1(L ")k−1(L′′)であるが、それは単に言語であるL 'L′前述の例から。


3

Myhill–Nerode理論を使用します。

してみましょうLはL言語とすること。我々は2つの単語があると言うのx 、yがx,yある非等価モジュロLL:(に対して、またはLL単語が存在する場合)Zz正確に一つのようにXとZ 、Y 、Zは、xz,yzであり、LはL。LのL DFAで、δ (q 0、x )≠ δ (q 0、y )δ(q0,x)≠δ(q0,y)(運動)。これは、次の基準を意味します。

してみましょうLはL言語とすること。(つまり、無限集合ペアワイズ非等価単語の無限集合が存在すると仮定SSの任意の二つの非等しいようにX 、Y ∈ Sがx,y∈S非等価モジュロであるLL)。その場合、LLは規則的ではありません。

この基準を適用する簡単な例を次に示します。

言語L = { n個のB N:N ≥ 0 }L={anbn:n≥0}規則的ではありません。

証明。ましょS = { N:N ≥ 0 }S={an:n≥0}。SのS 2つの異なる単語はLをL法とする等価ではないと主張します。確かに、聞かせてI、J ∈ S、私は≠ jで。そして、私のbが、私は ∈ Lが、私のBのjの ∉ Lを。ai,aj∈Si≠jaibi∈Laibj∉L

このメソッドの重要な特徴は、成功することが保証されていることです。LLが正規でない場合、ペアワイズ非等価語の無限のセットが存在します。これはMyhill–Nerodeの定理の結果です。簡潔には、等価モジュロLL(inequivalenceモジュロの否定LL上に定義)は同値関係であり、言語Lは、L等価モジュロの等価クラスの数ときに限り規則的であるLはL有限です。LLが規則的でない場合、各等価クラスから1つの単語を取り出すと、不等価な単語の無限のセットが構成されます。


1

言語を考えるとLL、すべての文字列のためのxx文字列のセットがあるyのようにのx のy ∈ Lが。このような各セットは、ステートマシンのステートとして使用できます。

あなたがする必要があるのは、そのようなセットの数が有限ではないことを示すことです。

一例として、聞かせてLが= n個のBをN:N ≥ 0。所与X = Nの Bの一部のためのN ≥ 1、唯一の文字列yのようなのX 、Y ∈ LであるY = B N - 1。したがって、nごとに異なるセットがあります。つまり、Lは規則的ではありません。

だから一般的に、あなたは文字列の無限集合を見つける場合、Xの各ように、xが異なるセット与える{ Y :X 、Y ∈ L }次に言語は有限状態機械で認識することができないが、そのため定期的ではありません。


これは単なるMyhill-Nerodeではありませんか?
— デビッドリチャービー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.