タグ付けされた質問 「regular-languages」

通常の言語と個々の言語のクラスのプロパティに関する質問。

3
通常のポンピング補題を使用した証明
2つの質問があります。 次の言語を検討します 言い換えれば、は長さが均一な回文ではありません。この言語は、その補語が規則的でないことを証明することによって、規則的でないことを証明しました。私の質問は、補数を超えて使用せずに、ポンピングレンマを使用してそれを証明する方法です。wL1= { W ∈ { 0 、1 }∗| ∄ U ∈ { 0 、1 }∗:w = u uR} 。L1={w∈{0,1}∗∣∄u∈{0,1}∗:w=uuR}.L_1= \{ w\in \{0,1\}^* \mid \not \exists u\in \{0,1\}^* \colon w= uu^R\}.www してみましょう 等価クラスを使用することで、この言語が規則的でないことを証明しました。ポンプレンマを使用してそれをどのように証明できますか?L2= { W ∈ { 0 、1 }∗∣ wに は、101個の部分文字列と010個の部分文字列の数が同じです} 。L2={w∈{0,1}∗∣w has same number of 101 substrings …

3
一部の言語のすべての文字列で構成される言語が、別の言語の一部の文字列が通常のものと同じ長さであることを証明する
だから私はこの問題を頭の中で数日間掻き続けてきました。通常の言語とBがある場合、Aのすべての文字列で構成され、その長さがBの一部の文字列と等しい言語Lが通常の言語であることを示します。AAABBBLLLAAABBB 方程式の形で: L={x∈A∣∃y∈B s.t. |x|=|y|}L={x∈A∣∃y∈B s.t. |x|=|y|}L = \{x \in A \mid \exists y \in B \text{ s.t. } |x| = |y| \} 私の最初の考えは、言語とBの両方のDFAを試してみて、2つの状態を相互にマッピングし、うまくいけば、Lが正規であることを証明する新しいDFAを生成できるように1:1の比率を取得することでした。しかし、私はAとBが同じシンボルセット上にある必要はないことに気付きました。 AAABBBLLLAAABBB これを解決する正しい方法は通常の言語のクロージャープロパティを使用することだと思いますが、文字列自体ではなく文字列の「長さ」のプロパティを開始/使用する方法がわかりません。 誰かが私を正しい方向に向けることができますか?

1
が規則的でないこと
ことを示す規則的ではありませんL = { aん2| N≥0}L={an2|n≥0}L=\{a^{n^2} | n \geq 0\} やあみんな。私はCSクラスを受講していますが、これは私にとって本当に新しいことなので、我慢してください。私は通常の言語でポンプレンマを使用して矛盾があるかどうかを確認しようとしましたが、次のように解決しました。 仮定規則的です。次に、長さLのすべての単語zに自然数mが必要です。z | ≥ mは、と分解が存在するZは= Uは、V wは、| u v | ≤ メートル、| v | > 0、その結果、Uは(V I)wは任意の言語であり、I ≥ 0。LLLメートルmmzzzLLL| z| ≥メートル|z|≥m|z| \geq mz= u v w 、| u v | ≤ メートル、| v | > 0z=uvw,|uv|≤m,|v|>0z = uvw, |uv| \leq m, …

1
通常の言語が周期演算子の下で閉じられていることを証明する
私は数日で試験を受けましたが、このタスクを解決するのに問題があります。 してみましょうアルファベットを超える正規言語も。私たちは、運転してい そして今、我々は示すべきであることも定期的です。LLLΣΣ\Sigmacycle(L)={xy∣x,y∈Σ∗ and yx∈L}cycle⁡(L)={xy∣x,y∈Σ∗ and yx∈L}\operatorname{cycle}(L) = \{ xy \mid x,y\in \Sigma^* \text{ and } yx\in L\}cycle(L)cycle⁡(L)\operatorname{cycle}(L) 参照は、DFAを a -NFA withおよび 状態。D=(Q,Σ,δ,q0,F)D=(Q,Σ,δ,q0,F)D=(Q,\Sigma,\delta, q_0, F)L(D)=LL(D)=LL(D) = Lϵϵ\epsilonNNNL(N)=cycle(L)L(N)=cycle⁡(L)L(N) = \operatorname{cycle}(L)2⋅|Q|2+12·|Q|2+12 · |Q|^2 + 1

3
Cスタイルの/ ** /コメントの正規表現の導出
私はCスタイル言語のパーサーに取り組んでおり、そのパーサーにはCスタイルの/ ** /コメントに一致する正規表現が必要です。今、私はこの表現をウェブ上で見つけました: /\*([^\*]*\*+[^\*/])*([^\*]*\*+|[^\*]*\*/ しかし、ご覧のとおり、これはやや乱雑な表現であり、実際に一致させたいかどうかが正確に一致するかどうかはわかりません。 それらが本当に正しいことを手動で簡単に確認でき、その後上記の正規表現に変換可能(「コンパイル可能」)な正規表現を(厳密に)定義する別の方法はありますか?


1
ポンピングレンマ証明の何が問題になっていますか?
言語は明らかに規則的です。たとえば、正規表現と一致します。しかし、次のポンプ補題の議論は、それが規則的でないことを示しているようです。何が問題になっていますか?L={02n | n≥0}L={02n | n≥0}L = \{0^{2n} \space |\space n \ge 0 \}(00)∗(00)∗(00)^* 入力をポンピングレンマの要件を満たすとして分割する方法を見つけましたが、すべてのに対しては限り ません。それは言語が規則的ではないことを意味しませんか?sssxyzxyzxyzxyiz∈Lxyiz∈Lxy^iz\in Liii より詳細には、定期的な言語のためのポンピング補題は、言語の場合には、言う 規則的である、長さ、ポンプが存在する任意の文字列を指定するようなしてのように書くことができなどをそれ:LLLp≥1p≥1p \ge 1s∈Ls∈Ls\in L|s|>p|s|>p|s|> ps=xyzs=xyzs = xyz |y|≥1|y|≥1\lvert y \rvert \ge 1 |xy|≤p|xy|≤p\lvert xy \rvert \le p xyiz∈Lxyiz∈Lxy^iz\in Lのすべてのための。i≥0i≥0i \ge 0 それで、を取り、それを(つまり、、、)。これは1と2を満たしますが、場合、が得られますが、これは含まれていません。 は長さが奇妙なので。結局のところ、その言語は規則的ではないようです。s=02ps=02ps = 0^{2p}s=ϵ002p−1s=ϵ002p−1s=\epsilon\, 0 \, 0^{2p-1}x=ϵx=ϵx = \epsilony=0y=0y = 0z=02p−1z=02p−1z = …

1
言語が(ir)regularであることの証明(標準的な方法は失敗しました)
私は現在、(個人的な娯楽のために)正規の言語を証明しようとしています。言語は次のとおりです。 バイナリでエンコードされたときにビットパリティさえも持つ3進数のすべての数値を含む言語。 現在、私はいくつかの異なるアプローチを試しましたが、成功しませんでした。私はポンピングレンマ(ポンピングできるものが見つからなかった)、Myhill-Nerode(同様)を使用してみましたが、ステートメントが真である各長さの文字列の数を数えました(私の直感は、確率論的議論)。 ここで役立つかもしれない他のアプローチはありますか、または役立つかもしれない直感はありますか?この時点で、私はおそらくその言語は規則的ではないと思いますが、私は説明をすることができないようです。

4
ポンプレンマの長さ制限はどこから来るのですか?
言語について LLL ポンピング長さ ppp、および文字列 s∈Ls∈Ls\in L、ポンピング補題は次のとおりです。 通常版:|s|≥p|s|≥p|s| \geq p、その後 sss 次のように書くことができます xyzxyzxyz、以下の条件を満たす: |y|≥1|y|≥1|y|\geq 1 |xy|≤p|xy|≤p|xy|\leq p ∀i≥0:xyiz∈L∀i≥0:xyiz∈L \forall i\geq 0: xy^iz\in L コンテキストフリーバージョン:|s|≥p|s|≥p|s| \geq p、その後 sss 次のように書くことができます uvxyzuvxyzuvxyz、以下の条件を満たす: |vy|≥1|vy|≥1|vy|\geq 1 |vxy|≤p|vxy|≤p|vxy|\leq p ∀i≥0:uvixyiz∈L∀i≥0:uvixyiz∈L \forall i\geq 0: uv^ixy^iz\in L 私の質問はこれです。誰かが規則性(文脈自由性)が上記の1番目と2番目の条件をどのように暗示するかについて簡潔で明確な説明を与えることができますか?ポンピングの長さは、(有限の)プロパティ(それぞれ、有限数の状態または有限のプロダクションルールのプロパティ)によって決定されます。3番目のプロパティは、状態(プロダクションルール)が任意に何度もスキップまたは繰り返されることを保証しますが、最初のそして2番目の条件は発生しますか?彼らはどのように正当化されますか?

2
Myhill-Nerodeとクロージャーのプロパティ
通常の言語は、マイヒルとネロードの等価性によって特徴付けられることはよく知られています。言語の場合はを超える同値定義上すべてのためのIFF ^ * \シグマにおけるz \我々が持っているLでL \ IFF YZ \に\ XZを。その場合、Lは正規であり、\ sim_Lが有限インデックスである場合、つまり有限数の同値類を持つ場合。LLLΣ∗Σ∗\Sigma^*x∼Lyx∼Lyx\sim_L yΣ∗Σ∗\Sigma^*z∈Σ∗z∈Σ∗z\in\Sigma^*xz∈L⟺yz∈Lxz∈L⟺yz∈Lxz\in L \iff yz\in LLLL∼L∼L\sim_L この関係を使用して、同等ではない文字列を無限に示すことにより、一部の言語が正規でないことを示すことができることを知っています。 私の質問:Myhill-Nerodeを使用して、通常の言語のクロージャプロパティを簡単に表示できますか?または、言語の「構文上の合同」を使用する必要がありますか? x \ sim_L yはx \ sim _ {\ mbox {pref}(L)} yをx∼Lyx∼Lyx\sim_L y意味するため、接頭辞の例としては簡単です。しかし、サフィックス、連結、スター、ミラーをどのように処理するのでしょうか。x∼pref(L)yx∼pref(L)yx\sim_{\mbox{pref}(L)} y


1
1つのストリングのサブシーケンスで他のストリングのサブシーケンスではない
しましょう ΣΣ\Sigma アルファベットにしてみましょう x+,x−1,…,x−n∈Σ∗x+,x1−,…,xn−∈Σ∗x^+,x^-_1,\dots,x^-_n \in \Sigma^*そのアルファベットの文字列である。文字列を呼び出すs∈Σ∗s∈Σ∗s \in \Sigma^* 良ければsss のサブシーケンスです x+x+x^+ のサブシーケンスではない x−1,…,x−nx1−,…,xn−x^-_1,\dots,x^-_n。 与えられた x+,x−1,…,x−nx+,x1−,…,xn−x^+,x^-_1,\dots,x^-_n、私は最短の良い文字列を探しています sss。これに適したアルゴリズムはありますか?ワーストケースの実行時間がそれほど長くない場合でも、実用的なアルゴリズムに興味があります。私のドメインでは、文字列x+,x−1,…,x−nx+,x1−,…,xn−x^+,x^-_1,\dots,x^-_n かなり長いかもしれませんが、良い紐が存在すると思います sss それが役立つ場合、それはかなり短いです。 ケース n=1n=1n=1ある文字列の最下位サブシーケンスによって処理されます。これは別の文字列のサブシーケンスではありませんが、ケースに対処する必要がありますn>1n>1n>1。

1
通常の言語のクローズは、特定のカット操作の下でクローズされます
ましょう整数関数です。言語場合、次を定義しますf:N→Nf:N→Nf : \mathbb{N} \to \mathbb{N}LLL f(L)={w∣∃x:|x|=f(|w|) and wx∈L}f(L)={w∣∃x:|x|=f(|w|) and wx∈L}f(L) = \{w \mid \exists x : |x| = f(|w|) \text{ and } wx \in L\} たとえば、これは「半分」の演算であり、通常の言語はこの下で閉じられることがよく知られています-前方と後方を同時に歩くだけです(後方に歩くと、可能なすべてのパスが試行されます。サブセットの構築)。f(n)=nf(n)=nf(n) = n HMUによると、通常の言語も関数を使用してクローズされます。、またはそのことについての任意の線形関数については、簡単に確認できます。速度に関係なく、後ろに歩いただけです。これはまたはどのように実行できますか?これまでのステップ数を覚えておく必要があるため、速度を上げるだけでは実現不可能と思われます。2n,n2,2n2n,n2,2n2n, n^2, 2^n2n2n2nん2n2n^22ん2n2^n また、がこの特性を持つ一般的な十分な条件を取得するために、ソリューションを適応できますか?(私は必要十分な条件があるとは思いませんが、間違って証明されたいと思います)fff

1
すべての州が受け入れるNFAの普遍性問題の複雑さはどのくらいですか?
NFAの普遍性の問題(かどうかの決定)がことはよく知られています。しかし、NFAのすべての州が受け入れていることがわかっている場合はどうなりますか?反例(一般的なNFAの場合とは異なります)は入力のサイズ(状態数)が多項式(線形であっても)であるため、問題はせいぜい -にあるようです。この問題の複雑さは何ですか?L(A)=Σ∗L(A)=Σ∗L(A)=\Sigma^*PSPACEPSPACEPSPACEcococoNPNPNP

3
特定の言語の規則性を証明する
私はこの問題をこの1時間ほどいじっていて、信じられないほど困惑しています。 レッツA={0ku0k∣k≥1 and u∈Σ∗}A={0ku0k∣k≥1 and u∈Σ∗}A = \{\; 0^ku0^k \mid k ≥ 1 \text{ and }u ∈ Σ^*\;\}。ことを示しAAA規則的です。 この言語は明らかにパンピング補題を満たしていますが、それは規則性を決定付けるものではありません。この言語が正規であることをいったいどのように証明しますか?私はすべての通常の方法(閉ざされているなど)を知っていますが、私が一生続けるには適切な条件を理解することができません。

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