Teoria informacji/TI Wykład 14: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „ </math>” na „</math>” |
m Zastępowanie tekstu – „ </math>” na „</math>” |
||
Linia 36: | Linia 36: | ||
(2) Istnieje maszyna Turinga <math> T</math> z dodatkową taśmą nieskończoną, na której wypisane są kolejne | (2) Istnieje maszyna Turinga <math> T</math> z dodatkową taśmą nieskończoną, na której wypisane są kolejne | ||
cyfry binarnego rozwinięcia <math>\Omega</math>, która dla danego kodu <math> \langle M \rangle</math> | cyfry binarnego rozwinięcia <math>\Omega</math>, która dla danego kodu <math> \langle M \rangle</math> | ||
maszyny <math> M </math> odpowiada na pytanie, czy <math>M(\varepsilon ) \downarrow</math>. | maszyny <math> M</math> odpowiada na pytanie, czy <math>M(\varepsilon ) \downarrow</math>. | ||
(3) Istnieje stała <math> c</math> taka, że | (3) Istnieje stała <math> c</math> taka, że | ||
Linia 120: | Linia 120: | ||
'''NIE'''. | '''NIE'''. | ||
Zauważmy, że w tej chwili możemy już wykluczyć możliwość, że <math> \Omega </math> jest | Zauważmy, że w tej chwili możemy już wykluczyć możliwość, że <math> \Omega</math> jest | ||
liczbą dwójkowo wymierną. Istotnie, Czytelnik pamięta zapewne doskonale, że problem stopu | liczbą dwójkowo wymierną. Istotnie, Czytelnik pamięta zapewne doskonale, że problem stopu | ||
jest nierozstrzygalny, tzn. nie istnieje maszyna ''bez dodatkowej taśmy'', realizująca postulat | jest nierozstrzygalny, tzn. nie istnieje maszyna ''bez dodatkowej taśmy'', realizująca postulat | ||
z warunku (2). Gdyby jednak <math> \Omega </math> była dwójkowo wymierna, to opisaną wyżej | z warunku (2). Gdyby jednak <math> \Omega</math> była dwójkowo wymierna, to opisaną wyżej | ||
konstrukcję maszyny <math> T</math> można przeprowadzić bez reprezentowania liczby <math> \Omega </math>; | konstrukcję maszyny <math> T</math> można przeprowadzić bez reprezentowania liczby <math> \Omega</math>; | ||
zamiast pobierać bity liczby <math> \Omega </math> z dodatkowej nieskończonej taśmy, maszyna | zamiast pobierać bity liczby <math> \Omega</math> z dodatkowej nieskończonej taśmy, maszyna | ||
<math> T</math> mogłaby je sobie łatwo obliczyć. Podobny argument pokazuje znacznie więcej: | <math> T</math> mogłaby je sobie łatwo obliczyć. Podobny argument pokazuje znacznie więcej: | ||
<math> \Omega </math> nie jest liczba wymierną ani algebraiczną, ani w ogole "obliczalną" | <math> \Omega</math> nie jest liczba wymierną ani algebraiczną, ani w ogole "obliczalną" | ||
(zobacz Ćwiczenie). | (zobacz Ćwiczenie). | ||
Linia 165: | Linia 165: | ||
Zgodnie z [[Teoria informacji/TI Wykład 13#fakt_Kolmogorowa|Faktem]] z poprzedniego wykładu, | Zgodnie z [[Teoria informacji/TI Wykład 13#fakt_Kolmogorowa|Faktem]] z poprzedniego wykładu, | ||
istnieje stała | istnieje stała | ||
<math> c_{UR} </math>, że | <math> c_{UR}</math>, że | ||
<center><math> | <center><math> | ||
K_U (v) \leq K_R (v) + c_{UR} . | K_U (v) \leq K_R (v) + c_{UR} . | ||
Linia 179: | Linia 179: | ||
n \leq K_U (\Omega_n ) + c_{UR} | n \leq K_U (\Omega_n ) + c_{UR} | ||
</math></center> | </math></center> | ||
dla każdego <math> n</math>, tak więc <math> c = c_{UR} </math> może być żądaną stałą. | dla każdego <math> n</math>, tak więc <math> c = c_{UR}</math> może być żądaną stałą. | ||
}} | }} | ||
Wersja z 11:02, 5 wrz 2023
Stała Chaitina
Tak jak w poprzednim wykładzie, ustalamy jakieś bezprefiksowe kodowanie maszyn Turinga oraz bezprefiksową maszynę uniwersalną .
Definicja [Stała Chaitina]
Stałą Chaitina można interpretować jako prawdopodobieństwo, że losowo wybrane dane dla maszyny
spowodują jej zatrzymanie; innymi słowy, że losowo wybrany program (z danymi) się zatrzymuje.
Dokładniej, rozważmy zbiór nieskończonych ciągów zero-jedynkowych, . Dla , określamy
w szczególności . Funkcję można rozszerzyć na Borelowskie podzbiory tak, by stanowiła prawdopodobieństwo. Prawdopodobieśtwo to możemy też określić patrząc na ciąg jak na wynik nieskończonego procesu Bernoulliego , gdzie .
W szczególności stanowi prawdopodobieństwo zdarzenia, że ciąg zawiera prefiks , dla którego (z bezprefiksowości wynika, że jest co najwyżej jeden taki prefiks). Oczywiście konkretna wartość zależy od wyboru kodowania i maszyny uniwersalnej, ale jej istotne własności od tego nie zależą.
Twierdzenie [Własności ]
(1) .
(2) Istnieje maszyna Turinga z dodatkową taśmą nieskończoną, na której wypisane są kolejne cyfry binarnego rozwinięcia , która dla danego kodu maszyny odpowiada na pytanie, czy .
(3) Istnieje stała taka, że
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. Ponieważ zbiór
jest bezprefiksowy, każdy skończony podzbiór , tworzy kod bezprefiksowy, a zatem z nierówności Krafta spełnia nierówność , co po przejściu do supremum daje żądaną nierówność.
Ad 2. Zanim opiszemy konstrukcję maszyny , 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)
(b)
Jakkolwiek w przyszłości wykluczymy taką możliwość, w tej chwili musimy jeszcze wziąć ją pod uwagę. Otóż bez zmniejszenia ogólności możemy założyć, że dana jest w postaci (a). Istotnie, gdybyśmy mieli maszynę dla tego przypadku, to łatwo moglibyśmy ją zmodyfikować do maszyny , która radziłaby sobie z przypadkiem (b). Maszyna działałaby tak samo jak maszyna , z tym że począwszy od -szej cyfry , "widziałaby na odwrót", tzn. 0 traktowałaby jak 1 a 1 jak 0.
Jeśli wybierzemy wariant (a), lub jeśli nie jest dwójkowo wymierna, to dla każdego istnieje skończony podzbiór , taki że liczba wyznaczona przez pierwszych cyfr spełnia
(pamiętamy, że ).
Opiszemy teraz działanie maszyny . Jak zwykle w takich przypadkach, opiszemy algorytm, pozostawiając Czytelnikowi jego formalizację w języku maszyn Turinga. Jeśli na wejściu jest słowo , , maszyna symuluje działanie na , a równolegle przegląda kolejne słowa z , , powiedzmy w porządku wojskowym: i symuluje działanie na ruchem zygzakowym, podobnie jak w algorytmie z dowodu Faktu.
W trakcie swojego obliczenia, maszyna utrzymuje zmienną, powiedzmy
, której aktualną wartością jest (skończony) zbiór tych słów
dla których już udało się stwierdzić, że .
Zgodnie z powyższą oberwacją, w skończonym czasie jeden z dwóch przypadków ma miejsce.
(i) stwierdza, że ; wtedy daje odpowiedź TAK.
(ii) stwierdza, że
ale ; wtedy daje odpowiedź NIE.
Zauważmy, że w tej chwili możemy już wykluczyć możliwość, że jest liczbą dwójkowo wymierną. Istotnie, Czytelnik pamięta zapewne doskonale, że problem stopu jest nierozstrzygalny, tzn. nie istnieje maszyna bez dodatkowej taśmy, realizująca postulat z warunku (2). Gdyby jednak była dwójkowo wymierna, to opisaną wyżej konstrukcję maszyny można przeprowadzić bez reprezentowania liczby ; zamiast pobierać bity liczby z dodatkowej nieskończonej taśmy, maszyna mogłaby je sobie łatwo obliczyć. Podobny argument pokazuje znacznie więcej: nie jest liczba wymierną ani algebraiczną, ani w ogole "obliczalną" (zobacz Ćwiczenie).
Ad 3. Opiszemy działanie pewnej maszyny . Na słowie wejściowym ,
najpierw symuluje działanie maszyny uniwersalnej na
słowie . Dalszy opis prowadzimy przy założeniu, że obliczenie się zakończyło
z wynikiem i co więcej
stanowi pierwsze cyfr rozwinięcia binarnego , dla pewnego . Niech
Oczywiście, dla wielu nie będzie to prawdą; wtedy maszyna zgodnie z naszym opisem będzie wykonywać jakieś działania, których wynik nas nie interesuje. Ważne jest jednak, że dla pewnego istotnie zajdzie (z własności maszyny uniwersalnej).
Z kolei, podobnie jak maszyna w dowodzie punktu (2), maszyna ruchem zygzakowym przegląda kolejne słowa i symuluje działanie na na , gromadząc w zmiennej te słowa , dla których obliczenie już się zakończyło. Dodatkowo, dla każdego , zapamiętuje . Pamiętamy, że wykluczyliśmy już możliwość podwójnej reprezentacji . Dlatego też, po pewnym skończonym czasie stwierdzi, że
Niech będzie pierwszym w porządku wojskowym słowem takim, że , dla każdego . Zauważmy, że (z definicji ). Wtedy wreszcie nasza maszyna zatrzymuje się z wynikiem .
Zgodnie z Faktem z poprzedniego wykładu, istnieje stała , że
Ale (skoro wygenerowała z wejścia ). To daje nam
i nierówność ta zachodzi dla każdego , takiego że . A zatem
dla każdego , tak więc może być żądaną stałą.

