1

何よりも、そうです、これはコースワークからのものであり、私は別のプロジェクトを扱っている間、散発的にそれに取り組んできました。

言語は、(端子'a'および'b'の)文字列で構成されます。ここで、aの数=bの数です。上記の言語を定義する文法の生成規則を見つけようとしています。

より正式には、L(G)= {w | Na(w)= Nb(w)}

したがって、L = {ϵ、ab、aabb、abab、abba、bbaa、...など}のようになります。

ヒント、または解決策に関連する問題でさえ、現在の問題をよりよく理解するのに役立つ可能性があります。

4

2 に答える 2

1

私はこれだと思います:

S -> empty  (1)
S -> aSb    (2)
S -> bSa    (3)
S -> SS     (4)

編集:ルールを変更しました。制作方法は次のとおりですbbaaabab

S ->(4) SS ->(4) SSS ->(3) bSaSS ->(3) bbSaaSS -> (1)bbaaSS 
  ->(2) bbaaaSbS ->(2) bbaaaSbaSb ->(1)bbaaabaSb ->(1) bbaaabab
于 2011-09-07T11:08:11.033 に答える
1

別のヒント:すべてのステップでNa(w)= Nb(w)が保証されるように、すべてのプロダクションルールを記述します。

于 2011-09-07T11:02:17.760 に答える