-
์ ํ์ํ ๊ธฐ๊ณ(finite state machine) (์ ํ ์คํ ๋งํ)
-
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Deterministic finite accepter, DFA)
-
์ ์ด ๊ทธ๋ํ(transition graph)
-
ํ์ฅ ์ ์ด ํจ์
-
DFA์ ์ํด ์ธ์๋๋ ์ธ์ด
-
ํธ๋ฉ ์ํ (trap state)
-
์ ๊ท ์ธ์ด
-
๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Nondeterministic finite accepter, NFA)
-
์น์ญ์ด ๋ฉฑ์งํฉ
-
๋๋ค ์ ์ด(lambda transition)
-
๊ณต์งํฉ์ผ๋ก์ ์ด๋
-
nfa์ ์์
-
ํ์ฅ ์ ์ด ํจ์
-
nfa์ ์ํด ์ธ์๋๋ ์ธ์ด
-
์ข ๋ง ํ์(dead configuration)
์ ํ์ํ ๊ธฐ๊ณ(finite state machine) (์ ํ ์คํ ๋งํ)
์ ํ ์ธ์๊ธฐ๋ ์ ํ ๊ฐ์์ ์ํ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ทธ ์์ ์ ์ฅ์ฅ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํํ๋ค๊ณ ํ๋ฉฐ,
๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ฉด์ ์ด๋ฅผ ์น์ธ(accept)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(reject)ํ๋ ๊ธฐ๋ฅ์ ํ๊ธฐ ๋๋ฌธ์ ์ธ์๊ธฐ(accpter)๋ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ์ ํ ์ธ์๊ธฐ๋ฅผ ๊ฐ๋จํ ํจํด ์ธ์ ๋งค์ปค๋์ฆ์ด๋ผ ๋ณผ ์ ์์ต๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Deterministic finite accepter, DFA)
๊ฒฐ์ ์ ์ด๋ผ๋ ๋จ์ด์ ์๋ฏธ๋ ํด๋น ์คํ ๋งํ๊ฐ ํญ์ ํ๋์ ์ ํ๋ง์ ์ทจํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
DFA๋ ์ ๊ท ์ธ์ด(regular language)๋ผ ๋ถ๋ฆฌ๋ ํน๋ณํ ํํ์ ์ธ์ด๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(Deterministic finite accepter, DFA) M์ ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง์ ์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
$$M = (Q, \;\; \Sigma,\;\; \delta ,\;\;q_0,\;\; F)$$
๊ฐ๊ฐ์ ๊ธฐํธ๋ ๋ค์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค.
Q : ๋ด๋ถ ์ํ(internal state)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
ฮฃ : ์ฌ๋ฒ๋ค์ ์ ํ ์งํฉ์ด๋ฉฐ, ์ ๋ ฅ ์ํ๋ฒณ(input alphabat)์ด๋ผ ๋ถ๋ฆฝ๋๋ค.
ฮด : Q X ฮฃ -> Q ๋ ์ ์ฒด ํจ์(total function)์ด๋ฉฐ, ์ ์ด ํจ์(transition function)๋ผ ๋ถ๋ฆฝ๋๋ค.
q(0) : Q์ ํฌํจ๋๋ ์์์ด๋ฉฐ ์ด๊ธฐ ์ํ(initial state)์ ๋๋ค.
F : Q์ ๋ถ๋ถ์งํฉ์ด๋ฉฐ, ์น์ธ ์ํ(final state)์ ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ๋ ์ฒ์์ ์ด๊ธฐ ์ํ q(0)์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ ํ๋ฉฐ ์ ๋ ฅ ์ฅ์น๋ ์ ๋ ฅ ๋ฌธ์์ด์ ๊ฐ์ฅ ์ผ์ชฝ ์ฌ๋ฒ์ ๋์ฌ ์์ต๋๋ค.
์คํ ๋งํ๊ฐ ์ด๋ํ ๋๋ง๋ค ์ ๋ ฅ ์ฅ์น๋ ํ ์๋ฆฌ์ฉ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ฆ ์ ๋ ฅ ๋ฌธ์๋ฅผ ํ๋์ฉ ์ฝ์ด๋ ๋๋ค.
์ ๋ ฅ ๋ฌธ์์ด์ ๋งจ ๋์ ๋๋ฌํ์ ๊ฒฝ์ฐ ์คํ ๋งํ๊ฐ ์น์ธ ์ํ์ ์์ผ๋ฉด ํด๋น ๋ฌธ์์ด์ด ์น์ธ๋๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ๋ถ๋ฉ๋๋ค.
ํ๋์ ๋ด๋ถ ์ํ๋ก๋ถํฐ ๋ค๋ฅธ ์ํ๋ก์ ์ ์ด๋ ์ ์ด ํจ์ ฮด์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
์ ์ด ๊ทธ๋ํ(transition graph)
์ ํ ์คํ ๋งํ๋ฅผ ๊ฐ์์ ์ผ๋ก ํํํ๊ธฐ ์ํด์ ๋ณดํต ์ ์ด ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ์ด ๊ทธ๋ํ์์์ ์ ์ (Vertex)์ ์ํ(state)๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ (edge)๋ ์ ์ด(transition)๋ฅผ ๋ํ๋ ๋๋ค.
์ ์ ์ ๋ผ๋ฒจ์ ์ํ์ ์ด๋ฆ์ด๋ฉฐ,
๊ฐ์ ์ ๋ผ๋ฒจ์ ์ ๋ ฅ ์ฌ๋ฒ์ ํ์ฌ ๊ฐ์ด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, q(0)๊ณผ q(1)์ด ์ด๋ค dfa M์ ๋ด๋ถ ์ํ๋ค์ผ ๊ฒฝ์ฐ, M์ ๋ํ ๊ทธ๋ํ์๋ ๋ผ๋ฒจ q(0)๊ณผ ๋ผ๋ฒจ q(1)์ ๊ฐ๋ ์ ์ ๋ค์ด ์กด์ฌํ๊ฒ ๋ฉ๋๋ค.
์ด๊ธฐ ์ํ๋ ๋ผ๋ฒจ์ด ๋ถ์ง ์์ ์ธ๋ถ๋ก๋ถํฐ ์ง์ ํ๋ ๊ฐ์ ์ ์ํด ์ง์ ๋๋ฉฐ,
์น์ธ ์ํ๋ ์ด์ค ์(double circle)์ผ๋ก ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์ dfa๋ฅผ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค.
$$M = (\left\{q_0, q_1, q_2\right\}, \left\{0, 1\right\}, \delta , q_o, \left\{q_1\right\})$$
์ ์ด ํจ์ ฮด :
$$\delta(q_0, 0) = q_o, \;\;\; \delta(q_0, 1) = q_1 $$
$$\delta(q_1, 0) = q_o, \;\;\; \delta(q_1, 1) = q_2 $$
$$\delta(q_2, 0) = q_2, \;\;\; \delta(q_2, 1) = q_1 $$

