맨위로가기

균형 3진법

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

균형 3진법은 세 개의 숫자 T, 0, 1을 사용하여 정수를 표현하는 방법이다. 이진법 대신 사용되는 균형 3진법은 컴퓨터 설계, 인공 신경망, 양자 컴퓨팅 등 다양한 분야에 응용될 수 있다. 균형 3진법은 정수와 실수를 나타내는 데 사용되며, 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 사칙 연산이 가능하다. 또한 제곱근 및 세제곱근 계산에도 활용된다. 균형 3진법은 10진법과 다른 기수법 간의 변환이 가능하며, 무리수 또한 표현할 수 있다.

더 읽어볼만한 페이지

  • 3진법 컴퓨터 - 삼진법
    삼진법은 0, 1, 2 세 가지 숫자를 사용하여 수를 표현하는 위치 기수법으로, 3의 배수 계산에 유리하며, 다양한 분야에서 활용되고 음수를 포함하는 변형된 형태도 존재한다.
  • 3진법 컴퓨터 - 트리트
  • 기수법 - 이진법
    이진법은 0과 1 두 개의 숫자를 사용하는 밑이 2인 위치 기수법으로, 컴퓨터 과학의 기초가 되었으며 현대 컴퓨터에서 데이터를 저장하고 처리하는 데 사용된다.
  • 기수법 - 구진법
    구진법은 9를 밑으로 하는 위치 기수법으로 0부터 8까지의 숫자를 사용하여 수를 나타내며, 3의 배수 표현이 간결하고 3의 역수는 유한소수로 표현되는 특징이 있다.
균형 3진법
개요
명칭균형 3진법
다른 명칭부호 있는 숫자 표현, 최소 중복 표현
유형비표준 위치 숫자 표기법
기수3
숫자-1
0
1
속성
덧셈 역원덧셈 역원을 쉽게 구할 수 있음 (각 자리의 부호를 바꾸면 됨).
곱셈자명함
나눗셈자명하지 않음
데이터 저장효율적인 데이터 저장 가능
용도특정 계산 및 논리 회로에 유용함
역사
최초 고안자미하엘 슈티펠 (1544년)
재발견존 폰 노이만 (컴퓨터 설계에 적용)
응용세르게이 르보비치 소볼레프 (세툰 컴퓨터)
표현
양수 표현일반적인 3진법과 유사
음수 표현각 자릿수의 부호 반전
0 표현유일함 (모든 자릿수가 0)
장점
부호 처리별도의 부호 비트 불필요
효율성일부 연산에서 효율적
대칭성양수와 음수의 표현이 대칭적
단점
직관성일반적인 2진법이나 10진법에 비해 직관적이지 않음
복잡성하드웨어 구현이 더 복잡할 수 있음
활용
컴퓨터 과학일부 특수 목적 컴퓨터에 사용
논리 회로특정 논리 회로 설계에 응용
참고 자료
관련 서적Stifel, Michael (1544). Arithmetica integra.
Hayes, Brian (2001). "Third base". American Scientist. 89 (6): 490–494. doi:10.1511/2001.40.3268.
Hayes, Brian (2008). "Group Theory in the Bedroom, and Other Mathematical Diversions". Farrar, Straus and Giroux. pp. 179–200. ISBN 9781429938570.
Krinitsky, N. A.; Mironov, G. A.; Frolov, G. D. (1963). "Chapter 10. Program-controlled machine Setun". Programming. Moscow: M. R. Shura-Bura.

2. 정의

참고: 부호 숫자 표현

\mathcal{D}_{3} := \lbrace \operatorname{T}, 0, 1 \rbrace는 기호 집합이며, \bar{1}\operatorname{T} 대신 사용되기도 한다. 정수 값을 갖는 함수 f = f_{\mathcal{D}_{3}} : \mathcal{D}_{3} \to \mathbb{Z}는 다음과 같이 정의된다.[4]

:\begin{align}

f_{}(\operatorname{T}) &= -1, \\

f_{}(0) &= 0, \\

f_{}(1) &= 1,

\end{align}

이 함수 f_{}를 통해 \mathcal{D}_{3}의 각 기호에 정수 값이 할당되는 방식을 형식적으로 정할 수 있다. 이러한 형식주의는 "정수"의 정의(어떻게 정의되든)가 정수를 쓰는 특정 시스템과 혼동되지 않도록 한다.

\mathcal{D}_{3}와 함수 f_{}를 함께 ''균형 3진법''이라 부르며, 부호 숫자 표현의 일종이다. 균형 3진법은 정수와 실수를 나타내는 데 사용된다.

2. 1. 3진 정수 평가

\mathcal{D}_{3} := \lbrace \operatorname{T}, 0, 1 \rbrace는 기호 집합을 나타내며, 여기서 \bar{1}\operatorname{T} 대신 사용되기도 한다. 각 기호에 정수 값을 할당하는 함수 f = f_{\mathcal{D}_{3}} : \mathcal{D}_{3} \to \mathbb{Z}는 다음과 같이 정의된다.[4]

:\begin{align}

f_{}(\operatorname{T}) &= -1, \\

f_{}(0) &= 0, \\

f_{}(1) &= 1,

\end{align}

이 함수를 통해 \mathcal{D}_{3}의 기호에 정수 값이 할당되는 방식을 형식적으로 정의할 수 있다.

