Teoria informacji/TI Ćwiczenia 14: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „<math> ” na „<math>” |
|||
(Nie pokazano 12 wersji utworzonych przez 3 użytkowników) | |||
Linia 2: | Linia 2: | ||
{{cwiczenie|1 [Nieobliczalność <math>\Omega </math>]|Ćwiczenie 1|Liczbę rzeczywistą <math>r \in [0,1] </math> | {{cwiczenie|1 [Nieobliczalność <math>\Omega</math>]|Ćwiczenie 1|Liczbę rzeczywistą <math>r \in [0,1]</math> | ||
nazwiemy ''obliczalną'' (''rekurencyjną''), jeśli istnieje algorytm (maszyna Turinga), który dla danej | nazwiemy ''obliczalną'' (''rekurencyjną''), jeśli istnieje algorytm (maszyna Turinga), który dla danej | ||
liczby <math>n </math> oblicza <math>n </math>-tą cyfrę w rozwinięciu binarnym liczby | liczby <math>n</math> oblicza <math>n</math>-tą cyfrę w rozwinięciu binarnym liczby | ||
<math>r | <math>r</math>. | ||
Liczbę <math>r | 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 15: | Linia 15: | ||
: Dowiedź, że każda liczba rekurencyjna jest też rekurencyjnie aproksymowalna. | : Dowiedź, że każda liczba rekurencyjna jest też rekurencyjnie aproksymowalna. | ||
: Dowiedź, że istnieją liczby rzeczywiste <math>r \in [0,1] </math>, które nie są rekurencyjnie aproksymowalne. | : Dowiedź, że istnieją liczby rzeczywiste <math>r \in [0,1]</math>, które nie są rekurencyjnie aproksymowalne. | ||
}} | |||
<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"> | ||
Linia 22: | Linia 24: | ||
</div> | </div> | ||
: Dowiedź, że liczby wymierne, algebraiczne, a także liczby <math>\pi </math> i <math>e </math> są rekurencyjne. | : Dowiedź, że liczby wymierne, algebraiczne, a także liczby <math>\pi</math> i <math>e</math> są rekurencyjne. | ||
: Dowiedź, że stała Chaitina <math>\Omega</math> jest rekurencyjnie aproksymowalna (niezależnie od wyboru maszyny uniwersalnej). | |||
: Dowiedź, że stała Chaitina <math>\Omega </math> jest | : Dowiedź, że stała Chaitina <math>\Omega</math> nie jest rekurencyjna. | ||
<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"> | ||
Linia 32: | Linia 35: | ||
</div> | </div> | ||
</div> | </div> | ||
{{definicja|[Test]|test|Funkcję <math>\delta : \{ 0,1 \}^* \to N</math> nazwiemy '''testem''', jeśli dla każdych <math>m,n</math> | |||
<center><math> | |||
\frac{|\{ w \in \{ 0,1 \}^n : \delta (w) \geq m \} |}{2^n} \leq \frac{1}{2^m} | |||
</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ę). | |||
{{cwiczenie|2 [Uniwersalny test Martina-Lofa]|Ćwiczenie 2| | |||
Niech <math>Z = \{ \delta_0 , \delta_1 , \ldots \}</math> będzie przeliczalną rodziną testów. | |||
:Dowiedź, że funkcja określona wzorem | |||
<center><math> | |||
\delta^Z (w) = \max \{ \delta_n (w) - n : n \geq 0 \} | |||
</math></center> | |||
jest testem. | |||
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> | |||
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. | |||
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 ?) | |||
}} | }} | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<div class="mw-collapsible-content" style="display:none"> | |||
Maszyna <math>M_{\delta }</math> jednoznacznie wyznacza test | |||
<math>\delta (w) = \max \{ m: \delta (w) \geq m \}</math> | |||
a maszyn Turinga jest oczywiście przeliczalnie wiele. | |||
</div> | |||
</div> | |||
:Dowiedź, że <math>\delta^E</math> jest testem efektywnym. | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"> | |||
<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>. | |||
</div> | |||
</div> |
Aktualna wersja na dzień 22:12, 11 wrz 2023
Ćwiczenia
Ćwiczenie 1 [Nieobliczalność ]
nazwiemy obliczalną (rekurencyjną), jeśli istnieje algorytm (maszyna Turinga), który dla danej liczby oblicza -tą cyfrę w rozwinięciu binarnym liczby .
Liczbę nazwiemy rekurencyjnie aproksymowalną, jeśli jest granicą obliczalnego ciągu liczb wymiernych, tzn. istnieje funkcja obliczalna , taka że
- Dowiedź, że każda liczba rekurencyjna jest też rekurencyjnie aproksymowalna.
- Dowiedź, że istnieją liczby rzeczywiste , które nie są rekurencyjnie aproksymowalne.
- Dowiedź, że liczby wymierne, algebraiczne, a także liczby i 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]
Zauważmy, że dla każdego istnieje co najwyżej skończenie wiele takich, że . Intuicyjnie, funkcja wskazuje, jak bardzo słowo "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 będzie przeliczalną rodziną testów.
- Dowiedź, że funkcja określona wzorem
jest testem.
Interesujący jest zwłaszcza przypadek, kiedy funkcja sama należy do rodziny .
Test nazwiemy efektywnym, jeśli istnieje maszyna Turinga , która przyjmując na wejściu parę
jeśli zatrzymuje się i daje odpowiedź TAK; jesli daje odpowiedź NIE, lub się zapętla.
Innymi słowy, zbiór jest rekurencyjnie przeliczalny, chociaż funkcja nie musi być rekurencyjna.
Zauważmy, że rodzina wszystkich testów efektywnych jest przeliczalnie wiele. (Dlaczego ?)
- Dowiedź, że jest testem efektywnym.