ํ์ฅ ์ ์ด ํจ์
๋๋ก๋ ์ ์ด ํจ์ ๋์ ํ์ฅ ์ ์ด ํจ์(extended transition function)๋ฅผ ๋์ ํ๋ ๊ฒ์ด ํธ๋ฆฌํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
ํ์ฅ ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\delta^{*} \;:\; Q \times {\Sigma}^{*} \to Q$$
ํด๋น ํจ์์ ๋ ๋ฒ์งธ ์ธ์๋ ๋จ์ผ ์ฌ๋ฒ์ด ์๋ ๋ฌธ์์ด์ด๋ฉฐ, ํจ์ ๊ฐ์ ์คํ ๋งํ๊ฐ ์ฃผ์ด์ง ๋ฌธ์์ด์ ๋ชจ๋ ์ฝ์ ํ์ ๋์ด๊ฒ ๋๋ ์ํฉ์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์ด ํจ์๊ฐ ์๋์ ๊ฐ์ ๊ฒฝ์ฐ
$$\delta(q_0, a) = q1 \;\;\; and \;\;\; \delta(q_1, b) = q2$$
๋ค์๊ณผ ๊ฐ์ด ํ์ฅ ์ ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํํ์ด ๊ฐ๋ฅํฉ๋๋ค.
$$\delta^{*}(q_0, ab) = q_2$$
๊ณต์์ ์ผ๋ก, ๋ชจ๋ q โ Q, w โ ฮฃ*, a โ ฮฃ์ ๋ํ์ฌ, ฮด*๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ ์ ์์ต๋๋ค.
$$\delta^{*}(q, \lambda) = q$$
$$\delta^{*}(q, wa) = \delta(\delta^{*}(q_o, \lambda), a) = \delta(q_0, a) = q_1$$
DFA์ ์ํด ์ธ์๋๋ ์ธ์ด
$$M = (Q, \;\;\; \Sigma, \;\;\;\delta \;\;\;,q_0, \;\;\;F)$$
์ DFA์ ์ํด ์ธ์๋๋ ์ธ์ด๋, M์ ์ํด ์น์ธ๋๋ ฮฃ์ ๋ํ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์งํฉ์ ๋๋ค.
๊ณต์์ ์ธ ํํ์ ์ฌ์ฉํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ต๋๋ค
$$L(M) = \begin{Bmatrix}
w \in \Sigma^{*} : \delta^{*}(q_0, w) \in F \end{Bmatrix}$$
์ ์ด ํจ์ ฮด์ ํ์ฅ ์ ์ด ํจ์ ฮด*๊ฐ ๋ชจ๋ ์ ์ฒด ํจ์(total function)์์ ์ ์ํ์ฌ์ผ ํฉ๋๋ค.
๊ฐ ๋จ๊ณ์์ ๋จ ํ๋์ ์ ์ด๋ง์ด ์ ์๋๋ฉฐ, ๋ฐ๋ผ์ ์ด๋ฌํ ์คํ ๋งํ๋ฅผ ๊ฒฐ์ ์ (deterministic)์ด๋ผ ํฉ๋๋ค.
dfa๋ ฮฃ*์ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์ฒ๋ฆฌํ์ฌ ์ด๋ฅผ ์น์ธํ๊ฑฐ๋ ์น์ธํ์ง ์์ต๋๋ค.
์น์ธํ์ง ์๋๋ค๋ ๊ฒ์ ์ฃผ์ด์ง dfa๊ฐ ์น์ธ ์ํ๊ฐ ์๋ ๋ค๋ฅธ ์ํ์์ ์ข ๋ฃํจ์ ์๋ฏธํ๋ฉฐ ๋ฐ๋ผ์ ๋ค์์ด ์ฑ๋ฆฝํฉ๋๋ค.
$$\overline{L(M)} = \begin{Bmatrix}
w \in \Sigma^{*} : \delta^{*}(q_0, w) \notin F \end{Bmatrix}$$
ํธ๋ฉ ์ํ (trap state)
์ด๋ค ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ์ ์ดํ ์ดํ ๊ทธ ์ํ๋ฅผ ๋ฒ์ด๋ ์ ์๊ฒ ๋๋ ์ํ๋ฅผ ์๋ฏธํ๋ฉฐ, ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