Związek z entropią Shannona
Jeśli stałą Chaitina interpretujemy jako prawdopodobieństwo, że bezprefiksowa maszyna uniwersalna się zatrzymuje, to dla ,
stanowi prawdopodobieństwo zdarzenia, że maszyna zatrzymuje się z wynikiem .
Zauważmy, że nie stanowi miary prawdopodobieństwa na , w szczególności
a nie 1.
Ale już
wyznacza prawdopodobieństwo na .
Jak pamiętamy z wykładu 3, dla skończonej przestrzeni probabilistycznej
, optymalne kodowanie było osiągnięte wtedy, gdy
Dokładniej, równość była osiągnięta dla prawdopodobieństw będących potęgami , a w ogólności mamy zbieżność asymptotyczną.
Otóż podobny związek możemy wskazać dla bezprefiksowej złożoności Kołmogorowa, która w pewnym sensie wyznacza optymalne kodowanie słów w , przy określonym wyżej prawdopodobieństwie .
Mówiąc nieformalnie, mamy
Dokładniej, pokażemy następujący
Fakt [Entropia Kołmogorowa]
Dowód
Mamy , dla pewnego , takiego, że , a zatem
skąd
Pozostaje dowieść, że
dla pewnej stałej . Wobec Faktu o niezmienniczości, wystarczy tym celu skonstruować maszynę taką, że oraz
gdzie i nie zależą od .
Ustawmy wszystkie słowa w porządku wojskowym:
Z kolei rozważmy ciąg przedziałów domkniętych na prostej , gdzie początkiem jest 0; koniec jest początkiem i długością przedziału jest .
Zauważmy, że suma wszystkich przedziałów zawiera się w odcinku .
Przedziałem binarnym jest z definicji przedział postaci
gdzie ; .
Dla przedziału , znajdźmy największy przedział binarny w nim zawarty, a gdyby było więcej przedziałów o tej samej długości, to ten, którego początek jest położony najbardziej na lewo. Niech będzie początkiem tego największego przedziału binarnego. Połóżmy
(a zatem ).
Oszacujemy teraz długość przedziału (równą ) w zależności od .
Kluczowe jest spostrzeżenie, ile kroków długości możemy zrobić z punktu w lewo lub w prawo, pozostając cały czas w przedziale . Analiza przypadków pokazuje, że możemy zrobić co najwyżej 2 kroki w lewo i 5 kroków w prawo. W każdym razie długość przedziału spełnia nierówność
skąd otrzymujemy
a zatem
Pozostaje pokazać, że znając , potrafimy algorytmicznie odtworzyć , a zatem żądana maszyna , taka że , istnieje. Konstrukcja jest żmudna, ale rutynowa. Używając ruchu zygzakowego, znajdujemy coraz lepsze przybliżenia końców przedziałów tak długo, aż zdobywamy pewność, że liczba reprezentowana przez znajduje się w przedziale , jest to właśnie poszukiwane . Zauważmy, że dla każdego , od pewnego momentu krańce przedziałów mogą się przesuwać co najwyżej o , a zatem oczekiwana chwila nastąpi.
