次の言語コンテキストは無料ですか?
sdcvvcで指摘されているように、この言語の単語は、ハミング距離が2以上の同じ長さの2つの単語の連結として説明することもできます。
私はそれが文脈自由ではないと思いますが、私はそれを証明するのに苦労しています。この言語を通常の言語(たとえば、など)と交差させてから 、ポンピング補題および\または準同型を使用しようとしましたが、特徴付けて記述するには複雑すぎる言語が常に得られますダウン。
次の言語コンテキストは無料ですか?
sdcvvcで指摘されているように、この言語の単語は、ハミング距離が2以上の同じ長さの2つの単語の連結として説明することもできます。
私はそれが文脈自由ではないと思いますが、私はそれを証明するのに苦労しています。この言語を通常の言語(たとえば、など)と交差させてから 、ポンピング補題および\または準同型を使用しようとしましたが、特徴付けて記述するには複雑すぎる言語が常に得られますダウン。
回答:
注[2019-07-30]証明が間違っています...質問は思ったよりも複雑です。
ここで失敗した後、それは別のアイデアです。
を通常の言語と交差させると、CF言語が得られます。
おそらく、(正確に4つの1を持つ文字列)を使用すれば、さらに幸運を得ることができます。
ましょう非公式、半分が正確に含むように、2つの半体に分割できる場合、 、または両方の半分は、2つ含まれている sしかし、それらの位置は一致しません。
仮定 CFでありましょうチョムスキー標準形で、その文法であること、およびlet
我々は持っている(偶数の長さ)および
の4つの1を生成できる方法に注意を向けると、図1の上部に3つのケースが表示されます。図1の中央部分は最初のケースを示しています(ただし、他のケースも同様です) 。
図1(全体図はこちらからダウンロードできます)
およびを選択と、1の2つのペアの間のゼロは独立してポンプ可能である必要があります(図の赤いノード):特に、十分に大きい、内部サブツリー(図2のノードX)で重複する非終端ノード、または最初または2番目の1(図2のノードY)へのパスで繰り返されるサブシーケンスを取得します。そこ両者より非終端ノードとすることができる。図2は、簡略少しであることに注意してください S、また、両者の間(しかしとのみ生成最初の右側の0は1)。
図2
したがって、任意のを修正し、最初と2番目の間のゼロのシーケンスで独立してポンピング可能なノードを取得するのに十分な大きさのを選択できます。3番目と4番目の1の間のゼロのシーケンスでは、選択できます。
しかし、は独立してポンプ可能なため、ポンプ可能な部分文字列。つまり、および。取得する文字列は次のとおりです。0 Bの P ≤ のB Y B = X 、Y 、Z 、| y | = p 、| x | ≥ 0 、| z | ≥ 0 、X 、Y 、I、Z = B !+ b
しかし、。したがって、はCFではなく、最後にはCFではありません。
証明が正しい場合(???)、すべての言語に拡張できます
@Hendrik Janに反論された2回の試行の失敗後(ありがとう)、ここに別の試行がありますが、それ以上成功していません。@Vorは、正しい場合に同じ構成が適用される決定論的なCF言語の例を見つけました。これにより、補題の適用における文字列のアンカーのエラーを識別できました。補題自体に問題はないようです。これは明らかに単純すぎる構造です。コメントで詳細を参照してください。
言語はコンテキストフリーではありません。
特性化 を覚えておくと便利です。ここで、dは@sdcvvcによって提案されたハミング距離です。考える必要があるのは、対応するシンボルが異なるように、各ハーフストリングで選択された2つの位置です。
次に、およびが偶数になるような文字列を検討します。2つの1の間のどこかでとカットすることにより、明らかに言語Lになります。この文字列を1の間の最初の部分にポンプでので、になりますが、これは言語にはないはずです。 i < j i + j u x 10 j 10 j
私たちは、最初に使用しようとするオグデンの補題のポンピング補題のようなものです、それだけには適用され、文字列の上にマークされている以上の区別記号マークされたシンボルのためのポンプ長さ(それはまた、ポンピングすることができるので、補題がよりポンピングすることができますマークされていない記号)。ポンピングマーク長は、言語のみに依存します。この試行は失敗しますが、失敗はヒントになります。p p
次に、を選択し、 0の最初のシーケンスにシンボルをマークします。2つの1のいずれもポンプ内にないことを知っています。1つをポンプアウトする代わりに1つ(指数0)をポンプアウトできるためです。1をポンプアウトすると言語から抜け出します。i
ただし、2番目の1の両側を高速でポンピングすることも、右側でさらに高速にすることもできます。これにより、2番目の1がストリングの中央を通過することはありません。また、Ogdenの補題は、ポンピングされるもののサイズの上限を修正しません。したがって、文字列の真ん中を正確に右端の1を取得するようにポンピングを編成することはできません。
ここでは、これらの問題を処理できる修正版の補題、ここではナッシュの補題を使用します。
最初に定義が必要です(おそらく文献に別の名前がありますが、どちらがいいかわかりません-助けてください)。文字列は、シンボルを消去することによりから取得される場合に限り、文字列消去であると言われます。注意します。V V V のuを≺ V
ナッシュの補題は: 場合文脈自由言語である、2つの数値が存在するおよびように、その文字列のためのの少なくとも長さのにおける、および「マーキング」のあらゆる方法以上の位置、のように書くことができる文字列で、、、、、その結果、p > 0 q > 0 w p L p w w w = u x y z v u x y z v
証明:Ogdenの補題の証明に似ていますが、文字列および対応するサブツリーは、同じが2回あるパスを含まないように枝刈りされます(これら2つのサブツリーのルートを除く)。これは、生成される文字列およびのサイズを定数必然的に制限します。ツリーの枝刈りされていないバージョンに対応するの文字列および、主に使用され、補助定理が適用されるときのアカウンティングを簡素化します。、X 、Z 、X 、Z のY、Q 、X jはZ J J ≥ 0 、J = 1
左端の記号0をマークすることにより、上記の証明の試みを修正しますが、記号0 が続き、2つの1の間の文字列の左部分を確実にポンピングします。1の間に合計 0を作成します(実際にはで十分です。なぜなら、右端の1はに存在できず、単に削除できるからです)。2 Q I = P + 2 Q I = P + Q のz
残っているのは、を選択して、正しい数の0を正確にポンピングして、2つのシーケンスが等しくなるようにすることです。しかし、これまでのところ、に対する唯一の制約はより大きいことです。また、各ポンピングでポンピングされる0の数が1からqの間であることもわかっています。したがって、最初の整数の積とします。を選択します。j i h q j = i + h
したがって、ポンピング増分(それが何であれ)はにあるため、除算します。してみましょう商なります。正確に回ポンピングすると、言語にないストリングを取得します。したがって、Lはコンテキストに依存しません。[ 1 、q ] h k k 10 j 10 j
。
木のように美しいひもは決して見ないと思います。
解析がない場合、
文字列は無意味ですが、茶番です