์ ์ ์ด ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด, q1์์ q2 ์ํ๋ก ์ ์ดํ๊ฒ ๋๋ฉด, ์ดํ q2 ์ํ๋ฅผ ๋ฒ์ด๋ ์ ์๊ฒ ๋๋ฏ๋ก, q2๋ ํธ๋ฉ ์ํ(trap state)๊ฐ ๋ฉ๋๋ค.
์ ๊ท ์ธ์ด
๋ชจ๋ ์ ํ ์คํ ๋งํ๋ ํน์ ์ธ์ด๋ฅผ ์ธ์ํ๊ฒ ๋ฉ๋๋ค.
๋ชจ๋ ๊ฐ๋ฅํ ์ ํ ์คํ ๋งํ๋ค์ ๊ณ ๋ คํด๋ณด๋ฉด ์ด๋ค๊ณผ ๊ด๋ จ๋ ์ธ์ด๋ค์ ์งํฉ์ ์ป์ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ธ์ด๋ค์ ์งํฉ์ ์ธ์ด๊ตฐ์ด๋ผ ๋ถ๋ฆ ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์คํ ๋งํ(dfa)์ ์ํด ์ธ์๋๋ ์ธ์ด๊ตฐ์ ๊ทนํ ์ ํ๋์ด ์์ต๋๋ค.
์ด ์ธ์ด๊ตฐ์ ์ํ๋ ์ธ์ด๋ค์ ๊ตฌ์กฐ์ ์ฑ์ง๋ค์ ์ดํ ๊ณต๋ถํ๋๋ก ํ๊ณ , ์ฐ์ ์ด ์ธ์ด๊ตฐ์ ๋ถ๋ฅด๋ ๋ช ์นญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธ์ด L์ ๋ํ์ฌ, L = L(M)์ ๋ง์กฑํ๋ ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(dfa) M์ด ์กด์ฌํ๊ณ , ์ค์ง ๊ทธ๋ด ๋์๋ง L์ ์ ๊ท ์ธ์ด(regular lanuage)๋ผ ๋ถ๋ฆ ๋๋ค.
์ถ๊ฐ๋ก ๋ค์์ ์ฐธ๊ณ ํ์๋ฉด ์ ๊ท ์ธ์ด ์ด์ธ ๋ค๋ฅธ ์ธ์ด๊ตฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค.
[๊ณ์ฐ์ด๋ก ] - ์ธ์ด, ๋ฌธ๋ฒ, ์คํ ๋งํ
์ธ์ด (Languages) ์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋ ๊ณผ๋ ์น์ํฉ๋๋ค. ๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช ์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์ ๋
ttl-blog.tistory.com
์ด์คํค ์๊ณ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ด์คํค ์๊ณ(Chomsky hierarchy)๋ ํ์ ์ธ์ด๋ฅผ ์์ฑํ๋ ํ์ ๋ฌธ๋ฒ์ ํด๋์ค ์ฌ์ด์ ์๊ณ๋ฅผ ๋งํ๋ค. ๋ ธ์ ์ด์คํค๊ฐ 1956๋ ์ ์ ์ํ์๋ค. ์ธ์ด๋ ํ์์ ์ผ๋ก ๋ฌธ์ฅ๋ค์ ์งํฉ์ผ๋ก ์ ์๋ ์ ์๊ณ , ๋ฌธ์ฅ
ko.wikipedia.org
๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Nondeterministic finite accepter, NFA)
์์์ ๊ณต๋ถํ๋ dfa๋ ๊ฐ ์ํ์์ ์ ๋ ฅ ์ฌ๋ฒ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ํ๋์ ์ ์ด๋ง์ด ๊ฐ๋ฅํ์ต๋๋ค.
์ด๋ฒ์๋ ์คํ ๋งํ๊ฐ ๋์ ๋ฐ๋ผ ํ๋ ์ด์์ ์ ์ด๋ฅผ ํ ์ ์๋ ๊ฒฝ์ฐ์ ๋ํด์ ์๊ฐํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด๋ฌํ ์คํ ๋งํ๋ฅผ ๋น๊ฒฐ์ ์ ์ด๋ผ๊ณ ํฉ๋๋ค.
๋น๊ฒฐ์ ์ฑ์ ์คํ ๋งํ์ ์ด๋์ ์์ด์ ์ ํ์ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ฐ ์ํฉ์์ ์ ์ผํ ์ด๋๋ง์ ๊ท์ ํ๊ธฐ๋ณด๋ค ๊ฐ๋ฅํ ์ฌ๋ฌ ๊ฐ์ง ์ด๋๋ค์ ์งํฉ์ ํ์ฉํ๋ ๊ฒ์ธ๋ฐ,
๊ณต์์ ์ผ๋ก ์ด๋ ์คํ ๋งํ์ ์ ์ด ํจ์๊ฐ ์ํ๋ค์ ์งํฉ์ ์น์ญ(range)์ผ๋ก ๊ฐ๊ฒ ํจ์ผ๋ก์จ ๊ฐ๋ฅํด์ง๋๋ค.
๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(nondeterministic finite accepter) ๋๋ nfa๋ ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง ์์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
$$ M = (Q,\;\;\; \Sigma,\;\;\; \delta,\;\;\; q_0, \;\;\;F) $$
์ฌ๊ธฐ์ ์ ์ด ํจ์ ฮด๋ฅผ ์ ์ธํ๊ณ ๋ ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(dfa)์ ๋์ผํ๊ณ , ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\delta : Q \times (\Sigma \cup \begin{Bmatrix}
\lambda \end{Bmatrix}) \to 2^{Q}$$
์ nfa์ ์ ์์ dfa์ ์ ์ ์ฌ์ด์๋ ํฌ๊ฒ ์ธ ๊ฐ์ง ์ฐจ์ด์ ์ด ์กด์ฌํฉ๋๋ค.
์น์ญ์ด ๋ฉฑ์งํฉ
๋น๊ฒฐ์ ์ ์ธ์๊ธฐ์์๋ ฮด์ ์น์ญ์ Q์ ๋ฉฑ์งํฉ 2^Q๋ด์ ์์ผ๋ฉฐ, ๋ฐ๋ผ์ ๊ทธ ๊ฐ์ด Q์ ๋จ์ผ ์์๊ฐ ์๋ Q์ ๋ถ๋ถ์งํฉ์ด ๋ฉ๋๋ค.
์ด ๋ถ๋ถ์งํฉ์ ํด๋น ์ ์ด์ ์ํด ๋๋ฌํ ์ ์๋ ๋ชจ๋ ๊ฐ๋ฅํ ์ํ๋ค์ ์งํฉ์ด ๋๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ง์ผ ํ์ฌ ์ํ๊ฐ q1์ด๊ณ , ์ด ์ํ์์ ์ฌ๋ฒ a๊ฐ ์ฝํ์ง๊ณ , ์ ์ด ํจ์๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
$$\delta(q_1, a) = \begin{Bmatrix}
q_0, q_2 \end{Bmatrix}$$
q0๋ q2๊ฐ ํด๋น nfa์ ๋ค์ ์ํ๊ฐ ๋ ์ ์๋ ๊ฒ์ ๋๋ค.
๋๋ค ์ ์ด(lambda transition)
๋ํ nfa์์๋ ์ ์ด ํจ์ ฮด์ ๋ ๋ฒ์งธ ์ธ์๋ก ฮป๋ฅผ ํ์ฉํฉ๋๋ค.
์ด๋ nfa๊ฐ ์ฌ๋ฒ์ ์ฝ์ง ์๊ณ ๋ ์ํ ์ ์ด๋ฅผ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ณต์งํฉ์ผ๋ก์ ์ด๋
๋ง์ง๋ง์ผ๋ก nfa์์๋ ์งํฉ ฮด(q(i), a)๊ฐ ๊ณต์งํฉ์ผ ์ ์์ผ๋ฉฐ, ์ด๋ฐ ํน์ ์ํฉ์ ๋ํ์ฌ ์ ์๋ ์ ์ด๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
๋ฐ๋ผ์ nfa์์ ฮด๋ ์ ์ฒด ํจ์(total function)์ด ์๋๋๋ค.
dfa์์์ ๋ง์ฐฌ๊ฐ์ง๋ก nfa์์๋ ์ ์ด ํจ์๋ ๋ ๋ฒ์งธ ์ธ์๋ก ๋ฌธ์์ด์ ๊ฐ๋๋ก ํ์ฅ๋ ์ ์์ต๋๋ค. (์ฆ ํ์ฅ ์ ์ด ํจ์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.)
๋ํ dfa์์ ์ฒ๋ผ nfa์ ์ํด ์ธ์๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$nfa\;\; M =(Q, \;\;\;\Sigma, \;\;\;\delta, \;\;\;q_0, \;\;\;F)$$์ ์ํด ์ธ์๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
$$L(M) =\left\{{\Sigma}^{*} : \delta^{*}(q_0, w) \cap F \neq โ \right\}$$
nfa์ ์์
$$\delta(q_0, 0) = \left\{ q_1, q_2 \right\} \;\;\; \delta(q_0, 1) = \left\{ q_1, q_2 \right\} $$
$$\delta(q_1, 0) = \left\{ q_0, q_2 \right\} \;\;\; \delta(q_0, 1) = \left\{ q_1, q_2 \right\} $$
$$\delta(q_1, \lambda) = \left\{ q_1 ,q_2 \right\} $$
$$\delta(q_2, 0) = \varnothing \;\;\; \delta(q_2, 1) = \left\{ q_1, q_2 \right\} $$

