正則言語
こんにちは, よねすけです.
正則言語
正則言語とは正則表現で表される言語のことです. 同値な表現方法として以下があります.
すなわち上の4つの表現方法はいずれも能力として等価であるということです.
正則言語の閉包性
正則言語には閉包性という性質があります. 具体的には正則言語について,
- は正則言語
- は正則言語
- は正則言語
などです. それぞれ証明しましょう.
証明
- は正則言語なのであるで認識される言語です. として, 次のオートマトンを考えます. とすると, 受理状態と非受理状態が綺麗に入れ替わることが分かるのでとなり, もで受理できることが分かりました. よっても正則言語です.
- は正則言語なのである正則表現を用いて, と書くことが出来ます. このとき正則表現の書き方からはと一致することが分かります. よって正則言語の和集合もまた正則表現になることが分かります.
- がド・モルガンの公式から分かるので上に証明したことから正則言語の積集合もまた正則言語であることが分かります.
正則言語の閉包性の証明には正則表現の4つの表現方法をうまく活用することで簡単に示すことが出来ます.
正則言語の性質
正則言語の性質としてPumping Lemmaがあります.
Pumping Lemma
を正則言語とします. あるで, 長さ以上のすべてのに対してと分解します. そうするとについて
- に対して,
です.
Pumping Lemmaは正則言語そのものよりも考える言語が正則言語で無いことを示す事によく使われます. 例えばが正則言語でないことはPumping Lemmaの逆から示されます.
それでは