\mathcal{D}_{3}^{+}\mathcal{D}_{3}의 클레이니 플러스로, 하나 이상의 기호(숫자) d_n \ldots d_0로 이루어진 유한한 길이의 연결문자열 집합이다. 3진 평가 함수 v = v_{3} ~:~ \mathcal{D}_{3}^{+} \to \mathbb{Z}는 모든 문자열 d_n \ldots d_0 \in \mathcal{D}_{3}^{+}에 대해 다음과 같이 정수를 할당한다.

:v\left( d_n \ldots d_0 \right) ~=~ \sum_{i=0}^{n} f_{} \left( d_{i} \right) 3^{i}.

문자열 d_n \ldots d_0는 정수 v\left( d_n \ldots d_0 \right)를 나타내며, 이 값은 {d_n \ldots d_0}_{\operatorname{bal}3}로 표시할 수 있다. v : \mathcal{D}_{3}^{+} \to \mathbb{Z}전사 함수이지만, 모든 정수가 v에 대해 유일한 표현을 가지는 것은 아니다. (예: 0 = v(0) = v(00) = v(0 0 0) = \cdots)

n > 0일 때, v는 다음과 같은 재귀 관계를 만족한다.

:v\left( d_n d_{n-1} \ldots d_0 \right) ~=~ f_{} \left( d_{n} \right) 3^{n} + v\left( d_{n-1} \ldots d_0 \right)

이 재귀 관계는 빈 문자열 \varepsilon에 대한 초기 조건 v\left( \varepsilon \right) = 0을 가진다. 또한, '선행' 0 기호는 결과 값에 영향을 주지 않는다. 즉,

:v\left( 0 d_n \ldots d_0 \right) = v\left( d_n \ldots d_0 \right)

다음은 v의 값을 계산하는 예시이다.

:\begin{alignat}{10}