ํ์ฅ ์ ์ด ํจ์
dfa์์์ ๋ง์ฐฌ๊ฐ์ง๋ก nfa์์๋ ์ ์ด ํจ์๋ ๋ ๋ฒ์งธ ์ธ์๋ก ๋ฌธ์์ด์ ๊ฐ๋๋ก ํ์ฅ๋ ์ ์์ต๋๋ค.
ํ์ฅ ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
์ ์ด ๊ทธ๋ํ์์ qi๋ก๋ถํฐ qj๋ก์ ๋ผ๋ฒจ w๋ฅผ ๊ฐ๋ ๋ณดํ์ด ์กด์ฌํ๊ณ , ์ค์ง ๊ทธ๋ด ๋์๋ง
$$\delta^{*}(q_i, w)$$๊ฐ qj๋ฅผ ํฌํจํฉ๋๋ค.
์ด๋ ๋ชจ๋ $$q_j \in Q, \;\; w \in {\Sigma}^{*}$$์ ๋ํด ์ฑ๋ฆฝํฉ๋๋ค.
์ด๋ Q๋ ์คํ ๋งํ๊ฐ ์ํ qi์์ ์์ํ์ฌ ์ ๋ ฅ ๋ฌธ์์ด w๋ฅผ ์ฝ์ ํ์ ๋์ฌ์ง ์ ์๋ ์ํ๋ค์ ์งํฉ์ ๋๋ค.
nfa์ ์ํด ์ธ์๋๋ ์ธ์ด
๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$L(M) = \left\{ w \in {\Sigma}^{*} \;:\; \delta^{*}(q_0, w) \cap F \neq \varnothing \right\}$$
์ ์ด ๊ทธ๋ํ์ ์ด๊ธฐ ์ ์ ์์ ์น์ธ ์ ์ ๊น์ง, ๋ผ๋ฒจ์ด w์ธ ๋ณดํ์ด ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ด w ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ข ๋ง ํ์(dead configuration)
ํน์ ํ ์ํ์์ ์ด๋ํ ์ํ๊ฐ ์๋ ๊ฒฝ์ฐ,
์ฆ ์ด๋์ด ์ ์๋์ง ์์ ์คํธ๋ง์ด ๋จ์์์์๋ ๋ถ๊ตฌํ๊ณ ์ ์ด๊ฐ ๋ถ๊ฐ๋ฅํ ํ์์ ์ข ๋ง ํ์์ด๋ผ ํฉ๋๋ค.
์ถ๊ฐ๋ก dead state๋ final state๋ก ์ ์ด๋ ์ ์๋ state์ ๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (4) ๋ฐ๋ฆฌ๊ธฐ๊ณ(Mealy Machine), ๋ฌด์ด๊ธฐ๊ณ(Moore Machine) (0) | 2022.04.25 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (3) NFA์์์ DFA๋ก์ ๋ณํ๋ฐฉ๋ฒ (0) | 2022.04.24 |
[๊ณ์ฐ์ด๋ก ] - (1) ์ธ์ด, ๋ฌธ๋ฒ, ์คํ ๋งํ (1) | 2022.04.06 |
[๊ณ์ฐ์ด๋ก ] -๊ธฐ๋ณธ ์ง์(3) : ๊ทธ๋ํ์ ํธ๋ฆฌ (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์(2) : ํจ์(function)๊ณผ ๊ด๊ณ(relation) (0) | 2022.03.19 |
์ ํ์ํ ๊ธฐ๊ณ(finite state machine) (์ ํ ์คํ ๋งํ)
์ ํ ์ธ์๊ธฐ๋ ์ ํ ๊ฐ์์ ์ํ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ทธ ์์ ์ ์ฅ์ฅ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํํ๋ค๊ณ ํ๋ฉฐ,
๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ฉด์ ์ด๋ฅผ ์น์ธ(accept)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(reject)ํ๋ ๊ธฐ๋ฅ์ ํ๊ธฐ ๋๋ฌธ์ ์ธ์๊ธฐ(accpter)๋ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ์ ํ ์ธ์๊ธฐ๋ฅผ ๊ฐ๋จํ ํจํด ์ธ์ ๋งค์ปค๋์ฆ์ด๋ผ ๋ณผ ์ ์์ต๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Deterministic finite accepter, DFA)
๊ฒฐ์ ์ ์ด๋ผ๋ ๋จ์ด์ ์๋ฏธ๋ ํด๋น ์คํ ๋งํ๊ฐ ํญ์ ํ๋์ ์ ํ๋ง์ ์ทจํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
DFA๋ ์ ๊ท ์ธ์ด(regular language)๋ผ ๋ถ๋ฆฌ๋ ํน๋ณํ ํํ์ ์ธ์ด๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(Deterministic finite accepter, DFA) M์ ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง์ ์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
M=(Q,ฮฃ,ฮด,q0,F)
๊ฐ๊ฐ์ ๊ธฐํธ๋ ๋ค์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค.
Q : ๋ด๋ถ ์ํ(internal state)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
ฮฃ : ์ฌ๋ฒ๋ค์ ์ ํ ์งํฉ์ด๋ฉฐ, ์ ๋ ฅ ์ํ๋ฒณ(input alphabat)์ด๋ผ ๋ถ๋ฆฝ๋๋ค.
ฮด : Q X ฮฃ -> Q ๋ ์ ์ฒด ํจ์(total function)์ด๋ฉฐ, ์ ์ด ํจ์(transition function)๋ผ ๋ถ๋ฆฝ๋๋ค.
q(0) : Q์ ํฌํจ๋๋ ์์์ด๋ฉฐ ์ด๊ธฐ ์ํ(initial state)์ ๋๋ค.
F : Q์ ๋ถ๋ถ์งํฉ์ด๋ฉฐ, ์น์ธ ์ํ(final state)์ ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ๋ ์ฒ์์ ์ด๊ธฐ ์ํ q(0)์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ ํ๋ฉฐ ์ ๋ ฅ ์ฅ์น๋ ์ ๋ ฅ ๋ฌธ์์ด์ ๊ฐ์ฅ ์ผ์ชฝ ์ฌ๋ฒ์ ๋์ฌ ์์ต๋๋ค.
์คํ ๋งํ๊ฐ ์ด๋ํ ๋๋ง๋ค ์ ๋ ฅ ์ฅ์น๋ ํ ์๋ฆฌ์ฉ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ฆ ์ ๋ ฅ ๋ฌธ์๋ฅผ ํ๋์ฉ ์ฝ์ด๋ ๋๋ค.
์ ๋ ฅ ๋ฌธ์์ด์ ๋งจ ๋์ ๋๋ฌํ์ ๊ฒฝ์ฐ ์คํ ๋งํ๊ฐ ์น์ธ ์ํ์ ์์ผ๋ฉด ํด๋น ๋ฌธ์์ด์ด ์น์ธ๋๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ๋ถ๋ฉ๋๋ค.
ํ๋์ ๋ด๋ถ ์ํ๋ก๋ถํฐ ๋ค๋ฅธ ์ํ๋ก์ ์ ์ด๋ ์ ์ด ํจ์ ฮด์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
์ ์ด ๊ทธ๋ํ(transition graph)
์ ํ ์คํ ๋งํ๋ฅผ ๊ฐ์์ ์ผ๋ก ํํํ๊ธฐ ์ํด์ ๋ณดํต ์ ์ด ๊ทธ๋ํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ ์ด ๊ทธ๋ํ์์์ ์ ์ (Vertex)์ ์ํ(state)๋ฅผ ๋ํ๋ด๋ฉฐ, ๊ฐ์ (edge)๋ ์ ์ด(transition)๋ฅผ ๋ํ๋ ๋๋ค.
์ ์ ์ ๋ผ๋ฒจ์ ์ํ์ ์ด๋ฆ์ด๋ฉฐ,
๊ฐ์ ์ ๋ผ๋ฒจ์ ์ ๋ ฅ ์ฌ๋ฒ์ ํ์ฌ ๊ฐ์ด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, q(0)๊ณผ q(1)์ด ์ด๋ค dfa M์ ๋ด๋ถ ์ํ๋ค์ผ ๊ฒฝ์ฐ, M์ ๋ํ ๊ทธ๋ํ์๋ ๋ผ๋ฒจ q(0)๊ณผ ๋ผ๋ฒจ q(1)์ ๊ฐ๋ ์ ์ ๋ค์ด ์กด์ฌํ๊ฒ ๋ฉ๋๋ค.
์ด๊ธฐ ์ํ๋ ๋ผ๋ฒจ์ด ๋ถ์ง ์์ ์ธ๋ถ๋ก๋ถํฐ ์ง์ ํ๋ ๊ฐ์ ์ ์ํด ์ง์ ๋๋ฉฐ,
์น์ธ ์ํ๋ ์ด์ค ์(double circle)์ผ๋ก ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์ dfa๋ฅผ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค.
M=({q0,q1,q2},{0,1},ฮด,qo,{q1})
์ ์ด ํจ์ ฮด :
ฮด(q0,0)=qo,ฮด(q0,1)=q1
ฮด(q1,0)=qo,ฮด(q1,1)=q2
ฮด(q2,0)=q2,ฮด(q2,1)=q1

