짧은 문자열 알고리즘 복잡도 측정을 위한 안정적 방법
초록
본 논문은 압축 기반 접근법이 실패하는 짧은 문자열에 대해, 소규모 튜링 머신·셀룰러 오토마톤·포스트 태그 시스템을 전부 열거해 얻은 알고리즘 확률 분포를 이용해 콜모고로프 복잡도를 근사하는 안정적인 수치 방법을 제시한다. 실험을 통해 모델 간 일관된 순위가 얻어짐을 보이며, 짧은 문자열의 복잡도 비교에 실용적 도구가 됨을 입증한다.
상세 분석
이 논문은 알고리즘적 복잡도, 즉 콜모고로프 복잡도 K(s)를 직접 계산할 수 없는 문제를 해결하기 위해 ‘코딩 정리(Coding theorem)’에 기반한 새로운 수치적 접근법을 제안한다. 전통적인 무손실 압축 방법은 문자열이 짧을 경우 압축 프로그램 자체의 오버헤드가 문자열 길이를 초과해 실제 복잡도 추정에 실패한다. 저자는 이 한계를 극복하기 위해 작은 크기의 보편 튜링 머신, 2‑차원 셀룰러 오토마톤, 포스트 태그 시스템 등 다양한 계산 모델을 완전 탐색한다. 각 모델에 대해 모든 가능한 프로그램(규칙)을 실행해 생성된 출력 문자열의 빈도를 기록하고, 이 빈도를 ‘알고리즘 확률(솔로몬오프 확률)’ P(s)로 정의한다. 코딩 정리에 따르면 K(s)≈−log₂P(s)이며, 따라서 빈도 측정을 통해 K(s)의 상한을 추정할 수 있다.
핵심적인 기술적 기여는 다음과 같다. 첫째, 모델 선택이 결과에 미치는 영향을 최소화하기 위해 ‘안정성(stability)’을 검증한다. 즉, 서로 다른 계산 모델에서 얻은 P(s) 분포가 동일한 순위와 근사값을 제공하는지를 실험적으로 확인한다. 둘째, 짧은 문자열(길이 ≤12비트) 전체에 대해 완전 탐색을 수행함으로써, 기존 압축 기반 방법이 제공하지 못했던 세밀한 복잡도 차이를 드러낸다. 셋째, 결과를 ‘CTM(Complexity via Turing Machines)’이라는 데이터베이스로 정리해, 이후 연구에서 바로 활용할 수 있도록 공개한다.
논문은 또한 불변성 정리(invariance theorem)의 상수 c가 짧은 문자열에 대해 지배적인 영향을 미친다는 점을 지적한다. 전통적인 K(s) 정의에서는 선택된 보편 튜링 머신에 따라 상수 차이가 발생하지만, 제안된 방법은 다양한 모델을 평균화함으로써 c의 영향을 실질적으로 감소시킨다. 실험 결과, 예를 들어 7비트 문자열 ‘1001101’과 ‘0000000’ 사이의 복잡도 차이가 직관과 일치함을 보여준다. 마지막으로, 이 접근법이 ‘비버 문제(busy beaver)’와 같은 초고속 성장 함수의 탐색에도 적용 가능함을 시사한다.
전반적으로, 이 연구는 짧은 문자열에 대한 콜모고로프 복잡도 추정에 실용적이며 이론적으로도 견고한 도구를 제공한다는 점에서, 복잡도 이론과 복잡계 분석 양쪽에 중요한 기여를 한다.
댓글 및 학술 토론
Loading comments...
의견 남기기