Teoria informacji/TI Wykład 14

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Stała Chaitina

Tak jak w poprzednim wykładzie, ustalamy jakieś bezprefiksowe kodowanie maszyn Turinga (przypominamy, że przykład takiego kodowania można znaleźć w 1 wykładzie z Teorii złożoności) oraz maszynę uniwersalną U. Będziemy pisać M(v) na oznaczenie własności maszyna M zatrzymuje się startując ze słowa wejściowego v.

Definicja [Stała Chaitina]

Stałą Chaitina określamy jako sumę szeregu
Ω=U(v)2|v|=M(ε)2|M|


Stała Chaitina jest czasem przedstawiana jako prawdopodobieństwo, że losowo wybrany program się zatrzymuje (ma to miejsce przy pewnym wyborze kodowania i miary prawdopodobieństwa). Oczywiście konkretna wartość Ω zależy od wyboru kodowania i maszyny uniwersalnej, ale jej istotne własności od tego nie zależą.

Twierdzenie

Stała Chaitina ma następujące własności.

(1) Ω<1.

(2) Istnieje maszyna Turinga T z dodatkową taśmą nieskończoną, na której wypisane są kolejne cyfry binarnego rozwinięcia Ω, która dla danego kodu M maszyny M odpowiada na pytanie, czy M(ε).

(3) Istnieje stała c taka, że

KU(ω1ωn)nc,
gdzie ω1ωn oznacza pierwszych n bitów liczby Ω.


Punkt (2) oznacza, że ,,znając" stałą Chaitina potrafilibyśmy rozstrzygać problem stopu, natomiast (3) mówi nam, że z dokładnością do stałej, Ω jest niekompresowalna.

Dowód

Ad 1. Wykażemy, że (*)

M2|M|1

(tu sumowanie rozciąga się na wszystkie maszyny Turinga, a nie tylko te, dla których M(ε)). Istotnie, przy bezprefikowsym kodowaniu, dla każdego skończonego zbioru maszyn , odpowiedni zbiór kodów tworzy kod bezprefiksowy, a zatem z nierówności Krafta spełnia nierówność M2|M|1, co po przejściu do supremum daje nierówność (*). Ponieważ niewątpliwie istnieje maszyna, która nie zatrzymuje się na pustej taśmie, Ω jest ostro mniejsza od lewej strony (*).

Ad 2. Zanim opiszemy konstrukcję maszyny T, zróbmy pewne obserwacje na temat liczby Ω. Znanym problemem w dowodach własności liczb rzeczywistych jest, że a priori liczba może mieć dwie różne reprezentacje (w szczególności binarne). Działoby się tak, gdyby liczba Ω była dwójkowo wymierna, tzn.

(a) Ω=0.ω1ω2ωk0111

(b) Ω=0.ω1ω2ωk1000

Jakkolwiek w przyszłości wykluczymy taką możliwość (będzie to łatwa konsekwencja własności (3)), w tej chwili musimy jeszcze wziąć ją pod uwagę.


Ad 3.