ํ์ฅ ์ ์ด ํจ์
๋๋ก๋ ์ ์ด ํจ์ ๋์ ํ์ฅ ์ ์ด ํจ์(extended transition function)๋ฅผ ๋์ ํ๋ ๊ฒ์ด ํธ๋ฆฌํ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
ํ์ฅ ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ฮดโ:QรฮฃโโQ
ํด๋น ํจ์์ ๋ ๋ฒ์งธ ์ธ์๋ ๋จ์ผ ์ฌ๋ฒ์ด ์๋ ๋ฌธ์์ด์ด๋ฉฐ, ํจ์ ๊ฐ์ ์คํ ๋งํ๊ฐ ์ฃผ์ด์ง ๋ฌธ์์ด์ ๋ชจ๋ ์ฝ์ ํ์ ๋์ด๊ฒ ๋๋ ์ํฉ์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ์ด ํจ์๊ฐ ์๋์ ๊ฐ์ ๊ฒฝ์ฐ
ฮด(q0,a)=q1andฮด(q1,b)=q2
๋ค์๊ณผ ๊ฐ์ด ํ์ฅ ์ ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํํ์ด ๊ฐ๋ฅํฉ๋๋ค.
ฮดโ(q0,ab)=q2
๊ณต์์ ์ผ๋ก, ๋ชจ๋ q โ Q, w โ ฮฃ*, a โ ฮฃ์ ๋ํ์ฌ, ฮด*๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ ์ ์์ต๋๋ค.
ฮดโ(q,ฮป)=q
ฮดโ(q,wa)=ฮด(ฮดโ(qo,ฮป),a)=ฮด(q0,a)=q1
DFA์ ์ํด ์ธ์๋๋ ์ธ์ด
M=(Q,ฮฃ,ฮด,q0,F)
์ DFA์ ์ํด ์ธ์๋๋ ์ธ์ด๋, M์ ์ํด ์น์ธ๋๋ ฮฃ์ ๋ํ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์งํฉ์ ๋๋ค.
๊ณต์์ ์ธ ํํ์ ์ฌ์ฉํ๋ฉด, ๋ค์๊ณผ ๊ฐ์ต๋๋ค
L(M)={wโฮฃโ:ฮดโ(q0,w)โF}
์ ์ด ํจ์ ฮด์ ํ์ฅ ์ ์ด ํจ์ ฮด*๊ฐ ๋ชจ๋ ์ ์ฒด ํจ์(total function)์์ ์ ์ํ์ฌ์ผ ํฉ๋๋ค.
๊ฐ ๋จ๊ณ์์ ๋จ ํ๋์ ์ ์ด๋ง์ด ์ ์๋๋ฉฐ, ๋ฐ๋ผ์ ์ด๋ฌํ ์คํ ๋งํ๋ฅผ ๊ฒฐ์ ์ (deterministic)์ด๋ผ ํฉ๋๋ค.
dfa๋ ฮฃ*์ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์ฒ๋ฆฌํ์ฌ ์ด๋ฅผ ์น์ธํ๊ฑฐ๋ ์น์ธํ์ง ์์ต๋๋ค.
์น์ธํ์ง ์๋๋ค๋ ๊ฒ์ ์ฃผ์ด์ง dfa๊ฐ ์น์ธ ์ํ๊ฐ ์๋ ๋ค๋ฅธ ์ํ์์ ์ข ๋ฃํจ์ ์๋ฏธํ๋ฉฐ ๋ฐ๋ผ์ ๋ค์์ด ์ฑ๋ฆฝํฉ๋๋ค.
ยฏL(M)={wโฮฃโ:ฮดโ(q0,w)โF}
ํธ๋ฉ ์ํ (trap state)
์ด๋ค ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ์ ์ดํ ์ดํ ๊ทธ ์ํ๋ฅผ ๋ฒ์ด๋ ์ ์๊ฒ ๋๋ ์ํ๋ฅผ ์๋ฏธํ๋ฉฐ, ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

