• 締切済み

集合(スター閉包)

集合(スター閉包) 集合について勉強しはじめているのですが、以下の3つの言語の関係が成り立つことを示せという問題についてどのように示せばよいのかがわかりません。 1) {ε}*={ε} 空列は長さ0の文字列ですから、スター演算をしても結局すべて長さ0ということでこの関係が成り立つのでしょうか?その場合どのように示せばいいのでしょうか? 2) L*L*=L* 例えば、L={a}とすると、 L*={ε,a,aa,aaa,aaaa,......}となり、 L*L* = {ε,a,aa,aaa,aaaa,......}・{ε,a,aa,aaa,aaaa,......}となります。 L*ですでに、aで出来る全ての文字列は含まれているので、連結演算しても結局すべて同じ文字列の集合になると思うのですが、これをどのように示せばよいのでしょうか? 3) L*=(L*)* 上の例のようにL={a}とすると、(L*)*={ε,a,aa,aaa,aaaa,......}*となると思うのですが、これも結局aで出来るすべての文字列の集合とあると思うのですが、どのように示せばよいのでしょうか? 注意事項として、2つの集合が同じであると示すには、A⊆B 、B⊆Aの2つを示さなければならないと書いてあります。 2の問題で言えば、L*L* = {ε,a,aa,aaa,aaaa,......}・{ε,a,aa,aaa,aaaa,......}で結局aで出来るすべての文字列の集合ということでL*L*はL*の部分集合。 また同じ理由で、L*はL*L*の部分集合になると思うのですがいまひとつよくわかりません。 どなたかご教授宜しくお願い致します。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

いや, まあ, 「2つの集合が同じであると示すには、A⊆B 、B⊆Aの2つを示さなければならない」わけだから (厳密にはそうとは言い切れないけどこれを示すのが最速であることも多い), この指示に素直に従えばいいだけです. スター閉包の定義をちゃんと理解していれば簡単.

関連するQ&A