알고리즘의 갈루아 이론
초록
이 논문은 프로그램, 알고리즘, 그리고 계산 가능한 함수 사이의 관계를 ‘프로그램 → 알고리즘 → 함수’라는 사슬 형태의 사상으로 모델링한다. 프로그램 집합을 알고리즘으로, 알고리즘 집합을 함수로 각각 몫(quotient)화함으로써 두 단계의 동형 사상과 동등 관계를 정의하고, 이때 발생하는 군 구조를 ‘프로그램의 갈루아 군’이라 명명한다. 갈루아 군의 작용을 통해 중간 단계인 알고리즘이 가질 수 있는 다양한 구조적 특성을 분석하고, 전통적인 갈루아 이론이 ‘부분 객체’의 포함 관계를 탐구하는 방식과 대비하여 ‘몫 객체’가 원 객체 안에 어떻게 자리하는지를 탐구한다.
상세 분석
논문은 먼저 프로그램, 알고리즘, 그리고 계산 가능한 함수라는 세 개의 집합 P, A, F를 정의하고, 각각을 동등 관계 ∼₁, ∼₂에 의해 몫집합 A = P/∼₁, F = A/∼₂ 로 만든다. 여기서 ∼₁은 “동일한 알고리즘을 구현하는 프로그램들”을, ∼₂는 “동일한 함수를 구현하는 알고리즘들”을 의미한다. 이러한 이중 몫 구조는 범주론적 관점에서 보면 P → A → F 라는 두 단계의 정규 사상(regular epimorphism)이며, 각각의 사상은 전사함수이면서 동등 관계에 의해 동형 사상을 만든다.
핵심 아이디어는 이 두 동등 관계가 각각 군 작용에 의해 생성될 수 있다는 점이다. 프로그램 집합 P에 대해, 프로그램을 변환시키는 ‘리팩터링’, ‘컴파일 최적화’, ‘언어 변환’ 등은 모두 P의 자동동형군 Aut(P) 의 원소로 볼 수 있다. 이 군이 ∼₁의 동치류를 보존한다면, Aut(P)의 부분군 G₁ 은 ∼₁에 대한 안정자를 형성한다. 마찬가지로, 알고리즘 집합 A에 대한 자동동형군 Aut(A) 에서 ∼₂를 보존하는 부분군 G₂ 를 정의한다.
이때 갈루아 이론의 핵심 정리와 유사하게, “G₁의 고정점 집합은 정확히 A와 동형이며, G₂의 고정점 집합은 F와 동형이다” 라는 대응 관계가 성립한다. 즉, 프로그램의 갈루아 군 G₁ 이 정의하는 불변량(invariant)은 바로 알고리즘 수준에서 관찰 가능한 구조이며, G₂는 그보다 더 추상적인 함수 수준의 불변량을 제공한다.
논문은 또한 ‘중간 알고리즘’이라는 개념을 정형화한다. G₁ ⊇ H ⊇ G₂ 와 같은 부분군 사슬이 존재할 때, H가 고정시키는 집합은 P와 F 사이의 새로운 중간 객체 M = P/H 로 해석된다. 이 M은 기존의 A와는 다른 알고리즘 분류를 제공하며, 예를 들어 “시간 복잡도 O(n) 이하이면서 메모리 사용량 O(1)인 알고리즘” 같은 실용적 제약을 반영할 수 있다.
수학적으로는 이러한 구조를 ‘Galois 연결(Galois connection)’이라 부르는 두 개의 포스트함수 Φ: Sub(G₁) ↔ Quot(P) : Ψ 로 표현한다. Φ는 부분군을 대응되는 몫 객체에 매핑하고, Ψ는 몫 객체를 그를 고정시키는 최소 부분군에 매핑한다. 이 연결은 완전 격자 구조를 형성하며, 전통적인 갈루아 이론에서 보이는 ‘부분체 ↔ 부분군’의 이중성(dichotomy)을 그대로 반영한다.
마지막으로 논문은 이 이론적 틀을 실제 프로그래밍 언어와 컴파일러 최적화에 적용한다. 예를 들어, 함수형 언어의 ‘람다 전환’은 Aut(P)의 특정 원소이며, 이 원소가 고정시키는 동치류는 ‘β-축소와 η-확장만 허용하는 알고리즘’으로 정의된다. 이러한 구체적 사례는 갈루아 군이 실제 코드 변환 규칙을 포괄적으로 설명할 수 있음을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기