์ ์ ์ด ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด, q1์์ q2 ์ํ๋ก ์ ์ดํ๊ฒ ๋๋ฉด, ์ดํ q2 ์ํ๋ฅผ ๋ฒ์ด๋ ์ ์๊ฒ ๋๋ฏ๋ก, q2๋ ํธ๋ฉ ์ํ(trap state)๊ฐ ๋ฉ๋๋ค.
์ ๊ท ์ธ์ด
๋ชจ๋ ์ ํ ์คํ ๋งํ๋ ํน์ ์ธ์ด๋ฅผ ์ธ์ํ๊ฒ ๋ฉ๋๋ค.
๋ชจ๋ ๊ฐ๋ฅํ ์ ํ ์คํ ๋งํ๋ค์ ๊ณ ๋ คํด๋ณด๋ฉด ์ด๋ค๊ณผ ๊ด๋ จ๋ ์ธ์ด๋ค์ ์งํฉ์ ์ป์ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ธ์ด๋ค์ ์งํฉ์ ์ธ์ด๊ตฐ์ด๋ผ ๋ถ๋ฆ ๋๋ค.
๊ฒฐ์ ์ ์ ํ ์คํ ๋งํ(dfa)์ ์ํด ์ธ์๋๋ ์ธ์ด๊ตฐ์ ๊ทนํ ์ ํ๋์ด ์์ต๋๋ค.
์ด ์ธ์ด๊ตฐ์ ์ํ๋ ์ธ์ด๋ค์ ๊ตฌ์กฐ์ ์ฑ์ง๋ค์ ์ดํ ๊ณต๋ถํ๋๋ก ํ๊ณ , ์ฐ์ ์ด ์ธ์ด๊ตฐ์ ๋ถ๋ฅด๋ ๋ช ์นญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธ์ด L์ ๋ํ์ฌ, L = L(M)์ ๋ง์กฑํ๋ ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(dfa) M์ด ์กด์ฌํ๊ณ , ์ค์ง ๊ทธ๋ด ๋์๋ง L์ ์ ๊ท ์ธ์ด(regular lanuage)๋ผ ๋ถ๋ฆ ๋๋ค.
์ถ๊ฐ๋ก ๋ค์์ ์ฐธ๊ณ ํ์๋ฉด ์ ๊ท ์ธ์ด ์ด์ธ ๋ค๋ฅธ ์ธ์ด๊ตฐ์ ํ์ธํ์ค ์ ์์ต๋๋ค.
[๊ณ์ฐ์ด๋ก ] - ์ธ์ด, ๋ฌธ๋ฒ, ์คํ ๋งํ
์ธ์ด (Languages) ์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋ ๊ณผ๋ ์น์ํฉ๋๋ค. ๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช ์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์ ๋
ttl-blog.tistory.com
์ด์คํค ์๊ณ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ด์คํค ์๊ณ(Chomsky hierarchy)๋ ํ์ ์ธ์ด๋ฅผ ์์ฑํ๋ ํ์ ๋ฌธ๋ฒ์ ํด๋์ค ์ฌ์ด์ ์๊ณ๋ฅผ ๋งํ๋ค. ๋ ธ์ ์ด์คํค๊ฐ 1956๋ ์ ์ ์ํ์๋ค. ์ธ์ด๋ ํ์์ ์ผ๋ก ๋ฌธ์ฅ๋ค์ ์งํฉ์ผ๋ก ์ ์๋ ์ ์๊ณ , ๋ฌธ์ฅ
ko.wikipedia.org
๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Nondeterministic finite accepter, NFA)
์์์ ๊ณต๋ถํ๋ dfa๋ ๊ฐ ์ํ์์ ์ ๋ ฅ ์ฌ๋ฒ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ํ๋์ ์ ์ด๋ง์ด ๊ฐ๋ฅํ์ต๋๋ค.
์ด๋ฒ์๋ ์คํ ๋งํ๊ฐ ๋์ ๋ฐ๋ผ ํ๋ ์ด์์ ์ ์ด๋ฅผ ํ ์ ์๋ ๊ฒฝ์ฐ์ ๋ํด์ ์๊ฐํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด๋ฌํ ์คํ ๋งํ๋ฅผ ๋น๊ฒฐ์ ์ ์ด๋ผ๊ณ ํฉ๋๋ค.
๋น๊ฒฐ์ ์ฑ์ ์คํ ๋งํ์ ์ด๋์ ์์ด์ ์ ํ์ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ฐ ์ํฉ์์ ์ ์ผํ ์ด๋๋ง์ ๊ท์ ํ๊ธฐ๋ณด๋ค ๊ฐ๋ฅํ ์ฌ๋ฌ ๊ฐ์ง ์ด๋๋ค์ ์งํฉ์ ํ์ฉํ๋ ๊ฒ์ธ๋ฐ,
๊ณต์์ ์ผ๋ก ์ด๋ ์คํ ๋งํ์ ์ ์ด ํจ์๊ฐ ์ํ๋ค์ ์งํฉ์ ์น์ญ(range)์ผ๋ก ๊ฐ๊ฒ ํจ์ผ๋ก์จ ๊ฐ๋ฅํด์ง๋๋ค.
๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(nondeterministic finite accepter) ๋๋ nfa๋ ๋ค์๊ณผ ๊ฐ์ 5๊ฐ์ง ์์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
M=(Q,ฮฃ,ฮด,q0,F)
์ฌ๊ธฐ์ ์ ์ด ํจ์ ฮด๋ฅผ ์ ์ธํ๊ณ ๋ ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(dfa)์ ๋์ผํ๊ณ , ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ฮด:Qร(ฮฃโช{ฮป})โ2Q
์ nfa์ ์ ์์ dfa์ ์ ์ ์ฌ์ด์๋ ํฌ๊ฒ ์ธ ๊ฐ์ง ์ฐจ์ด์ ์ด ์กด์ฌํฉ๋๋ค.
์น์ญ์ด ๋ฉฑ์งํฉ
๋น๊ฒฐ์ ์ ์ธ์๊ธฐ์์๋ ฮด์ ์น์ญ์ Q์ ๋ฉฑ์งํฉ 2^Q๋ด์ ์์ผ๋ฉฐ, ๋ฐ๋ผ์ ๊ทธ ๊ฐ์ด Q์ ๋จ์ผ ์์๊ฐ ์๋ Q์ ๋ถ๋ถ์งํฉ์ด ๋ฉ๋๋ค.
์ด ๋ถ๋ถ์งํฉ์ ํด๋น ์ ์ด์ ์ํด ๋๋ฌํ ์ ์๋ ๋ชจ๋ ๊ฐ๋ฅํ ์ํ๋ค์ ์งํฉ์ด ๋๋ ๊ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ง์ผ ํ์ฌ ์ํ๊ฐ q1์ด๊ณ , ์ด ์ํ์์ ์ฌ๋ฒ a๊ฐ ์ฝํ์ง๊ณ , ์ ์ด ํจ์๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๋ฉด
ฮด(q1,a)={q0,q2}
q0๋ q2๊ฐ ํด๋น nfa์ ๋ค์ ์ํ๊ฐ ๋ ์ ์๋ ๊ฒ์ ๋๋ค.
๋๋ค ์ ์ด(lambda transition)
๋ํ nfa์์๋ ์ ์ด ํจ์ ฮด์ ๋ ๋ฒ์งธ ์ธ์๋ก ฮป๋ฅผ ํ์ฉํฉ๋๋ค.
์ด๋ nfa๊ฐ ์ฌ๋ฒ์ ์ฝ์ง ์๊ณ ๋ ์ํ ์ ์ด๋ฅผ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
๊ณต์งํฉ์ผ๋ก์ ์ด๋
๋ง์ง๋ง์ผ๋ก nfa์์๋ ์งํฉ ฮด(q(i), a)๊ฐ ๊ณต์งํฉ์ผ ์ ์์ผ๋ฉฐ, ์ด๋ฐ ํน์ ์ํฉ์ ๋ํ์ฌ ์ ์๋ ์ ์ด๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
๋ฐ๋ผ์ nfa์์ ฮด๋ ์ ์ฒด ํจ์(total function)์ด ์๋๋๋ค.
dfa์์์ ๋ง์ฐฌ๊ฐ์ง๋ก nfa์์๋ ์ ์ด ํจ์๋ ๋ ๋ฒ์งธ ์ธ์๋ก ๋ฌธ์์ด์ ๊ฐ๋๋ก ํ์ฅ๋ ์ ์์ต๋๋ค. (์ฆ ํ์ฅ ์ ์ด ํจ์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.)
๋ํ dfa์์ ์ฒ๋ผ nfa์ ์ํด ์ธ์๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
nfaM=(Q,ฮฃ,ฮด,q0,F)์ ์ํด ์ธ์๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
L(M)={ฮฃโ:ฮดโ(q0,w)โฉFโ โ }
nfa์ ์์
ฮด(q0,0)={q1,q2}ฮด(q0,1)={q1,q2}
ฮด(q1,0)={q0,q2}ฮด(q0,1)={q1,q2}
ฮด(q1,ฮป)={q1,q2}
ฮด(q2,0)=โ ฮด(q2,1)={q1,q2}

