Teoria informacji/TI Ćwiczenia 14: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
m Zastępowanie tekstu – „ </math>” na „</math>”
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika)
Linia 8: Linia 8:


Liczbę <math>r</math> nazwiemy ''rekurencyjnie aproksymowalną'', jeśli jest granicą obliczalnego
Liczbę <math>r</math> nazwiemy ''rekurencyjnie aproksymowalną'', jeśli jest granicą obliczalnego
ciągu liczb wymiernych, tzn. istnieje funkcja obliczalna <math> f : N \to N \times N</math>, taka że
ciągu liczb wymiernych, tzn. istnieje funkcja obliczalna <math>f : N \to N \times N</math>, taka że
<center><math>
<center><math>
r = \lim_{n \to \infty } \frac{f(n) \downarrow_1}{f(n) \downarrow_2}
r = \lim_{n \to \infty } \frac{f(n) \downarrow_1}{f(n) \downarrow_2}
Linia 39: Linia 39:




{{definicja|[Test]|test|Funkcję <math>\delta : \{ 0,1 \}^* \to N</math> nazwiemy '''testem''', jeśli dla każdych <math>m,n,</math>  
{{definicja|[Test]|test|Funkcję <math>\delta : \{ 0,1 \}^* \to N</math> nazwiemy '''testem''', jeśli dla każdych <math>m,n</math>  
<center><math>
<center><math>
\frac{|\{ w \in \{ 0,1 \}^n : \delta (w) \geq m \} |}{2^n} \leq \frac{1}{2^m}
\frac{|\{ w \in \{ 0,1 \}^n : \delta (w) \geq m \} |}{2^n} \leq \frac{1}{2^m}
</math></center>}}
</math></center>}}


Zauważmy, że dla każdego <math>w,</math> istnieje co najwyżej skończenie wiele <math>m,</math> takich, że <math> \delta (w) \geq m</math>.  Intuicyjnie, funkcja <math> \delta (w)</math> wskazuje, jak bardzo słowo <math>w</math> "odbiega od normy". Warunek stwierdza, że takich ciągów nie może być zbyt wiele (w przeciwnym razie stanowiłyby normę).  
Zauważmy, że dla każdego <math>w</math> istnieje co najwyżej skończenie wiele <math>m</math> takich, że <math>\delta (w) \geq m</math>.  Intuicyjnie, funkcja <math>\delta (w)</math> wskazuje, jak bardzo słowo <math>w</math> "odbiega od normy". Warunek stwierdza, że takich ciągów nie może być zbyt wiele (w przeciwnym razie stanowiłyby normę).  


