-
์ธ์ด (Languages)
-
์ฌ๋ฒ(symbol, ๊ธฐํธ) ํน์ ๋จ๋ง ์ฌ๋ฒ(terminal symbol)
-
์ํ๋ฒณ(Alphabet)
-
๋ฌธ์์ด(string)
-
์ ํฉ(concatenation)
-
์ญ ๋ฌธ์์ด(reverse string)
-
๊ธธ์ด์ ๋น ๋ฌธ์์ด (Length & empty string)
-
๋ถ๋ฌธ์์ด๊ณผ ์ ์๋ถ, ํ์๋ถ (substring & prefix, suffix)
-
ํด๋ก์ ธ(ํน์ ํํฌ) (closure)
-
์ธ์ด(Language)
-
๋ฌธ์ฅ(Sentence)
-
์ฌ์งํฉ
-
์ธ์ด์ด ๋ํ ์ ํฉ
-
์ธ์ด์ ๋ํ ํด๋ก์ ธ
-
๋ฌธ๋ฒ (Grammer)
-
์ ๋(derive)
-
๋ฌธ๋ฒ์ด ์์ฑํ๋ ์ธ์ด
-
๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ ํํ(sentence & sentential form)
-
์คํ ๋งํ(automation)
-
์คํ ๋งํ์ ํ์ ๊ธฐ๋ฅ
-
์ ๋ ฅ ํ์ผ(input file)
-
์์ ๊ธฐ์ต์ฅ์(storage, ๋ฉ๋ชจ๋ฆฌ)
-
์ ์ด์ฅ์น(control unit)
-
์ ์ด ํจ์(transition function)
-
ํ์(configuration) ๊ณผ ์ด๋(move)
-
๊ฒฐ์ ์ ์คํ ๋งํ(Deterministic Automata)
-
๋น๊ฒฐ์ ์ ์คํ ๋งํ(Non-Deterministic Automata)
-
์ธ์๊ธฐ(Accepter)
-
๋ณํ๊ธฐ(Transducer)
-
์ด์คํค ์๊ณ (Chomsky Hierachy)
-
๋ฌด์ ํ(unrestricted) ๋ฌธ๋ฒ
-
๋ฌธ๋งฅ์ฐ๊ด(context-sensitive) ๋ฌธ๋ฒ
-
๋ฌธ๋งฅ์์ (๋ฌด๊ด)(context-free) ๋ฌธ๋ฒ
-
์ ๊ท(regular) ๋ฌธ๋ฒ
์ธ์ด (Languages)
์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋ ๊ณผ๋ ์น์ํฉ๋๋ค.
๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช
์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์
๋๋ค.
์ธ์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ฒ์ํด๋ณด๋ฉด ์ฌ์ค, ๊ฐ๋
๋ค์ ํํํ ์ ์๋๋ก ํด ์ฃผ๋ ์ฌ๋ฒ(symbol)๋ค์ ์งํฉ๊ณผ, ์ฌ๋ฒ์ ๋ค๋ฃจ๋ ๊ท์น๋ค์ ์งํฉ์ ์๋ฐํ๋ ์์คํ
์ด๋ผ ๋น๊ณต์์ ์ธ ์ ์๋ฅผ ๋ด๋ฆฌ๊ณ ์์ต๋๋ค.
์ฌ๋ฒ(symbol, ๊ธฐํธ) ํน์ ๋จ๋ง ์ฌ๋ฒ(terminal symbol)
a, b, c, .. ๋ฑ๊ณผ ๊ฐ์ ๊ธฐํธ๋ค์ ๋๋ค.
์ํ๋ฒณ(Alphabet)
์ํ๋ฒณ์ด๋ ํ๋ ์ด์์ ์ฌ๋ฒ๋ค์ ์ ํ ์งํฉ์ด๋ฉฐ, ๋ณดํต $\Sigma$๋ก ํํํฉ๋๋ค.
๋ฌธ์์ด(string)
์ฃผ์ด์ง ์ํ๋ฒณ์ ์ํ ์ฌ๋ฒ๋ค์ ๋์ดํ์ฌ ๋ฌธ์์ด(string)์ ๋ง๋ค ์ ์์ต๋๋ค.
์ํ๋ฒณ์ด $\Sigma = \left\{ a,b\right\}$ ๋ผ๋ฉด, abab๋ aaaabbaa๋ฑ์ ์ํ๋ฒณ $\Sigma$ ์ ๋ํ ๋ฌธ์์ด์ด ๋ฉ๋๋ค.
์์ผ๋ก ํน๋ณํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ์ํ๋ฒณ์ ์์๋ก๋ ์๋ฌธ์ a, b, c ๋ฑ์ ์ฌ์ฉํ ๊ฒ์ด๊ณ , ์ด๋ฌํ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ฉฐ ๋ง๋ค์ด์ง๋ ๋ฌธ์์ด์ u, v, w๋ฑ์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
$w = abaaa$ ๋ ์ด๋ฆ์ด w์ธ ๋ฌธ์์ด์ ๊ฐ์ด abaaa์์ ๋ํ๋ ๋๋ค.
์ ํฉ(concatenation)
๋ฌธ์์ด w์ ์ค๋ฅธ์ชฝ์ ๋ฌธ์์ด v๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค์ด์ง๋ ๋ฌธ์์ด์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$wv$$
์๋ฅผ ๋ค์ด $w = aabb$ , $v = bbcc$ ์ธ ๊ฒฝ์ฐ, $wv = aabbbbcc$ ์ ๋๋ค.
๋ฌธ์์ด w์ ๋ํด, w๋ฅผ n๋ฒ ๋ฐ๋ณตํ์ฌ ์ป์ด์ง๋ ๋ฌธ์์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$w^{n} = ww \cdots w$$
์ด๋ n์ด 0์ธ ๊ฒฝ์ฐ์๋ $\lambda$ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
$$w^{0} = \lambda $$
์ญ ๋ฌธ์์ด(reverse string)
๋ฌธ์์ด ๋ด์ ์ฌ๋ฒ๋ค์ ์ญ์์ผ๋ก ๋ฐฐ์ดํจ์ผ๋ก์จ ์ป์ด์ง๋ ๋ฌธ์์ด์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํํํฉ๋๋ค.
$$w^{R}$$
$w = aabb$ ์ธ ๊ฒฝ์ฐ $w^{R} = bbaa$ ์ ๋๋ค.
๊ธธ์ด์ ๋น ๋ฌธ์์ด (Length & empty string)
๋ฌธ์์ด์ ๊ธธ์ด๋ ํด๋น ๋ฌธ์์ด์ ์ด๋ฃจ๋ ์ฌ๋ฒ๋ค์ ๊ฐ์์ด๋ฉฐ, $|w|$ ๋ก ํ๊ธฐํฉ๋๋ค.
๋ํ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ธ, ์ฆ ๋ฌธ์๋ฅผ ์ ํ ๊ฐ์ง ์๋ ๋ฌธ์์ด์ ๋น ๋ฌธ์์ด์ด๋ผ ํ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\lambda$$
๋ถ๋ฌธ์์ด๊ณผ ์ ์๋ถ, ํ์๋ถ (substring & prefix, suffix)
์์์ ๋ฌธ์์ด w๋ด์ ์กด์ฌํ๋ ์ฐ์์ ์ธ ๋ฌธ์๋ค์ ๋ฌธ์์ด์ ๋ถ๋ฌธ์์ด์ด๋ผ ํฉ๋๋ค.
๋ํ ์์์ ๋ฌธ์์ด w๊ฐ $w=vw$ ์ฒ๋ผ ๋ถ๋ฌธ์์ด u, v๋ก ๊ตฌ์ฑ๋์ด ์๋ ๊ฒฝ์ฐ ๋ถ๋ฌธ์์ด v์ u๋ฅผ ๊ฐ๊ฐ ๋ฌธ์์ด w์ ์ ์๋ถ(prefix), ํ์๋ถ(suffix)๋ผ ํฉ๋๋ค.
ํด๋ก์ ธ(ํน์ ํํฌ) (closure)
์์์ ์ํ๋ฒณ $\Sigma$ ์ ๋ํด, $\Sigma$์ ์ํ ์ฌ๋ฒ๋ค์ 0๊ฐ ์ด์(0 ํฌํจ)์ ํฉํ์ฌ ์ป์ด์ง๋ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\Sigma^{*}$$
์ด๋ ์๊ทธ๋ง์ ํด๋ก์ ธ(ํน์ ์๊ทธ๋ง์ ์คํ-ํํฌ) ์ฝ์ต๋๋ค.
๋ํ ์๊ทธ๋ง์ ํด๋ก์ ธ๋ ํญ์ ๋๋ค( $\lambda$ )๋ฅผ ํฌํจํ๋ฉฐ, ์๊ทธ๋ง์ ํด๋ก์ ธ์์ ๋๋ค๋ฅผ ์ ์ธํ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\Sigma^{+}$$
์ด๋ ์๊ทธ๋ง์ ํฌ์งํฐ๋ธ ํด๋ก์ ธ(ํน์ ์๊ทธ๋ง์ ์์ฑ-ํํฌ)(positive closure of $\Sigma$ )๋ผ๊ณ ์ฝ์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$\Sigma^{+} = \Sigma^{*} - \left\{ \lambda \right\}$$
์ธ์ด(Language)
๊ฐ์ ์ ์ํ์ฌ ์ํ๋ฒณ $\Sigma$ ๋ ์ ํ ์งํฉ์ด์ง๋ง, $\Sigma^{*}$ ๊ณผ $\Sigma^{+}$ ๋ ํญ์ ๋ฌดํ ์งํฉ์ด ๋ฉ๋๋ค.
์ธ์ด๋ ์ผ๋ฐ์ ์ผ๋ก $\Sigma^{*}$์ ๋ถ๋ถ์งํฉ์ผ๋ก ์ ์๋๋ฉฐ, ๊ธฐํธ๋ก๋ L์ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ฅ(Sentence)
์์์ ์ธ์ด L์ ์ํ๋ ๋ฌธ์์ด(string)์ ์ธ์ด L์ ๋ฌธ์ฅ(sentence)์ด๋ผ ํฉ๋๋ค.
์ฌ์งํฉ
์ธ์ด๋ค์ ์งํฉ๋ค์ด๊ธฐ ๋๋ฌธ์, ๋ ์ธ์ด์ ๋ํ ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ ๋ฑ์ด ์ ์๋ ์ ์์ต๋๋ค.
๋ํ ์ธ์ด์ ์ฌ์งํฉ์ $\Sigma^{*}$ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์๋ฉ๋๋ค.
$$\overline{L} = {\Sigma}^{*} - L $$
์ธ์ด์ด ๋ํ ์ ํฉ
์ธ์ด L1๊ณผ L2๋ฅผ ์ ํฉํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$L_1L_2 = \left\{ xy\; |\; x \in L_1 \;\; and \;\; y \in L_2 \right\}$$
์ด๋ค ์ธ์ด L์ n๋ฒ ์ ํฉํ์ฌ ์ป์ด์ง๋ ์ธ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
$$L^n = LL\cdots L$$
๋ํ n์ด 0์ด๊ฑฐ๋ 1์ธ ํน๋ณํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$ L^0 = \left\{ \lambda \right\} $$
$$L^1 = L $$
์ธ์ด์ ๋ํ ํด๋ก์ ธ
ํน์ ์ธ์ด L์ ๋ํ ์คํ-ํํฌ(star-closure)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ฉฐ,
$$L^* = L^0 \cup L^1 \cup L^2 \cup \cdots $$
์์ฑ-ํํฌ(positive-closure)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$L^+ = L^1 \cup L^2 \cup \cdots $$
๋ฌธ๋ฒ (Grammer)
๋ฌธ๋ฒ์ ๊ธฐํธ๋ก G๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๋ค ์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
$$G = (V, \;\;T,\;\; S,\;\; P)$$
V(Variable)๋์ N(Nonterminal)์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
$V$ ๋๋ $N$ : ๋ณ์(variable)ํน์ Nonterminal symbol์ด๋ผ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
$T$ : ๋จ๋ง ์ฌ๋ฒ(terminal symbol)์ด๋ผ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด(์ํ๋ฒณ)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
$S$ : $V$ ์ ์ํ๋ ํน๋ณํ ์ฌ๋ฒ์ด๋ฉฐ, ์์ ๋ณ์(start variable)๋ผ ๋ถ๋ฆฝ๋๋ค.
$P$ : ์์ฑ๊ท์น(production rule)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
๋ชจ๋ ์์ฑ๊ท์น๋ค์ ๋ค์์ ํํ๋ฅผ ๊ฐ์ง๋๋ค.
$$\alpha \to \beta$$
๋จ $ \alpha \in (N \cup \Sigma )^{*}N(N \cup \Sigma )^{*} \;\;\; and \;\;\; \beta \in (N\cup \Sigma)^{*}$
$\alpha$ ์ ์์น์๋ nonterminal ๊ธฐํธ๊ฐ ์ต์ 1๊ฐ๋ ๋ค์ด์์ผ ํฉ๋๋ค.
์ ๋(derive)
$w = uxv$ ์ด๊ณ
$z = uyv$ ์ผ ๋,
$x \to y$ ํํ์ ์์ฑ๊ท์น์ w์ ์ ์ฉํ์ฌ z๋ฅผ ์ป์ด๋ผ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํํํฉ๋๋ค.
$$w \Rightarrow z $$
์ด์ ๋ํด w๊ฐ z๋ฅผ ์ ๋ํ๋ค(derive)๋ผ๊ณ ์ฝ์ต๋๋ค.
๋ํ ๋ค์๊ณผ ๊ฐ์ ์ ๋๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด,
$$w_1 \Rightarrow w_2 \Rightarrow w_3 \Rightarrow \cdots \Rightarrow w_n$$
$w_1$ ์ด $w_n$ ์ ์ ๋ํ๋ค๊ณ ๋งํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$w_1 \overset{*}{\Rightarrow} w_n $$
0๋ฒ์ ๊ฑธ์ณ ์ ๋๋๋ค ํ๋๋ผ๋ ์์ ๊ฐ์ ํํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌธ๋ฒ์ด ์์ฑํ๋ ์ธ์ด
์์ฑ๊ท์น๋ค์ ์๋ก ๋ค๋ฅธ ์์๋ก ์ ์ฉํ๋ฏ๋ก์จ, ์ฃผ์ด์ง ๋ฌธ๋ฒ์ ๋ง์ ๋ฌธ์์ด๋ค์ ์์ฑํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ ๋จ๋ง ๋ฌธ์์ด๋ค์ ์งํฉ์ ์ฃผ์ด์ง ๋ฌธ๋ฒ์ ์ํด ์์ฑ๋๋ ๋๋ ์ ์๋๋ ์ธ์ด๋ผ ํฉ๋๋ค.
์ฆ ๋ฌธ๋ฒ $G = (V, T, S, P)$ ๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด์ ์ํด ์์ฑ๋๋ ์ธ์ด $L(G)$ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$L(G) = \left\{ w \in T^{*} : S \overset{*}{\Rightarrow} w \right\}$$
๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ ํํ(sentence & sentential form)
๋ฌธ์ฅ(sentence)์ ์ธ์ด(Language)์ ์ํ๋ ์คํธ๋ง์ด๋ผ ํ์์ต๋๋ค.
๋ฌธ์ฅ์ ํฐ๋ฏธ๋ ๊ธฐํธ(terminal symbol)๋ง์ผ๋ก ๊ตฌ์ฑ์์ต๋๋ค.
์ ํฌ๋ ๋ฌธ๋ฒ(Grammer)์ ์์ฑ๊ท์น์ ํตํด w๋ผ๋ ๋ฌธ์ฅ์ ์ ๋ํ ์ ์์ผ๋ฉฐ, ์ด ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ํํํ์์ต๋๋ค.
$$S \Rightarrow w_1 \Rightarrow w_2 \Rightarrow \cdots \Rightarrow w_n $$
์ด ๊ณผ์ ์์ ๋ํ๋๋ ๋จ๋ง๊ธฐํธ(terminal symbol)๋ฟ๋ง ์๋๋ผ, ๋ณ์(variable)๋ค๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด $S$ , $w_1$ , $w_2$ , ..., $w_n$ ๋ฑ์ ์ด ์ ๋์์์ ๋ฌธ์ฅ ํํ(sentential form)์ด๋ผ ํฉ๋๋ค.
์คํ ๋งํ(automation)
์คํ ๋งํ๋ ๋์งํธ ์ปดํจํฐ์ ๋ํ ์ถ์์ ๋ชจ๋ธ์ด๋ฉฐ, ๋ชจ๋ ์คํ ๋งํ๋ค์ ๋ช ๊ฐ์ง ํ์์ ์ธ ๊ธฐ๋ฅ์ ๊ฐ์ต๋๋ค.
์คํ ๋งํ์ ํ์ ๊ธฐ๋ฅ
- ์ ๋ ฅ์ ์ฝ๋ ๊ธฐ๋ฅ(mechanism for reading input)
- ์์ ์ ์ฅ ์ฅ์น(temporary storage device)
- ์ ์ด ์ฅ์น(control unit)
- ์ถ๋ ฅ ๊ธฐ๋ฅ
์ ๋ ฅ ํ์ผ(input file)
์คํ ๋งํ๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋๋ก ์ ๋ ฅ์ ๋ฐ์๋ค์ด๋ ์ฅ์น๋ฅผ ๊ฐ์ต๋๋ค.
์ ๋ ฅ์ ์ฃผ์ด์ง ์ํ๋ฒณ์ ๋ํ ๋ฌธ์์ด(string)์ด๊ณ ์ด๋ ์ ๋ ฅ ํ์ผ(input file)์ ์ ์ฅ๋๋ฉฐ, ์คํ ๋งํ๋ ์ด๋ฅผ ์ฝ์ ์๋ ์์ผ๋ ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค.
์ ๋ ฅ ํ์ผ์ ์ ๋จ์๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๊ฐ ์ ์ ํ๋์ ์ฌ๋ฒ์ ์ ์ฅํ ์ ์์ต๋๋ค.
๋ํ ์คํ ๋งํ๋ ์ถ๋ ฅ ์ฅ์น๊ฐ ์์ด ์ด๋ ํ ํํ๋ก๋ ์ถ๋ ฅ์ ์์ฑํ ์๋ ์์ต๋๋ค.
์์ ๊ธฐ์ต์ฅ์(storage, ๋ฉ๋ชจ๋ฆฌ)
์คํ ๋งํ๋ ์์ ๊ธฐ์ต์ฅ์(storage)๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ด ๊ธฐ์ต์ฅ์๋ ๋ฌดํ๊ฐ์ ์ ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ๊ฐ ์ ์ ์ฃผ์ด์ง ์ํ๋ฒณ๋ด์ ํ ์ฌ๋ฒ์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ ์ด์ฅ์น(control unit)
์คํ ๋งํ๋ ์ ์ด์ฅ์น(control unit)๋ฅผ ๊ฐ์ง๋๋ค.
์ด ์ ์ด ์ฅ์น๋ ์ ํ๊ฐ์ ๋ด๋ถ ์ํ(internal state)๋ค ์ค ํ ์ํ์ ์์ ์ ์์ผ๋ฉฐ, ๋ฏธ๋ฆฌ ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์ํ๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์คํ ๋งํ๋ ์ด์ฐ(discrete) ์๊ฐ ๋จ์๋ก ์ด์๋๋ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค.
์์์ ์ฃผ์ด์ง ์๊ฐ์ ์ ์ด ์ฅ์น๋ ์ด๋ค ๋ด๋ถ ์ํ์ ์๊ฒ ๋๋ฉฐ, ์ ๋ ฅ ์ฅ์น๋ ์ ๋ ฅ ํ์ผ์ ํน์ ์ฌ๋ฒ์ ์ฝ์ด๋ค์ ๋๋ค.
์ ์ด ํจ์(transition function)
๋ค์ ๋จ๊ณ์์์ ์ ์ด ์ฅ์น์ ๋ด๋ถ ์ํ๋ ๋ค์ ๋จ๊ณ ํจ์(next-state function) ํน์ ์ ์ด ํจ์(transtition function)์ ์ํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค.
์ด ์ ์ด ํจ์๋ ํ์ฌ ์ํ, ํ์ฌ์ ์ ๋ ฅ ์ฌ๋ฒ, ํ์ฌ ์์ ๊ธฐ์ต์ฅ์์ ์ ์ฅ๋ ๋ด์ฉ ๋ฑ์ ๋ฐ๋ผ ๋ค์ ์ํ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
ํ ๋จ๊ณ์์ ๋ค์ ๋จ๊ณ๋ก ์ ์ด๊ฐ ๋ฐ์ํ๋ ๋์ ์ถ๋ ฅ์ด ์์ฑ๋๊ฑฐ๋ ์์ ๊ธฐ์ต์ฅ์์ ๋ด์ฉ์ด ๋ณํ๋ ์ ์์ต๋๋ค.
ํ์(configuration) ๊ณผ ์ด๋(move)
์ ์ด ์ฅ์น์ ์ ๋ ฅ ํ์ผ, ๊ทธ๋ฆฌ๊ณ ์์ ๊ธฐ์ต์ฅ์์ ์ํ๋ฅผ ์ข ํฉํ์ฌ ์ธ๊ธํ ๋ ์ฌ์ฉํฉ๋๋ค.
์คํ ๋งํ๊ฐ ํ ํ์์ผ๋ก๋ถํฐ ๋ค์ ํ์์ผ๋ก ์ ์ดํ๋ ๊ฒ์ ์ด๋(move)์ด๋ผ ํฉ๋๋ค.
์ดํ ๊ธ์์ ์ ํ ์คํ ๋งํ์ ๋ํด์ ๊ณต๋ถํ ํ ๋ฐ, ์ด๋ ์คํ ๋งํ๋ฅผ ๊ฒฐ์ ์ ์คํ ๋งํ(deterministic automata)์ ๋น๊ฒฐ์ ์ ์คํ ๋งํ(nondeterministic automata)๋ก ๊ตฌ๋ถํ ํ์๊ฐ ์์ต๋๋ค.
๊ฒฐ์ ์ ์คํ ๋งํ(Deterministic Automata)
๊ฒฐ์ ์ ์คํ ๋งํ์์๋ ๊ฐ ์ด๋์ด ํ์ฌ์ ํ์์ ์ํด ์ ์ผํ๊ฒ ๊ฒฐ์ ๋ฉ๋๋ค.
์ฆ ์คํ ๋งํ์ ๋ด๋ถ ์ํ, ์ ๋ ฅ, ๊ทธ๋ฆฌ๊ณ ์์ ๊ธฐ์ต์ฅ์์ ๋ด์ฉ ๋ฑ์ด ์๋ ค์ง๋ฉด ๊ทธ ์คํ ๋งํ์ ์ดํ ํ๋์ ์ ํํ ์์ธกํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋น๊ฒฐ์ ์ ์คํ ๋งํ(Non-Deterministic Automata)
๋น๊ฒฐ์ ์ ์คํ ๋งํ์๋ ๊ฐ ๋จ๊ณ์์ ์ฌ๋ฌ๊ฐ์ง ์ด๋์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ๋ผ์ ์ ํํ ํ๋์ ๊ฐ๋ฅํ ํ๋๋ง์ ์์ธกํ๊ธฐ๋ณด๋ค๋ ๊ฐ๋ฅํ ํ๋๋ค์ ์งํฉ์ ์์ธกํ ์ ์์ ๋ฟ์ ๋๋ค.
์ธ์๊ธฐ(Accepter)
์ถ๋ ฅ์ด ๋จ์ํ "yes" ๋๋ "no"๋ก ์ ํ๋์ด ์๋ ์คํ ๋งํ๋ฅผ ์ธ์๊ธฐ(accepter)๋ผ ํฉ๋๋ค.
์ธ์๊ธฐ๋ ์ ๋ ฅ ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ ๋ฌธ์์ด์ ์น์ธ(accept)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(reject)ํ๋ ์ญํ ๋ง์ ์ํํฉ๋๋ค.
์ธ์๊ธฐ์ ์ข ๋ฅ๋ก๋ ์ ํ ์คํ ๋งํ, ํธ์ฌ๋ค์ด ์คํ ๋งํ ๋ฑ์ด ์์ต๋๋ค.
๋ณํ๊ธฐ(Transducer)
์ธ์๊ธฐ๋ณด๋ค ๋ ์ผ๋ฐ์ ์ธ ์คํ ๋งํ๋ก ์์์ ๋ฌธ์์ด์ ์ถ๋ ฅ์ผ๋ก ์์ฑํ ์ ์๋ ์คํ ๋งํ๋ฅผ ๋ณํ๊ธฐ(transducer)๋ผ ๋ถ๋ฆ ๋๋ค.
๋ณํ๊ธฐ์ ์ข ๋ฅ๋ก๋ ๋ฐ๋ฆฌ๊ธฐ๊ณ์ ๋ฌด์ด๊ธฐ๊ณ ๋ฑ์ด ์์ต๋๋ค.
์ด์คํค ์๊ณ (Chomsky Hierachy)
์ธ์ด๋ฅผ ์์ฑํ๋ ๋ฌธ๋ฒ๋ค์ ์์ฑ๊ท์น์ ํตํด ๋ฌธ๋ฒ์ ๋ถ๋ฅํ ๊ฒ์ ๋๋ค.
์ด 4๊ฐ์ ํ์ ์ด ์์ต๋๋ค.
๋ฌด์ ํ(unrestricted) ๋ฌธ๋ฒ
์์ฑ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\alpha \to \beta \;\;\; (\alpha \neq \lambda)$$
ํ๋ง ๊ธฐ๊ณ์ ์ํด์ ์ธ์๋ฉ๋๋ค.
๋ฌธ๋งฅ์ฐ๊ด(context-sensitive) ๋ฌธ๋ฒ
์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\alpha A \beta \to \alpha \gamma \beta$$
๋จ $A \in N, \;\; \alpha , \beta \in (N \cup \Sigma)^{*}, \;\; \gamma \in (N \cup \Sigma)^{+}$
N์ variable ์ ๋๋ค.
์ฆ ์ข๋ณ์ variable(Nontermial Symbol)์ ํ๋ ์ด์ ํฌํจํด์ผ ํ๋ฉฐ terminal symbol๋ ์ฌ ์ ์๊ณ , ์ฐ๋ณ์ ๋๋ค๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ํ์ฉ๋ฉ๋๋ค.
์ด๋ ์ค์ด๋ค์ง ์๋(non-contracting) ๋ฌธ๋ฒ์ ๋๋ค.
$$\alpha \to \beta \;\;์ด๋ \;\; |\alpha| \leq |\beta|$$
์ ํ ํ๊ณ ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
(์ฐธ๊ณ )
๋ฌธ๋งฅ์ ์ฐ๊ด๋์ด ์๋ค๋ ๋ป์, ์์ฑ๊ท์น์ ์ข๋ณ์์ 'terminal symbol๋ค์ด ์ด๋ป๊ฒ ๋ํ๋ฌ๋์ง'์ ๋ฐ๋ผ์ ์ ์ฉํ ์ ์๋ ๊ท์น์ด ๋ฌ๋ผ์ง๋ฏ๋ก, ์ฆ ๋ฌธ๋งฅ์ ์ฐ๊ด๋์ด ์์ผ๋ฏ๋ก ๋ฌธ๋งฅ ์ฐ๊ด์ด๋ผ ์นญํฉ๋๋ค.
๋ฌธ๋งฅ์์ (๋ฌด๊ด)(context-free) ๋ฌธ๋ฒ
์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$A \to \alpha$$
์ด๋ A๋ ํ๋์ ๋ณ์(variable ํน์ Nonterminal Symbol)์ด๋ฉฐ,
ฮฑ๋ ๋ณ์(Nonterminal Symbol)์ ๋ง๋จ ๊ธฐํธ(terminal symbol)๋ค๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ๋๋ค.
$$A \in N, \;\; \alpha \in (N \cup \Sigma)^{*} $$
์ฆ ์ข๋ณ์๋ ํ๋์ variable(Nontermial Symbol)๋ง ์ฌ ์ ์์ผ๋ฉฐ, terminal symbol์ ์ฌ ์ ์์ต๋๋ค.
ํธ์ฌ๋ค์ด ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
(์ฐธ๊ณ )
๋ฌธ๋งฅ์ ์์ ๋กญ๋ค๋ ๋ป์, ์์ฑ๊ท์น์ ์ข๋ณ์์ ํ์ฌ๊น์ง์ ๋ฌธ๋งฅ, ์ฆ terminal symbol๋ค์ด ์ด๋ป๊ฒ ๋ํ๋์๋์ง์ ๊ด๊ณ์์ด ์์ฑ๊ท์น์ด ์ ์ฉ๋ ์ ์๋ค๋ ๋ป์ ๋๋ค.
์ ๊ท(regular) ๋ฌธ๋ฒ
์ ๊ท ๋ฌธ๋ฒ์ ์ฐ์ ํ(right-linear)๋ฌธ๋ฒ๊ณผ ์ข์ ํ(left-linear) ๋ฌธ๋ฒ์ ์ด์นญ์ ๋๋ค.
์ฐ์ ํ ๋ฌธ๋ฒ์ ์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ A \to xB \;\;\; or \;\;\; A \to x \;\; (A, B \in N \;\; and \;\; x \in \Sigma^{*})$$
์ข์ ํ ๋ฌธ๋ฒ์ ์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$A \to Bx \;\;\; or \;\;\; A \to x$$
์ ํ ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (3) NFA์์์ DFA๋ก์ ๋ณํ๋ฐฉ๋ฒ (0) | 2022.04.24 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (2) ์ ํ ์คํ ๋งํ (Finite Automata) : DFA, NFA (0) | 2022.04.15 |
[๊ณ์ฐ์ด๋ก ] -๊ธฐ๋ณธ ์ง์(3) : ๊ทธ๋ํ์ ํธ๋ฆฌ (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์(2) : ํจ์(function)๊ณผ ๊ด๊ณ(relation) (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์ (1) : ์งํฉ (0) | 2022.03.19 |
์ธ์ด (Languages)
์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋ ๊ณผ๋ ์น์ํฉ๋๋ค.
๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช
์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์
๋๋ค.
์ธ์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ฒ์ํด๋ณด๋ฉด ์ฌ์ค, ๊ฐ๋
๋ค์ ํํํ ์ ์๋๋ก ํด ์ฃผ๋ ์ฌ๋ฒ(symbol)๋ค์ ์งํฉ๊ณผ, ์ฌ๋ฒ์ ๋ค๋ฃจ๋ ๊ท์น๋ค์ ์งํฉ์ ์๋ฐํ๋ ์์คํ
์ด๋ผ ๋น๊ณต์์ ์ธ ์ ์๋ฅผ ๋ด๋ฆฌ๊ณ ์์ต๋๋ค.
์ฌ๋ฒ(symbol, ๊ธฐํธ) ํน์ ๋จ๋ง ์ฌ๋ฒ(terminal symbol)
a, b, c, .. ๋ฑ๊ณผ ๊ฐ์ ๊ธฐํธ๋ค์ ๋๋ค.
์ํ๋ฒณ(Alphabet)
์ํ๋ฒณ์ด๋ ํ๋ ์ด์์ ์ฌ๋ฒ๋ค์ ์ ํ ์งํฉ์ด๋ฉฐ, ๋ณดํต $\Sigma$๋ก ํํํฉ๋๋ค.
๋ฌธ์์ด(string)
์ฃผ์ด์ง ์ํ๋ฒณ์ ์ํ ์ฌ๋ฒ๋ค์ ๋์ดํ์ฌ ๋ฌธ์์ด(string)์ ๋ง๋ค ์ ์์ต๋๋ค.
์ํ๋ฒณ์ด $\Sigma = \left\{ a,b\right\}$ ๋ผ๋ฉด, abab๋ aaaabbaa๋ฑ์ ์ํ๋ฒณ $\Sigma$ ์ ๋ํ ๋ฌธ์์ด์ด ๋ฉ๋๋ค.
์์ผ๋ก ํน๋ณํ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ์ํ๋ฒณ์ ์์๋ก๋ ์๋ฌธ์ a, b, c ๋ฑ์ ์ฌ์ฉํ ๊ฒ์ด๊ณ , ์ด๋ฌํ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ฉฐ ๋ง๋ค์ด์ง๋ ๋ฌธ์์ด์ u, v, w๋ฑ์ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
$w = abaaa$ ๋ ์ด๋ฆ์ด w์ธ ๋ฌธ์์ด์ ๊ฐ์ด abaaa์์ ๋ํ๋ ๋๋ค.
์ ํฉ(concatenation)
๋ฌธ์์ด w์ ์ค๋ฅธ์ชฝ์ ๋ฌธ์์ด v๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค์ด์ง๋ ๋ฌธ์์ด์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$wv$$
์๋ฅผ ๋ค์ด $w = aabb$ , $v = bbcc$ ์ธ ๊ฒฝ์ฐ, $wv = aabbbbcc$ ์ ๋๋ค.
๋ฌธ์์ด w์ ๋ํด, w๋ฅผ n๋ฒ ๋ฐ๋ณตํ์ฌ ์ป์ด์ง๋ ๋ฌธ์์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$w^{n} = ww \cdots w$$
์ด๋ n์ด 0์ธ ๊ฒฝ์ฐ์๋ $\lambda$ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
$$w^{0} = \lambda $$
์ญ ๋ฌธ์์ด(reverse string)
๋ฌธ์์ด ๋ด์ ์ฌ๋ฒ๋ค์ ์ญ์์ผ๋ก ๋ฐฐ์ดํจ์ผ๋ก์จ ์ป์ด์ง๋ ๋ฌธ์์ด์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํํํฉ๋๋ค.
$$w^{R}$$
$w = aabb$ ์ธ ๊ฒฝ์ฐ $w^{R} = bbaa$ ์ ๋๋ค.
๊ธธ์ด์ ๋น ๋ฌธ์์ด (Length & empty string)
๋ฌธ์์ด์ ๊ธธ์ด๋ ํด๋น ๋ฌธ์์ด์ ์ด๋ฃจ๋ ์ฌ๋ฒ๋ค์ ๊ฐ์์ด๋ฉฐ, $|w|$ ๋ก ํ๊ธฐํฉ๋๋ค.
๋ํ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ธ, ์ฆ ๋ฌธ์๋ฅผ ์ ํ ๊ฐ์ง ์๋ ๋ฌธ์์ด์ ๋น ๋ฌธ์์ด์ด๋ผ ํ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\lambda$$
๋ถ๋ฌธ์์ด๊ณผ ์ ์๋ถ, ํ์๋ถ (substring & prefix, suffix)
์์์ ๋ฌธ์์ด w๋ด์ ์กด์ฌํ๋ ์ฐ์์ ์ธ ๋ฌธ์๋ค์ ๋ฌธ์์ด์ ๋ถ๋ฌธ์์ด์ด๋ผ ํฉ๋๋ค.
๋ํ ์์์ ๋ฌธ์์ด w๊ฐ $w=vw$ ์ฒ๋ผ ๋ถ๋ฌธ์์ด u, v๋ก ๊ตฌ์ฑ๋์ด ์๋ ๊ฒฝ์ฐ ๋ถ๋ฌธ์์ด v์ u๋ฅผ ๊ฐ๊ฐ ๋ฌธ์์ด w์ ์ ์๋ถ(prefix), ํ์๋ถ(suffix)๋ผ ํฉ๋๋ค.
ํด๋ก์ ธ(ํน์ ํํฌ) (closure)
์์์ ์ํ๋ฒณ $\Sigma$ ์ ๋ํด, $\Sigma$์ ์ํ ์ฌ๋ฒ๋ค์ 0๊ฐ ์ด์(0 ํฌํจ)์ ํฉํ์ฌ ์ป์ด์ง๋ ๋ชจ๋ ๋ฌธ์์ด๋ค์ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\Sigma^{*}$$
์ด๋ ์๊ทธ๋ง์ ํด๋ก์ ธ(ํน์ ์๊ทธ๋ง์ ์คํ-ํํฌ) ์ฝ์ต๋๋ค.
๋ํ ์๊ทธ๋ง์ ํด๋ก์ ธ๋ ํญ์ ๋๋ค( $\lambda$ )๋ฅผ ํฌํจํ๋ฉฐ, ์๊ทธ๋ง์ ํด๋ก์ ธ์์ ๋๋ค๋ฅผ ์ ์ธํ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$\Sigma^{+}$$
์ด๋ ์๊ทธ๋ง์ ํฌ์งํฐ๋ธ ํด๋ก์ ธ(ํน์ ์๊ทธ๋ง์ ์์ฑ-ํํฌ)(positive closure of $\Sigma$ )๋ผ๊ณ ์ฝ์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$\Sigma^{+} = \Sigma^{*} - \left\{ \lambda \right\}$$
์ธ์ด(Language)
๊ฐ์ ์ ์ํ์ฌ ์ํ๋ฒณ $\Sigma$ ๋ ์ ํ ์งํฉ์ด์ง๋ง, $\Sigma^{*}$ ๊ณผ $\Sigma^{+}$ ๋ ํญ์ ๋ฌดํ ์งํฉ์ด ๋ฉ๋๋ค.
์ธ์ด๋ ์ผ๋ฐ์ ์ผ๋ก $\Sigma^{*}$์ ๋ถ๋ถ์งํฉ์ผ๋ก ์ ์๋๋ฉฐ, ๊ธฐํธ๋ก๋ L์ ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ฅ(Sentence)
์์์ ์ธ์ด L์ ์ํ๋ ๋ฌธ์์ด(string)์ ์ธ์ด L์ ๋ฌธ์ฅ(sentence)์ด๋ผ ํฉ๋๋ค.
์ฌ์งํฉ
์ธ์ด๋ค์ ์งํฉ๋ค์ด๊ธฐ ๋๋ฌธ์, ๋ ์ธ์ด์ ๋ํ ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ ๋ฑ์ด ์ ์๋ ์ ์์ต๋๋ค.
๋ํ ์ธ์ด์ ์ฌ์งํฉ์ $\Sigma^{*}$ ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์๋ฉ๋๋ค.
$$\overline{L} = {\Sigma}^{*} - L $$
์ธ์ด์ด ๋ํ ์ ํฉ
์ธ์ด L1๊ณผ L2๋ฅผ ์ ํฉํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$L_1L_2 = \left\{ xy\; |\; x \in L_1 \;\; and \;\; y \in L_2 \right\}$$
์ด๋ค ์ธ์ด L์ n๋ฒ ์ ํฉํ์ฌ ์ป์ด์ง๋ ์ธ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
$$L^n = LL\cdots L$$
๋ํ n์ด 0์ด๊ฑฐ๋ 1์ธ ํน๋ณํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$ L^0 = \left\{ \lambda \right\} $$
$$L^1 = L $$
์ธ์ด์ ๋ํ ํด๋ก์ ธ
ํน์ ์ธ์ด L์ ๋ํ ์คํ-ํํฌ(star-closure)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ฉฐ,
$$L^* = L^0 \cup L^1 \cup L^2 \cup \cdots $$
์์ฑ-ํํฌ(positive-closure)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$L^+ = L^1 \cup L^2 \cup \cdots $$
๋ฌธ๋ฒ (Grammer)
๋ฌธ๋ฒ์ ๊ธฐํธ๋ก G๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๋ค ์์ ์์ผ๋ก ์ ์๋ฉ๋๋ค.
$$G = (V, \;\;T,\;\; S,\;\; P)$$
V(Variable)๋์ N(Nonterminal)์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
$V$ ๋๋ $N$ : ๋ณ์(variable)ํน์ Nonterminal symbol์ด๋ผ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
$T$ : ๋จ๋ง ์ฌ๋ฒ(terminal symbol)์ด๋ผ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด(์ํ๋ฒณ)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
$S$ : $V$ ์ ์ํ๋ ํน๋ณํ ์ฌ๋ฒ์ด๋ฉฐ, ์์ ๋ณ์(start variable)๋ผ ๋ถ๋ฆฝ๋๋ค.
$P$ : ์์ฑ๊ท์น(production rule)๋ค์ ์ ํ ์งํฉ์ ๋๋ค.
๋ชจ๋ ์์ฑ๊ท์น๋ค์ ๋ค์์ ํํ๋ฅผ ๊ฐ์ง๋๋ค.
$$\alpha \to \beta$$
๋จ $ \alpha \in (N \cup \Sigma )^{*}N(N \cup \Sigma )^{*} \;\;\; and \;\;\; \beta \in (N\cup \Sigma)^{*}$
$\alpha$ ์ ์์น์๋ nonterminal ๊ธฐํธ๊ฐ ์ต์ 1๊ฐ๋ ๋ค์ด์์ผ ํฉ๋๋ค.
์ ๋(derive)
$w = uxv$ ์ด๊ณ
$z = uyv$ ์ผ ๋,
$x \to y$ ํํ์ ์์ฑ๊ท์น์ w์ ์ ์ฉํ์ฌ z๋ฅผ ์ป์ด๋ผ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํํํฉ๋๋ค.
$$w \Rightarrow z $$
์ด์ ๋ํด w๊ฐ z๋ฅผ ์ ๋ํ๋ค(derive)๋ผ๊ณ ์ฝ์ต๋๋ค.
๋ํ ๋ค์๊ณผ ๊ฐ์ ์ ๋๊ฐ ๊ฐ๋ฅํ๋ค๋ฉด,
$$w_1 \Rightarrow w_2 \Rightarrow w_3 \Rightarrow \cdots \Rightarrow w_n$$
$w_1$ ์ด $w_n$ ์ ์ ๋ํ๋ค๊ณ ๋งํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ํ๊ธฐํฉ๋๋ค.
$$w_1 \overset{*}{\Rightarrow} w_n $$
0๋ฒ์ ๊ฑธ์ณ ์ ๋๋๋ค ํ๋๋ผ๋ ์์ ๊ฐ์ ํํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌธ๋ฒ์ด ์์ฑํ๋ ์ธ์ด
์์ฑ๊ท์น๋ค์ ์๋ก ๋ค๋ฅธ ์์๋ก ์ ์ฉํ๋ฏ๋ก์จ, ์ฃผ์ด์ง ๋ฌธ๋ฒ์ ๋ง์ ๋ฌธ์์ด๋ค์ ์์ฑํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ ๋จ๋ง ๋ฌธ์์ด๋ค์ ์งํฉ์ ์ฃผ์ด์ง ๋ฌธ๋ฒ์ ์ํด ์์ฑ๋๋ ๋๋ ์ ์๋๋ ์ธ์ด๋ผ ํฉ๋๋ค.
์ฆ ๋ฌธ๋ฒ $G = (V, T, S, P)$ ๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด์ ์ํด ์์ฑ๋๋ ์ธ์ด $L(G)$ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค.
$$L(G) = \left\{ w \in T^{*} : S \overset{*}{\Rightarrow} w \right\}$$
๋ฌธ์ฅ๊ณผ ๋ฌธ์ฅ ํํ(sentence & sentential form)
๋ฌธ์ฅ(sentence)์ ์ธ์ด(Language)์ ์ํ๋ ์คํธ๋ง์ด๋ผ ํ์์ต๋๋ค.
๋ฌธ์ฅ์ ํฐ๋ฏธ๋ ๊ธฐํธ(terminal symbol)๋ง์ผ๋ก ๊ตฌ์ฑ์์ต๋๋ค.
์ ํฌ๋ ๋ฌธ๋ฒ(Grammer)์ ์์ฑ๊ท์น์ ํตํด w๋ผ๋ ๋ฌธ์ฅ์ ์ ๋ํ ์ ์์ผ๋ฉฐ, ์ด ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ด ํํํ์์ต๋๋ค.
$$S \Rightarrow w_1 \Rightarrow w_2 \Rightarrow \cdots \Rightarrow w_n $$
์ด ๊ณผ์ ์์ ๋ํ๋๋ ๋จ๋ง๊ธฐํธ(terminal symbol)๋ฟ๋ง ์๋๋ผ, ๋ณ์(variable)๋ค๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด $S$ , $w_1$ , $w_2$ , ..., $w_n$ ๋ฑ์ ์ด ์ ๋์์์ ๋ฌธ์ฅ ํํ(sentential form)์ด๋ผ ํฉ๋๋ค.
์คํ ๋งํ(automation)
์คํ ๋งํ๋ ๋์งํธ ์ปดํจํฐ์ ๋ํ ์ถ์์ ๋ชจ๋ธ์ด๋ฉฐ, ๋ชจ๋ ์คํ ๋งํ๋ค์ ๋ช ๊ฐ์ง ํ์์ ์ธ ๊ธฐ๋ฅ์ ๊ฐ์ต๋๋ค.
์คํ ๋งํ์ ํ์ ๊ธฐ๋ฅ
- ์ ๋ ฅ์ ์ฝ๋ ๊ธฐ๋ฅ(mechanism for reading input)
- ์์ ์ ์ฅ ์ฅ์น(temporary storage device)
- ์ ์ด ์ฅ์น(control unit)
- ์ถ๋ ฅ ๊ธฐ๋ฅ
์ ๋ ฅ ํ์ผ(input file)
์คํ ๋งํ๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋๋ก ์ ๋ ฅ์ ๋ฐ์๋ค์ด๋ ์ฅ์น๋ฅผ ๊ฐ์ต๋๋ค.
์ ๋ ฅ์ ์ฃผ์ด์ง ์ํ๋ฒณ์ ๋ํ ๋ฌธ์์ด(string)์ด๊ณ ์ด๋ ์ ๋ ฅ ํ์ผ(input file)์ ์ ์ฅ๋๋ฉฐ, ์คํ ๋งํ๋ ์ด๋ฅผ ์ฝ์ ์๋ ์์ผ๋ ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค.
์ ๋ ฅ ํ์ผ์ ์ ๋จ์๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๊ฐ ์ ์ ํ๋์ ์ฌ๋ฒ์ ์ ์ฅํ ์ ์์ต๋๋ค.
๋ํ ์คํ ๋งํ๋ ์ถ๋ ฅ ์ฅ์น๊ฐ ์์ด ์ด๋ ํ ํํ๋ก๋ ์ถ๋ ฅ์ ์์ฑํ ์๋ ์์ต๋๋ค.
์์ ๊ธฐ์ต์ฅ์(storage, ๋ฉ๋ชจ๋ฆฌ)
์คํ ๋งํ๋ ์์ ๊ธฐ์ต์ฅ์(storage)๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ด ๊ธฐ์ต์ฅ์๋ ๋ฌดํ๊ฐ์ ์ ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ๊ฐ ์ ์ ์ฃผ์ด์ง ์ํ๋ฒณ๋ด์ ํ ์ฌ๋ฒ์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ ์ด์ฅ์น(control unit)
์คํ ๋งํ๋ ์ ์ด์ฅ์น(control unit)๋ฅผ ๊ฐ์ง๋๋ค.
์ด ์ ์ด ์ฅ์น๋ ์ ํ๊ฐ์ ๋ด๋ถ ์ํ(internal state)๋ค ์ค ํ ์ํ์ ์์ ์ ์์ผ๋ฉฐ, ๋ฏธ๋ฆฌ ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์ํ๋ฅผ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์คํ ๋งํ๋ ์ด์ฐ(discrete) ์๊ฐ ๋จ์๋ก ์ด์๋๋ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค.
์์์ ์ฃผ์ด์ง ์๊ฐ์ ์ ์ด ์ฅ์น๋ ์ด๋ค ๋ด๋ถ ์ํ์ ์๊ฒ ๋๋ฉฐ, ์ ๋ ฅ ์ฅ์น๋ ์ ๋ ฅ ํ์ผ์ ํน์ ์ฌ๋ฒ์ ์ฝ์ด๋ค์ ๋๋ค.
์ ์ด ํจ์(transition function)
๋ค์ ๋จ๊ณ์์์ ์ ์ด ์ฅ์น์ ๋ด๋ถ ์ํ๋ ๋ค์ ๋จ๊ณ ํจ์(next-state function) ํน์ ์ ์ด ํจ์(transtition function)์ ์ํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค.
์ด ์ ์ด ํจ์๋ ํ์ฌ ์ํ, ํ์ฌ์ ์ ๋ ฅ ์ฌ๋ฒ, ํ์ฌ ์์ ๊ธฐ์ต์ฅ์์ ์ ์ฅ๋ ๋ด์ฉ ๋ฑ์ ๋ฐ๋ผ ๋ค์ ์ํ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
ํ ๋จ๊ณ์์ ๋ค์ ๋จ๊ณ๋ก ์ ์ด๊ฐ ๋ฐ์ํ๋ ๋์ ์ถ๋ ฅ์ด ์์ฑ๋๊ฑฐ๋ ์์ ๊ธฐ์ต์ฅ์์ ๋ด์ฉ์ด ๋ณํ๋ ์ ์์ต๋๋ค.
ํ์(configuration) ๊ณผ ์ด๋(move)
์ ์ด ์ฅ์น์ ์ ๋ ฅ ํ์ผ, ๊ทธ๋ฆฌ๊ณ ์์ ๊ธฐ์ต์ฅ์์ ์ํ๋ฅผ ์ข ํฉํ์ฌ ์ธ๊ธํ ๋ ์ฌ์ฉํฉ๋๋ค.
์คํ ๋งํ๊ฐ ํ ํ์์ผ๋ก๋ถํฐ ๋ค์ ํ์์ผ๋ก ์ ์ดํ๋ ๊ฒ์ ์ด๋(move)์ด๋ผ ํฉ๋๋ค.
์ดํ ๊ธ์์ ์ ํ ์คํ ๋งํ์ ๋ํด์ ๊ณต๋ถํ ํ ๋ฐ, ์ด๋ ์คํ ๋งํ๋ฅผ ๊ฒฐ์ ์ ์คํ ๋งํ(deterministic automata)์ ๋น๊ฒฐ์ ์ ์คํ ๋งํ(nondeterministic automata)๋ก ๊ตฌ๋ถํ ํ์๊ฐ ์์ต๋๋ค.
๊ฒฐ์ ์ ์คํ ๋งํ(Deterministic Automata)
๊ฒฐ์ ์ ์คํ ๋งํ์์๋ ๊ฐ ์ด๋์ด ํ์ฌ์ ํ์์ ์ํด ์ ์ผํ๊ฒ ๊ฒฐ์ ๋ฉ๋๋ค.
์ฆ ์คํ ๋งํ์ ๋ด๋ถ ์ํ, ์ ๋ ฅ, ๊ทธ๋ฆฌ๊ณ ์์ ๊ธฐ์ต์ฅ์์ ๋ด์ฉ ๋ฑ์ด ์๋ ค์ง๋ฉด ๊ทธ ์คํ ๋งํ์ ์ดํ ํ๋์ ์ ํํ ์์ธกํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋น๊ฒฐ์ ์ ์คํ ๋งํ(Non-Deterministic Automata)
๋น๊ฒฐ์ ์ ์คํ ๋งํ์๋ ๊ฐ ๋จ๊ณ์์ ์ฌ๋ฌ๊ฐ์ง ์ด๋์ด ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ๋ผ์ ์ ํํ ํ๋์ ๊ฐ๋ฅํ ํ๋๋ง์ ์์ธกํ๊ธฐ๋ณด๋ค๋ ๊ฐ๋ฅํ ํ๋๋ค์ ์งํฉ์ ์์ธกํ ์ ์์ ๋ฟ์ ๋๋ค.
์ธ์๊ธฐ(Accepter)
์ถ๋ ฅ์ด ๋จ์ํ "yes" ๋๋ "no"๋ก ์ ํ๋์ด ์๋ ์คํ ๋งํ๋ฅผ ์ธ์๊ธฐ(accepter)๋ผ ํฉ๋๋ค.
์ธ์๊ธฐ๋ ์ ๋ ฅ ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ทธ ๋ฌธ์์ด์ ์น์ธ(accept)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(reject)ํ๋ ์ญํ ๋ง์ ์ํํฉ๋๋ค.
์ธ์๊ธฐ์ ์ข ๋ฅ๋ก๋ ์ ํ ์คํ ๋งํ, ํธ์ฌ๋ค์ด ์คํ ๋งํ ๋ฑ์ด ์์ต๋๋ค.
๋ณํ๊ธฐ(Transducer)
์ธ์๊ธฐ๋ณด๋ค ๋ ์ผ๋ฐ์ ์ธ ์คํ ๋งํ๋ก ์์์ ๋ฌธ์์ด์ ์ถ๋ ฅ์ผ๋ก ์์ฑํ ์ ์๋ ์คํ ๋งํ๋ฅผ ๋ณํ๊ธฐ(transducer)๋ผ ๋ถ๋ฆ ๋๋ค.
๋ณํ๊ธฐ์ ์ข ๋ฅ๋ก๋ ๋ฐ๋ฆฌ๊ธฐ๊ณ์ ๋ฌด์ด๊ธฐ๊ณ ๋ฑ์ด ์์ต๋๋ค.
์ด์คํค ์๊ณ (Chomsky Hierachy)
์ธ์ด๋ฅผ ์์ฑํ๋ ๋ฌธ๋ฒ๋ค์ ์์ฑ๊ท์น์ ํตํด ๋ฌธ๋ฒ์ ๋ถ๋ฅํ ๊ฒ์ ๋๋ค.
์ด 4๊ฐ์ ํ์ ์ด ์์ต๋๋ค.
๋ฌด์ ํ(unrestricted) ๋ฌธ๋ฒ
์์ฑ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\alpha \to \beta \;\;\; (\alpha \neq \lambda)$$
ํ๋ง ๊ธฐ๊ณ์ ์ํด์ ์ธ์๋ฉ๋๋ค.
๋ฌธ๋งฅ์ฐ๊ด(context-sensitive) ๋ฌธ๋ฒ
์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\alpha A \beta \to \alpha \gamma \beta$$
๋จ $A \in N, \;\; \alpha , \beta \in (N \cup \Sigma)^{*}, \;\; \gamma \in (N \cup \Sigma)^{+}$
N์ variable ์ ๋๋ค.
์ฆ ์ข๋ณ์ variable(Nontermial Symbol)์ ํ๋ ์ด์ ํฌํจํด์ผ ํ๋ฉฐ terminal symbol๋ ์ฌ ์ ์๊ณ , ์ฐ๋ณ์ ๋๋ค๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ํ์ฉ๋ฉ๋๋ค.
์ด๋ ์ค์ด๋ค์ง ์๋(non-contracting) ๋ฌธ๋ฒ์ ๋๋ค.
$$\alpha \to \beta \;\;์ด๋ \;\; |\alpha| \leq |\beta|$$
์ ํ ํ๊ณ ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
(์ฐธ๊ณ )
๋ฌธ๋งฅ์ ์ฐ๊ด๋์ด ์๋ค๋ ๋ป์, ์์ฑ๊ท์น์ ์ข๋ณ์์ 'terminal symbol๋ค์ด ์ด๋ป๊ฒ ๋ํ๋ฌ๋์ง'์ ๋ฐ๋ผ์ ์ ์ฉํ ์ ์๋ ๊ท์น์ด ๋ฌ๋ผ์ง๋ฏ๋ก, ์ฆ ๋ฌธ๋งฅ์ ์ฐ๊ด๋์ด ์์ผ๋ฏ๋ก ๋ฌธ๋งฅ ์ฐ๊ด์ด๋ผ ์นญํฉ๋๋ค.
๋ฌธ๋งฅ์์ (๋ฌด๊ด)(context-free) ๋ฌธ๋ฒ
์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$A \to \alpha$$
์ด๋ A๋ ํ๋์ ๋ณ์(variable ํน์ Nonterminal Symbol)์ด๋ฉฐ,
ฮฑ๋ ๋ณ์(Nonterminal Symbol)์ ๋ง๋จ ๊ธฐํธ(terminal symbol)๋ค๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ๋๋ค.
$$A \in N, \;\; \alpha \in (N \cup \Sigma)^{*} $$
์ฆ ์ข๋ณ์๋ ํ๋์ variable(Nontermial Symbol)๋ง ์ฌ ์ ์์ผ๋ฉฐ, terminal symbol์ ์ฌ ์ ์์ต๋๋ค.
ํธ์ฌ๋ค์ด ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
(์ฐธ๊ณ )
๋ฌธ๋งฅ์ ์์ ๋กญ๋ค๋ ๋ป์, ์์ฑ๊ท์น์ ์ข๋ณ์์ ํ์ฌ๊น์ง์ ๋ฌธ๋งฅ, ์ฆ terminal symbol๋ค์ด ์ด๋ป๊ฒ ๋ํ๋์๋์ง์ ๊ด๊ณ์์ด ์์ฑ๊ท์น์ด ์ ์ฉ๋ ์ ์๋ค๋ ๋ป์ ๋๋ค.
์ ๊ท(regular) ๋ฌธ๋ฒ
์ ๊ท ๋ฌธ๋ฒ์ ์ฐ์ ํ(right-linear)๋ฌธ๋ฒ๊ณผ ์ข์ ํ(left-linear) ๋ฌธ๋ฒ์ ์ด์นญ์ ๋๋ค.
์ฐ์ ํ ๋ฌธ๋ฒ์ ์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ A \to xB \;\;\; or \;\;\; A \to x \;\; (A, B \in N \;\; and \;\; x \in \Sigma^{*})$$
์ข์ ํ ๋ฌธ๋ฒ์ ์์ฑ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$A \to Bx \;\;\; or \;\;\; A \to x$$
์ ํ ์คํ ๋งํ์ ์ํด ์ธ์๋ฉ๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (3) NFA์์์ DFA๋ก์ ๋ณํ๋ฐฉ๋ฒ (0) | 2022.04.24 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (2) ์ ํ ์คํ ๋งํ (Finite Automata) : DFA, NFA (0) | 2022.04.15 |
[๊ณ์ฐ์ด๋ก ] -๊ธฐ๋ณธ ์ง์(3) : ๊ทธ๋ํ์ ํธ๋ฆฌ (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์(2) : ํจ์(function)๊ณผ ๊ด๊ณ(relation) (0) | 2022.03.19 |
[๊ณ์ฐ์ด๋ก ] - ๊ธฐ๋ณธ ์ง์ (1) : ์งํฉ (0) | 2022.03.19 |