\hline{\!n\!}\\\hline\end{array}\,} b
| Rubtsov과 Romerio가 최초로 사용[14]
|-
| ''어깨글자 표기법''
|
| 로버트 무나포(Robert Munafo)가 최초로 사용[13]
|-
| ''아래글자 표기법''
|
| 작은 하이퍼 연산을 위해 무나포가 최초로 사용[13]
|-
| ''ASCII 표기법''
| a [n] b
| 많은 온라인 포럼에서 사용; 상자 표기법을 기본으로 함.
|}
3. 2. 다른 표기법과의 관계
''n'' ≥ 3일 때, 크누스 윗화살표 표기법 및 콘웨이 연쇄 화살표 표기법과의 관계는 다음과 같다.[5]
:
''n'' ≥ 1일 때, 바우어의 확장 연산자(Jonathan Bowers' Extended Operator)와의 관계는 다음과 같다.[5]
:
4. 하이퍼 연산 목록
n | 연산 | 정의 | 이름 | 영역 |
---|
0 | | | hyper0, 증분(增分), 다음수 | 임의의 b |
1 | | | hyper1, 덧셈 | 임의의 a, b |
2 | | | hyper2, 곱셈 | 임의의 a, b |
3 | | | hyper3, 거듭제곱 | a > 0, b 실수, 또는 a가 0이 아닌 실수, b가 정수 |
4 | | | hyper4, 테트레이션 | a > 0, 정수 b ≥ −1 |
5 | | | hyper5, 펜테이션 | a와 b는 정수, a > 0, b ≥ 0 |
6 | | | hyper6, 헥세이션 | a와 b는 정수, a > 0, b ≥ 0 |
5. 계산
하이퍼 연산의 기본 정의는 다음 축약 규칙을 따른다.[1]
규칙 | 식 |
---|
(r1) | |
(r2) | |
(r3) | |
(r4) | |
(r5) | |
를 계산하기 위해, 초기에는 요소를 포함하는 스택을 사용한다. 그런 다음, 더 이상 불가능할 때까지 세 개의 요소를 꺼내고 다음 규칙에 따라 대체한다.[1]
규칙 | 스택 변화 |
---|
(r1) | 0, a, b → (b+1) |
(r2) | 1, a, 0 → a |
(r3) | 2, a, 0 → 0 |
(r4) | (n+3), a, 0 → 1 |
(r5) | (n+1), a, (b+1) → n, a, (n+1), a, b |
하이퍼 연산은 이처럼 스택을 활용하여 계산할 수 있으며, 구체적인 예시는 #TRS 기반 계산에서 확인할 수 있다.
하이퍼 연산의 표기법은 다음과 같다.
이름 | 와 동일한 표기법 | 설명 |
---|
크누스 윗 화살표 표기법 | | 도널드 E. 커누스가 사용했으며(n ≥ 3) 여러 참고 서적에서 찾아볼 수 있다. |
힐베르트 표기법 | | 다비트 힐베르트가 사용했다. |
구드슈타인 표기법 | | 루벤 구드슈타인이 사용했다. |
원래 아커만 함수 | | 빌헬름 아커만이 사용했다. (n ≥ 1) |
아커만-페터 함수 | | 이는 밑이 2인 하이퍼 연산에 해당한다(a = 2). |
남비아르 표기법 | | 남비아르가 사용했다 (n ≥ 1). |
위첨자 표기법 | | 로버트 무나포가 사용했다. |
아래첨자 표기법 (낮은 하이퍼 연산의 경우) | | 로버트 무나포가 낮은 하이퍼 연산에 사용했다. |
연산자 표기법 ("확장 연산"의 경우) | | 존 도너와 알프레드 타르스키가 낮은 하이퍼 연산에 사용했다. (n ≥ 1). |
대괄호 표기법 | | 많은 온라인 포럼에서 사용되며, ASCII에 편리하다. |
콘웨이 연쇄 화살표 표기법 | | 존 호턴 콘웨이가 사용했다 (n ≥ 3). |
5. 1. TRS 기반 계산
Term Rewriting System|텀 재작성 시스템영어(TRS)을 기반으로 하이퍼 연산을 계산하는 방법은 스택을 이용하여 구현할 수 있다. 하이퍼 연산 수열의 정의는 항 재작성 시스템(TRS)으로 변환될 수 있으며, 이는 축약 규칙을 통해 표현된다.[1]
를 계산하기 위해 초기 스택은 요소를 포함한다. 이후 스택에서 세 개의 요소를 꺼내 다음 규칙에 따라 대체한다.[1]
규칙 | 스택 변화 |
---|
(r1) | 0, a, b → (b+1) |
(r2) | 1, a, 0 → a |
(r3) | 2, a, 0 → 0 |
(r4) | (n+3), a, 0 → 1 |
(r5) | (n+1), a, (b+1) → n, a, (n+1), a, b |
간단히 설명하면, 에서 시작하여 스택 길이가 1이 될 때까지 3개의 요소를 꺼내고 규칙 r1, r2, r3, r4, r5에 따라 1개 또는 5개의 요소를 집어넣는 과정을 반복한다.
예시: 계산[1][2]
축약 과정은 다음과 같다.
|
|
|
|
|
|
|
|
|
|
스택을 사용한 구현에서 입력 에 대한 스택 구성과 해당 방정식은 다음과 같다.
스택 구성 | 방정식 |
---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
반복을 사용한 정의는 다른 축약 규칙을 사용하며, 스택에는 네 개의 요소 가 초기값으로 들어간다. 계산 과정에서 네 개의 요소를 꺼내 규칙에 따라 1개 또는 7개의 요소로 대체한다.[1]
규칙 {r6 - r10, r11}에 따른 계산은 재귀적이다. 반복이 실행되는 순서 때문에 전체 시퀀스가 펼쳐진 후에야 첫 번째 가 사라진다.[3] 반면, 규칙 {r6 - r10, r12}에 따른 계산은 더 효율적이며, 재귀 깊이는 초연산 순서와 일치한다.[4] 어느 쪽으로 반복하든 동일한 규칙을 포함하므로 축약 단계 수는 동일하다. 축약 규칙이 적용되는 순서만 영향을 받는다.
6. 특수한 경우
''Hn''(0, ''b'')의 값은 다음과 같다.[6][7]
- n = 0일 때, ''b'' + 1
- n = 1일 때, ''b''
- n = 2일 때, 0
- n = 3이고 ''b'' = 0일 때, 1
- n = 3이고 ''b'' > 0일 때, 0
- n > 3이고 ''b''가 짝수일 때 (0 포함), 1
- n > 3이고 ''b''가 홀수일 때, 0
''Hn''(1, ''b'')의 값은 다음과 같다.
- n = 2일 때, ''b''
- n ≥ 3일 때, 1
''Hn''(''a'', 0)의 값은 다음과 같다.
- n = 2일 때, 0
- n = 0 또는 n ≥ 3일 때, 1
- n = 1일 때, ''a''
''Hn''(''a'', 1)의 값은 다음과 같다.
''Hn''(''a'', ''a'')의 값은 다음과 같다.
- n ≥ 1일 때, ''Hn+1''(''a'', 2)
''Hn''(''a'', −1)의 값은 다음과 같다.[5]
- n = 0 또는 n ≥ 4일 때, 0
- n = 1일 때, ''a'' − 1
- n = 2일 때, −''a''
- n = 3일 때, (분수형태)
''Hn''(2, 2)의 값은 다음과 같다.
- n = 0일 때, 3
- n ≥ 1일 때, 4 (재귀적으로 쉽게 증명 가능)
7. 역사
하이퍼 연산은 1914년 알베르트 베네트가 처음 논의했는데, 그는 "가환 하이퍼 연산" 이론을 개발했다.[9] 1928년 빌헬름 아커만은 하이퍼 연산 수열과 어느 정도 연관성이 있는 함수 을 정의했다.[9]
1947년 루벤 굿스타인[12]은 현재 사용되는 하이퍼 연산 수열을 정의하고, 커누스 윗화살표 표기법으로는 와 같은 기호를 사용했다. 또한, 굿스타인은 테트레이션, 펜테이션, 헥세이션 등 거듭제곱 이상의 연산에 명칭을 부여했다.
굿스타인의 정의는 원래 아커만 함수와 몇 가지 차이점이 있다. 원래의 삼항 아커만 함수 는 굿스타인 버전과 동일한 재귀 규칙을 사용하지만, 두 가지 면에서 다르다. 첫째, 은 승계 함수가 아닌 덧셈(''n'' = 0)에서 시작하는 연산 시퀀스를 정의하고, 이후 곱셈(''n'' = 1), 지수 연산(''n'' = 2) 등을 정의한다. 둘째, 에 대한 초기 조건은 의 결과를 가져오므로 지수 연산을 넘어서는 하이퍼 연산과 차이가 있다.
8. 변형
하이퍼 연산에는 다양한 변형이 존재한다. 그중 하나는 왼쪽에서 오른쪽으로 연산하는 방식으로, 다음과 같이 정의된다. (° 또는 아래 첨자 사용):
:
여기서
:
이것은 도너(Doner)와 타르스키(Tarski)에 의해 서수로 확장되었다.[8] ''a'' ≥ 2이고 ''b'' ≥ 1인 경우,
:
가 성립한다. 그러나 이 연산은 하이퍼 연산에서 전통적으로 예상되는 "지수탑"을 형성하지 못하고 붕괴된다.[8] 예를 들어,
:
이다. 만약 α ≥ 2이고 γ ≥ 2이면,[Corollary 33(i)][8]
:
이다.
''n''에 따른 연산과 비고n | 연산 | 비고 |
---|
0 | | 증가, 후속자, 제로화 |
---|
1 | | |
---|
2 | | |
---|
3 | | |
---|
4 | | 테트레이션과 혼동하지 않도록 주의. |
---|
5 | | 펜테이션과 혼동하지 않도록 주의. 테트레이션과 유사. |
---|
8. 1. ''a''에서 시작하는 변형
가환 초연산은 1914년 앨버트 베넷에 의해 처음으로 언급되었으며,[1] 이는 초연산 수열에 대한 가장 초기의 언급일 가능성이 높다. 가환 초연산은 다음과 같은 재귀 규칙으로 정의된다.
:
이는 ''a''와 ''b''에 대해 대칭이며, 모든 초연산이 가환적임을 의미한다. 이 수열은 거듭제곱을 포함하지 않으므로 초연산 계층을 형성하지 않는다.
n | 연산 | 비고 |
---|
0 | | 스무스 맥시멈 |
---|
1 | | |
---|
2 | | 이는 로그의 성질에 기인한다. |
---|
3 | | 유한체에서, 이는 디피-헬만 키 교환 연산이다. |
---|
4 | | 테트레이션과 혼동하지 않도록 주의. |
---|
8. 2. 아래첨자 하이퍼 연산자
연산 순서를 왼쪽부터로 하는 아래첨자 하이퍼 연산자를 정의할 수 있다. a(n+1)b = (a(n + 1)(b - 1))(n) a로 정의된다. 여기서,
- a(1) b = a + b
- a(2) 0 = 0
- n>2일 때, a(n) 1 = a
이다.
도너(Doner)와 타르스키(Tarski)는 이를 서수로 확장했다.[8] a ≥ 2이고 b ≥ 1인 경우, a On b = a(n + 1) b가 성립한다. 그러나 이 연산자는 하이퍼 연산자에서 전통적으로 예상되는 "지수탑"을 형성하지 못해 일종의 붕괴를 겪는다.[8]
예를 들어,
:
이다.
만약 α ≥ 2이고 γ ≥ 2이면,[Corollary 33(i)][8]
:
이다.
이처럼 아래첨자 하이퍼 연산자는 기존 하이퍼 연산자를 사용하여 표현 가능하므로, 활용도가 높지 않다.
8. 3. 가환 하이퍼 연산
1914년 알베르트 베넷은 가환 하이퍼 연산을 제시했다. 이는 하이퍼 연산 수열에 대한 초기 언급일 가능성이 높다. 가환 하이퍼 연산은 다음과 같은 재귀 규칙으로 정의된다.
:
이는 ''a''와 ''b''에 대해 대칭이며, 모든 하이퍼 연산이 가환적임을 의미한다. 이 수열은 거듭제곱을 포함하지 않으므로 하이퍼 연산 계층을 형성하지 않는다.
n | 연산 | 비고 |
---|
0 | | 스무스 맥시멈 |
---|
1 | | |
---|
2 | | 이는 로그의 성질에 기인한다. |
---|
3 | | 유한체에서, 이는 디피-헬만 키 교환 연산이다. |
---|
4 | | 테트레이션과 혼동하지 않도록 주의. |
---|
9. 수 체계
R. L. 굿스타인은 하이퍼 연산 수열을 기반으로 음이 아닌 정수를 표현하는 수 체계를 제시했다.[1] 이 수 체계에서 정수 ''n''의 ''완전한 유전적 표현''은 레벨 ''k''와 밑 ''b''에서 처음 ''k''개의 하이퍼 연산자와 숫자 0, 1, ..., ''b'' − 1, 그리고 밑 ''b''만을 사용하여 표현된다.
- 0 ≤ ''n'' ≤ ''b'' − 1인 경우, ''n''은 해당 숫자로 표현된다.
- ''n'' > ''b'' − 1인 경우, ''n''은 먼저 다음과 같은 형태로 표현된다.
:''b'' [''k''] ''x''''k'' [''k'' − 1] ''x''''k'' − 1 [''k'' - 2] ... [2] ''x''2 [1] ''x''1
:여기서 ''x''''k'', ..., ''x''1은 다음 조건을 만족하는 가장 큰 정수이다.
:''b'' [''k''] ''x''''k'' ≤ ''n''
:''b'' [''k''] ''x''''k'' [''k'' − 1] ''x''''k'' − 1 ≤ ''n''
:...
:''b'' [''k''] ''x''''k'' [''k'' − 1] ''x''''k'' − 1 [''k'' - 2] ... [2] ''x''2 [1] ''x''1 ≤ ''n''
:''b'' − 1을 초과하는 모든 ''x''''i''는 같은 방식으로 다시 표현되며, 숫자 0, 1, ..., ''b'' − 1과 밑 ''b''만 남을 때까지 반복된다.
상위 레벨 연산자에 더 높은 우선 순위를 부여하여 불필요한 괄호를 피한다.
- 레벨-1 표현: b [1] X 형식 (''X''도 이 형식)
- 레벨-2 표현: b [2] X [1] Y 형식 (''X'', ''Y''도 이 형식)
- 레벨-3 표현: b [3] X [2] Y [1] Z 형식 (''X'', ''Y'', ''Z''도 이 형식)
- 레벨-4 표현: b [4] X [3] Y [2] Z [1] W 형식 (''X'', ''Y'', ''Z'', ''W''도 이 형식)
밑-''b'' ''유전적'' 표현에서 밑 자체는 집합 {0, 1, ..., ''b'' − 1}의 "숫자"와 표현에 모두 나타난다. 일반적인 밑-2 표기법에서 6 = (110)2 이지만, 레벨-3 밑-2 유전적 표현은 6 = 2 [3] (2 [3] 1 [2] 1 [1] 0) [2] 1 [1] (2 [3] 1 [2] 1 [1] 0)이다. 유전적 표현은 [1] 0, [2] 1, [3] 1, [4] 1 등을 생략하여 축약할 수 있다. (예: 6 = 2 [3] 2 [1] 2)
266의 밑-2 표현은 다음과 같다.
- 레벨 1: 266 = 2 [1] 2 [1] 2 [1] ... [1] 2 (133개의 2)
- 레벨 2: 266 = 2 [2] (2 [2] (2 [2] (2 [2] 2 [2] 2 [2] 2 [2] 2 [1] 1)) [1] 1)
- 레벨 3: 266 = 2 [3] 2 [3] (2 [1] 1) [1] 2 [3] (2 [1] 1) [1] 2
- 레벨 4: 266 = 2 [4] (2 [1] 1) [3] 2 [1] 2 [4] 2 [2] 2 [1] 2
- 레벨 5: 266 = 2 [5] 2 [4] 2 [1] 2 [5] 2 [2] 2 [1] 2
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com