{{위키데이터 속성 추적}}
[[알고리즘 정보 이론]]에서 '''차이틴 상수'''(Chaitin's constant) 또는 '''차이틴 오메가 수'''(Chaitin omega number)<ref>mathworld.wolfram.com,  [http://mathworld.wolfram.com/ChaitinsConstant.html Chaitin's Constant]. 2012년 5월 28일에 확인.</ref> 또는 '''정지 확률'''은 무작위로 만들어진 프로그램이 정지할 확률을 나타내는 [[실수]]이다. [[그레고리 차이틴]]이 정의하였다.

무작위로 만든 프로그램이 정지할 확률은 프로그램을 0과 1로 부호화하는 방식에 따라 달라진다. 따라서 무한히 많은 종류의 ‘정지 확률’이 존재하지만, 마치 단 하나만 존재하는 것처럼 취급하고 그리스 글자 [[오메가]](Ω)로 나타내는 경우가 많다. 특정한 부호화 방식을 염두에 둔 것이 아닐 때에는 상수라는 이름 대신 '''차이틴 구성'''(Chaitin's construction)이라는 이름을 사용하기도 한다.

각각의 정지 확률은 [[초월수]]이고 [[정규수 (수론)|정규수]]이며, [[계산 가능한 수|계산 불가능한 수]]이다. 계산 불가능하다는 것은 그 값을 임의의 정확도로 계산하는 [[알고리즘]]이 존재할 수 없다는 뜻이다. 나아가 각각의 정지 확률은 [[마르틴-뢰프 무작위성|마르틴-뢰프 무작위적]]이다.

== 배경 ==
정지 확률을 정의하려면 '''접두어 없는 보편 계산 가능 함수'''(prefix-free universal computable function)가 주어져야 한다. 쉽게 말하면 이것은 [[튜링 완전]]한 프로그래밍 언어이면서, 올바른 프로그램 뒤에 내용을 덧붙여 또다른 올바른 프로그램을 만들 수 없는 성질을 지닌 언어라고 할 수 있다. 즉, 올바른 프로그램 코드의 접두어 중에는 올바른 프로그램이 없다는 것이다.

앞으로 ‘문자열’은 0과 1로 이루어진 유한한 [[이진법|이진]] [[문자열]]을 나타낸다. 문자열 하나를 받아서 문자열 하나를 돌려주거나 아무것도 돌려주지 않는 [[부분 정의 함수]] ''F''가 있다고 하자. 만약 ''F''를 계산하는 [[튜링 기계]]가 존재한다면, ''F''를 [[계산 가능 함수]]라고 한다.

함수 ''F''가 다음 성질을 만족하면 ''F''가 [[튜링 완전|보편적]](universal)이라고 한다.
: 임의의 일변수 계산 가능 함수 ''f''에 대해 문자열 ''w''가 존재하여, 모든 ''x''에 대해 ''F''(''w x'') = ''f''(''x'')이다.
단, ''w x''는 ''w''와 ''x''를 이어붙인 문자열을 나타낸다. 달리 말하면 ''F''는 임의의 일변수 계산 가능 함수를 흉내낼 수 있다는 것이다. 말하자면 ''w''는 계산 가능 함수 ''f''의 ‘코드’이고, ''F''는 ‘[[인터프리터]]’로서 자신이 받은 입력의 앞부분을 코드로 해석하여 뒷부분에 실행한다고 할 수 있다.

부분 정의 함수 ''F''의 [[정의역]]은 ''F''(''p'')의 값이 정의되는 모든 ''p''의 집합을 가리킨다. 즉 ''F''를 계산하는 튜링 기계가 언젠가 정지해서 출력값을 돌려주게 만드는 입력값들의 집합이다. 이러한 ''p''는 프로그램 부분과 데이터 부분을 모두 포함한다고 생각할 수도 있고, 단일한 프로그램이라고 생각할 수도 있다.

함수 ''F''가 다음 성질을 만족하면 ''F''가 접두어 없는(prefix-free) 함수라 한다.
: ''p''와 ''q''가 ''F''의 [[정의역]]에 속하면, ''p''는 ''q''의 접두어가 아니다.
달리 말하면 ''F''의 정의역이 [[앞자리 부호]]라는 것이다.

보편 계산 가능 함수의 정의역은 [[재귀 열거 집합|계산 열거 가능 집합]]이지만, [[계산 가능 집합]]은 아니다. 보편 계산 가능 함수의 정의역을 결정하는 문제는 [[정지 문제]]와 동치이기 때문이다.

== 정의 ==
함수 ''F''가 접두어 없는 보편 계산 가능 함수라 하고, 그 정의역을 ''P<sub>F</sub>''로 나타내자. 그러면 다음 값을 차이틴 상수 Ω<sub>''F''</sub>라 한다.
:<math>\Omega_F = \sum_{p \in P_F} 2^{-|p|}</math>
이때 <math>\left|p\right|</math>는 문자열 ''p''의 길이를 나타낸다. 접두어가 없다는 조건과 [[크래프트-맥밀런 부등식]] 때문에 이 무한합은 0과 1 사이의 실수로 수렴함이 보장된다. Ω<sub>''F''</sub>의 값은 ''F''에 따라 달라지지만, ''F''가 무엇인지 분명한 경우에는 그냥 Ω라고 쓸 수 있다.

Calude et al. (2002)에서는 특정한 접두어 없는 [[보편 튜링 기계]] ''U''에 대해 Ω<sub>''U''</sub>을 [[이진법]]으로 나타냈을 때 첫 64 [[비트 (단위)|비트]]의 값을 계산했다.
:<math>
\begin{align}
\Omega_U &= 0.0000001000000100000110\cdots_{(2)} \\
         &= 0.00787499699\cdots_{(10)}
\end{align}
</math>
([[OEIS]]의 수열 {{OEIS 링크|A079365}}, {{OEIS 링크|A100264}}.)

== 정지 문제와의 관계 ==
Ω의 첫 ''N'' 비트를 알면 길이 ''N'' 이하의 모든 프로그램에 대해 [[정지 문제]]를 해결할 수 있다. 프로그램 ''p''가 정지하는지 알고 싶다고 하자. ''p''의 길이를 ''N''이라고 할 때, 길이 ''N'' 이하의 모든 프로그램을 동시에 실행시킨다. Ω의 근삿값을 처음에 0이라 두고 길이 ''n''의 프로그램 하나가 정지할 때마다 2<sup>''n''</sup>을 더하자. 충분히 오랜 시간이 지나면 근삿값이 Ω의 첫 ''N'' 비트와 일치하게 될 것인데, 이 시점에서 ''p''가 정지하지 않았다면 영원히 정지하지 않음을 알 수 있다. ''p''가 정지한다면 근삿값의 ''N''번째 비트가 달라질 것이기 때문이다. 따라서 ''p''가 정지하는지 유한 시간 내에 결정할 수 있다.

== 성질 ==
각각의 차이틴 상수 Ω는 다음과 같은 성질을 지닌다.
* Ω의 자릿수는 [[알고리즘적 무작위성]]을 지닌다. (마르틴-뢰프 무작위성이나 1-무작위성이라고도 한다.){{sfn|Downey & Hirschfeld|loc=Theorem 6.1.3}} 즉, Ω의 첫 ''n'' 비트를 출력하는 프로그램의 길이는 적어도 ''n'' - O(1)은 되어야 한다.
* 따라서 Ω는 [[정규수 (수론)|정규수]]이다. 즉, Ω의 자릿수는 동전을 던져 만든 수열처럼 균등한 분포를 보인다.
* Ω는 [[계산 가능한 수]]가 아니다. 즉, Ω의 자릿수를 출력하는 [[계산 가능 함수]]는 없다.
* Ω보다 작은 [[유리수]]의 집합은 [[재귀 열거 집합|계산 열거 가능 집합]]이다.{{sfn|Downey & Hirschfeld|loc=Theorem 5.1.11}} 이런 성질을 가진 실수를 '''왼쪽 열거 가능 수'''(left c.e.-number)라 한다.
* Ω보다 큰 [[유리수]]의 집합은 [[재귀 열거 집합|계산 열거 가능 집합]]이 아니다. 왼쪽 열거 가능하면서 오른쪽 열거 가능한 실수는 계산 가능하지만, Ω는 계산 불가능하기 때문이다.
* Ω는 [[산술적 수]](arithmetical number)이다. 즉, 1차 [[페아노 공리계]]에서 정의할 수 있다.
* Ω는 정지 문제와 [[튜링 동치]]이며 따라서 [[산술적 위계]]에서 <math>\Delta^0_2</math>에 속한다.

정지 문제와 튜링 동치인 수라고 해서 다 정지 확률인 것은 아니다. 보다 강한 [[동치관계]]인 '''솔로바이 동치'''(Solovay equivalence) 개념을 사용하면 왼쪽 열거 가능 수들 중에서 정지 확률을 골라낼 수 있다. 0과 1 사이의 실수가 (어떤 접두어 없는 보편 계산 가능 함수의) 정지 확률이라는 것은 왼쪽 열거 가능하고 알고리즘적으로 무작위적이라는 것과 동치이다.{{sfn|Downey & Hirschfeld|p=405}} Ω는 알고리즘적으로 무작위적인 수 중에 얼마 안 되는 [[정의 가능한 수]]이고 또 가장 유명한 수이지만, 알고리즘적으로 무작위적인 수의 전형적인 사례는 아니라고 할 수 있다.{{sfn|Downey & Hirschfeld|pp=228-229}}

[[차이틴의 불완전성 정리]]에 따르면, [[페아노 공리계]]에서는 Ω의 자릿수 가운데 기껏해야 유한 개만을 증명할 수 있다. 즉 자연수 ''N''이 존재하여, ''N''보다 큰 자연수 ''n''에 대해서는 Ω의 ''n''번째 자릿수가 0이라고 또는 1이라고 증명할 수 없다.

== 같이 보기 ==
* [[정지 문제]]
* [[괴델의 불완전성 정리]]
* [[무작위성]]
* [[확률론]]
* [[수학 상수]]

== 각주 ==
{{각주}}

== 참고 문헌 ==
* Cristian S. Calude (2002). ''Information and Randomness: An Algorithmic Perspective'', second edition. Springer.  {{ISBN|3-540-43466-6}}
* Cristian S. Calude, Michael J. Dinneen, and Chi-Kou Shu. ''[http://www.cs.auckland.ac.nz/~cristian/Calude361_370.pdf Computing a Glimpse of Randomness].''
* R. Downey, and D. Hirschfeldt (2010), ''Algorithmic Randomness and Complexity'', Springer-Verlag.
* Ming Li and Paul Vitányi (1997).  ''An Introduction to Kolmogorov Complexity and Its Applications''. Springer. [http://citeseer.ist.psu.edu/li97introduction.html Introduction chapter full-text] {{웨이백|url=http://citeseer.ist.psu.edu/li97introduction.html |date=20080517044147 }}.
* Jürgen Schmidhuber (2000). Algorithmic Theories of Everything (arXiv: quant-ph/ 0011122). Journal reference:  J. Schmidhuber (2002). Hierarchies of generalized Kolmogorov complexities and nonenumerable universal measures computable in the limit. International Journal of Foundations of Computer Science 13(4):587-612.

{{무리수}}

[[분류:계산 이론]]
[[분류:수학 상수]]
[[분류:초월수]]