通常の言語は追加で閉鎖されていますか?


10

特に私が追加で意味していることは、をアルファベットと定義することです。いくつかのアルファベット下で通常の言語および与えられた場合、見てください。Σi{0,1,2,...,i}ABΣiA×B

すべての順序付きペア、この順序付きペアの「合計」をとして定義します。ここ、とはベースiの数値です。先頭の0は無視されるため、受け入れられたすべての文字列の前にが付きます。これは、が0として定義されていることを意味します。(a,b)A×Ba+bab0ϵ

言語は、そのようなすべての可能な合計を表す文字列のセットです。A+B

これまでのところ、私は知っています:

  • これは単項()に当てはまります。Σ1
  • 有限言語はすべて正規であり、は有限であるため、これはすべての有限正規言語およびに当てはまります。ABA+B
  • 言語 = ssは、基数bのnの倍数です下のは、場合は通常です。これは、形式の任意の言語も追加できることを意味します。これもであり、これも通常です。ただし、 = ssはこの基準に適合しない1}で始まり、1}で終わるため、これはすべての通常の言語を説明しているわけではありません。Cn{|}Σbb>=1CnCi+Cj=Ci+jD{|

2
Aがベース2で規則的であるならば、それはベース3にも規則的であることは事実ではない、考える、例えば、2の累乗
domotorp

なるほど、そうです。私はそれに応じて質問を編集しました。私はそれを証明しようとしていましたが、それは真実のようでした、そしてそれから私は準同型性が何であるかを誤解し、それが真実であると仮定しました。しかし、そうではありません。あるa> 1の基本b ^ aで言語が規則的である場合、他の任意の1 <= c <aの基本b ^(ac)でも規則的です。(たとえば、言語がbase 8で正規である場合、base 8およびdfaをシミュレートするだけで、base 4および2でも正規です)。
Phylliida、2014年

「これは、ϵが0として定義されることを意味します。どういう意味かわかりません。0とϵが同じ場合、0はすべて削除され、数値の解釈は機能しなくなります。
babou 2014年

要点は、空の文字列ϵが順序付けられたペアの場合、他の文字列に0を追加することです。また、先頭に0が付いている文字列は削除できます。たとえば、000101は101と同じです。これは、aが文字列内に単独で表示される場合、合計が0、00、または000 自体としての値と同等であることを意味します。それらの文字列が別の文字列内にある場合、すべての賭けは無効になり、この置換は無効になります。
Phylliida、2014年

回答:


14

はい、そうです。

まず、アルファベット検討、そのシンボル(3桁のパイルに互いに上下に積み重ねられた)数字のトリプルであるが。このアルファベットにわたって、我々は、通常の言語を定義することができますA 3桁の最により形成された文字列が属するA、正規言語のB " 3桁の真ん中によって形成された文字列が属するB、および定期的な言語を上の2つのストリングの合計が下のストリングになるC。A '及びB 'だけ使用がためオートマトン修飾A及びBが、CΣi3AABBCABABC キャリーの1桁のみを状態として保持しながら、右から左にスキャンすることで加算を実行できるという事実を使用しています。

次いで、(交差点の下に閉鎖することによって)である3つの文字列では、1つのスタックを認識する正規言語A、における1 B、および合計で三分の一を。スタックから上位2桁を取り除き、最下位の1桁のみを残す準同型は、これを目的の言語に変換し、結果は準同型のもとでクロージャーが続きます。ABCAB


それは本当に素晴らしいです。あなたがそれらのスタックをそのように使用できるとは思いませんでした。ありがとう!
Phylliida、2014年

確かに、この場合は同じサイズの文字列の合計しか含まれていないため、これは少し危険です。ただし、左側にゼロを追加することで、異なるサイズの文字列の合計を「シミュレート」でき、dfaをすべての受け入れ文字列の前にある0 *を認識する別のdfa(準同型でCを認識するために合計dfaを作成したら)。
Phylliida、2014年

最大の鍵は、AとBを同じように「技術的に変更」して0 * Aと0 * Bにする必要があることだと思います。これを行うと、aとbのペアごとに、 0 * a + 0 * b stの合計には、サイズに一致するのに十分な先行0があり、Cも同じように変更されるため、必要に応じて結果から0を取り除くことができます。それは暗示されていましたか、それとも私が見逃していることをより簡単に見る方法はありますか?
Phylliida、2014年

はい、パディングに関するいくつかの技術がありますが、それらは基本的な考え方を実際に変更するものではないため、省略しました。
David Eppstein

クールです。
Phylliida、2014年

9

はい。このようなオートマトンでも通常の言語しか認識できないため、最後から単語を読み取るNFAを指定します。また、BはそのようなオートマトンM AM Bによって与えられると仮定します。NFAは、すべてのステップでabのそれぞれの数字が何であるかを推測し、加算が正しいことを確認し、M AM Bの新しいそれぞれの状態を計算します。単語の最後で、それはM AM Bの両方が受け入れる場合にのみ受け入れます。ABMAMBabMAMBMAMB

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.