講義のスライズのプリンター版

正規表現と
の定理
渕野 昌
神戸大学大学院 システム情報学研究科
情報基礎特論 年前期講義
! "#$ % !& '(
渕野 昌 正規表現と の定理 正規表現と有限オートマトン
空でない記号の有限集合 アルファベット
記号の有限列の全体をあらわす.
に対し, £ で
定理 . をアルファベットとするとき,
は同値である
£
に対して次
ある正規表現 に対し,
ある非決定的有限オートマトン に対し,
£ は
£ を受理する となる.
£ £
は にマッチする
の
となる.
ある 決定的 有限オートマトン
に対し,
£
¼
£
¼
は を受理する となる.
¼
上の定理の証明は,特に, を満たすような が与えられたと
き,それに対応する を作り, から ¼ を作るアルゴリズムを
与えるものとなっている.
この応用として, がある.
渕野 昌 正規表現と の定理 正規表現と有限オートマトン
空でない記号の有限集合 アルファベット
記号の有限列の全体をあらわす.
に対し, £ で
定理 . をアルファベットとするとき,
は同値である
£
に対して次
ある正規表現 に対し,
ある非決定的有限オートマトン に対し,
£ は
£ を受理する となる.
£ £
は にマッチする
の
となる.
ある 決定的 有限オートマトン
に対し,
£
¼
£
¼
は を受理する となる.
¼
£ の部分集合を 言語 とよぶ
の要素を 語 とよぶ.
この言葉の使い方は後出の論理での 言語 とは異る!.
£
£ は上の定理の " "
言語 を満たすとき,正規言語 正則言語
のどれか,またはすべて
# ## とよばれる.
渕野 昌 正規表現と の定理 有限構造としての語
をアルファベットとして,
として,有限構造 文字列構造
$ %%%" & ¼ ½
£
とするとき.
を
¾
& 上の通常の大小関係,
のこととする. ただし は数 $ %%%" は $ %%%" & 上の & 変数関係で,
となるものとする.
¾ を とよぶ
この構造の 述語論理の意味での 言語 ことにする.
述語論理の
する.
文 に対し,£ £
例 . とする. を とすると,£ £ £ £ である.
と
渕野 昌 正規表現と の定理 有限構造としての語
をアルファベットとして,
として,有限構造 文字列構造
$ %%%" & ¼ ½
£
とするとき.
を
¾
& 上の通常の大小関係,
のこととする. ただし は数 $ %%%" は $ %%%" & 上の & 変数関係で,
となるものとする.
¾ を とよぶ
この構造の 述語論理の意味での 言語 ことにする.
述語論理の
する.
文 に対し,£ £
演習問題 . とする.このとき,£ なるような '文 を求めよ.
と
£
と
渕野 昌 正規表現と の定理 正規言語と述語論理
定理 の定理 の一部. をアルファベットとし
て を述語論理の '文とするとき, £ は正規言語である.
(% の構成に関する帰納法による.
として,£ は £ の形で表わせない.
命題 ).
(%
各自然数 に対し,
に対応する文字列構造を
個
とあらわすことにする.
£ は偶数 である.
*
'+,- の定理を応用すると,任意の自然数 に対し
十分に大きな をとると すべての ¼ " ¼¼ に対し,
が成り立つ,ことが示せる.
¦
このことから,任意の '論理式 に対して £ が £ と一
¼
¼¼
致しないことがわかる.
渕野 昌 正規表現と の定理 正規言語と述語論理
定理
)% と命題 .% から
命題論理の文 により £ と表わせる言語の全体
正規言語の全体
である.実は次が成り立つ
£ が述語
定理 言語 £
論理の文 によって と表わせるのは, が '
な言語であるちょうどそのときである.
アルファベット
体であるとは,
に対する が な言語の全
" すべての に対し,
は 集合の ブール演算に関して閉じている
" ¼ なら ¼ ¼ ¼ ¼ を満たすような最小の族となっていることである.
をある に対する な言語の全体として, るとき, は な言語 である,という.
とな
正規言語と な 階の論理
渕野 昌 正規表現と の定理 述語論理を以下のようにして拡張する
新しい ) 階の な 変数記号 " "%%% を用意しておく.
'論理式の生成規則に次の規則を加える
が '項で が ) 階の な変数記号なら, は論
理式である.
が論理式で が
な変数記号なら, " も論理
式である.
'構造 で, な変数記号は の部分集合と解
釈する.
¼ %%%" ½ を '項として を な変数記号とす
るとき, " ¼ %%%" ½ として,
/ ¼ %%%" ½ 0 ¼ %%%" ½ とする.
ある に対し, とする.
の定理
渕野 昌 正規表現と の定理 £ が正規言語となるのは,
言語 £ な ) 階論理の '文 で, £ となるものがある丁度そのときである.
定理
(%
£ なら は正規言語となることの証明は の構成に関する帰納法で示せる.
ある決定性有限オートマトン に対し, £ となっている
として,¼ "%%%" が の内部状態のすべてで, ¼ が初期状態 が停止状態とする.
な2階算術の '文 を とする.
ただし, はこの文を " ¼ ½ で解釈したとき,
"%%%" は $ %%%" & の分割で, を の上で走らせ
たとき なら, のヘッドが 番目の記号に移動したと
きの内部状態は で, $" & である
を表現するものとする.
このとき, £ である.
参考文献等
渕野 昌 正規表現と の定理 1'* (" 2# " 3 *4
5 6
74 89 &::9" &98;&<8%
有限モデルを用いた 問題へのアプローチも可能である.
理論コンピュータ科学の人類への貢献度に関する認識は文化圏で
大きく異る.たとえば,
4==%>4%#=>=)$
? 4==@%>4%#=>=)$A*9A3BA:<A*CA39AB$?%*C%5C%:&%*8%5D%5<%*.%B.%33%*<%B5%B$%*B%5&%:.
ᩘᏛᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹㻌㻞㻜㻝㻠
㼔㼠㼠㼜㻦㻛㻛㼗㼡㼞㼠㻚㼟㼏㼕㼠㼑㼏㻚㼗㼛㼎㼑㻙㼡㻚㼍㼏㻚㼖㼜㻛㼪㼒㼡㼏㼔㼕㼚㼛㻛㼟㼑㼠㻙㼠㼔㼑㼛㼞㼥㻞㻜㻝㻠㻛㼗㼕㼟㼛㼞㼛㼚㻙㼟㼡㼙㼙㼑㼞㼟㼏㼔㼛㼛㼘㻙㻝㻠㻚㼔㼠㼙㼘
᪥ᮏᩘᏛ఍㻌ᩘᏛᇶ♏ㄽ䛚䜘䜃Ṕྐศ⛉఍䛾⿵ຓ䜢ཷ䛡䛶ẖኟ㛤ദ䛥䜜䛶䛔䜛䚷ᩘ
ᩘ Ꮫᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹䚷䛿䠈㻌ẖᖺ䛤䛸䛻䝔䞊䝬䜢Ỵ䜑䛶䠈ᩘᏛᇶ
♏ㄽ㻌㻔ᩘ⌮ㄽ⌮Ꮫ㻕㻌䛾ྛ◊✲ศ㔝䛷䛾ᑓ㛛ᐙ䛾᪉䜢ㅮᖌ䛸䛧䛶䛚ᣍ䛝䛧䛶䠈㻌ධ㛛ⓗ䛺ෆᐜ䛛䜙᭱᪂䛾ヰ㢟䜎䛷䛥䜎䛦䜎䛺ㅮ⩏䜢䛧䛶䛔䛯䛰䛔䛶䛔䜎䛩䠊
㞟 ྜㄽ䚷㻔≉䛻ᙉ
ᙉ ไἲ⌮ㄽ㻕㻌䛷䛩䠊
㻞㻜㻝㻠ᖺᗘ䛾䝔䞊䝬䛿䚷㞟
௒ᅇ䛾䝃䝬䞊䝇䜽䞊䝹䛷䛿䠈௨ୗ䛾㻟ே䛾ㅮᖌ䛻䜘䜚㻌㻝㻥㻢㻜ᖺ௦௨㝆䠈㻌㞟ྜㄽ䛾୰ᚰⓗ䛺ᡭἲ䛸䛺䛳䛶䛔䜛ᙉไἲ㻌㻔㼒㼛㼞㼏㼕㼚㼓㻕㻌䛾ධ㛛䛾䝔䝳䞊䝖䝸䜰䝹䜢⾜
䛺䛖ணᐃ䛷䛩䠊
ᩘ⌮ㄽ⌮Ꮫ䜢◊✲䠋ຮᙉ䛧䛶䛔䜛◊✲⪅䠋Ꮫ⏕䛾᪉䠈ᩘᏛ䛾௚䛾ศ㔝䛾◊✲⪅䠋Ꮫ⏕䛷㻌㼒㼛㼞㼏㼕㼚㼓㻌䜢౑䛳䛶䜏䛯䛔䛸ᛮ䛳䛶䛔䜙䛳䛧䜓䜛᪉䠈㻌㼒㼛㼞㼏㼕㼚㼓㻌䛾䜰
䜲䝕䜰䜢⮬ศ䛾◊✲䛻⏕䛛䛧䛯䛔䛸ᛮ䛳䛶䛔䜙䛳䛧䜓䜛ィ⟬ᶵ⛉Ꮫ䛺䛹㞄᥋ศ㔝䛾◊✲⪅䠋Ꮫ⏕䛾᪉䠈㻌⌧௦ⓗ䛺㞟ྜㄽ䛾ព࿡䜢⌮ゎ䛧䛯䛔䛸ᛮ䛳䛶䛔
㻝㻌㻛㻌㻞
㻞㻜㻝㻠㻛㻜㻢㻛㻜㻞㻌㻞㻦㻡㻝
ᩘᏛᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹㻌㻞㻜㻝㻠
㼔㼠㼠㼜㻦㻛㻛㼗㼡㼞㼠㻚㼟㼏㼕㼠㼑㼏㻚㼗㼛㼎㼑㻙㼡㻚㼍㼏㻚㼖㼜㻛㼪㼒㼡㼏㼔㼕㼚㼛㻛㼟㼑㼠㻙㼠㼔㼑㼛㼞㼥㻞㻜㻝㻠㻛㼗㼕㼟㼛㼞㼛㼚㻙㼟㼡㼙㼙㼑㼞㼟㼏㼔㼛㼛㼘㻙㻝㻠㻚㼔㼠㼙㼘
䜙䛳䛧䜓䜛⛉ᏛဴᏛ䛾◊✲⪅䠋Ꮫ⏕䛾᪉䠈㻌㊃࿡䛷㞟ྜㄽ䛾ຮᙉ䜢䛥䜜䛶䛔䜛᪉䠈䛺䛹ᵝ䚻䛺⫼ᬒ䜢ᣢ䛳䛯ཧຍ⪅䜢ᮇᚅ䛧䛶䛔䜎䛩䠊
ཧຍⓏ㘓䜔ཧຍ㈝䛺䛹䛿䛒䜚䜎䛫䜣䛜䠈ཧຍ⪅䛾ᴫᩘ䜢ᢕᥱ䛧䛯䛔䛾䛷䠈㻌ཧຍ䜢ᕼᮃ䛥䜜䜛᪉䛿䠈㻌㻥᭶㻝㻤᪥㻔ᮌ㻕㻌䛻ணᐃ䛧䛶䛔䜛ኤ㣗఍䛾ཧຍᕼᮃ䜒ྵ
䜑䛶䠈㻥᭶㻥᪥䜎䛷䛻௨ୗ䛾㻌㼑㼙㼍㼕㼘㻌㼍㼐㼐㼞㼑㼟㼟㻌䜎䛷㐃⤡䜢䛚㢪䛔䛧䜎䛩䠊㻌䛭䛾௚䠈ᮏ䝃䝬䞊䝇䜽䞊䝹䛻㛵䛩䜛㉁ၥ䛺䛹䜒௨ୗ䛾䝯䞊䝹䜰䝗䝺䝇䛻䛚㢪䛔䛧䜎
䛩䠊
ⷧⴥ㻌Ꮨ㊰㻌㻔⚄ᡞ኱Ꮫ㻕㻦㻌ᙉไἲ䛾䛯䜑䛾๓ᥦ▱㆑䠈ᙉไἲ䛾ᛂ⏝
ụୖ㻌኱♸㻌㻔⚄ᡞ኱Ꮫ㻕㻦㻌ᙉไἲධ㛛㻌㻔㼙㼍㼕㼚㻌㼠㼡㼠㼛㼞㼕㼍㼘㻕
ῲ㔝㻌ᫀ㻌㻔⚄ᡞ኱Ꮫ㻕㻦㻌཯᚟ᙉไἲධ㛛
㐣ཤ䛾ᩘᏛᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹
㐣ཤ䛾㞟ྜㄽ䜢䝔䞊䝬䛸䛧䛯ᩘᏛᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹㻦䚷䚷㻌㻝㻥㻥㻣ᖺ㻌㻔෗┿㞟㻕䚷䚷㻌㻞㻜㻜㻞ᖺ䚷䚷㻌㻞㻜㻜㻣ᖺ䚷䚷
௒ᖺ䠈᪥ᮏ䛷㛤䛛䜜䜛㞟ྜㄽ㛵㐃䛾䛭䛾௚䛾఍ྜ㻦䚷䚷㻌㻾㻵㻹㻿㻌㞟ྜㄽ䝽䞊䜽䝅䝵䝑䝥㻌䚷䚷㻌㼃㼛㼞㼗㼟㼔㼛㼜㻌㼛㼚㻌㻹㼍㼠㼔㼑㼙㼍㼠㼕㼏㼍㼘㻌㻸㼛㼓㼕㼏㻌㻞㻜㻝㻠
ᩘᏛᇶ♏ㄽ䝃䝬䞊䝇䜽䞊䝹㻞㻜㻝㻠ᐇ⾜ጤဨ㻦
ῲ㔝㻌ᫀ㻌㻔௦⾲⪅㻦㻌⚄ᡞ኱Ꮫ㻕䠈㻌㻱㻙㼙㼍㼕㼘㻦㻌㼒㼡㼏㼔㼕㼚㼛㻔㻷㻭㻕㼐㼕㼍㼙㼛㼚㼐㻔㻼㻕㼗㼛㼎㼑㻙㼡㻔㻼㻕㼍㼏㻔㻼㻕㼖㼜
䚷䚷㻌䚷㻌䚷䚷䚷㻌䚷䚷䚷䚷㻌㻔㻎㻔㻷㻭㻕㻎㻌㼍㼚㼐㻌㻎㻔㻼㻕㻎㻌㼍㼞㼑㻌㼠㼛㻌㼎㼑㻌㼞㼑㼜㼘㼍㼏㼑㼐㻌㼎㼥㻌㻓㼍㼠㻌㼟㼕㼓㼚㻓㻌㼍㼚㼐㻌㻓㼐㼛㼠㻓㻌㼞㼑㼟㼜㼑㼏㼠㼕㼢㼑㼘㼥㻕
㓇஭㻌ᣅྐ㻌㻔⚄ᡞ኱Ꮫ㻕䠈㻌ⷧⴥ㻌Ꮨ㊰㻌㻔⚄ᡞ኱Ꮫ㻕䠈㻌౫ᒸ㻌㍤ᖾ㻌㻔㟼ᒸ኱Ꮫ㻕
㻸㼍㼟㼠㻌㼙㼛㼐㼕㼒㼕㼑㼐㻦㻌㼃㼑㼐㻌㻹㼍㼥㻌㻞㻝㻌㻞㻟㻦㻜㻡㻦㻡㻥㻌㻗㻜㻥㻜㻜㻌㻞㻜㻝㻠
㻞㻌㻛㻌㻞
㻞㻜㻝㻠㻛㻜㻢㻛㻜㻞㻌㻞㻦㻡㻝