벡터 공간의 계산적 정의: 재작성 시스템으로 보는 선형 대수의 새로운 시각

읽는 시간: 8 분
...

📝 Abstract

We usually define an algebraic structure by a set, some operations defined on this set and some propositions that the algebraic structure must validate. In some cases, we can replace these propositions by an algorithm on terms constructed upon these operations that the algebraic structure must validate. We show in this note that this is the case for the notions of vectorial space and bilinear operation. KEYWORDS: Rewrite system, vector space, bilinear operation, tensorial product, semantics, quantum programming languages, probabilistic programming languages.

💡 Analysis

**

1. 연구 배경 및 동기

  • 전통적인 대수 구조는 집합 + 연산 + 공리 로 정의한다.
  • 일부 분야(예: 프로그래밍 언어 의미론)에서는 알고리즘 자체 를 모델 검증 기준으로 삼고 싶다.
  • 벡터 공간은 선형 대수의 핵심이면서, 양자·확률 프로그래밍에서 벡터(상태)와 스칼라(확률·진폭) 가 동시에 등장한다. 따라서 재작성 기반 정의가 자연스럽다.

2. 핵심 아이디어

  1. 두 정렬 언어 L :
    • 정렬 K : 스칼라 (필드)
    • 정렬 E : 벡터
  2. 스칼라 연산 은 이미 종료·완전인 재작성 시스템 S 로 가정한다(예: 유리수 체 ℚ).
  3. 벡터 연산 에 대한 AC‑재작성 규칙 R 을 설계한다. 주요 규칙은
    • 분배법칙 λ·(u+v) → λ·u + λ·v
    • 스칼라 결합·정리 λ·u + μ·u → (λ+μ)·u
    • 항등·소거 규칙 u+0 → u, 1·u → u, 0·u → 0
  4. 정리
    • 종료성 : 각 규칙에 대한 가중치 해석을 통해 R 은 항상 감소한다. S 와 결합해도 전체 시스템은 종료한다.
    • 합류성 : 중요한 Key Lemma 를 도입해, S 가 종료·완전하고 R 이 S* 와 교환(commute)함을 이용해 R ∪ S 가 합류성을 갖는 것을 증명한다.
    • 정규형 : 정상 형태는 λ₁·xᵢ₁ + … + λ_k·xᵢ_k + xⱼ₁ + … + xⱼ_l 형태이며, 이는 전형적인 선형 결합 표현이다.

3. 기여도

구분내용의의
이론적벡터 공간을 재작성 시스템으로 완전하게 정의대수 구조를 알고리즘 로 대체하는 새로운 패러다임 제시
기술적종료·합류성 증명을 위한 Key Lemmasubsumption/commutation 개념 도입복합 시스템(스칼라+벡터) 합류성 증명에 일반적으로 활용 가능
응용양자 프로그래밍 언어 Lineal 의 의미론에 직접 적용프로그램·입력 → 벡터 term → 정규형(선형 결합) 변환을 의미론적으로 정당화
확장성이론을 이중선형 연산(bilinear operation) 으로 확장 가능텐서곱, 내적 등 고차 연산에 대한 계산적 정의 기반 제공

4. 강점

  • 명확한 형식화 : 두 정렬과 AC‑재작성 체계로 복잡한 대수 구조를 깔끔히 모델링.
  • 증명 구조 : 종료와 합류성을 별도 가중치와 Key Lemma 으로 나누어 증명, 재사용 가능.
  • 프로그래밍 언어와의 연결 : 이론이 실제 양자·확률 언어 설계에 바로 적용될 수 있음을 시연.