{{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2|
{{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2|
Linia 58: Linia 58:
Interesujący jest zwłaszcza przypadek, kiedy funkcja <math>\delta^Z</math> sama należy do rodziny <math>Z</math>.
Interesujący jest zwłaszcza przypadek, kiedy funkcja <math>\delta^Z</math> sama należy do rodziny <math>Z</math>.


Test <math> \delta</math> nazwiemy '''efektywnym''', jeśli istnieje maszyna Turinga <math>M_{\delta }</math>, która przyjmując na wejściu  parę <math>\langle w,m \rangle,</math>  
Test <math>\delta</math> nazwiemy '''efektywnym''', jeśli istnieje maszyna Turinga <math>M_{\delta }</math>, która przyjmując na wejściu  parę <math>\langle w,m \rangle</math>  


   jeśli <math> \delta (w) \geq m,</math> zatrzymuje się i daje odpowiedź '''TAK''';
   jeśli <math>\delta (w) \geq m</math> zatrzymuje się i daje odpowiedź '''TAK''';
   jesli <math> \delta (w) < m,</math> daje odpowiedź '''NIE''', lub się zapętla.  
   jesli <math>\delta (w) < m</math> daje odpowiedź '''NIE''', lub się zapętla.  


Innymi słowy, zbiór <math> \{ \langle w,m \rangle : \delta (w) \geq m \}</math> jest rekurencyjnie przeliczalny, chociaż funkcja <math>\delta</math> nie musi być rekurencyjna.  
Innymi słowy, zbiór <math>\{ \langle w,m \rangle : \delta (w) \geq m \}</math> jest rekurencyjnie przeliczalny, chociaż funkcja <math>\delta</math> nie musi być rekurencyjna.  


Zauważmy, że rodzina <math>E</math> wszystkich testów efektywnych jest przeliczalnie wiele. (Dlaczego ?)
Zauważmy, że rodzina <math>E</math> wszystkich testów efektywnych jest przeliczalnie wiele. (Dlaczego ?)
Linia 70: Linia 70:
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Maszyna <math>M_{\delta }</math> jednoznacznie wyznacza test
Maszyna <math>M_{\delta }</math> jednoznacznie wyznacza test
<math> \delta (w) = \max \{ m: \delta (w) \geq m \},</math>
<math>\delta (w) = \max \{ m: \delta (w) \geq m \}</math>
a maszyn Turinga jest oczywiście przeliczalnie wiele.
a maszyn Turinga jest oczywiście przeliczalnie wiele.
</div>
</div>
Linia 79: Linia 79:
<div class="mw-collapsible mw-made=collapsible mw-collapsed">  
<div class="mw-collapsible mw-made=collapsible mw-collapsed">  
<div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible-content" style="display:none">
Pokaż najpierw, że istnieje rekurencyjna numeracja wszystkich testów, tzn. maszyna Turinga <math> T</math>, taka że zbiór jej wartości <math>\{ T(x) : x \in \{ 0,1 \}^* \}</math> jest dokładnie zbiorem kodów <math>\{ \langle M_{\delta } \rangle :  \delta \mbox{  jest testem } \}</math>.
Pokaż najpierw, że istnieje rekurencyjna numeracja wszystkich testów, tzn. maszyna Turinga <math>T</math>, taka że zbiór jej wartości <math>\{ T(x) : x \in \{ 0,1 \}^* \}</math> jest dokładnie zbiorem kodów <math>\{ \langle M_{\delta } \rangle :  \delta \mbox{  jest testem } \}</math>.
</div>
</div>
</div>
</div>

Aktualna wersja na dzień 22:12, 11 wrz 2023

Ćwiczenia

Ćwiczenie 1 [Nieobliczalność Ω]

Liczbę rzeczywistą r[0,1]

nazwiemy obliczalną (rekurencyjną), jeśli istnieje algorytm (maszyna Turinga), który dla danej liczby n oblicza n-tą cyfrę w rozwinięciu binarnym liczby r.

Liczbę r nazwiemy rekurencyjnie aproksymowalną, jeśli jest granicą obliczalnego ciągu liczb wymiernych, tzn. istnieje funkcja obliczalna f:NN×N, taka że

r=limnf(n)1f(n)2
Dowiedź, że każda liczba rekurencyjna jest też rekurencyjnie aproksymowalna.
Dowiedź, że istnieją liczby rzeczywiste r[0,1], które nie są rekurencyjnie aproksymowalne.
Dowiedź, że liczby wymierne, algebraiczne, a także liczby π i e są rekurencyjne.
Dowiedź, że stała Chaitina Ω jest rekurencyjnie aproksymowalna (niezależnie od wyboru maszyny uniwersalnej).
Dowiedź, że stała Chaitina Ω nie jest rekurencyjna.



Definicja [Test]

Funkcję δ:{0,1}*N nazwiemy testem, jeśli dla każdych m,n
|{w{0,1}n:δ(w)m}|2n12m

Zauważmy, że dla każdego w istnieje co najwyżej skończenie wiele m takich, że δ(w)m. Intuicyjnie, funkcja δ(w) wskazuje, jak bardzo słowo w "odbiega od normy". Warunek stwierdza, że takich ciągów nie może być zbyt wiele (w przeciwnym razie stanowiłyby normę).

Ćwiczenie 2 [Uniwersalny test Martina-Lofa]

Niech Z={δ0,δ1,} będzie przeliczalną rodziną testów.

Dowiedź, że funkcja określona wzorem
δZ(w)=max{δn(w)n:n0}

jest testem.

Interesujący jest zwłaszcza przypadek, kiedy funkcja δZ sama należy do rodziny Z.

Test δ nazwiemy efektywnym, jeśli istnieje maszyna Turinga Mδ, która przyjmując na wejściu parę w,m

 jeśli δ(w)m zatrzymuje się i daje odpowiedź TAK;
 jesli δ(w)<m daje odpowiedź NIE, lub się zapętla. 

Innymi słowy, zbiór {w,m:δ(w)m} jest rekurencyjnie przeliczalny, chociaż funkcja δ nie musi być rekurencyjna.

Zauważmy, że rodzina E wszystkich testów efektywnych jest przeliczalnie wiele. (Dlaczego ?)


Dowiedź, że δE jest testem efektywnym.