|
|
Line 1: |
Line 1: |
| | | Hi there, I am Alyson Boon even though it is not the title on my birth certificate. For years he's been residing in Mississippi and he doesn't plan on altering it. Distributing manufacturing has been his occupation for some time. The free tarot readings - [http://Chungmuroresidence.com/xe/reservation_branch2/152663 http://Chungmuroresidence.com/xe/reservation_branch2/152663] - favorite hobby for him and his children is to perform lacross and he would by no means give it up.<br><br>my web-site; [http://gcjcteam.org/index.php?mid=etc_video&document_srl=696611&sort_index=regdate&order_type=desc good psychic] readings online ([http://isaworld.pe.kr/?document_srl=392088 Privacy of Data: This tool is built-with and functions-in Client Side JavaScripting, so only your computer will see or process your data input/output.a cool way to improve]) |
| In [[formal language]] theory, and in particular the theory of [[nondeterministic finite automata]], it is known that the '''union of two regular languages''' is a [[regular language]]. This article provides a proof of that statement.
| |
| | |
| ==Theorem==
| |
| | |
| For any regular languages <math>L_{1}</math> and <math>L_{2}</math>, language <math>L_{1}\cup L_{2}</math> is regular.''
| |
| | |
| ''Proof''
| |
| | |
| Since <math>L_{1}</math> and <math>L_{2}</math> are regular, there exist [[Nondeterministic finite automaton|NFAs]] <math>N_{1},\ N_{2}</math> that recognize <math>L_{1}</math> and <math>L_{2}</math>.
| |
| | |
| Let
| |
| | |
| ::<math> N_{1} = (Q_{1},\ \Sigma ,\ T_{1},\ q_{1},\ A_{1})</math>
| |
| | |
| ::<math> N_{2} = (Q_{2},\ \Sigma ,\ T_{2},\ q_{2},\ A_{2})</math>
| |
|
| |
| Construct
| |
| | |
| ::<math>N = (Q,\ \Sigma ,\ T,\ q_{0},\ A_{1}\cup A_{2})</math>
| |
|
| |
| where
| |
| | |
| ::<math>Q = Q_{1}\cup Q_{2}\cup\{q_{0}\}</math>
| |
| | |
| ::<math>T(q,x) = \left\{\begin{array}{lll}
| |
| T_{1}(q,x) & \mbox{if} & q\in Q_{1} \\
| |
| T_{2}(q,x) & \mbox{if} & q\in Q_{2} \\
| |
| \{q_{1}, q_{2}\} & \mbox{if} & q = q_{0}\ and\ x =\epsilon\\
| |
| \emptyset & \mbox{if} & q = q_{0}\ and\ x\neq\epsilon
| |
| \end{array}\right.
| |
| </math> | |
| | |
| In the following, we shall use <math>p\stackrel{x,T}{\rightarrow}q</math> to denote <math>q\in E(T(p,x))</math>
| |
| | |
| Let <math>w</math> be a string from <math>L_{1}\cup L_{2}</math>. [[Without loss of generality]] assume <math>w\in L_{1}</math>.
| |
| | |
| Let <math>w = x_{1}x_{2}\cdots x_{m}</math> where <math>m\geq 0, x_{i}\in\Sigma</math>
| |
| | |
| Since <math>N_{1}</math> accepts <math>x_{1}x_{2}\cdots x_{m}</math>, there exist <math>r_{0}, r_{1},\cdots r_{m}\in Q_{1}</math> such that
| |
|
| |
| ::<math> q_{1}\stackrel{\epsilon , T_{1}}{\rightarrow}r_{0}\stackrel{x_{1} , T_{1}}{\rightarrow}r_{1}\stackrel{x_{2} , T_{1}}{\rightarrow}r_{2}\cdots r_{m-1}\stackrel{x_{m} , T_{1}}{\rightarrow}r_{m}, r_{m}\in A_{1}
| |
| </math>
| |
| | |
| Since <math>T_{1}(q,x) = T(q,x)\ \forall q\in Q_{1}\forall x\in\Sigma</math>
| |
| | |
| :: <math>r_{0}\in E(T_{1}(q_{1},\epsilon ))\Rightarrow r_{0}\in E(T(q_{1},\epsilon ))</math> | |
| | |
| :: <math>r_{1}\in E(T_{1}(r_{0},x_{1} ))\Rightarrow r_{1}\in E(T(r_{0},x_{1} ))</math>
| |
| | |
| :::: <math>\vdots</math>
| |
| | |
| :: <math>r_{m}\in E(T_{1}(r_{m-1},x_{m} ))\Rightarrow r_{m}\in E(T(r_{m-1},x_{m} ))</math> | |
| | |
| | |
| We can therefore substitute <math>T</math> for <math>T_{1}</math> and rewrite the above path as
| |
| | |
| | |
| <math>q_{1}\stackrel{\epsilon , T}{\rightarrow}r_{0}\stackrel{x_{1} , T}{\rightarrow}r_{1}\stackrel{x_{2} , T}{\rightarrow}r_{2}\cdots r_{m-1}\stackrel{x_{m} , T}{\rightarrow}r_{m}, r_{m}\in A_{1}\cup A_{2}, r_{0}, r_{1},\cdots r_{m}\in Q</math>
| |
| | |
| | |
| Furthermore,
| |
| | |
| :: <math>
| |
| \begin{array}{lcl}
| |
| T(q_{0}, \epsilon) = \{q_{1}, q_{2}\} & \Rightarrow & q_{1}\in T(q_{0}, \epsilon)\\
| |
| \\ & \Rightarrow & q_{1}\in E(T(q_{0}, \epsilon))\\
| |
| \\ & \Rightarrow & q_{0}\stackrel{\epsilon , T}{\rightarrow}q_{1}
| |
| \end{array}
| |
| </math>
| |
| | |
| and | |
| | |
| :: <math>q_{0}\stackrel{\epsilon , T}{\rightarrow}q_{1}\stackrel{\epsilon , T}{\rightarrow}r_{0}\Rightarrow q_{0}\stackrel{\epsilon , T}{\rightarrow}r_{0}
| |
| </math>
| |
| | |
| | |
| The above path can be rewritten as
| |
| | |
| | |
| :<math>q_{0}\stackrel{\epsilon , T}{\rightarrow}r_{0}\stackrel{x_{1} , T}{\rightarrow}r_{1}\stackrel{x_{2} , T}{\rightarrow}r_{2}\cdots r_{m-1}\stackrel{x_{m} , T}{\rightarrow}r_{m}, r_{m}\in A_{1}\cup A_{2}, r_{0}, r_{1},\cdots r_{m}\in Q
| |
| </math>
| |
| | |
| | |
| Therefore, <math>N</math> accepts <math>x_{1}x_{2}\cdots x_{m}</math> and the proof is complete.
| |
| | |
| | |
| '''Note:''' The idea drawn from this mathematical proof for constructing a machine to recognize <math>L_{1}\cup L_{2}</math> is to create an initial state and connect it to the initial states of <math>L_{1}</math> and <math>L_{2}</math> using <math>\epsilon</math> arrows.
| |
| | |
| == References ==
| |
| * Michael Sipser, ''Introduction to the Theory of Computation'' ISBN 0-534-94728-X. ''(See . Theorem 1.22, section 1.2, pg. 59.)''
| |
| | |
| | |
| [[Category:Article proofs]]
| |
| [[Category:Formal languages]]
| |
| [[Category:Automata theory]]
| |