5. 한계 및 비판점

  1. 필드 제한 : 임의의 체가 아니라, 재작성 시스템 S 로 표현 가능한 체(예: ℚ)만 다룬다. 일반적인 체(예: 실수, 복소수)에는 직접 적용이 어려움.
  2. 스칼라 연산 가정 : S 가 종료·완전함을 전제하지만, 실제 구현에서는 복잡한 수 체계(예: 대수적 수)에서 증명이 까다로울 수 있다.
  3. 구현 사례 부족 : Lineal 에 대한 구체적인 구현 결과나 성능 평가가 논문에 포함되지 않아, 실제 프로그래밍 언어에의 적용 가능성을 정량적으로 판단하기 어렵다.
  4. 확장성 검증 미비 : 이중선형 연산에 대한 구체적 재작성 규칙과 증명은 간략히 언급될 뿐, 완전한 형식화는 제시되지 않는다.

6. 향후 연구 방향

  • 일반 체에 대한 재작성 시스템 개발: 실수·복소수 체를 포함하도록 S 를 확장하고, 그 종료·합류성을 보장하는 방법 모색.
  • 자동 증명 도구와의 통합: CIME1 외에 Coq, Isabelle 등과 연동해 규칙 검증 및 정규형 도출을 자동화.
  • 양자·확률 언어 구현: Lineal 외에 다른 양자 프로그래밍 언어(예: Quipper, Q#)에 적용해 성능 및 표현력 비교.
  • 고차 연산(텐서, 내적) 재작성 체계: 이중선형 연산을 넘어 텐서곱, 외적, 내적 등을 포함하는 완전한 재작성 시스템 구축.

**

📄 Content

arXiv:0911.4051v1 [cs.LO] 20 Nov 2009
벡터 공간 개념에 대한 계산적 정의
Pablo Arrighi∗, Gilles Dowek†

초록
우리는 보통 어떤 대수 구조를 그 구조가 만족해야 할 명제들과, 그 구조 위에 정의된 연산들의 집합으로 정의한다. 경우에 따라 이러한 명제들을, 그 연산들 위에 구성된 항들에 대한 알고리즘으로 대체할 수 있다. 본 논문에서는 벡터 공간과 이중선형 연산(bilinear operation)의 개념에 대해 바로 이러한 대체가 가능함을 보인다.

용어 R 로 표시되는 수렴(confluent)하고 종료(terminating)하는 재작성 시스템(rewrite system) 위의 항들에 대해 정의된 알고리즘이, 언어 L 위의 구조 M 에서 유효(valid) 하다고 말한다면, 이는 모든 규칙 l → r 와 모든 할당 φ 에 대해 ⟦l⟧_φ = ⟦r⟧_φ 가 성립함을 의미한다. 따라서 알고리즘과 이론은 모델(model) 개념에 대해 동일한 역할을 한다: 이론과 마찬가지로 알고리즘도 어떤 모델에서 유효할 수도, 그렇지 않을 수도 있다. 알고리즘의 유효성 개념은 이론의 유효성 개념과 마찬가지로 두 가지 방식으로 활용될 수 있다. 즉, 알고리즘 자체를 연구하거나, 어떤 알고리즘의 모델로서 대수 구조를 정의하는 것이다.

예를 들어, 군(group)이나 환(ring)과 같은 대수 구조의 클래스가 어떤 등식 이론 T 의 모델 클래스로 정의될 수 있고, 그 등식 이론이 재작성 시스템 R 로 변환될 수 있다면, 다음과 같은 동등성이 성립한다.

  • A 가 그 클래스에 속한다(예: 군, 환 등).
  • A 가 이론 T 의 모델이다.
  • A 가 알고리즘 R 의 모델이다.

이 경우 우리는 해당 대수 구조의 클래스가 계산적 정의(computational definition) 를 가진다고 말한다.

본 논문의 목적은 벡터 공간 클래스가 이러한 계산적 정의를 가짐을 보이는 것이다. 즉, 벡터 공간의 공리들을 재작성 규칙으로 방향화(orient)할 수 있음을 증명한다. 더 나아가 이렇게 얻어진 알고리즘은 선형 대수학에서 잘 알려진 알고리즘이며, 임의의 벡터를 표현하는 항을 미지 변수들의 선형 결합 으로 변환한다.

이 알고리즘은 양자 컴퓨팅을 위한 함수형 프로그래밍 언어 Lineal[1] 의 연산 의미론에서도 중심적인 역할을 한다. 해당 언어에서는 프로그램과 입력값이 하나의 벡터를 표현하는 항을 이루고, 그 결과값(출력)은 기본 벡터들의 선형 결합이 된다. 보다 일반적으로, 행렬 곱셈과 같은 선형 대수 알고리즘들은 다양한 구성을 가진 벡터 항을 기본 벡터들의 선형 결합으로 변환한다.

이 알고리즘은 모든 벡터 공간에서 유효하며, 실제로 벡터 공간 개념을 완전히 정의한다.

벡터 공간 이론을 방향화하는 데 가장 큰 어려움은 벡터와 스칼라가 서로 다른 정렬(sort) 을 갖고, 스칼라가 체(field) 를 이루어야 한다는 점이다. 체 이론 자체가 나눗셈이 부분 연산(partial operation)이라는 이유로 방향화가 어렵다. 그러나 예를 들어 유리수 체 Q 와 같이 덧셈과 곱셈이 종료하고 그라운드 수렴(ground confluent)인 재작성 시스템으로 제시될 수 있는 체는 많이 존재한다. 따라서 우리는 임의의 체 위의 벡터 공간을 다루는 것이 아니라, **종료하고 그라운드 수렴인 재작성 시스템 S 로 정의된 특정 체 K 위의 K-벡터 공간 을 고려한다.

우리의 벡터 재작성 시스템은 스칼라 재작성 시스템에 파라미터화 되며, 스칼라 재작성 시스템에 최소한의 요구조건만을 두고 수렴성과 종료성을 증명한다. 이는 두 개의 재작성 시스템을 합집합 으로 구성했을 때 수렴성을 증명하는 새로운 방법을 제시한다.

또한, 이러한 계산적 정의는 이중선형 연산 과 같은 다른 대수적 개념을 정의하는 데도 확장될 수 있다.


1. 재작성 시스템

정의 1.1 (재작성)
일차 언어 L 와 재작성 시스템 R 가 주어지면, 항 tR‑재작성에 의해 한 단계에 u 로 변환된다고 한다는 것은, t 안에 어떤 발생(occurrence) α 가 존재하고, R 에 규칙 l → r 와 치환 σ 가 있어 t|_α = σ(l) 이며 u = t[σ(r)]_α 가 성립할 때이다.

정의 1.2 (결합-교환(Associative‑Commutative) 재작성)
이진 함수 기호 f₁,…,fₙ 를 포함하는 일차 언어 L 와 재작성 시스템 R 에 대해, 항 tR/AC(f₁,…,fₙ)‑재작성에 의해 한 단계에 u 로 변환된다는 것은, t 와 AC 동형인 t′, t′ 안의 발생 α, 규칙 l → r 와 치환 σ 가 존재하여 t′ =_{AC} t, t′|_α = σ(l), u =_{AC} t′[σ(r)]_α 가 성립함을 의미한다.

주석: 여기서 R,AC‑재작성[3] 과는 구별한다. R,AC‑재작성tR 의 왼쪽 항과 AC‑동형인 부분항을 가질 때만 u 로 변환한다. 예를 들어 규칙 x + x → 2·x 에 대해 t + (u + t)R/AC‑재작성에 의해 2·t + u 로 변환되지만 R,AC‑정규 형태는 아니다.


2. 모델

정의 2.1 (대수)
일차 언어 L 에 대해, L‑대수는 집합 ML 의 각 기호 f (arity n) 에 대해 함수 \hat f : Mⁿ → M 의 모임이다. 변수에 대한 할당 φ 에 대해 항 t 의 의미 ⟦t⟧_φ 은 일반적인 방식으로 정의한다.

정의 2.2 (재작성 시스템의 모델)
일차 언어 LL 의 항들 위에 정의된 재작성 시스템 R 가 주어지면, L‑대수 MR 의 모델(또는 RM 에서 유효)이라 함은, 모든 규칙 l → r 와 모든 할당 φ 에 대해 ⟦l⟧_φ = ⟦r⟧_φ 가 성립함을 의미한다.

정의 2.3 (AC‑재작성 시스템의 모델)
이진 함수 기호 f₁,…,fₙ 를 포함하는 일차 언어 LAC(f₁,…,fₙ)‑재작성 시스템 R 에 대해, L‑대수 MR 의 모델이라 함은

  1. 모든 규칙 l → r 와 할당 φ 에 대해 ⟦l⟧_φ = ⟦r⟧_φ 가 성립하고,
  2. 모든 할당 φ 와 인덱스 i 에 대해
    • ⟦f_i(x, f_i(y, z))⟧_φ = ⟦f_i(f_i(x, y), z)⟧_φ (결합성)
    • ⟦f_i(x, y)⟧_φ = ⟦f_i(y, x)⟧_φ (교환성)

을 만족한다.

예시
언어 L 에 이항 기호 +× 가 있고, 알고리즘 R 가 다음 규칙들을 포함한다고 하자.

PLAINTEXT
(x + y) × z → (x × z) + (y × z)
x × (y + z) → (x × y) + (x × z)
클릭하여 더 보기

예를 들어 (a + a) × aa × a + a × a 로 변환한다. 구조 ⟨{0,1}, min, max⟩ 은 이 알고리즘의 모델이다.

주석: 위 정의는 프로그래밍 언어 의미론의 일부 정의를 확장한다. 값 집합 M, 의미 함수 [·] : 값 → M, 그리고 n‑ary 프로그램을 Mⁿ → M 로 매핑하는 함수가 존재한다면, 프로그램 P 가 입력값 v₁,…,vₙ 에 대해 출력값 w 를 만든다는 것은 [w] = [P]([v₁],…, [vₙ]) 와 동치이다.


3. 미지 변수들의 선형 결합을 계산하기

3.1 알고리즘

두 정렬 K (스칼라)와 E (벡터) 로 이루어진 언어 L 를 고려한다. 여기에는

  • 스칼라용 이항 기호 +× (순위 ⟨K, K, K⟩)
  • 스칼라 상수 0, 1 (정렬 K)
  • 벡터용 이항 기호 + (순위 ⟨E, E, E⟩)
  • 스칼라와 벡터를 연결하는 이항 기호 · (순위 ⟨K, E, E⟩)
  • 벡터 상수 0 (정렬 E)

가 있다.

벡터 항을 미지 변수들의 선형 결합 으로 변환하기 위해서는 다음과 같은 규칙들을 사용한다.

  • 분배: λ·(u + v) → λ·u + λ·v
  • 동일 스칼라 결합: λ·u + µ·u → (λ + µ)·u
  • 중첩 곱: λ·(µ·u) → (λ × µ)·u
  • 단순 항등: u + 0 → u, 0·u → 0, 1·u → u
  • 수렴을 위한 추가 규칙: λ·0 → 0, λ·u + u → (λ + 1)·u, u + u → (1 + 1)·u

위 규칙들을 적용할 때 + 의 결합·교환성을 고려해야 하므로 AC(+)‑재작성으로 정의한다.

정의 3.1 (재작성 시스템 R)

PLAINTEXT
u + 0 → u
0·u → 0
1·u → u
λ·0 → 0
λ·(µ·u) → (λ·µ)·u
λ·u + µ·u → (λ + µ)·u
λ·u + u → (λ + 1)·u
u + u → (1 + 1)·u
λ·(u + v) → λ·u + λ·v
클릭하여 더 보기

위 규칙들은 모두 AC(+)‑재작성 규칙이다.

정의 3.2 (스칼라 재작성 시스템)
스칼라 연산 +, ×, 0, 1 를 포함하는 언어 위의 재작성 시스템 S 가 다음을 만족한다면 스칼라 재작성 시스템이라 부른다.

  1. S 는 종료하고 **그라운

이 글은 AI가 자동 번역 및 요약한 내용입니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키