言語所与の長さセット定義内の単語の長さの組として: L L L S(L )= { | あなた| | U ∈ L }
どの整数のセットが通常の言語の長さのセットになりますか?
言語所与の長さセット定義内の単語の長さの組として: L L L S(L )= { | あなた| | U ∈ L }
どの整数のセットが通常の言語の長さのセットになりますか?
回答:
まず、重要ではないが便利な観察:空でないアルファベットの通常の言語である整数セットのセットは選択に依存しませんアルファベットの。それを見るために、を認識する有限オートマトンを考えてください; にある単語の長さは、開始状態から受け入れ状態までのラベルなしグラフとして表示されるオートマトン上のパスの長さです。特に、すべての矢印のラベルを変更し、アルファベット設定された同じ長さの通常の言語を取得できます。逆に、 は、1要素のアルファベットに対する通常の言語であり、より大きなアルファベットに簡単に挿入でき、結果は通常の言語のままです。
したがって、シングルトンアルファベットの単語の長さのセットを探しています。シングルトンアルファベットに、言語は単項で書き出さ長集合である:。このような言語は単項言語と呼ばれます。
してみましょう正規言語であること、および認識決定性有限オートマトン(DFA)を検討。のワードの長さのセットは、開始状態で始まり、受け入れ状態の1つで終わる有向グラフとして見られるDFAのパスの長さのセットです。1要素のアルファベットのDFAはかなり飼いならされています(NFAの方がワイルドです):有限リストまたは循環リストのいずれかです。リストが有限の場合、リストの順序に従って状態をからまで番号付けします。円形の場合、リストの先頭に続くからまでの状態に番号を付け、ループに沿ってからまでの番号を付けます。
ましょう最大の状態を受け入れるのインデックスの集合であり、及びから状態を受け入れるのインデックスの集合であるに。それから
逆に、とを2つの整数とし、と、およびような2つの有限セットにします。次に、セットは通常の言語です:それは言語です上記のDFAによって認識されます。この言語を記述する正規表現はです。 F | G( R )*
英語で要約すると、通常の言語の長さのセットは、特定の値を超える周期¹である整数のセットです。
¹ にハングアップするために十分に確立された概念、周期手段関数である集合の特性関数(我々が持ち上げました関数)は周期的です。特定の値を超える周期は、制限された関数を周期関数に延長できることを意味します。
任意の有限部分集合通常の言語のな長さ、セットすることができあなたは単項アルファベット取ることができるので、と定義するよう(これには空の言語と)。 L { 0 } L { 0 ℓ 1、... 、0 ℓのN } { ε }
無限集合の場合。最終的な答えは十分に明確ではないかもしれませんが、簡単な分析を行います。あなたが私に頼まない限り、私はそれを直観しません。なぜなら、それは直感的だと思うからです。
ましょう言語生成する正規表現もとそれぞれ。それは(一種の)見やすいL 1 L 2
したがって、正規言語の長さにセットすることができる整数の可能なセットは有限のサブセットであるものである、またはそれが有限のサブセットとることによって構築することができるのと前の式を有限回数使用します。S 1、S 2 N
ここでは、正規表現を構築するためのルールを有限回数適用することにより、定義により正規言語が構築されることを使用しています。正規表現では基本ケースとして長さ0と1の単語で始まる場合でも、任意の有限サブセットで開始できることに注意してください。これは、すべての(有限の)単語がアルファベットの記号の(有限の)連結であるという事実によって簡単に正当化されます。
正規言語のためのポンピング補題によると、存在する列のように、の長さが少なくとも等しい:以下の形式で書くことができる:次の3つの条件が成立x n x = u v w | あなたv | < n | v | > 0 のU のV Kのw ∈ L
これにより、セットの1つのテストが得られます。すべての要素が固定超えない任意の整数セットと、未定値倍数(長さ)、プラスいくつかの任意の有限値。m v
言い換えると、通常の言語の言語長の可能なセットは、次のように説明されているセットのセットの結合(コメンターのおかげでEDITおよびEDIT2で説明されているように)に関するクロージャーです修正されおよびすべての有限集合について、通常の言語のポンプ補題によって元のバージョン、それによってセットを定義していました)。、B ∈ N S Nは
編集:もう少し議論。確かに、整数のすべての有限セットは長さセットです。また、2つの長さセットの和集合も長さセットである必要があり、すべての長さセットの補数である必要があります(したがって交差、したがって差)。これは、これらの操作では通常の言語が閉じられているためです。したがって、上記の答えは(おそらく)不完全です。実際には、そのようなセットの結合は、いくつかの通常の言語の長さのセットでもあります(交差、補数、差などを必要とすることを放棄したことに注意してください。 EDIT3で説明されています;他の人が正しい場合でも、実際には組合だけが必要であると思います。
EDIT2:さらに議論。私が答えるのは、基本的にジャノマの答えをもう少し進めた場合に最終的にどこに行くかです。の部分は、クリーネ閉包から来)オートマトンから証明可能な出発連結から来て、和、積、差の議論は、正規表現の+(だけでなく、正規言語の他の閉鎖性)から来補完します。a
EDIT3:Janomaのコメントを踏まえて、最初のEDITで説明した言語長セットのクロージャープロパティを忘れてください。通常の言語にはこれらのクロージャープロパティがあり、すべての通常の言語にはDFAがあるため、通常の言語のポンピングレンマは、通常の言語のすべての共用体、共通部分、補数、および相違に適用されます。 ; ユニオンを除き、これらのいずれかを考慮する必要さえありません。ユニオンは、元の(修正、Gillesの入力のおかげで)正しいものにするためにまだ必要だと思います。したがって、私の最終的な答えはこれです。元のバージョンで私が言ったことに加えて、集合結合に関する言語長セットの閉鎖。