通常の言語で可能な単語の長さのセットは何ですか?


回答:


14

まず、重要ではないが便利な観察:空でないアルファベットの通常の言語である整数セットのセットは選択に依存しませんアルファベットの。それを見るために、を認識する有限オートマトンを考えてください; にある単語の長さは、開始状態から受け入れ状態までのラベルなしグラフとして表示されるオートマトン上のパスの長さです。特に、すべての矢印のラベルを変更し、アルファベット設定された同じ長さの通常の言語を取得できます。逆に、SLS(L)LALLa{a}L は、1要素のアルファベットに対する通常の言語であり、より大きなアルファベットに簡単に挿入でき、結果は通常の言語のままです。

したがって、シングルトンアルファベットの単語の長さのセットを探しています。シングルトンアルファベットに、言語は単項で書き出さ長集合である:。このような言語は単項言語と呼ばれます。LS(L)={nNanL}

してみましょう正規言語であること、および認識決定性有限オートマトン(DFA)を検討。のワードの長さのセットは、開始状態で始まり、受け入れ状態の1つで終わる有向グラフとして見られるDFAのパスの長さのセットです。1要素のアルファベットのDFAはかなり飼いならされています(NFAの方がワイルドです):有限リストまたは循環リストのいずれかです。リストが有限の場合、リストの順序に従って状態をからまで番号付けします。円形の場合、リストの先頭に続くからまでの状態に番号を付け、ループに沿ってからまでの番号を付けます。LLL0h0hhh+r

リスト型オートマトン

ましょう最大の状態を受け入れるのインデックスの集合であり、及びから状態を受け入れるのインデックスの集合であるに。それからFhGhh+r

LS(L)=F{kr+xxG,kN}

逆に、とを2つの整数とし、と、およびような2つの有限セットにします。次に、セットは通常の言語です:それは言語です上記のDFAによって認識されます。この言語を記述する正規表現はです。hrFGxF,xhxG,hxh+rLF,G,r={akr+xxG,kN} F | G R *aFaG(ar)

英語で要約すると、通常の言語の長さのセットは、特定の値を超える周期¹である整数のセットです

¹ にハングアップするために十分に確立された概念周期手段関数である集合の特性関数(我々が持ち上げました関数)は周期的です。特定の値を超える周期は、制限された関数を周期関数に延長できることを意味します。 N{false,true}Z{false,true}[h,+[


アルファベットの無関係性についてのあなたの観察は、パリフの定理が適用できることを示唆しています。具体的には、LS(L)= LS(L ')で、L'ではすべての文字が1つのアルファベットに折りたたまれていることを示します。ただし、LS(L ')は言語Lのパリフマッピングであり、通常の言語では半線形であることが知られています。
-Suresh

素敵なアプローチ!1)最初の段落は、通常の言語が文字列準同型に対して閉じられていることに注意して置き換えることができると思います。2)明確にするために、あなたが第二の部分与える考慮する必要がありとして、オフ・バイ・ワンエラーモジュロ。3)整数の「周期的な」セットとは何ですか? { h + k r + x h }LS(L){h+kr+(xh)}
ラファエル

1
@Suresh、Raphael(1):私は、CS 102クラスで準同型もパリクマッピングも言及されていない、初歩的な方法で証明を述べることを好みます。
ジル 'SO-悪であるのをやめる

あなたはインデックス作成に開始@Raphael(2)問題で、私は条件の削除ができていない通り、私たちが望むよう多くの小さな要素として吸収することができます。(3)特定の値を超える周期的なセットは、上記の表示フォームに入れることができるセットです。H G FGhGF
ジル 'SO-悪であるのをやめる

5

任意の有限部分集合通常の言語のな長さ、セットすることができあなたは単項アルファベット取ることができるので、と定義するよう(これには空の言語と)。 L { 0 } L { 0 1... 0 ℓのN } { ε }{1,,n}NL{0}L{01,,0n}{ε}

無限集合の場合。最終的な答えは十分に明確ではないかもしれませんが、簡単な分析を行います。あなたが私に頼まない限り、私はそれを直観しません。なぜなら、それは直感的だと思うからです。

ましょう言語生成する正規表現もとそれぞれ。それは(一種の)見やすいL 1 L 2r1,r2L1L2

  • LS(L(r1+r2))=LS(L1L2)=LS(L1)LS(L2)
  • L SL 1+ L SL 2LS(L(r1r2))=LS(L1L2)={1+2:1LS(L1),2LS(L2)}。これはます。LS(L1)+LS(L2)
  • LS(L(r1))={0}n1{i=1ni:(1,,n)(LS(L1))n}.

したがって、正規言語の長さにセットすることができる整数の可能なセットは有限のサブセットであるものである、またはそれが有限のサブセットとることによって構築することができるのと前の式を有限回数使用します。S 1S 2 NNS1,S2N

ここでは、正規表現を構築するためのルールを有限回数適用することにより、定義により正規言語が構築されることを使用しています。正規表現では基本ケースとして長さ0と1の単語で始まる場合でも、任意の有限サブセットで開始できることに注意してください。これは、すべての(有限の)単語がアルファベットの記号の(有限の)連結であるという事実によって簡単に正当化されます。N


最終的な答えは見当たりません。(後で回答を終了するつもりでしたか?)可能なセットの簡単な説明と、オートマトンとの接続を望んでいました。
ジル「SO-悪であるのをやめる」

最終的な答えは、「つまり、可能な整数のセット...」です。これは、オートマトンではなく、正規表現に関連付けられていますが、実際は単純な説明です。
ジャノマ

フィックスポイントの取得を伴わない、より簡単な説明があります。たぶん、この質問は思ったほど素朴ではありません!
ジル 'SO-悪であるのをやめる

最後のルールは、無限の言語を生成するのと同じように、無限の長さのセットを生成できるスター演算子であるため、回避できないと思います。
ジャノマ

@Gillesだから、ジャノマが提供する帰納的解決策の最小の固定点の閉じた形が必要ですか?
ラファエル

2

正規言語のためのポンピング補題によると、存在する列のように、の長さが少なくとも等しい:以下の形式で書くことができる:次の3つの条件が成立x n x = u v w | あなたv | < n | v | > 0 のU のV Kのw Lnxn

x=uvw
|uv|<n
|v|>0
uvkwL

これにより、セットの1つのテストが得られます。すべての要素が固定超えない任意の整数セットと、未定値倍数(長さ)、プラスいくつかの任意の有限値。m vnmv

言い換えると、通常の言語の言語長の可能なセットは、次のように説明されているセットのセットの結合(コメンターのおかげでEDITおよびEDIT2で説明されているように)に関するクロージャーです修正されおよびすべての有限集合について、通常の言語のポンプ補題によって元のバージョン、それによってセットを定義していました)。B N S Nは

