위키득계정 ↗
기술

정규 언어

정규 언어기술
영문명
Regular language
정의 기준
DFA가 인식하는 문자열 집합
동등한 표현
NFA와 형식적 정규 표현식
문자열 수
유한할 수도 무한할 수도 있음
정규 언어는 유한 오토마타가 정확히 인식할 수 있는 형식 언어다. 여기서 언어는 일정한 알파벳 위의 문자열 집합을 뜻하며 자연언어의 문법적 올바름과는 다른 개념이다.

언어를 집합으로 보기

알파벳을 0과 1로 정하면 1의 개수가 짝수인 모든 문자열을 하나의 언어로 볼 수 있다. 이 언어는 현재 개수의 짝홀만 두 상태로 기억하는 DFA가 인식하므로 정규 언어다.

상태 수와 문자열 수

기계의 상태가 유한하다고 인식하는 문자열도 유한한 것은 아니다. 앞의 짝수 개 조건을 만족하는 문자열은 길이를 계속 늘려 만들 수 있다. 유한성은 상태의 수에 관한 조건이다.

여러 표현의 동등성

같은 정규 언어를 DFA, NFA, 형식적 정규 표현식으로 나타낼 수 있다. 표현의 크기와 구조는 달라도 수용하거나 나타내는 문자열 집합이 같으면 같은 언어다.

실제 검색 문법과 구별

프로그래밍 도구에서 정규 표현식이라고 부르는 문법에는 이론의 기본 정규 표현식보다 넓은 기능이 들어갈 수 있다. 특정 도구의 문법 전체를 유한 오토마타로 표현할 수 있다고 이름만으로 단정하지 않는다.

관련 문서

결정적 유한 오토마타 / 비결정적 유한 오토마타 / 유한 상태 기계 / 정규 표현식 / 문자열 / 집합 / 이진법 / 짝수