単項言語は、その指数が線形関数である場合に正規ですか?


13

正式な言語とオートマトンコースの現在の割り当てを行っている間、単項言語(適切な用語であることを望みます)、つまり単一の文字に基づいた言語に関する演習に行き詰まりました。ただし、特定の演習については聞きたくありませんが、私が思いついたはるかに一般的な推測については聞きたくありません。

ましょうと。私の推測は次のとおりです:Σ={a}L={afnΣnN0}

L 定期的ですバツyN0fn=バツn+y

この質問は以前に科学的な治療を見たことがありますか?「明らかに」true / falseですか?

私には、明らかに「」方向は1つがちょうどでDFAを構築することができますので、本当であるを循環していることの状態後の状態を一読した状態と、それは状態番号である場合に限っ受け入れ。バツ+yバツyy


この観察をすることは、普通の学生に期待することではありません!
ラファエル

同意した。これは非常に良い観察です。
リックデッカー

タイトルからは明らかではありませんが、小さな同等の補題まで、以前にこの質問がありました。通常の言語で可能な単語の長さのセットは何ですか?
ジル 'SO-悪であるのをやめる'

回答:


9

リニアは近いですが、あなたが探している専門用語があるsemilinear: 、それは、線形セットの有限和集合です。

この証明の半分は、パリフの定理の帰結です。これは、文脈自由言語には、半線形パリフマップ(つまり、アルファベットの各文字の出現を含むベクトルのセット)があることを示しています。

単項言語の場合、言語のパリクマップは言語自体であるため(つまり、各単語は文字数で一意に識別されます)、すべての単項正規言語は準線形です。

証明の残りの半分は、すべての単項半線形セットを含む通常の言語を構築できることを示しています。これには少し手間がかかりますが、正規表現を使用してもそれほど難しくありません。

  • は言語 { k }を認識しますak{k}
  • 認識 { XのK | X N 0 }ak{バツkバツN0}
  • は、 R 1 S 1を認識し、 R 2 S 2を認識する場合、 S 1 + S 2を認識します。ここで、 +は要素単位の加算ですR1R2S1+S2R1S1R2S2+
  • 認識 S 1S 2を場合 R 1が認識し、S 1 R 2が認識 S 2場所、 | ここに正規表現の結合があります。R1|R2S1S2R1S1R2S2|

6

あなたはほとんど正しいです。あなたは次のように、あなたはいくつかの線形関数を持っているかもしれないという事実を考慮する必要がある またはあなたのような有限の言語、必要がある場合があります L = { kは | K = 4 n + 2  または  k = 13 } (どちらの場合も、通常の言語の和集合を採用しているだけなので、物事は適切に機能します。)

L={akk=3n+1 または k=7n+4}
L={akk=4n+2 または k=13}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.