๋น์ ๊ท ์ธ์ด์ ์๋ณ ์ ๊ท ์ธ์ด๋ ๋ฌดํ ์งํฉ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๊ท ์ธ์ด๋ ์ ์์ ๋ฐ๋ผ ์ ํ ์คํ ๋งํ์ ์ํด ์ธ์์ด ๋๋ฉฐ, ์ด๋ ์ ๊ท ์ธ์ด์ ๊ตฌ์กฐ์ ์ด๋ ํ ์ ์ฝ์ ๋ถ์ฌํ๋ฉฐ, ๋ฐ๋ผ์ ์ด๋ค ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด๊ฐ ๋๊ธฐ ์ํด์๋ ์ด๋ฌํ ์ ์ฝ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ์ ํฌ๋ ์ฃผ์ด์ง ์ธ์ด์ ๋ํ์ฌ ์ด๊ฒ์ด ์ ๊ท ์ธ์ด๊ฐ ์๋์ ์ฆ๋ช
ํ๋ ๋ฐฉ๋ฒ๋ค์ ๋ฐฐ์ธ ๊ฒ์
๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋น๋๊ธฐ์ง ์๋ฆฌ ํํ ๋ณด์กฐ์ ๋ฆฌ (pumping lemma) ๋น๋๊ธฐ์ง ์๋ฆฌ (ํผ์ ํ ์๋ฆฌ) ๋น๋๊ธฐ์ง์ ๊ฐ์๋ฅผ m, ๋น๋๊ธฐ์ ์๋ฅผ n์ด๋ผ ํ์์ ๋, m < n ์ธ ๊ฒฝ์ฐ ์ ์ด๋ ํ๋์ ๋น๋๊ธฐ์ง์๋ ๋ ๋ง๋ฆฌ ์ด์์ ๋น๋๊ธฐ๊ฐ ๋ค์ด๊ฐ ํ๋ค๋ ์๋ฆฌ์
๋๋ค. ๋น๋๊ธฐ์ง ์๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ค์ ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด์ธ์ง ์๋์ง ํ์ธํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. $$L = ..
๐ฅ Computer Science/๊ณ์ฐ์ด๋ก
์๋ก ์ ํฌ๋ ์ง๊ธ๊น์ง ์ ๊ท ์ธ์ด๊ฐ ๋ฌด์์ธ์ง์ ๋ํด์ ๋ฐฐ์ ๊ณ , ์ ๊ท ์ธ์ด๋ฅผ ํํํ๊ธฐ ์ํด ์ ๊ท ํํ, ์ ํ ์คํ ๋งํ์ ์ ๊ท ๋ฌธ๋ฒ์ ๋ฐฐ์ ์ผ๋ฉฐ ์ด๋ค ์ํธ๊ฐ์ ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ์ง๊ธ๋ถํฐ๋ ๋ชจ๋ ์ ๊ท ์ธ์ด๋ค์ด ๊ฐ์ง๋ ์ฑ์ง์ ๋ํด ์์๋ณด๊ณ ์ ํฉ๋๋ค. ์ ๊ท ์ธ์ด๋ค์ ํฉ์งํฉ, ๊ต์งํฉ ๋ฑ์ ์ฐ์ฐ์ ์ทจํด ์์ฑ๋๋ ์๋ก์ด ์ธ์ด๋ค์ ์ด๋ค ํน์ง๋ค์ ๊ฐ์ง๋์ง, ์ด๋ค ์ธ์ด๊ฐ ์ ๊ท ์ธ์ด์ธ์ง ์๋์ง๋ฅผ ์ด๋ป๊ฒ ๋ณด์ผ ์ ์๋์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ชจ๋ ํ์ ์ธ์ด(formal language)๋ ์ ๊ท ์ธ์ด๊ฐ ์๋๋๋ค. ์ด๋ฅผ ์ฆ๋ช
ํ๊ธฐ ์ํด ์ ๊ท ์ธ์ด์ ํน์ฑ์ ๊น์ด ์ดํดํ๊ณ ์ ๊ท ์ธ์ด๋ฅผ ํฌํจํ๋ ์ ์ฒด ์ธ์ด๋ค์ด ์ด๋ ํ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋์ง๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ์ ํฌ๋ ์์ผ๋ก ๋ค์ ์ง๋ฌธ๋ค์ ๋ํ ํด๋ต์ ์ฐพ์๊ฐ ๊ฒ์
๋๋ค. ์ ๊ท ์ธ์ด..
์ ๊ท ์ธ์ด๋ฅผ ๋ฌ์ฌํ๋ ์ธ ๋ฒ์งธ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ๋จํ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ฐ์ ํ ๋ฌธ๋ฒ๊ณผ ์ข์ ํ ๋ฌธ๋ฒ๋ฌธ๋ฒ $G = (V, T, S, P)$ ์์ ๋ชจ๋ ์์ฑ๊ท์น๋ค์ด ๋ค์์ ํํ๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ฐ์ ํ(right-linear) ๋ฌธ๋ฒ์ด๋ผ ํฉ๋๋ค.$$A \to xB$$$$A \to x \;\;\;\;\;\; A,B \in V, \;\; x \in T^{*}$$ ๋ํ ๋ฌธ๋ฒ์ ์์ฑ๊ท์น๋ค์ ๋ค์์ ํํ๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ์ด๋ฅผ ์ข์ ํ(left-linear) ๋ฌธ๋ฒ์ด๋ผ ํฉ๋๋ค.$$A \to Bx$$$$A \to x$$ ์ ๊ท ๋ฌธ๋ฒ์ ์ฐ์ ํ ๋ฌธ๋ฒ ํน์ ์ข์ ํ ๋ฌธ๋ฒ์
๋๋ค. ์ ๊ท ๋ฌธ๋ฒ์์๋ ๋ชจ๋ ์์ฑ๊ท์น์ ์ฐ๋ณ์ ๋ณ์(Variable)๊ฐ ์ต๋ ํ๋๊น์ง๋ง ์์ ์ ์์ผ๋ฉฐ,์ ๊ท ๋ฌธ๋ฒ์ ..
์๋ก https://ttl-blog.tistory.com/562?category=926966 [๊ณ์ฐ์ด๋ก ] - ์ธ์ด, ๋ฌธ๋ฒ, ์คํ ๋งํ ์ธ์ด (Languages) ์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋
๊ณผ๋ ์น์ํฉ๋๋ค. ๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช
์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์
๋ ttl-blog.tistory.com ํด๋น ํฌ์คํ
์ ๋ง์ง๋ง์์ ์ด์คํค ๊ณ์ธต์ ๋ํด ์กฐ๊ธ ์ดํด๋ณด์์ต๋๋ค. ์ด์คํค ๊ณ์ธต์๋ ๋ฌด์ ํ(unrestricted) ๋ฌธ๋ฒ, ๋ฌธ๋งฅ์ฐ๊ด(context-sensitive) ๋ฌธ๋ฒ, ๋ฌธ๋งฅ์์ (context-free) ๋ฌธ๋ฒ, ์ ๊ท(regular) ๋ฌธ๋ฒ์ด ์์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ถํฐ ์ ํฌ๋ ์ ๊ท ๋ฌธ๋ฒ์ ์ํด ์์ฑ๋๋ ์ธ์ด์ธ ์ ๊ท ์ธ..
๋ณํ๊ธฐ(transducer) ๋ณํ๊ธฐ๋ ์ถ๋ ฅ์ด ์๋ ์ ํ ์คํ ๋งํ์ด๋ฉฐ, ๊ทธ ์ข
๋ฅ๋ก๋ ๋ฐ๋ฆฌ ๊ธฐ๊ณ์ ๋ฌด์ด ๊ธฐ๊ณ๊ฐ ์์ต๋๋ค. Mealy ๊ธฐ๊ณ(Mealy Machine, Transition-aasigned FSM) ๋ฐ๋ฆฌ ๊ธฐ๊ณ์์๋ ๊ฐ ์ ์ด์ ์ํด ๋ง๋ค์ด์ง๋ ์ถ๋ ฅ์ ๊ทธ ์ ์ด ์ด์ ์ ๋ด๋ถ ์ํ์, ์ ์ด์ ์ฌ์ฉ๋๋ ์
๋ ฅ ์ฌ๋ฒ์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค. Mealy ๊ธฐ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ฉ๋๋ค. $$ M = (Q, \Sigma, \Delta, \delta, \lambda, q_o)$$ ์ฌ๊ธฐ์ Q : ๋ด๋ถ ์ํ๋ค์ ์ ํ ์งํฉ Σ : ์
๋ ฅ ์ํ๋ฒณ(๊ธฐํธ)์ ์งํฉ Δ : ์ถ๋ ฅ ์ํ๋ฒณ(๊ธฐํธ)์ ์งํฉ δ : ์ ์ด ํจ์, Q x Σ -> Q λ : ์ถ๋ ฅ ํจ์, Q x Σ -> Δ q0 : ์ด๊ธฐ ์ํ ์ ์ด ๊ทธ๋ํ๋ ์ ํ ์ธ์๊ธฐ์์์ ๋ง์ฐฌ๊ฐ์ง..
๋น๊ฒฐ์ ์ฑ์ ์ ์ฐ๋๊ฐ ๋น๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(nfa)๋ ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(dfa)์ ๋นํด ๋ชจ๋ธ๋งํ๊ธฐ ์ฌ์ฐ๋ฉฐ, ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ฐ๋ตํ๊ฒ ๊ธฐ์ ํ๋ ๋ฐ ํจ๊ณผ์ ์
๋๋ค. ๋ํ ์ต์ ํด๋ฅผ ์ฐพ๊ธฐ ์ํด ๋ฐฑํธ๋ํน(backtraking)๋ฑ์ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํ๋ ๊ฒ์ ์ต์ ์ ์ ํ์ ํ ์ ์๋ ๋น๊ฒฐ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค๋ฉด ๋ฐฑํธ๋ํน ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ผ๋ฉฐ ๊ฒฐ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ์ถ๊ฐ์ ์ธ ์์
์ ํตํด์ ๋น๊ฒฐ์ ์ฑ์ ์๋ฎฌ๋ ์ดํธ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ๋น๊ฒฐ์ ์ ๊ธฐ๊ณ๋ ํ์ - ๋ฐฑํธ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๋ชจ๋ธ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๋ํ ๋น๊ฒฐ์ ์ฑ์ ๋ช๋ช ๋ณต์กํ ์ธ์ด๋ค์ ๊ฐ๋จํ๊ฒ ์ ์ํ๋ ๋ฐ ํจ๊ณผ์ ์
๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์์ฑ๊ท์น $$ S \to aSb | \lambda$$ ์ ๋ชจ๋ ๊ฒฝ์ฐ ๋ ์์ฑ๊ท์น๋ค ์ค..
์ ํ์ํ ๊ธฐ๊ณ(finite state machine) (์ ํ ์คํ ๋งํ) ์ ํ ์ธ์๊ธฐ๋ ์ ํ ๊ฐ์์ ์ํ๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ทธ ์์ ์ ์ฅ์ฅ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ํํ๋ค๊ณ ํ๋ฉฐ, ๋ฌธ์์ด์ ์ฒ๋ฆฌํ๋ฉด์ ์ด๋ฅผ ์น์ธ(accept)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(reject)ํ๋ ๊ธฐ๋ฅ์ ํ๊ธฐ ๋๋ฌธ์ ์ธ์๊ธฐ(accpter)๋ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ํ ์ธ์๊ธฐ๋ฅผ ๊ฐ๋จํ ํจํด ์ธ์ ๋งค์ปค๋์ฆ์ด๋ผ ๋ณผ ์ ์์ต๋๋ค. ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ (Deterministic finite accepter, DFA) ๊ฒฐ์ ์ ์ด๋ผ๋ ๋จ์ด์ ์๋ฏธ๋ ํด๋น ์คํ ๋งํ๊ฐ ํญ์ ํ๋์ ์ ํ๋ง์ ์ทจํ ์ ์์์ ์๋ฏธํฉ๋๋ค. DFA๋ ์ ๊ท ์ธ์ด(regular language)๋ผ ๋ถ๋ฆฌ๋ ํน๋ณํ ํํ์ ์ธ์ด๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. ๊ฒฐ์ ์ ์ ํ ์ธ์๊ธฐ(Deterministic finite acc..
์ธ์ด (Languages) ์ฐ๋ฆฌ๋ค์ ์ด๋ฏธ ์์ฐ ์ธ์ด(natural languages)๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ฐ๋
๊ณผ๋ ์น์ํฉ๋๋ค. ๊ทธ๋ฌ๋ "์ธ์ด"๋ผ๋ ๋จ์ด์ ๋ํด์ ์ค๋ช
์ ํ๋ผ๊ณ ํ๋ค๋ฉด, ์ด๋ ์๊ฐ๋ณด๋ค ์ด๋ ค์ธ ๊ฒ์
๋๋ค. ์ธ์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ฒ์ํด๋ณด๋ฉด ์ฌ์ค, ๊ฐ๋
๋ค์ ํํํ ์ ์๋๋ก ํด ์ฃผ๋ ์ฌ๋ฒ(symbol)๋ค์ ์งํฉ๊ณผ, ์ฌ๋ฒ์ ๋ค๋ฃจ๋ ๊ท์น๋ค์ ์งํฉ์ ์๋ฐํ๋ ์์คํ
์ด๋ผ ๋น๊ณต์์ ์ธ ์ ์๋ฅผ ๋ด๋ฆฌ๊ณ ์์ต๋๋ค. ์ฌ๋ฒ(symbol, ๊ธฐํธ) ํน์ ๋จ๋ง ์ฌ๋ฒ(terminal symbol) a, b, c, .. ๋ฑ๊ณผ ๊ฐ์ ๊ธฐํธ๋ค์
๋๋ค. ์ํ๋ฒณ(Alphabet) ์ํ๋ฒณ์ด๋ ํ๋ ์ด์์ ์ฌ๋ฒ๋ค์ ์ ํ ์งํฉ์ด๋ฉฐ, ๋ณดํต $\Sigma$๋ก ํํํฉ๋๋ค. ๋ฌธ์์ด(string) ์ฃผ์ด์ง ์ํ๋ฒณ์ ์ํ ์ฌ๋ฒ๋ค์ ๋์ดํ์ฌ ๋ฌธ์์ด(st..