범주론으로 보는 이론 컴퓨터 과학의 핵심
초록
이 논문은 계산, 가산성, 복잡도, 정보와 무작위성 등 이론 컴퓨터 과학의 주요 개념을 범주론적 관점에서 재구성한다. 함수의 구문‑의미 관계를 ‘구문 → 알고리즘 → 의미’라는 삼중 사상으로 모델링하고, 다양한 계산 모델(튜링 기계, 문자열·자연수·비트 연산 등)을 대칭모노이달 범주와 그 사이의 전단사(fully faithful) 함자들로 연결한다. 특히 문자열 전용 서브범주인 CompString과 일반 함수 범주 CompFunc 사이의 동등성, 그리고 튜링-교회 논제의 범주론적 해석을 강조한다.
상세 분석
논문은 먼저 “구문(syntax)”과 “의미(semantics)”를 각각 별도의 범주로 설정하고, 이 둘을 연결하는 기본 함자를 정의한다. 구문 범주는 프로그램, 회로, 논리식 등 구현 가능한 기술들을 객체로 삼으며, 의미 범주는 입력‑출력 관계인 함수 자체를 객체로 삼는다. 여기서 핵심은 구문→의미 함자가 전사(full)이며, 그 이미지가 바로 ‘계산 가능 함수’가 된다는 점이다.
다음으로 저자는 모든 함수들을 포함하는 대칭모노이달 범주 Func를 정의하고, 그 안에 실제 컴퓨터가 구현할 수 있는 함수들의 서브범주 CompFunc, 그리고 전부가 전역적으로 정의된 전함수만을 모은 TotCompFunc을 둔다. 이 구조는 “부분 함수”와 “전함수”를 자연스럽게 구분하면서도, 모노이달 텐서곱을 통해 순차·병렬 연산을 동시에 모델링한다는 장점을 가진다.
특히 문자열 전용 서브범주 CompString을 도입해, 모든 타입을 문자열 시퀀스로 인코딩할 수 있음을 보인다(정리 2.4). 이는 “모든 계산은 문자열 조작으로 환원된다”는 교리와 일치하며, 인코딩·디코딩을 통해 CompString과 CompFunc 사이에 전사·전역 동등성을 확보한다.
계산 모델로는 튜링 기계를 범주 Turing으로 만든다. 객체는 입력 테이프 수이며, 사상은 튜링 기계 자체다. 여기서 합성은 기계 연결, 텐서곱은 병렬 실행을 의미한다. 저자는 이 범주가 엄밀히 말하면 ‘거의 범주(almost‑category)’가 될 수 있음을 지적하고, 동등류를 취하거나 합성 정의를 조정하는 세 가지 해결책을 제시한다.
가장 중요한 부분은 튜링‑교회 논제를 “함자 Turing → CompString이 전사이다”라는 범주론적 명제로 재해석한 것이다. 이는 모든 계산 가능 함수가 어떤 튜링 기계에 의해 구현될 수 있음을 함자 수준에서 보장한다. 반대로, 전사성이 깨지는 경우는 비계산 함수, 즉 결정 불가능 문제를 정의한다.
마지막으로 논문은 논리식 범주 Logic을 도입해, 튜링 기계의 동작을 일련의 논리 변수와 제약식으로 기술한다. 이는 계산과 논리 사이의 전통적 연결고리를 범주론적 펀터로 명시화함으로써, 복잡도 이론이나 Kolmogorov 복잡도와 같은 심화 주제로 확장할 수 있는 기반을 제공한다. 전체적으로 저자는 “함자와 동형 사상만으로도 이론 컴퓨터 과학의 핵심 정리를 재현할 수 있다”는 강력한 주장을 펼치며, 범주론이 계산 이론을 통합·단순화하는 도구임을 설득력 있게 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기