Transcript 슬라이드 제목 없음
4주 강의 내용(3월 28일)
1.3 결정적 유한 자동장치의 한계
언어수락기로서의 결정적 유한 자동장치
비정규 언어
1.4 비결정적 유한 자동장치
그림 1.17: 수락 상태에 도달하는 것이 가
능하면
정리 1.3: L(NFA) = L(DFA), NFA DFA
언어 수락기
• 수락가능한 스트링들의 집단 : 그렇지 않
은 집단 (여집합의 관계)
• 알파벳:
– 알파벳의 스트링들의 집합: *
– = {a, b}, * ={, a, b, aa, ab, ba, bb, aaa, …}
• 언어(language)( 상의) = *의 부분집합
– L *
정규 언어(Regular language)
• M = DFA (S, , , , F)
– M이 수락하는 스트링들의 모임은 상의 한
언어
– L(M) = M에 의해 수락된 언어
– M에 의해 수락되는 모든 스트링들을 더함도
빠짐도 없이 포함하는 바로 그 집합
– L(M) = 정규 언어(regular language)
– 그러면, 한국어는 ?
정규 언어의 예
• 어떤 결정적 유한 자동장치를 위한 전이
다이어그램을 그려서 그것이 수락하는
언어.
• 공백언어 =
• 공백 스트링으로 이루어진 언어 = {}
• {}
비정규 언어의 존재
• 정리 1.1
– 계수가능한 유한 자동장치들
– * 에서 계수불능한 개수의 부분집합들
• 결정적 유한 자동장치들의 모임
– 정규 언어의 개수
• 알파벳 상의 언어들의 개수
– 무한 집합 *의 부분집합들의 개수
비정규 언어
• 예
– (a + b) c 와 a + (b c)의 차이
– 오른쪽 괄호에 대응되는 왼쪽 괄호의 수를
기억하는 능력
– DFA는 기억 능력이 없다. 즉, memory가 없
다.
• wn, w *, n은 음이 아닌 정수
– = {x, y}, x2y2 = xxyy (xy)2 = xyxy, y0 =
정리 1.2:
언어 {xnyn : n N}는 정규언어가 아니다
• xnyn L(M), then xnym L(M)
–
–
–
–
M = (S, , , , F) : 결정적 유한 자동장치
L(M) : 정규 언어
n : 임의 크기의 정수
mn
• 증명 방법
– k > |S|, xkyk L(M)이면, 그러면 xkyk+j L(M)
– j : 순환 경로를 도는 동안 읽어들인 x의 개수
1.4 비결정적 유한 자동장치
• 한계를 없애고 능력을 증진
– 기계에 가한 제약을 완화
– 결정적 비결정적(nondeterminstic)
• Backtracking system
– 선택 가능한 모든 경로를 따라가서 그 중에
하나라도 수락 상태에 도달 수락
– 모든 가능한 경로를 다 검사해보고 각각이
실패 기각(수락의 반대)
비결정적 유한 자동장치, NFA
• 5-튜플 (S, , , , F)
–
–
–
–
–
S : 상태, 유한 집합
: 알파벳
: SS
: 초기 상태 , S
F : 수락상태들의 집합, F S
정리 1.3:
L(NFA) = L(DFA), NFA DFA
• NFA, M = (S, , , , F)
–
–
–
–
–
–
DFA, M' = (S', , , ', F')
S' = P(S)
' = { }
: 전이 함수(함수 : S' S')
(s' , x) = {si | (u, x, si) and u s'}
F' : F에 있는 상태들 중의 적어도 하나를 포
함하는 S의 부분집합들의 모임 (???)
언어들간의 관계
• DFA = (S', , , ', F'), 결정적 유한 자동
장치
• NFA = (S, , , , F), 비결정적 유한 자동
장치
• L(DFA) = L(NFA), NFA DFA
• 그래서, DFA와 NFA를 통합해서 FA로만
사용한다.