{a+bn|nN}S
a,bNSN

編集:もう少し議論。確かに、整数のすべての有限セットは長さセットです。また、2つの長さセットの和集合も長さセットである必要があり、すべての長さセットの補数である必要があります(したがって交差、したがって差)。これは、これらの操作では通常の言語が閉じられているためです。したがって、上記の答えは(おそらく)不完全です。実際には、そのようなセットの結合は、いくつかの通常の言語の長さのセットでもあります(交差、補数、差などを必要とすることを放棄したことに注意してください。 EDIT3で説明されています;他の人が正しい場合でも、実際には組合だけが必要であると思います。

EDIT2:さらに議論。私が答えるのは、基本的にジャノマの答えをもう少し進めた場合に最終的にどこに行くかです。の部分は、クリーネ閉包から来)オートマトンから証明可能な出発連結から来て、和、積、差の議論は、正規表現の+(だけでなく、正規言語の他の閉鎖性)から来補完します。abna

EDIT3:Janomaのコメントを踏まえて、最初のEDITで説明した言語長セットのクロージャープロパティを忘れてください。通常の言語にはこれらのクロージャープロパティがあり、すべての通常の言語にはDFAがあるため、通常の言語のポンピングレンマは、通常の言語のすべての共用体、共通部分、補数、および相違に適用されます。 ; ユニオンを除き、これらのいずれかを考慮する必要さえありません。ユニオンは、元の(修正、Gillesの入力のおかげで)正しいものにするためにまだ必要だと思います。したがって、私の最終的な答えはこれです。元のバージョンで私が言ったことに加えて、集合結合に関する言語長セットの閉鎖。


1
{a+bna,b,nN}SN

1
L=L(a)Σ={a,b}LNL¯N+

@Gillesしかし、すべての自然数のセットは有効な長さのセットですよね?自然数のすべてのサブセットを生成しているわけではありませんよね?私はそれが問題になることに同意します。編集:ああ、待って、あなたの言っていることがわかります。はい、あなたが正しい。コンピューターに戻ったときに修正されます。
Patrick87

@Janoma素晴らしい点は、それが私が定義している一連の事柄をどのように変える可能性があるかを考慮する必要があります
...-Patrick87
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.