言語定義L
L
言語定義L
L
回答:
コンテキストフリーです。文法は次のとおりです
。S → A | B | A B | B A A → a | a A a | a A b | b A b | b A a B → b | a B a | a B b | b B b | b B a
Aは、 aを中央に持つ奇数長の単語を生成します。Bと bについても同じです。
この文法が正しいことの証明を提示します。してみましょうL = { 、B } *を ∖ { ワットワット| W ∈ { 、B } * }(問題の言語)。
定理。 L = L (S )。つまり、この文法は問題の言語を生成します。
証明。 この文法はすべての奇数長の単語を生成するため、これはLと同様に、すべての奇数長の単語に当てはまります。それでは、偶数の単語に焦点を当てましょう。
仮定のx ∈ Lが偶数の長さを持っています。私はその紹介のx ∈ L (Gを)。特に、xはx = u vの形式で記述できると主張しています。ここで、uとvは長さが奇数で、中心文字が異なります。したがって、xはA BまたはB Aのいずれかから派生できます(uの中央文字がaかbかによって異なります)。主張の正当化:xのi番目の文字を
次仮定するのx ∈ L (Gは)も長さを有します。私たちは持っている必要があることを紹介しますのx ∈ L。xの長さが偶数の場合、A BまたはB Aから導出可能でなければなりません。一般性を失うことなく、A Bから導出可能であり、x = u vで、uはAから導出可能であり、vはBから導出可能であるとします。u とvの長さが同じ場合、u ≠≠でなければなりません
This language is context free it was proved in the following paper:
Tomaszewski, Zach. "A Context-Free Grammar for a Repeated String." Journal of Information and Computer Science, 2012 (PDF).
The grammar is as follows: S→E∣U∣ϵE→AB∣BAA→ZAZ∣aB→ZBZ∣bU→ZUZ∣ZZ→a∣b