AI VIDEO BRIEFING
촘스키 위계 쉽게 이해하기: 정규·문맥자유·문맥의존·무제한 문법과 필요한 메모리
네 종류의 문법이 각각 어떤 계산 기계와 메모리를 필요로 하는지 촘스키 위계로 설명한다. 정규 문법의 유한 상태부터 문맥자유의 스택, 문맥의존의 제한된 테이프, 무제한 문법의 튜링 완전성까지 한눈에 정리했다.

핵심 메시지
쉽게 이해하기
겉보기에 단순한 세 개의 문자열이 있다. 'AAAA'는 그저 개수를 세면 되고, 'AAABBB'는 A의 개수를 센 뒤 같은 수의 B와 맞춰야 하며, 'AAABBBCCC'는 세 개의 개수를 동시에 유지해야 한다. 흥미로운 점은 이것이 문자열 자체의 문제가 아니라, 그 문자열을 만들어 내는 '문법'의 문제라는 사실이다. 생성 규칙의 구조가 그 언어를 인식하는 데 필요한 메모리의 양을 정확히 결정한다.
가장 아래에는 가장 엄격한 정규 문법이 있다. 모든 규칙은 하나의 비단말 기호를 하나의 단말 기호로(뒤에 비단말이 하나 더 붙을 수 있음) 바꾼다. 문자열을 왼쪽에서 오른쪽으로만 키울 수 있고 양방향으로 동시에 늘릴 수는 없다. 이는 곧 유한 상태 기계에 대응하는데, 상태의 수가 유한하기 때문에 100개의 A 뒤에 정확히 100개의 B를 세는 것처럼 끝없이 커지는 수를 기억하지 못한다.
규칙을 조금 풀면 문맥자유 문법이 된다. 좌변은 여전히 하나의 비단말이지만 우변에는 단말과 비단말을 어떤 조합으로든 놓을 수 있다. 'S → SB' 같은 규칙은 양쪽으로 동시에 자라나 결국 개수가 맞는 A와 B를 만든다. 괄호 짝 맞추기, 중첩된 대괄호, 중첩 if 문 같은 프로그래밍 언어 구조가 모두 여기에 속하며, 이를 인식하려면 유한 상태 기계에 스택을 더한 푸시다운 오토마타가 필요하다.
한 단계 더 오르면 문맥의존 문법이다. 비단말은 주변 문맥이 맞을 때만(αAβ → αγβ) 치환된다. 이 작은 추가 능력만으로 'AAABBBCCC'처럼 세 종류를 같은 개수로 맞추는 일이 가능해지는데, 이는 어떤 문맥자유 문법으로도 할 수 없다. 이때의 인식기는 입력 길이를 넘지 못하는 테이프를 가진 튜링 기계, 즉 선형 유계 오토마타다.
사다리 맨 위의 무제한 문법에서는 좌변이 비단말을 하나라도 포함하는 어떤 문자열이든 될 수 있다. 이는 튜링 기계가 계산할 수 있는 모든 것, 곧 정지 문제처럼 결정 불가능한 문제까지 포함하는 전 영역이다. 결국 네 겹의 동심원이 그려진다. 중심의 3형부터 2형·1형을 거쳐 전체 공간인 0형까지, 원을 하나씩 넘을 때마다 '메모리 없음 → 스택 → 제한된 테이프 → 무한한 테이프'라는 새로운 기억이 생긴다. 촘스키는 1956년 자연어를 이해하기 위해 이 분류를 발표했고, 그것이 계산 이론 전체를 형성했다.
주요 인사이트
- 문법의 '표현력'과 그것을 인식하는 데 드는 '메모리'는 동전의 양면이다. 더 복잡한 패턴을 표현하려면 더 강력한 기억 장치가 필요하다.
- 프로그래밍 언어의 괄호·중첩 구조가 본질적으로 문맥자유라는 사실은, 파서가 왜 스택을 사용하는지를 설명해 준다.
- 'AAABBBCCC'처럼 세 종류를 동시에 같은 개수로 맞추는 패턴은 문맥자유의 한계를 넘어 문맥의존 문법을 요구한다.
- 무제한 문법이 정지 문제 같은 결정 불가능 영역까지 닿는다는 점은, 계산 가능성의 한계 자체가 문법의 표현력과 이어져 있음을 보여준다.
- 촘스키가 1956년 자연어를 이해하려고 만든 분류가 계산 이론 전체의 뼈대가 되었다는 점은, 언어와 계산이 얼마나 깊이 연결되어 있는지를 시사한다.
자주 묻는 질문
정규 문법이 왜 100개의 A 뒤에 정확히 100개의 B를 세지 못하나요?
정규 문법을 인식하는 유한 상태 기계는 상태의 수가 유한하기 때문에, 끝없이 커질 수 있는 수(개수)를 기억할 방법이 없다. 그래서 앞의 A 개수를 기억해 뒤의 B와 맞추는 일을 할 수 없다.
문맥자유 문법과 문맥의존 문법은 어떻게 다른가요?
문맥자유 문법은 좌변이 항상 하나의 비단말이며 스택을 가진 푸시다운 오토마타로 인식된다. 문맥의존 문법은 주변 문맥이 맞을 때만 규칙이 적용되며(αAβ → αγβ), 입력 길이를 넘지 않는 제한된 테이프(선형 유계 오토마타)가 필요해 'AAABBBCCC'를 같은 개수로 맞추는 것까지 가능하다.
촘스키 위계는 언제, 왜 만들어졌나요?
노엄 촘스키가 1956년 자연어의 구조를 이해하기 위해 제안했고, 결과적으로 계산 이론 전체를 형성하는 분류가 되었다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