ํ์ฅ ์ ์ด ํจ์
dfa์์์ ๋ง์ฐฌ๊ฐ์ง๋ก nfa์์๋ ์ ์ด ํจ์๋ ๋ ๋ฒ์งธ ์ธ์๋ก ๋ฌธ์์ด์ ๊ฐ๋๋ก ํ์ฅ๋ ์ ์์ต๋๋ค.
ํ์ฅ ์ ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
์ ์ด ๊ทธ๋ํ์์ qi๋ก๋ถํฐ qj๋ก์ ๋ผ๋ฒจ w๋ฅผ ๊ฐ๋ ๋ณดํ์ด ์กด์ฌํ๊ณ , ์ค์ง ๊ทธ๋ด ๋์๋ง
ฮดโ(qi,w)๊ฐ qj๋ฅผ ํฌํจํฉ๋๋ค.
์ด๋ ๋ชจ๋ qjโQ,wโฮฃโ์ ๋ํด ์ฑ๋ฆฝํฉ๋๋ค.
์ด๋ Q๋ ์คํ ๋งํ๊ฐ ์ํ qi์์ ์์ํ์ฌ ์ ๋ ฅ ๋ฌธ์์ด w๋ฅผ ์ฝ์ ํ์ ๋์ฌ์ง ์ ์๋ ์ํ๋ค์ ์งํฉ์ ๋๋ค.
nfa์ ์ํด ์ธ์๋๋ ์ธ์ด
๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
L(M)={wโฮฃโ:ฮดโ(q0,w)โฉFโ โ }
์ ์ด ๊ทธ๋ํ์ ์ด๊ธฐ ์ ์ ์์ ์น์ธ ์ ์ ๊น์ง, ๋ผ๋ฒจ์ด w์ธ ๋ณดํ์ด ์กด์ฌํ๋ ๋ชจ๋ ๋ฌธ์์ด w ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ข ๋ง ํ์(dead configuration)
ํน์ ํ ์ํ์์ ์ด๋ํ ์ํ๊ฐ ์๋ ๊ฒฝ์ฐ,
์ฆ ์ด๋์ด ์ ์๋์ง ์์ ์คํธ๋ง์ด ๋จ์์์์๋ ๋ถ๊ตฌํ๊ณ ์ ์ด๊ฐ ๋ถ๊ฐ๋ฅํ ํ์์ ์ข ๋ง ํ์์ด๋ผ ํฉ๋๋ค.
์ถ๊ฐ๋ก dead state๋ final state๋ก ์ ์ด๋ ์ ์๋ state์ ๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (4) ๋ฐ๋ฆฌ๊ธฐ๊ณ(Mealy Machine), ๋ฌด์ด๊ธฐ๊ณ(Moore Machine) (0) | 2022.04.25 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (3) NFA์์์ DFA๋ก์ ๋ณํ๋ฐฉ๋ฒ (0) | 2022.04.24 |
[๊ณ์ฐ์ด๋ก ] - (1) ์ธ์ด, ๋ฌธ๋ฒ, ์คํ ๋งํ (1) | 2022.04.06 |
[๊ณ์ฐ์ด๋ก ] -๊ธฐ๋ณธ ์ง์(3) : ๊ทธ๋ํ์ ํธ๋ฆฌ (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์(2) : ํจ์(function)๊ณผ ๊ด๊ณ(relation) (0) | 2022.03.19 |