一部の言語のすべての文字列で構成される言語が、別の言語の一部の文字列が通常のものと同じ長さであることを証明する


8

だから私はこの問題を頭の中で数日間掻き続けてきました。通常の言語とBがある場合、Aのすべての文字列で構成され、その長さがBの一部の文字列と等しい言語Lが通常の言語であることを示します。ABLAB

方程式の形で:

L={x∈A∣∃y∈B s.t. |x|=|y|}

私の最初の考えは、言語とBの両方のDFAを試してみて、2つの状態を相互にマッピングし、うまくいけば、Lが正規であることを証明する新しいDFAを生成できるように1:1の比率を取得することでした。しかし、私はAとBが同じシンボルセット上にある必要はないことに気付きました。 ABLAB

これを解決する正しい方法は通常の言語のクロージャープロパティを使用することだと思いますが、文字列自体ではなく文字列の「長さ」のプロパティを開始/使用する方法がわかりません。

誰かが私を正しい方向に向けることができますか?

回答:


4

の証明を思い出す(または思いつく)

。L1,L2∈REG⟹L1∩L2∈REG

設定の証明を変更する方法はわかりますか?

長さの平等を抽象化して、オートマトンの構造を考え出す

、任意の所与のためのL∈ R E G上Σ。 Ll={w∈Σ∗∣∃x∈L.|x|=|w|}

L∈REGΣ

接続がわかりますか?

今ことに留意されたい。L=A∩Bl


3

ヒント:レッツは、あなたが単語のすべての異なった長さを知っていると仮定、L個のE N (B )= { ℓ 1、ℓ 2、ℓ 3、。。。}。とりあえず、有限であるとしましょう。Blen(B)={ℓ1,ℓ2,ℓ3,...}

この知識を使用して、 DFAを構築できますか?(ヒント:交差、または「クロス積」構造)A

のアルファベットも重要ですか?B

次に、長さのセットである可能性がありますは無限です。次に、その問題も解決するはずのこの質問を見てください。len(B)


2

クロージャプロパティの方法なので、(明示的な)オートマトンはありません。通常の言語は、射、逆射、および(通常の言語との)交差の下で閉じられます。

ΣAΣBABhX:ΣX∗→{1}∗a∈ΣX1hB(B)⊆{1}∗BhA−1(hB(B))BAL=A∩hA−1(hB(B))

さて、ボーナスです。コンテキストフリーの でも機能しますABBhB(B)hA−1(hB(B))L

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