๋น์ ๊ท ์ธ์ด์ ์๋ณ
์ ๊ท ์ธ์ด๋ ๋ฌดํ ์งํฉ์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ ๊ท ์ธ์ด๋ ์ ์์ ๋ฐ๋ผ ์ ํ ์คํ ๋งํ์ ์ํด ์ธ์์ด ๋๋ฉฐ, ์ด๋ ์ ๊ท ์ธ์ด์ ๊ตฌ์กฐ์ ์ด๋ ํ ์ ์ฝ์ ๋ถ์ฌํ๋ฉฐ, ๋ฐ๋ผ์ ์ด๋ค ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด๊ฐ ๋๊ธฐ ์ํด์๋ ์ด๋ฌํ ์ ์ฝ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
์ ํฌ๋ ์ฃผ์ด์ง ์ธ์ด์ ๋ํ์ฌ ์ด๊ฒ์ด ์ ๊ท ์ธ์ด๊ฐ ์๋์ ์ฆ๋ช ํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ฐฐ์ธ ๊ฒ์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋น๋๊ธฐ์ง ์๋ฆฌ
ํํ ๋ณด์กฐ์ ๋ฆฌ (pumping lemma)
๋น๋๊ธฐ์ง ์๋ฆฌ (ํผ์ ํ ์๋ฆฌ)
๋น๋๊ธฐ์ง์ ๊ฐ์๋ฅผ m,
๋น๋๊ธฐ์ ์๋ฅผ n์ด๋ผ ํ์์ ๋,
m < n ์ธ ๊ฒฝ์ฐ ์ ์ด๋ ํ๋์ ๋น๋๊ธฐ์ง์๋ ๋ ๋ง๋ฆฌ ์ด์์ ๋น๋๊ธฐ๊ฐ ๋ค์ด๊ฐ ํ๋ค๋ ์๋ฆฌ์ ๋๋ค.
๋น๋๊ธฐ์ง ์๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ค์ ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด์ธ์ง ์๋์ง ํ์ธํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
$$L = \left\{ a^{n}b^{n} \;:\; n \geq 0 \right\}$$
L์ด ์ ๊ท ์ธ์ด๋ผ๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฌ๋ฉด L์ ์ธ์ํ๋ dfa๊ฐ ์กด์ฌํฉ๋๋ค. dfa M๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ๊ฒ ์ต๋๋ค.
$$M = (Q, \left\{ a,b \right\} , \delta, q_0, F)$$
๋ชจ๋ i = 1, 2, 3, ... ์ ๋ํ์ฌ, ๋ค์๊ณผ ๊ฐ์ ํ์ฅ ์ ์ดํจ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
$$\delta^{*} (q_0, a^{i})$$
์ฌ๊ธฐ์ i์ ๊ฐ์๋ ๋ฌดํ๊ฐ์ธ ๋ฐ๋ฉด, M์ ์ํ๋ค์ ๊ฐ์๋ ์ ํ๊ฐ์ ๋๋ค.
๋ฌดํ์ ์ ํ๋ณด๋ค ํฝ๋๋ค.
ํผ์ ํ ์๋ฆฌ์ ์ํด ์ํ๋ค์ ๊ฐ์๋ณด๋ค a์ ๊ฐ์๊ฐ ๋ง์ผ๋ฏ๋ก,
๋ค์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ํ q๊ฐ ์กด์ฌํ์ฌ์ผ ํฉ๋๋ค.
$$\delta^{*} (q_0, a^n) = q$$
$$\delta^{*} (q_0, a^m) = q$$
$$๋จ \; n \neq m$$
์ ํฌ๋ L์ ์ ๊ท ์ธ์ด๋ผ ๊ฐ์ ํ๊ธฐ์, ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ํ q์ ๋ํ์ฌ ๋ค์์ด ์ฑ๋ฆฝํด์ผ ํฉ๋๋ค.
$$\delta^{*} (q, b^n) = q_f \in F$$
์ด๋ฅผ ํตํด ๋ค์์ด ์ ๋๋ฉ๋๋ค.
$$\delta^{*}(q_0, a^{m}b^{n}) = \delta^{*}(\delta^{*}(q_0, a^{m}), \; b^{n})$$
$$=\delta^{*}(q, b^{n})$$
$$=q_f$$
์๋ฅผ ํตํด n๊ณผ m์ด ๋ค๋ฅธ ๋ฌธ๋ฒ์ ๋ํด์๋ dfa M์ด ์น์ธํ๋ฏ๋ก, L์ด ์ ๊ท ์ธ์ด๋ผ๋ ๊ฐ์ ์ ๋ชจ์๋ฉ๋๋ค.
๋ฐ๋ผ์ L์ ์ ๊ท ์ธ์ด๊ฐ ๋ ์ ์์ต๋๋ค.
์ฐธ๊ณ
์ฆ๋ช ์ ์ค๊ฐ ๊ณผ์ ์์ ์ดํด๊ฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ์์ ์๋ ์์ ๊ฑฐ ๊ฐ์ ์ฐธ๊ณ ์๋ฃ๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
๋ค์ ๋ถ๋ถ์ ๋๋ค.
ํผ์ ํ ์๋ฆฌ์ ์ํด ๋ค์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ํ q๊ฐ ์กด์ฌํ์ฌ์ผ ํฉ๋๋ค.
$$\delta^{*} (q_0, a^n) = q$$
$$\delta^{*} (q_0, a^m) = q$$
$$๋จ \; n \neq m$$
์ ๊ท ์ธ์ด์ ์ ์ด ๊ทธ๋ํ์ ๋ํ ์ฑ์ง
์ด๋ ํ ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด์ธ์ง ์๋์ง๋ฅผ ํ๋ณํ ๋, ๋ค์ ์ฑ์ง๋ค์ ์ด์ฉํ ์ ์์ต๋๋ค.
1. ์ ์ด ๊ทธ๋ํ๊ฐ ์ฌ์ดํด์ ๊ฐ์ง์ง ์์ผ๋ฉด ํด๋น ์ธ์ด๋ ์ ํํฉ๋๋ค.
์ด๋ ํ ์ธ์ด๊ฐ ์ ํํ๋ค๋ฉด ํด๋น ์ธ์ด๋ ์ ๊ท ์ธ์ด์ ๋๋ค.
2. ์ ์ด ๊ทธ๋ํ๊ฐ ๋น์ด์์ง ์์ ๋ผ๋ฒจ(์ฆ ๋๋ค ์ ์ด๊ฐ ์๋)์ด ํฌํจ๋ ์ฌ์ดํด์ ๊ฐ์ง๋ฉด ํด๋น ์ธ์ด๋ ๋ฌดํ ์ ๊ท ์ธ์ด์ ๋๋ค.
3. ์ฌ์ดํด์ด ์์ ๊ฒฝ์ฐ ์ด ์ฌ์ดํด์ ์๋ต๋ ์๋ ์๊ณ , ์์์ ํ์๋งํผ ๋ฐ๋ณต๋ ์๋ ์์ต๋๋ค.
์ฌ์ดํด์ด ๋ผ๋ฒจ v๋ฅผ ๊ฐ์ง๋ฉด์, ๋ฌธ์์ด wvw๊ฐ ํด๋น ์ธ์ด์ ์ํ ๊ฒฝ์ฐ, ww์ wvvw, wvvvw๋ฑ๋ ํด๋น ์ธ์ด์ ์ํฉ๋๋ค.
4. ์ฃผ์ด์ง dfa์ ์ด๋ ๋ถ๋ถ์ ์ด๋ฌํ ์ฌ์ดํด์ด ์กด์ฌํ๋์ง๋ ์ ์ ์์ต๋๋ค.
๋ค๋ง ๊ทธ dfa๊ฐ m๊ฐ์ ์ํ๋ฅผ ๊ฐ์ง๋ค๋ฉด m๊ฐ์ ์ฌ๋ฒ์ด ์ฝํ์ง๋ ์์ ์ ์ฌ์ดํด์ด ์์๋ฉ๋๋ค.
์ด๋ ํ ์ธ์ด L์ ๋ํ์ฌ, ์ด๋ฌํ ์ฑ์ง์ ๊ฐ์ง์ง ์๋ ๋ฌธ์์ด w๊ฐ ํ๋๋ผ๋ ์๋ค๋ฉด, ๊ทธ ์ธ์ด L์ ์ ๊ท ์ธ์ด์ผ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ด์ฐฐ์ ํตํด์ ํํ ๋ณด์กฐ์ ๋ฆฌ๋ฅผ ์ธ๊ธํ ์ ์์ต๋๋ค.
ํํ ๋ณด์กฐ์ ๋ฆฌ๋ ์กฐ๊ธ ์ด๋ ต๊ธฐ์ ๋ค์ ๊ธ์ ์ด์ด์ ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
'๐ฅ Computer Science > ๊ณ์ฐ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ณ์ฐ์ด๋ก ] - (10) ๋ฌธ๋งฅ - ์์ ์ธ์ด(Context-free Grammer, CFG) (0) | 2022.05.22 |
---|---|
[๊ณ์ฐ์ด๋ก ] - (9) ํํ ๋ณด์กฐ์ ๋ฆฌ (Pumping lemma) (0) | 2022.05.22 |
[๊ณ์ฐ์ด๋ก ] - (7) ์ ๊ท ์ธ์ด์ ํํฌ(Closure) ์ฑ์ง (0) | 2022.05.11 |
[๊ณ์ฐ์ด๋ก ] - (6) ์ ๊ท ๋ฌธ๋ฒ(regular grammer) (2) | 2022.05.11 |
[๊ณ์ฐ์ด๋ก ] - (5) ์ ๊ท ํํ (Regular Expression) (0) | 2022.05.04 |