๋ฌธ๋งฅ ์์ ์ธ์ด
๋ฌธ๋ฒ G = (V, T, S, P)์์ ๋ชจ๋ ์์ฑ๊ท์น์ด
$$A \to x$$
์ ํํ๋ฅผ ๊ฐ์ง๋ฉด G๋ฅผ ๋ฌธ๋งฅ-์์ ๋ฌธ๋ฒ(Context-free Grammer, CFG)์ด๋ผ ํฉ๋๋ค.
์ด๋ A์ x๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$A \in V, \;\;\;\; x \in (V \cup T)^{*}$$
๋ํ ์ธ์ด L์ ๋ํด์ L = L(G)๋ฅผ ๋ง์กฑํ๋ ๋ฌธ๋งฅ-์์ ๋ฌธ๋ฒ G๊ฐ ์กด์ฌํ๊ณ , ์ค์ง ๊ทธ๋ด ๋์๋ง L์ ๋ฌธ๋งฅ-์์ ์ธ์ด(Context-free Lanuage, CFL)๋ผ๊ณ ํฉ๋๋ค.
์์ ์ ์์ ์ํ์ฌ ๋ชจ๋ ์ ๊ท ๋ฌธ๋ฒ์ ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ด ๋๋ฉฐ
๋ฐ๋ผ์ ์ ๊ท ์ธ์ด๋ ๋ฌธ๋ฐฑ ์์ ์ธ์ด์์ ์ ์ ์์ต๋๋ค.
์ฆ ์ ๊ท ์ธ์ด๊ตฐ์ ๋ฌธ๋งฅ ์์ ์ธ์ด๊ตฐ์ ์ง๋ถ๋ถ ์งํฉ์ ๋๋ค.
๋ฌธ๋งฅ ์์ ๋ผ๋ ์ด๋ฆ์ ๋ฌธ์ฅ ํํ(sentencial form)์ ์๋ ์์์ ๋ณ์(Nonterminal Symbol)๋ ๊ทธ ๋ณ์๋ฅผ ์ข๋ณ์ผ๋ก ๊ฐ์ ์์ฑ๊ท์น์ ์ํ์ฌ ์นํ๋ ์ ์์ผ๋ฉฐ
์ด๋ ์ด๋ฌํ ์นํ์ ๋ฌธ์ฅ ํํ์ ์๋ ๋๋จธ์ง ์ฌ๋ฒ๋ค๊ณผ๋ ์๊ด์์ด ์ด๋ฃจ์ด์ง๊ธฐ์ ๋ฌธ๋งฅ์ ์์ ๋กญ๋ค ํ์ฌ ๋ถ์ฌ์ง ์ด๋ฆ์ ๋๋ค.
ํ๋ฌธ (palindrome)
๋ค์์ ์์ฑ ๊ท์น์ ๊ฐ๋ ๋ฌธ๋ฒ์ ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ ๋๋ค.
$$G = (\left\{ S \right\}, \left\{ a, b\right\}, S, P)$$
$$S \to aSa\; | \;bSb\; | \;\lambda$$
ํด๋น ๋ฌธ๋ฒ์ผ๋ก ์ธํด ์ ๋๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ S \Rightarrow aSa \Rightarrow aaSaa \Rightarrow aabSbaa \Rightarrow aabbaa $$
$$ S \Rightarrow bSb \Rightarrow baSab \Rightarrow baab$$
ํด๋น ๋ฌธ๋ฒ์ ์ํด ์ ์๋๋ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ
$$L(G) = \left\{ ww^{R} \; : \; w \in \left\{ a, b \right\} \right\}$$
๋ค์๊ณผ ๊ฐ์ด๋ ํํํฉ๋๋ค.
even-length palindromes in { ๐, ๐ }*
์ข์ธก ์ฐ์ ์ ๋์ ์ฐ์ธก ์ฐ์ ์ ๋
์ ํ ๋ฌธ๋ฒ์ด ์๋ ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ ๋ํ ์ ๋์์, ๋ ๊ฐ ์ด์์ ๋ณ์๋ฅผ ํฌํจํ๊ณ ์๋ ๋ฌธ์ฅ ํํ๊ฐ ๋ํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ฒฝ์ฐ์ ์ฌ๋ฌ ๋ณ์๋ค์ ์ด๋ ์์๋ก ๋์ฒดํ ๊ฒ์ธ๊ฐ ์ ํํด์ผ ํฉ๋๋ค.
์ข์ธก์ฐ์ ์ ๋ : ์ ๋ ๊ณผ์ ์ ๊ฐ ๋จ๊ณ์์ ๊ฐ ๋ฌธ์ฅ ํํ์ ๊ฐ์ฅ ์ข์ธก ๋ณ์๊ฐ ๋์ฒด๋๋ ์ ๋
์ฐ์ธก์ฐ์ ์ ๋ : ๊ฐ์ฅ ์ฐ์ธก ๋ณ์๊ฐ ๋์ฒด๋๋ ์ ๋
์ ๋ ํธ๋ฆฌ (Derivation Trees)
์ ๋ ํธ๋ฆฌ๋ ์ ๋ ๊ณผ์ ์ ๋ณด์ด๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋๋ ์๋จ์ ๋๋ค.
์ด ํํ ๋ฐฉ๋ฒ์ ์ฌ์ฉ๋ ์์ฑ๊ท์น๋ค์ ์์์๋ ๋ฌด๊ดํฉ๋๋ค.
์ ๋ ํธ๋ฆฌ๋ ์์ ํธ๋ฆฌ๋ก์ ๋ถ๋ชจ ๋ ธ๋๋ ์์ฑ๊ท์น์ ์ข๋ณ์ ์๋ ๋ณ์๋ก ๋ผ๋ฒจ์ด ์ฃผ์ด์ง๊ณ , ์ด ๋ ธ๋์ ์์ ๋ ธ๋๋ ๋์๋๋ ์ฐ๋ณ์ ์๋ ์ฌ๋ฒ๋ค์ ํํํฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด ์๋ ๊ทธ๋ฆผ์ ๋ค์์ ์์ฑ๊ท์น์ ๋ํ ์ ๋ ํธ๋ฆฌ์ ํ ๋ถ๋ถ์ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค.
$$A \to abABc$$
์ฆ ์ ๋ ํธ๋ฆฌ์์๋ ์์ฑ๊ท์น์ ์ข๋ณ์ ์๋ ๋ณ์๋ฅผ ๋ผ๋ฒจ๋ก ๊ฐ๋ ๋ ธ๋๋ ์ด ๊ท์น์ ์ฐ๋ณ์ ์๋ ์ฌ๋ฒ๋ค์ ์์ ๋ ธ๋๋ค๋ก ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
์ ๋ ํธ๋ฆฌ์ ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
G = (V, T, S, P)๊ฐ ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ด๋ผ ํ๋ฉด, ์์ ํธ๋ฆฌ๊ฐ G์ ์ ๋ ํธ๋ฆฌ๊ฐ ๋๊ธฐ ์ํ ํ์์ถฉ๋ถ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋ฃจํธ ๋ ธ๋์ ๋ผ๋ฒจ์ ์์ ๋ณ์ S์ ๋๋ค.
2. ๊ฐ ๋ฆฌํ ๋ ธ๋์ ๋ผ๋ฒจ์ $T \cup \left\{ \lambda \right\}$ ์ ์ฌ๋ฒ์ ๋๋ค.
3. ๊ฐ ๋ด๋ถ ๋ ธ๋์ ๋ผ๋ฒจ์ V์ ์ํ ๋ณ์์ ๋๋ค.
4. ๋ง์ฝ ๋ผ๋ฒจ์ด $A \in V$ ์ธ ๋ ธ๋๊ฐ ๋ผ๋ฒจ์ด (์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฐจ๋ก๋ก) $a_1, a_2, ..., a_n$ ์ธ ์์ ๋ ธ๋๋ค์ ๊ฐ๋๋ค๋ฉด, P๋ ๋ค์ ํํ์ ์์ฑ๊ท์น์ ๊ฐ๊ณ ์์ด์ผ ํฉ๋๋ค.
$$A \to a_1 a_2 ... a_n$$
5. ๋ผ๋ฒจ์ด $\lambda$ ์ธ ์์ ๋ ธ๋๋ ํ์ ๋ ธ๋๊ฐ ์์ต๋๋ค.
์ฆ ๋ผ๋ฒจ์ด $\lambda$ ์ธ ์์ ๋ ธ๋๋ฅผ ๊ฐ๋, $\lambda$ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋๋ ๋ค๋ฅธ ์์๋ค์ ๊ฐ์ง ์ ์์ต๋๋ค.
ํธ๋ฆฌ๊ฐ ์์ ์กฐ๊ฑด๋ค ์ค์์ 3, 4, 5๋ฅผ ํญ์ ๋ง์กฑํ๋ฉฐ, 1์ ๋ฐ๋์ ๋ง์กฑํ ํ์๊ฐ ์๊ณ ,
์กฐ๊ฑด 2 ๋์ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฝ์ฐ, ์ด ํธ๋ฆฌ๋ฅผ ๋ถ๋ถ ์ ๋ ํธ๋ฆฌ(partial derivation tree)๋ผ๊ณ ํฉ๋๋ค.
- ๋ชจ๋ ์ ๋ ธ๋๋ $( V \cup T \cup \left\{ \lambda \right\} )$ ์ ํ์์ ๊ฐ์ต๋๋ค.
์ ๋ ํธ๋ฆฌ์ ์์ฑ๋ฌผ(yeild)์ ์ ๋ํธ๋ฆฌ์ ์ ๋ ธ๋๋ฅผ ์ผ์ชฝ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์ฐจ๋ก๋ก ์ฝ์ด์ ์ป์ด์ง ์ฌ๋ฒ๋ค์ ๋ฌธ์์ด์ ์๋ฏธํฉ๋๋ค.
๋ฌธ์ฅ ํํ์ ์ ๋ ํธ๋ฆฌ์์ ๊ด๊ณ
$G = (V, T, S, P)$ ๋ฅผ ๋ฌธ๋งฅ - ์์ ๋ฌธ๋ฒ์ด๋ผ ํ ๋, ๋ชจ๋ $w \in L(G)$ ์ ๋ํ์ฌ, ์์ฑ๋ฌผ์ด w์ธ G์ ์ ๋ ํธ๋ฆฌ๊ฐ ์กด์ฌํฉ๋๋ค.
์ญ์ผ๋ก ๋ชจ๋ ์ ๋ ํธ๋ฆฌ์ ์์ฑ๋ฌผ์ L(G)์ ์ํฉ๋๋ค.
t๊ฐ ๋ฃจํธ ๋ ธ๋๊ฐ S์ธ G์ ๋ถ๋ถ ์ ๋ ํธ๋ฆฌ์ด๋ฉด, t์ ์์ฑ๋ฌผ์ G์ ๋ฌธ์ฅ ํํ์ ๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (12) ๋ฌธ๋งฅ ์์ ๋ฌธ๋ฒ์ ๋จ์ํ (2) | 2022.05.26 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (11) ํ์ฑ๊ณผ ๋ชจํธ์ฑ(Parsing, Ambiguity) (0) | 2022.05.26 |
[๊ณ์ฐ์ด๋ก ] - (9) ํํ ๋ณด์กฐ์ ๋ฆฌ (Pumping lemma) (0) | 2022.05.22 |
[๊ณ์ฐ์ด๋ก ] - (8) ๋น์ ๊ท ์ธ์ด์ ์๋ณ (0) | 2022.05.22 |
[๊ณ์ฐ์ด๋ก ] - (7) ์ ๊ท ์ธ์ด์ ํํฌ(Closure) ์ฑ์ง (0) | 2022.05.11 |