v\left( \operatorname{T} \operatorname{T} \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(-1) &&1

&&= -4 \\

v\left( \operatorname{T} 1 \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(1) &&1

&&= -2 \\

v\left( 1 \operatorname{T} \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(-1) &&1

&&= 2 \\

v\left( 1 1 \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(1) &&1

&&= 4 \\

v\left( 1 \operatorname{T} 0 \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 0 \right) 3^{0}

&&= (1) 9 \,+\, &&(-1) &&3 &&\,+\, &&(0) &&1

&&= 6 \\

v\left( 1 0 \operatorname{T} \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( 0 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= (1) 9 \,+\, &&(0) &&3 &&\,+\, &&(-1) &&1

&&= 8 \\

\end{alignat}



재귀 관계를 사용하면,

:v\left( 1 0 1 \operatorname{T} \right) = f_{}\left( 1 \right) 3^{3} + v\left( 0 1 \operatorname{T} \right) = (1) 27 + v\left( 1 \operatorname{T} \right) = 27 + 2 = 29.

3. 다른 표현과의 변환

균형 3진법은 10진법, 불균형 3진법 등 다른 기수법과 변환할 수 있다.

\mathcal{D}_{3}^{+}\mathcal{D}_{3}의 클레이니 플러스로, 하나 이상의 기호(숫자) d_n \ldots d_0로 이루어진 유한 길이의 연결된 문자열 집합이다. 여기서 n은 음이 아닌 정수이고, 모든 n + 1개의 숫자 d_n, \ldots, d_0\mathcal{D}_{3} = \lbrace \operatorname{T}, 0, 1 \rbrace에서 가져온다. d_n \ldots d_0의 시작은 기호 d_0(오른쪽), 끝은 d_n(왼쪽), 길이는 n + 1이다. '3진 평가'는 함수 v = v_{3} ~:~ \mathcal{D}_{3}^{+} \to \mathbb{Z}로 정의되며, 모든 문자열 d_n \ldots d_0 \in \mathcal{D}_{3}^{+}에 다음 정수를 할당한다.

:v\left( d_n \ldots d_0 \right) ~=~ \sum_{i=0}^{n} f_{} \left( d_{i} \right) 3^{i}.

문자열 d_n \ldots d_0는 정수 v\left( d_n \ldots d_0 \right)를 나타내며, 이 값은 {d_n \ldots d_0}_{\operatorname{bal}3}로도 표시할 수 있다.

v : \mathcal{D}_{3}^{+} \to \mathbb{Z}전사 함수이지만, 0 = v(0) = v(00) = v(0 0 0) = \cdots이므로 단사 함수는 아니다. 그러나 모든 정수는 v에 따라 정확히 하나의 표현을 가지며, 이는 d_n = 0 으로 끝나지 않는다.

d_n \ldots d_0 \in \mathcal{D}_{3}^{+}이고 n > 0이면, v는 다음을 만족한다.

:v\left( d_n d_{n-1} \ldots d_0 \right) ~=~ f_{} \left( d_{n} \right) 3^{n} + v\left( d_{n-1} \ldots d_0 \right)

이는 v가 일종의 재귀 관계를 만족함을 보여준다. 이 재귀 관계는 초기 조건 v\left( \varepsilon \right) = 0을 가지며, 여기서 \varepsilon은 빈 문자열이다.

모든 문자열 d_n \ldots d_0 \in \mathcal{D}_{3}^{+},에 대해 다음이 성립한다.

:v\left( 0 d_n \ldots d_0 \right) = v\left( d_n \ldots d_0 \right)

즉, 선행 0 기호(두 개 이상의 기호를 가진 문자열의 왼쪽에 있는)는 결과 값에 영향을 미치지 않는다.

다음은 v의 일부 값을 계산하는 예시이다. 모든 정수는 10진수(밑 10)로 작성되고 \mathcal{D}_{3}^{+}의 모든 요소는 단순한 기호이다.

:\begin{alignat}{10}

v\left( \operatorname{T} \operatorname{T} \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(-1) &&1

&&= -4 \\

v\left( \operatorname{T} 1 \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(1) &&1

&&= -2 \\

v\left( 1 \operatorname{T} \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(-1) &&1

&&= 2 \\

v\left( 1 1 \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(1) &&1

&&= 4 \\

v\left( 1 \operatorname{T} 0 \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 0 \right) 3^{0}

&&= (1) 9 \,+\, &&(-1) &&3 &&\,+\, &&(0) &&1

&&= 6 \\

v\left( 1 0 \operatorname{T} \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( 0 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= (1) 9 \,+\, &&(0) &&3 &&\,+\, &&(-1) &&1

&&= 8 \\

\end{alignat}



위의 재귀 관계를 사용하면 다음과 같다.

:v\left( 1 0 1 \operatorname{T} \right) = f_{}\left( 1 \right) 3^{3} + v\left( 0 1 \operatorname{T} \right) = (1) 27 + v\left( 1 \operatorname{T} \right) = 27 + 2 = 29.

10진법 및 불균형 3진법과의 변환 방법은 하위 섹션에서 자세히 설명한다.

3. 1. 10진법에서 변환

균형 3진법에서 자릿수 ''n''이 기수점의 왼쪽에 있으면 그 값은 해당 숫자와 3''n''의 곱이다. 이는 10진법과 균형 3진법 사이를 변환할 때 유용하다. 균형 3진법을 나타내는 문자열은 접미사 ''bal3''을 갖는다. 예를 들어:

  • 10bal3 = 1 × 31 + 0 × 30 = 3dec
  • 10𝖳bal3 = 1 × 32 + 0 × 31 + (−1) × 30 = 8dec
  • −9dec = −1 × 32 + 0 × 31 + 0 × 30 = 𝖳00bal3
  • 8dec = 1 × 32 + 0 × 31 + (−1) × 30 = 10𝖳bal3


마찬가지로, 기수점의 오른쪽에 있는 첫 번째 자리는 3−1 = 을, 두 번째 자리는 3−2 = 을 갖는 식이다. 예를 들어:

: −dec = −1 + = −1 × 30 + 1 × 3−1 = 𝖳.1bal3.

10진법균형 3진법전개
000
11+1
21𝖳+3−1
310+3
411+3+1
51𝖳𝖳+9−3−1
61𝖳0+9−3
71𝖳1+9−3+1
810𝖳+9−1
9100+9
10101+9+1
1111𝖳+9+3−1
12110+9+3
13111+9+3+1



10진법균형 3진법전개
000
−1𝖳−1
−2𝖳1−3+1
−3𝖳0−3
−4𝖳𝖳−3−1
−5𝖳11−9+3+1
−6𝖳10−9+3
−7𝖳1𝖳−9+3−1
−8𝖳01−9+1
−9𝖳00−9
−10𝖳0𝖳−9−1
−11𝖳𝖳1−9−3+1
−12𝖳𝖳0−9−3
−13𝖳𝖳𝖳−9−3−1



정수는 일의 자리 숫자가 0일 때에만 3으로 나누어 떨어진다.

모든 삼진수의 합의 패리티를 확인하여 균형 3진법 정수의 패리티를 확인할 수 있다. 이 합은 정수 자체와 동일한 패리티를 갖는다.

균형 3진법은 10진법 숫자가 기수점의 오른쪽에 쓰이는 방식과 유사하게 분수로도 확장될 수 있다.[5]

10진법−0.9−0.8−0.7−0.6−0.5−0.4−0.3−0.2−0.10
균형 3진법𝖳.𝖳.𝖳.𝖳.0. 또는 𝖳.0.0.0.0.0
10진법0.90.80.70.60.50.40.30.20.10
균형 3진법1.1.1.1.0. 또는 1.0.0.0.0.0



10진법 또는 2진법에서는 정수 값과 종결 분수가 여러 표현을 갖는다. 예를 들어, = 0.1 = 0.1 = 0.0이다. 그리고, = 0.12 = 0.12 = 0.02이다. 일부 균형 3진법 분수도 여러 표현을 갖는다. 예를 들어, = 0.1bal3 = 0.0bal3이다. 확실히 10진법과 2진법에서는 기수점 뒤의 오른쪽 끝 무한 0을 생략하여 정수 또는 종결 분수의 표현을 얻을 수 있다. 그러나 균형 3진법에서는 기수점 뒤의 오른쪽 끝 무한 −1을 생략하여 정수 또는 종결 분수의 표현을 얻을 수 없다.

도널드 커누스[6]는 균형 3진법에서 절삭과 반올림이 동일한 연산이며, 정확히 동일한 결과를 생성한다는 점을 지적했다(이는 다른 균형 숫자 체계와 공유되는 속성이다). 숫자 는 예외가 아니다. 즉, 두 개의 동등하게 유효한 표현과 두 개의 동등하게 유효한 절삭이 있다. 0. (0으로 반올림하고 0으로 절삭)과 1. (1로 반올림하고 1로 절삭)이 있다. 홀수 기수를 사용하면 이중 반올림도 짝수 기수와 달리 최종 정밀도로 직접 반올림하는 것과 같다.

기본 연산, 즉 덧셈, 뺄셈, 곱셈 및 나눗셈은 일반적인 삼진법과 동일하게 수행된다. 2를 곱하는 것은 숫자를 자기 자신에 더하거나, a-삼진수-왼쪽-이동 후에 자기 자신을 빼는 것으로 수행할 수 있다.

균형 3진법 숫자의 산술 왼쪽 시프트는 3의 (양수, 정수) 거듭제곱을 곱하는 것과 동일하며, 균형 3진법 숫자의 산술 오른쪽 시프트는 3의 (양수, 정수) 거듭제곱으로 나누는 것과 동일하다.

3. 2. 불균형 3진법에서 변환

불균형 3진법은 두 가지 방법으로 균형 3진법 표기법으로 변환할 수 있다.

  • 첫 번째 0이 아닌 트라이트에서 캐리를 사용하여 트라이트 단위로 1을 더한 다음, 빌림 없이 동일한 트라이트에서 트라이트 단위로 1을 뺀다. 예를 들어, 0213 + 113 = 1023, 1023 − 113 = 1T1bal3 = 7dec이다.
  • 2가 3진법에 있으면 1T로 변환한다. 예를 들어, 02123 = 0010bal3 + 1T00bal3 + 001Tbal3 = 10TTbal3 = 23dec이다.


균형논리부호 없음
12
0알 수 없음1
T거짓0



3치 논리의 세 값인 '거짓', '알 수 없음', '참'이 균형 3진법에서 T, 0, 1로, 그리고 일반적인 부호 없는 3진법 값으로 0, 1, 2로 매핑된다면, 균형 3진법은 오프셋 이진법 시스템과 유사한 편향된 숫자 시스템으로 볼 수 있다.[7]

만약 3진수 숫자가 ''n''개의 트라이트를 가지고 있다면, 편향 ''b''는 다음과 같다.

:b=\left\lfloor \frac{3^n}{2} \right\rfloor

이는 일반적이거나 편향된 형태에서 모두 1로 표현된다.[7]

결과적으로, 이 두 표현이 균형 및 부호 없는 3진수에 사용된다면, 부호 없는 ''n''-트라이트 양수 3진법 값은 편향 ''b''를 더하여 균형 형태로 변환될 수 있으며, 양수 균형 숫자는 편향 ''b''를 빼서 부호 없는 형태로 변환될 수 있다. 또한, 만약 ''x''와 ''y''가 균형 숫자라면, 일반적인 부호 없는 3진법 산술을 사용하여 계산할 때 균형 합은 ''x'' + ''y'' − ''b''이다. 마찬가지로, 만약 ''x''와 ''y''가 일반적인 부호 없는 3진법 숫자라면, 균형 3진법 산술을 사용하여 계산할 때 합은 ''x'' + ''y'' + ''b''이다.

3. 3. 정수 기수에서 균형 3진법으로 변환

불균형 3진법은 두 가지 방법으로 균형 3진법 표기법으로 변환할 수 있다.

  • 첫 번째 0이 아닌 트라이트에서 캐리를 사용하여 트라이트 단위로 1을 더한 다음, 빌림 없이 동일한 트라이트에서 트라이트 단위로 1을 뺀다. 예를 들어, 0213 + 113 = 1023이고, 1023 − 113 = 1T1bal3 = 7dec이다.
  • 2가 3진법에 있으면 1T로 변환한다. 예를 들어, 02123 = 0010bal3 + 1T00bal3 + 001Tbal3 = 10TTbal3 = 23dec이다.


만약 3치 논리의 세 값인 ''거짓'', ''알 수 없음'', ''참''이 균형 3진법에서 T, 0, 1로, 그리고 일반적인 부호 없는 3진법 값으로 0, 1, 2로 매핑된다면, 균형 3진법은 오프셋 이진법 시스템과 유사한 편향된 숫자 시스템으로 볼 수 있다.[7]

3진수 숫자가 ''n''개의 트라이트를 가지고 있다면, 편향 ''b''는 다음과 같다.

:b=\left\lfloor \frac{3^n}{2} \right\rfloor

이는 일반적이거나 편향된 형태에서 모두 1로 표현된다.[7]

결과적으로, 이 두 표현이 균형 및 부호 없는 3진수에 사용된다면, 부호 없는 ''n''-트라이트 양수 3진법 값은 편향 ''b''를 더하여 균형 형태로 변환될 수 있으며, 양수 균형 숫자는 편향 ''b''를 빼서 부호 없는 형태로 변환될 수 있다.

다음 공식을 사용하여 균형 삼진법으로 변환할 수 있다.

:

\left(a_na_{n-1}\cdots a_1a_0.c_1 c_2 c_3\cdots\right)_b =

\sum_{k=0}^n a_kb^k + \sum_{k=1}^\infty c_kb^{-k}.



여기서,

  • ''ana''''n''−1...''a''1''a''0.''c''1''c''2''c''3...는 원래 기수법에서의 원래 표현이다.
  • ''b''는 원래 기수이다. 십진법에서 변환하는 경우 ''b''는 10이다.
  • ''ak''와 ''ck''는 기수점의 왼쪽과 오른쪽에 각각 ''k'' 자릿수를 나타내는 숫자이다.


예를 들어,

  • −25.4dec = −(1T×1011 + 1TT×1010 + 11×101−1) = −(1T×101 + 1TT + 11÷101) = −10T1. = T01T.
  • 1010.12 = 1T10 + 1T1 + 1T−1 = 10T + 1T + 0. = 101.

3. 4. 분수와의 변환

순환 균형 3진법을 분수로 변환하는 방법은 순환 소수를 변환하는 것과 유사하다. 예를 들어 111111bal3 = (36 − 1) / (3 − 1) 이므로 다음과 같이 계산할 수 있다.

: 0.1\overline{\mathrm{110TT0} } =\tfrac{\mathrm{1110TT0-1} }{\mathrm{111111\times 1T\times 10}}=\tfrac{\mathrm{1110TTT} } {\mathrm{111111\times 1T0}} =\tfrac{\mathrm{111\times 1000T} } {\mathrm{111\times 1001\times 1T0}} =\tfrac{\mathrm{1111\times 1T}}{\mathrm{1001\times 1T0}} =\tfrac{1111}{10010}=\tfrac{\mathrm{1T1T}}{\mathrm{1TTT0}} =\tfrac{101}{\mathrm{1T10} }

분수와 균형 3진법 간의 변환은 다음 표와 같다.

분수균형 3진법
11
0.1.
0.1
0.
0.
0.00.1
0.
0.
0.01
0.



분수균형 3진법
0.
0.0
0.
0.
0.0
0.
0.
0.000.01
0.
0.


4. 사칙연산

균형 3진법에서 덧셈, 뺄셈, 곱셈, 나눗셈은 이진법이나 십진법과 유사한 방식으로 이루어진다. 다만, 각 자리의 숫자가 T(-1), 0, 1 세 가지 값을 가지므로, 이에 따른 연산 규칙을 따라야 한다.
주의: 뺄셈과 나눗셈은 교환 법칙이 성립하지 않으므로, 연산 순서에 유의해야 한다. 예를 들어, 1 - T는 1T이다.

4. 1. 단일 트리트 연산

단일 트리트의 덧셈, 뺄셈, 곱셈 및 나눗셈 표는 다음과 같다. 뺄셈과 나눗셈은 교환 법칙이 성립하지 않으므로, 첫 번째 피연산자는 표의 왼쪽에 표시되고, 두 번째 피연산자는 맨 위에 표시된다. 예를 들어 1 - T = 1T의 답은 뺄셈 표의 왼쪽 아래 모서리에서 찾을 수 있다.

덧셈
+T01
TT1T0
0T01
1011T



뺄셈
T01
T0TT1
010T
11T10



곱셈
×T01
T10T
0000
1T01



나눗셈
÷T1
T1T
000
1T1


4. 2. 다중 트리트 덧셈 및 뺄셈

\mathcal{D}_{3}^{+}는 하나 이상의 기호(숫자) d_n \ldots d_0로 이루어진 유한 길이의 연결된 문자열 집합이며, 여기서 n은 음이 아닌 정수이고, 모든 n + 1개의 숫자 d_n, \ldots, d_0\mathcal{D}_{3} = \lbrace \operatorname{T}, 0, 1 \rbrace에서 가져온다. 3진 평가 함수 v = v_{3} ~:~ \mathcal{D}_{3}^{+} \to \mathbb{Z}는 모든 문자열 d_n \ldots d_0 \in \mathcal{D}_{3}^{+}에 대해 다음과 같이 정의된다.

:v\left( d_n \ldots d_0 \right) ~=~ \sum_{i=0}^{n} f_{} \left( d_{i} \right) 3^{i}.

v는 재귀 관계를 만족하며, 초기 조건은 v\left( \varepsilon \right) = 0이다. 여기서 \varepsilon은 빈 문자열이다.

다음은 v의 일부 값을 계산하는 예시이다.

:\begin{alignat}{10}

v\left( \operatorname{T} \operatorname{T} \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(-1) &&1

&&= -4 \\

v\left( \operatorname{T} 1 \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(1) &&1

&&= -2 \\

v\left( 1 \operatorname{T} \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(-1) &&1

&&= 2 \\

v\left( 1 1 \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(1) &&1

&&= 4 \\

v\left( 1 \operatorname{T} 0 \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 0 \right) 3^{0}

&&= (1) 9 \,+\, &&(-1) &&3 &&\,+\, &&(0) &&1

&&= 6 \\

v\left( 1 0 \operatorname{T} \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( 0 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= (1) 9 \,+\, &&(0) &&3 &&\,+\, &&(-1) &&1

&&= 8 \\

\end{alignat}



재귀 관계를 사용하면,

:v\left( 1 0 1 \operatorname{T} \right) = f_{}\left( 1 \right) 3^{3} + v\left( 0 1 \operatorname{T} \right) = (1) 27 + v\left( 1 \operatorname{T} \right) = 27 + 2 = 29.

단일 균형 3진법의 덧셈, 뺄셈, 곱셈, 나눗셈 표는 다음과 같다. 뺄셈과 나눗셈은 교환 법칙이 성립하지 않으므로, 첫 번째 피연산자는 표의 왼쪽에, 두 번째 피연산자는 맨 위에 표시된다.

덧셈
+T01
TT1T0
0T01
1011T



뺄셈
T01
T0TT1
010T
11T10



곱셈
×T01
T10T
0000
1T01



나눗셈
÷T1
T1T
000
1T1



균형 3진법 덧셈과 뺄셈은 이진법 및 십진법과 유사하게 한 자리씩 계산하며, 올림수를 고려한다.

예시는 다음과 같다.

1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1

+ 11T1.T − 11T1.T − 11T1.T → + TT1T.1

______________ ______________ _______________

1T0T10.0TT1 1T1001.TTT1 1T1001.TTT1

+ 1T + T T1 + T T1

______________ ________________ ________________

1T1110.0TT1 1110TT.TTT1 1110TT.TTT1

+ T + T 1 + T 1

______________ ________________ ________________

1T0110.0TT1 1100T.TTT1 1100T.TTT1

4. 3. 다중 트리트 곱셈

\mathcal{D}_{3}^{+}는 하나 이상의 기호(숫자) d_n \ldots d_0로 이루어진 유한 길이의 연결된 문자열의 집합이며, 여기서 n은 음이 아닌 정수이고, 모든 n + 1개의 숫자 d_n, \ldots, d_0\mathcal{D}_{3} = \lbrace \operatorname{T}, 0, 1 \rbrace에서 가져온다. 3진 평가 함수 v = v_{3} ~:~ \mathcal{D}_{3}^{+} \to \mathbb{Z}는 모든 문자열 d_n \ldots d_0 \in \mathcal{D}_{3}^{+}에 대해 다음과 같이 정의된다.

:v\left( d_n \ldots d_0 \right) ~=~ \sum_{i=0}^{n} f_{} \left( d_{i} \right) 3^{i}.

몇 가지 예시는 다음과 같다.

:\begin{alignat}{10}

v\left( \operatorname{T} \operatorname{T} \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(-1) &&1

&&= -4 \\

v\left( \operatorname{T} 1 \right)

&= && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(-1) &&3 &&\,+\, &&(1) &&1

&&= -2 \\

v\left( 1 \operatorname{T} \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(-1) &&1

&&= 2 \\

v\left( 1 1 \right)

&= && f_{}\left( 1 \right) 3^{1} + && f_{}\left( 1 \right) 3^{0}

&&= &&(1) &&3 &&\,+\, &&(1) &&1

&&= 4 \\

v\left( 1 \operatorname{T} 0 \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( \operatorname{T} \right) 3^{1} + && f_{}\left( 0 \right) 3^{0}

&&= (1) 9 \,+\, &&(-1) &&3 &&\,+\, &&(0) &&1

&&= 6 \\

v\left( 1 0 \operatorname{T} \right)

&= f_{}\left( 1 \right) 3^{2} + && f_{}\left( 0 \right) 3^{1} + && f_{}\left( \operatorname{T} \right) 3^{0}

&&= (1) 9 \,+\, &&(0) &&3 &&\,+\, &&(-1) &&1

&&= 8 \\

\end{alignat}



다음의 재귀 관계를 이용하면,

:v\left( 1 0 1 \operatorname{T} \right) = f_{}\left( 1 \right) 3^{3} + v\left( 0 1 \operatorname{T} \right) = (1) 27 + v\left( 1 \operatorname{T} \right) = 27 + 2 = 29.

단일 트리트의 곱셈표는 다음과 같다.

곱셈
×T01
T10T
0000
1T01



다중 트리트 곱셈은 이진법십진법의 곱셈과 유사하다.

:1TT1.TT

:× T11T.1

:_____________

:1TT.1TT (1 곱하기)

:T11T.11 (T 곱하기)

:1TT1T.T (1 곱하기)

:1TT1TT (1 곱하기)

:T11T11 (T 곱하기)

:_____________

:0T0000T.10T

4. 4. 다중 트리트 나눗셈

균형 3진법 나눗셈은 이진법10진법과 유사하게 진행된다.

나눗셈 과정에서 몫을 결정할 때는 제수의 크기를 고려해야 한다. 제수가 0.510진법 (0.1111...|0.1111...영어균형3) 이상이거나 -0.510진법 (1.TTTT...|1.TTTT...영어균형3) 이하이면 몫은 1 또는 T가 된다. 제수가 제수의 1/2과 -1/2 사이에 있으면 몫은 0이 된다. 즉, 몫을 결정하기 전에 제수의 크기를 제수의 1/2과 비교해야 한다.

다음은 균형 3진법 나눗셈의 예시이다.

  • 예시 1:


```

1TT1.TT 몫

0.5 × 제수 T01.0 _____________

제수 T11T.1 ) T0000T.10T 피제수

T11T1 T000 < T010, 1로 설정

_______

1T1T0

1TT1T 1T1T0 > 10T0, T로 설정

_______

111T

1TT1T 111T > 10T0, T로 설정

_______

T00.1

T11T.1 T001 < T010, 1로 설정

________

1T1.00

1TT.1T 1T100 > 10T0, T로 설정

________

1T.T1T

1T.T1T 1TT1T > 10T0, T로 설정

________

0

```

  • 예시 2:


```

1TTT

0.5 × 제수 1T _______

제수 11 )1T01T 1T = 1T, 그러나 1T.01 > 1T, 1로 설정

11

_____

T10 T10 < T1, T로 설정

TT

______

T11 T11 < T1, T로 설정

TT

______

TT TT < T1, T로 설정

TT

____

0

```

  • 예시 3:


```

101.TTTTTTTTT...

또는 100.111111111...

0.5 × 제수 1T _________________

제수 11 )111T 11 > 1T, 1로 설정

11

_____

1 T1 < 1 < 1T, 0으로 설정

___

1T 1T = 1T, 삼진법 종료, 1.TTTTTTTTT...|1.TTTTTTTTT...영어 또는 0.111111111...|0.111111111...영어으로 설정

5. 제곱근 및 세제곱근

균형 3진법에서 제곱근을 구하는 과정은 10진법이나 2진법과 유사하다.

:(10\cdot x+y)^{\mathrm{1T}}-100\cdot x^{\mathrm{1T}}=\mathrm{1T0}\cdot x\cdot y+y^{\mathrm{1T}}=

\begin{cases}

\mathrm{T10}\cdot x+1, & y=\mathrm{T} \\

0, & y=0 \\

\mathrm{1T0}\cdot x+1, & y=1

\end{cases}



나눗셈과 마찬가지로, 먼저 제수의 절반 값을 확인해야 한다. 예를 들어, 다음과 같다.

과정설명
1. 1 T 1 T T 0 0 ...|
_________________________|
√ 1T1<1T<11 이므로, 1을 설정한다.
− 1|
_____|
1×10=10 1.0T1.0T>0.10 이므로, 1을 설정한다.
1T0 −1.T0|
________|
11×10=110 1T0T1T0T>110 이므로, 1을 설정한다.
10T0 −10T0|
________|
111×10=1110 T1T0TT1T0T
100T0 −T0010|
_________|
111T×10=111T0 1TTT0T1TTT0T>111T0 이므로, 1을 설정한다.
10T110 −10T110|
__________|
111T1×10=111T10 TT1TT0TTT1TT0T
100TTT0 −T001110|
___________|
111T1T×10=111T1T0 T001TT0TT001TT0T
10T11110 −T01TTTT0|
____________|
111T1TT×10=111T1TT0 T001T0TTTT1T110
− T1을 반환한다.
___________|
111T1TT0×10=111T1TT00 T001T000TTTT1T1100
− T1을 반환한다.
_____________|
111T1TT00*10=111T1TT000 T001T00000T|
...|



균형 3진법에서 세제곱근을 구하는 것도 10진법이나 2진법에서 구하는 것과 유사하다.

:(10\cdot x+y)^{10}-1000\cdot x^{10}=y^{10}+1000\cdot x^{\mathrm{1T}}\cdot y+ 100\cdot x\cdot y^{\mathrm{1T}}=

\begin{cases}

\mathrm{T}+\mathrm{T000}\cdot x^{\mathrm{1T}}+100\cdot x, & y=\mathrm{T}\\

0, & y=0\\

1+1000\cdot x^{\mathrm{1T}}+100\cdot x, & y=1

\end{cases}



나눗셈과 마찬가지로, 제수의 절반 값을 먼저 확인해야 한다. 예를 들어, 다음과 같다.

과정설명
1. 1 T 1 0 ...|
_____________________|
³√ 1T|
− 11<1T<10T 이므로, 1을 설정한다.
_______|
1.000|
1×100=100 −0.100100× 빌림, 나눗셈을 수행한다.
_______|
1TT 1.T001T00>1TT 이므로, 1을 설정한다.
1×1×1000+1=1001 −1.001|
__________|
T0T000|
11×100 − 1100100× 빌림, 나눗셈을 수행한다.
_________|
10T000 TT1T00TT1T00
11×11×1000+1=1TT1001 −T11T00T|
____________|
1TTT01000|
11T×100 − 11T00100× 빌림, 나눗셈을 수행한다.
___________|
1T1T01TT 1TTTT01001TTTT0100>1T1T01TT 이므로, 1을 설정한다.
11T×11T×1000+1=11111001 − 11111001|
______________|
1T10T000|
11T1×100 − 11T100100× 빌림, 나눗셈을 수행한다.
__________|
10T0T01TT 1T0T0T00T01010T11<1T0T0T00<10T0T01TT 이므로, 0을 설정한다.
11T1×11T1×1000+1=1TT1T11001 − TT1T00100× 반환한다.
_____________|
1T10T000000|
...|



따라서 = 1.259921dec = 1.1T1 000 111 001 T01 00T 1T1 T10 111bal3 이다.

6. 무리수

다른 정수 기수와 마찬가지로, 대수적 무리수와 초월수는 균형 3진법에서 종료되거나 반복되지 않는다. 예를 들어 다음과 같다.

십진법균형 3진법
√2|루트 2영어 = 1.4142135623731…√1T|루트 1T영어 = 1.11T1TT00T00T01T0T00T00T01TT…
√3|루트 3영어 = 1.7320508075689…√10|루트 10영어 = 1T.T1TT10T0000TT1100T0TTT011T0…
√5|루트 5영어 = 2.2360679774998…√1TT|루트 1TT영어 = 1T.1T0101010TTT1TT11010TTT01T1…
φ|피영어 = (1 + √5|루트 5영어) / 2 = 1.6180339887499…φ|피영어 = (1 + √1TT|루트 1TT영어) / 1T = 1T.T0TT01TT0T10TT11T0011T10011…
τ|타우영어 = 6.28318530717959…τ|타우영어 = 1T0.10TT0T1100T110TT0T1TT000001…
π|파이영어 = 3.14159265358979…π|파이영어 = 10.011T111T000T011T1101T111111…
e|이영어 = 2.71828182845905…e|이영어 = 10.T0111TT0T0T111T0111T000T11T…


7. 응용

균형 3진법은 계산 외에도 다른 응용 분야가 있다. 예를 들어, 각 3의 거듭제곱에 해당하는 추를 가진 고전적인 양팔 저울을 사용하면, 두 개의 저울판과 테이블 사이에서 추를 옮겨 소수의 추로도 상대적으로 무거운 물체를 정확하게 측정할 수 있다.[10] 예를 들어, 81까지 각 3의 거듭제곱에 해당하는 추(1, 3, 9, 27, 81)를 사용하면 60그램의 물체(60dec = 1T1T0bal3)는 다음과 같이 잴 수 있다. 81그램 추는 다른 저울판에, 27그램 추는 자체 저울판에, 9그램 추는 다른 저울판에, 3그램 추는 자체 저울판에 놓고, 1그램 추는 치워두면 완벽하게 균형을 이룬다.

비슷한 방식으로, 1¤, 3¤, 9¤, 27¤, 81¤의 동전 가치를 가진 통화 시스템을 생각해 볼 수 있다. 구매자와 판매자가 각 종류의 동전을 하나씩만 가지고 있다면, 121¤까지의 모든 거래가 가능하다. 예를 들어, 가격이 7¤ (7dec = 1T1bal3)인 경우, 구매자는 1¤와 9¤을 지불하고 3¤의 거스름돈을 받으면 된다.

레온하르트 오일러는 균형 3진법에서 모든 정수가 고유한 표현을 갖는다는 정리를 형식적 멱급수의 항등식을 정당화하는 데 사용했다.[10]

7. 1. 컴퓨터 설계

니콜라이 브루젠초프와 세르게이 소볼레프가 제작한 세툰을 비롯한 초창기 소련의 몇몇 실험적인 컴퓨터는 이진법 대신 균형 3진법을 사용했다. 균형 3진법은 기존의 이진법 및 3진법에 비해 여러 가지 계산상의 이점을 갖는다. 특히, 플러스-마이너스 일관성은 다자릿수 곱셈에서 올림 발생률을 줄여주며, 반올림-절삭 동등성은 분수의 반올림에서 올림 발생률을 줄여준다. 균형 3진법에서 한 자리 곱셈표는 여전히 한 자리이며 올림이 없고, 덧셈표는 9개의 항목 중 2개만 올림이 발생하는 반면, 불균형 3진법은 각각 1개와 3개의 올림이 발생한다.[6]

연산 표


크누스는 "어쩌면 이 수 체계의 대칭적 속성과 간단한 산술이 언젠가 매우 중요해질 것이다."라고 썼다. 또한 균형 3진 산술 연산을 위한 산술 회로의 복잡성은 이진법 시스템보다 크게 크지 않으며, 주어진 숫자는 표현하는 데 log영어3 2 ≈ 63% 만큼 적은 자릿수만 필요하다고 언급했다.[6]

최근에는 일부 고효율 저해상도 인공 신경망 구현을 위해 균형 3진수가 제안되었다. 딥 러닝에서 신경망은 일반적으로 연속적인(부동 소수점) 값을 사용하지만, 훨씬 낮은 전력 및/또는 낮은 메모리 요구 사항으로 실행할 수 있는 신경망을 만들기 위해 양자화 및 이진화에 대한 많은 연구가 진행되고 있다. 균형 3진수는 네트워크 매개변수에 사용되도록 제안되었는데, 이는 매우 작지만 여기/억제/무효 활성 패턴을 자연스럽게 표현할 수 있기 때문이다.[8][9]

균형 3진법은 또한 이를 사용하는 큐트릿 및 양자 컴퓨팅 시스템에 더 자연스러운 표현을 제공할 수 있다.

7. 2. 기타 응용

균형 3진법은 계산 외에도 다른 응용 분야가 있다. 예를 들어, 각 3의 거듭제곱에 해당하는 추를 가진 고전적인 양팔 저울은 두 개의 저울판과 테이블 사이에서 추를 옮김으로써 소수의 추로 상대적으로 무거운 물체를 정확하게 측정할 수 있다.[10] 예를 들어, 81까지의 각 3의 거듭제곱에 해당하는 추를 사용하면 60그램의 물체(60dec = 1T1T0bal3)는 다른 저울판에 81그램의 추, 자체 저울판에 27그램의 추, 다른 저울판에 9그램의 추, 자체 저울판에 3그램의 추, 그리고 치워둔 1그램의 추로 완벽하게 균형을 이룰 것이다.

비슷하게, 1¤, 3¤, 9¤, 27¤, 81¤의 동전 가치를 가진 통화 시스템을 생각해 보자. 구매자와 판매자가 각각 각 종류의 동전을 하나씩만 가지고 있다면 121¤까지의 모든 거래가 가능하다. 예를 들어, 가격이 7¤ (7dec = 1T1bal3)인 경우 구매자는 1¤ + 9¤을 지불하고 3¤의 거스름돈을 받는다.

균형 삼진법에서 모든 정수는 고유한 표현을 갖는다는 정리는 레온하르트 오일러형식적 멱급수의 항등식을 정당화하는 데 사용되었다.[10]

참조

[1] 서적 Programming
[2] 간행물 Arithmetica integra https://archive.org/[...] apud Iohan Petreium
[3] 간행물 Third base http://bit-player.or[...] Farrar, Straus and Giroux
[4] 문서
[5] 웹사이트 Balanced ternary http://www.abhijit.i[...] 2006-07-24
[6] 서적 The art of Computer Programming Addison-Wesley
[7] 웹사이트 Ternary Number Systems http://www.cs.uiowa.[...] Douglas W. Jones 2013-10-15
[8] 논문 Ternary Weight Networks https://arxiv.org/ab[...] 2022
[9] 논문 The era of 1-bit LLMs: All large language models are in 1.58 bits https://arxiv.org/ab[...] 2024
[10] 논문 Euler's "De Partitio numerorum"



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com