๐Ÿ–ฅ Computer Science/๊ณ„์‚ฐ์ด๋ก 

๋น„์ •๊ทœ ์–ธ์–ด์˜ ์‹๋ณ„ ์ •๊ทœ ์–ธ์–ด๋Š” ๋ฌดํ•œ ์ง‘ํ•ฉ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ •๊ทœ ์–ธ์–ด๋Š” ์ •์˜์— ๋”ฐ๋ผ ์œ ํ•œ ์˜คํ† ๋งˆํƒ€์— ์˜ํ•ด ์ธ์‹์ด ๋˜๋ฉฐ, ์ด๋Š” ์ •๊ทœ ์–ธ์–ด์˜ ๊ตฌ์กฐ์— ์–ด๋– ํ•œ ์ œ์•ฝ์„ ๋ถ€์—ฌํ•˜๋ฉฐ, ๋”ฐ๋ผ์„œ ์–ด๋–ค ์–ธ์–ด๊ฐ€ ์ •๊ทœ ์–ธ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋Ÿฌํ•œ ์ œ์•ฝ์„ ๋”ฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ์ฃผ์–ด์ง„ ์–ธ์–ด์— ๋Œ€ํ•˜์—ฌ ์ด๊ฒƒ์ด ์ •๊ทœ ์–ธ์–ด๊ฐ€ ์•„๋‹˜์„ ์ฆ๋ช…ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์„ ๋ฐฐ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋‘˜๊ธฐ์ง‘ ์›๋ฆฌ ํŽŒํ•‘ ๋ณด์กฐ์ •๋ฆฌ (pumping lemma) ๋น„๋‘˜๊ธฐ์ง‘ ์›๋ฆฌ (ํ”ผ์ „ํ™€ ์›๋ฆฌ) ๋น„๋‘˜๊ธฐ์ง‘์˜ ๊ฐœ์ˆ˜๋ฅผ m, ๋น„๋‘˜๊ธฐ์˜ ์ˆ˜๋ฅผ n์ด๋ผ ํ•˜์˜€์„ ๋•Œ, m < n ์ธ ๊ฒฝ์šฐ ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๋น„๋‘˜๊ธฐ์ง‘์—๋Š” ๋‘ ๋งˆ๋ฆฌ ์ด์ƒ์˜ ๋น„๋‘˜๊ธฐ๊ฐ€ ๋“ค์–ด๊ฐ€ ํ•œ๋‹ค๋Š” ์›๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋น„๋‘˜๊ธฐ์ง‘ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์Œ ์–ธ์–ด๊ฐ€ ์ •๊ทœ ์–ธ์–ด์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. $$L = ..
์„œ๋ก  ์ €ํฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ •๊ทœ ์–ธ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด์„œ ๋ฐฐ์› ๊ณ , ์ •๊ทœ ์–ธ์–ด๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ •๊ทœ ํ‘œํ˜„, ์œ ํ•œ ์˜คํ† ๋งˆํƒ€์™€ ์ •๊ทœ ๋ฌธ๋ฒ•์„ ๋ฐฐ์› ์œผ๋ฉฐ ์ด๋“ค ์ƒํ˜ธ๊ฐ„์— ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๋ชจ๋“  ์ •๊ทœ ์–ธ์–ด๋“ค์ด ๊ฐ€์ง€๋Š” ์„ฑ์งˆ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ •๊ทœ ์–ธ์–ด๋“ค์— ํ•ฉ์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ ๋“ฑ์˜ ์—ฐ์‚ฐ์„ ์ทจํ•ด ์ƒ์„ฑ๋˜๋Š” ์ƒˆ๋กœ์šด ์–ธ์–ด๋“ค์€ ์–ด๋–ค ํŠน์ง•๋“ค์„ ๊ฐ€์ง€๋Š”์ง€, ์–ด๋–ค ์–ธ์–ด๊ฐ€ ์ •๊ทœ ์–ธ์–ด์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ˜•์‹ ์–ธ์–ด(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..
๋ง ๋ž‘
'๐Ÿ–ฅ Computer Science/๊ณ„์‚ฐ์ด๋ก ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)